get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2227386/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2227386,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227386/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260423145705.545552-5-mukesh.savaliya@oss.qualcomm.com/",
    "project": {
        "id": 35,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/35/?format=api",
        "name": "Linux I2C development",
        "link_name": "linux-i2c",
        "list_id": "linux-i2c.vger.kernel.org",
        "list_email": "linux-i2c@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260423145705.545552-5-mukesh.savaliya@oss.qualcomm.com>",
    "date": "2026-04-23T14:55:51",
    "name": "[v7,4/4] i2c: qcom-geni: Support multi-owner controllers in GPI mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "70980174bfae9f9afcf0c6080caf6c264a537bba",
    "submitter": {
        "id": 91179,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/91179/?format=api",
        "name": "Mukesh Kumar Savaliya",
        "email": "mukesh.savaliya@oss.qualcomm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260423145705.545552-5-mukesh.savaliya@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 501206,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501206/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=501206",
            "date": "2026-04-23T14:55:48",
            "name": "Enable multi-owner I2C support for QCOM GENI controllers",
            "version": 7,
            "mbox": "http://patchwork.ozlabs.org/series/501206/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2227386/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2227386/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-i2c+bounces-17151-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-i2c@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=N6461PjQ;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17151-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"N6461PjQ\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.180.131",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=qualcomm.com"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g1fSK11dVz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 01:01:37 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id EC89830C576A\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 14:57:55 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B450535DA46;\n\tThu, 23 Apr 2026 14:57:45 +0000 (UTC)",
            "from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n [205.220.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 12F093126B2;\n\tThu, 23 Apr 2026 14:57:43 +0000 (UTC)",
            "from pps.filterd (m0279872.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63NBwigG009885;\n\tThu, 23 Apr 2026 14:57:41 GMT",
            "from apblrppmta02.qualcomm.com\n (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dqk178p60-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 23 Apr 2026 14:57:39 +0000 (GMT)",
            "from pps.filterd (APBLRPPMTA02.qualcomm.com [127.0.0.1])\n\tby APBLRPPMTA02.qualcomm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63NEvUA9011463;\n\tThu, 23 Apr 2026 14:57:30 GMT",
            "from pps.reinject (localhost [127.0.0.1])\n\tby APBLRPPMTA02.qualcomm.com (PPS) with ESMTPS id 4dm31k24bj-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 23 Apr 2026 14:57:30 +0000 (GMT)",
            "from APBLRPPMTA02.qualcomm.com (APBLRPPMTA02.qualcomm.com\n [127.0.0.1])\n\tby pps.reinject (8.18.1.12/8.18.1.12) with ESMTP id 63NEvU7i011455;\n\tThu, 23 Apr 2026 14:57:30 GMT",
            "from hu-devc-hyd-u24-a.qualcomm.com (hu-msavaliy-hyd.qualcomm.com\n [10.147.246.140])\n\tby APBLRPPMTA02.qualcomm.com (PPS) with ESMTPS id 63NEvTsT011451\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 23 Apr 2026 14:57:30 +0000 (GMT)",
            "by hu-devc-hyd-u24-a.qualcomm.com (Postfix, from userid 429934)\n\tid AF69E21C47; Thu, 23 Apr 2026 20:27:28 +0530 (+0530)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776956265; cv=none;\n b=SYZ4bD7ceBKk9Wrz51Qa6mtN2WRbuRLy/KbP0OFAZ1CcP4XVeudljwMoJvBif2UQQAZ5NU2IvJ4fFe1i2oLmKYpLaVwHpGnmuiD8GCtsHqrTFC3RRJou7m9VT6BWeRcvX2Q4nWIpFB1EXpikcTmKq4VrBg2Nts5ZuVJrKUqJjvo=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776956265; c=relaxed/simple;\n\tbh=5wWO8YpZZeKWSICm5+VAGrGxxREHvjDClIgimaLRvN4=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=qiwzlh+xhywg0A/NaAY+kg66Vlyh4I5aOXS4HBhKsi+cofSzQEgNEGsw5xdGrnOk1bZqbMzJ1pWRsB1FN0HheCL4JCo0mZgu4lXzYUlQV/CJzLGBAq3wo/rrAWbgMWncO+0oIQ02JIoAnokkASj7xcEQJLbRHdFxCbDZWxxrpEw=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=N6461PjQ; arc=none smtp.client-ip=205.220.180.131",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=qcppdkim1; bh=dKWP3BzwCZ7\n\tDH9txszXX63ggQ7TbNv0YUXlfrhzzdJs=; b=N6461PjQ6aSKrwud81Z4tlKnObp\n\tu06Kp7qaogu4vi8Utp80pgq8j+fNaWBeYPmhyqTr+WtNf/t1UkGkH86E8dqYUGHU\n\tw/DO4LgEvCmd0GFsU5wYMbP383SxOHgijMKVRnT3/aizhju8G3VfM9Pvb3W6rjjj\n\tz5N1MsqmWVYvaj4ffAON/jhDgfJ1C2LKeqTkQk1aToLqhOrTQwteOk1cAibc3t8K\n\tm9nUzSyJ6xB7jye46PmO1RqUtZ3g5IEzVdvn0+qFI8wZ7ulouMiWQ6J9P63yOgzS\n\tAIVPUDFMUwTm6j+QmfcNQ0DRawsNiLot9AwhhF/3TubQgKwPsvdFiygjq1w==",
        "From": "Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>",
        "To": "viken.dadhaniya@oss.qualcomm.com, andi.shyti@kernel.org, robh@kernel.org,\n        krzk+dt@kernel.org, conor+dt@kernel.org, vkoul@kernel.org,\n        Frank.Li@kernel.org, andersson@kernel.org, konradybcio@kernel.org,\n        dmitry.baryshkov@oss.qualcomm.com, linmq006@gmail.com,\n        quic_jseerapu@quicinc.com, agross@kernel.org,\n        linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org,\n        devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,\n        dmaengine@vger.kernel.org",
        "Cc": "krzysztof.kozlowski@oss.qualcomm.com,\n bartosz.golaszewski@oss.qualcomm.com,\n        bjorn.andersson@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com,\n        Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>",
        "Subject": "[PATCH v7 4/4] i2c: qcom-geni: Support multi-owner controllers in GPI\n mode",
        "Date": "Thu, 23 Apr 2026 20:25:51 +0530",
        "Message-ID": "<20260423145705.545552-5-mukesh.savaliya@oss.qualcomm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260423145705.545552-1-mukesh.savaliya@oss.qualcomm.com>",
        "References": "<20260423145705.545552-1-mukesh.savaliya@oss.qualcomm.com>",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-i2c@vger.kernel.org",
        "List-Id": "<linux-i2c.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-i2c+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-i2c+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-QCInternal": [
            "smtphost",
            "smtphost"
        ],
        "X-Proofpoint-GUID": "xpahXvXzHtvYjIgZ8PxySvxbpBjJ0HGd",
        "X-Authority-Analysis": "v=2.4 cv=R98z39RX c=1 sm=1 tr=0 ts=69ea3363 cx=c_pps\n a=Ou0eQOY4+eZoSc0qltEV5Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22\n a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=r5MnBgDnrAiVjouRZIUA:9",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDIzMDE0OSBTYWx0ZWRfX8iwpSd9tFd8F\n zxbZ7rJP4V3sMaVsWZDnblxkLhxkNQYFzz0+iZHodA9vh/MGzbCmDlGGWYfaLB9Vmz5JU+Ucve8\n NuLGwJ8Lh3xmFccnI2qrSo6RezdSHYEohLl2fTDzP+dw4D7LfvWPc3EgvkUvlQL0JlojqvjCG/E\n RxIAoQnlibBF9KUDfHK1Wf8GRg9dCwIGC4Vs2kkxsZqMy+P3FmWg2YgF2l80aMRz0E6PFw/08Hs\n 9wa1IMiTP4AYrtHpSoglQGB/JlbGsE0piuEa14vcufowljWjaSXhJjaD3WpmvLcwWbwQCFwOhrO\n Yat/pW2ZAc4rto6RavaE9RsaUGKA5RuY939KeZhdn1d0guoPya5cftHf5rR8oYZbmdGPteDnQ/E\n +x9RxkNt2XY+iuXRW3UbmyBnoZusEPvxjFXZtAat3GSuWuVu/EqzsB3NtsILmyuD8l+fm8tOtnM\n ZH9jFElxrQVkVE3fzng==",
        "X-Proofpoint-ORIG-GUID": "xpahXvXzHtvYjIgZ8PxySvxbpBjJ0HGd",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n bulkscore=0 spamscore=0 clxscore=1015 priorityscore=1501 phishscore=0\n malwarescore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604230149"
    },
    "content": "Some platforms use a QUP-based I2C controller in a configuration where the\ncontroller is shared with another system processor. In this setup the\noperating system must not assume exclusive ownership of the controller or\nits associated pins.\n\nAdd support for enabling multi-owner operation when DeviceTree specifies\nqcom,qup-multi-owner. When enabled, mark the underlying serial engine as\nshared so the common GENI resource handling avoids selecting the \"sleep\"\npinctrl state, which could disrupt transfers initiated by the other\nprocessor.\n\nFor GPI mode transfers, request lock/unlock TRE sequencing from the GPI\ndriver by setting a single lock_action selector per message, emitting lock\nbefore the first message and unlock after the last message (handling the\nsingle-message case as well). This serializes access to the shared\ncontroller without requiring message-position flags to be passed into the\nDMA engine layer.\n\nSigned-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>\n---\n drivers/i2c/busses/i2c-qcom-geni.c | 22 +++++++++++++++++++++-\n 1 file changed, 21 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c\nindex ae609bdd2ec4..a396ddc7d8f4 100644\n--- a/drivers/i2c/busses/i2c-qcom-geni.c\n+++ b/drivers/i2c/busses/i2c-qcom-geni.c\n@@ -815,6 +815,14 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i\n \t\tif (i < num - 1)\n \t\t\tperipheral.stretch = 1;\n \n+\t\tperipheral.lock_action = GPI_LOCK_NONE;\n+\t\tif (gi2c->se.multi_owner) {\n+\t\t\tif (i == 0)\n+\t\t\t\tperipheral.lock_action = GPI_LOCK_ACQUIRE;\n+\t\t\telse if (i == num - 1)\n+\t\t\t\tperipheral.lock_action = GPI_LOCK_RELEASE;\n+\t\t}\n+\n \t\tperipheral.addr = msgs[i].addr;\n \t\tif (i > 0 && (!(msgs[i].flags & I2C_M_RD)))\n \t\t\tperipheral.multi_msg = false;\n@@ -1014,6 +1022,11 @@ static int geni_i2c_probe(struct platform_device *pdev)\n \t\tgi2c->clk_freq_out = I2C_MAX_STANDARD_MODE_FREQ;\n \t}\n \n+\tif (of_property_read_bool(pdev->dev.of_node, \"qcom,qup-multi-owner\")) {\n+\t\tgi2c->se.multi_owner = true;\n+\t\tdev_dbg(&pdev->dev, \"I2C controller is shared with another system processor\\n\");\n+\t}\n+\n \tif (has_acpi_companion(dev))\n \t\tACPI_COMPANION_SET(&gi2c->adap.dev, ACPI_COMPANION(dev));\n \n@@ -1089,7 +1102,9 @@ static int geni_i2c_probe(struct platform_device *pdev)\n \t}\n \n \tif (fifo_disable) {\n-\t\t/* FIFO is disabled, so we can only use GPI DMA */\n+\t\t/* FIFO is disabled, so we can only use GPI DMA.\n+\t\t * SE can be shared in GSI mode between subsystems, each SS owns a GPII.\n+\t\t */\n \t\tgi2c->gpi_mode = true;\n \t\tret = setup_gpi_dma(gi2c);\n \t\tif (ret)\n@@ -1098,6 +1113,11 @@ static int geni_i2c_probe(struct platform_device *pdev)\n \t\tdev_dbg(dev, \"Using GPI DMA mode for I2C\\n\");\n \t} else {\n \t\tgi2c->gpi_mode = false;\n+\n+\t\tif (gi2c->se.multi_owner)\n+\t\t\treturn dev_err_probe(dev, -EINVAL,\n+\t\t\t\t\t     \"I2C sharing not supported in non GSI mode\\n\");\n+\n \t\ttx_depth = geni_se_get_tx_fifo_depth(&gi2c->se);\n \n \t\t/* I2C Master Hub Serial Elements doesn't have the HW_PARAM_0 register */\n",
    "prefixes": [
        "v7",
        "4/4"
    ]
}