Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194236/?format=api
{ "id": 2194236, "url": "http://patchwork.ozlabs.org/api/patches/2194236/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260207-b4-k3-i2c-pio-v7-1-626942d94d91@linux.spacemit.com/", "project": { "id": 35, "url": "http://patchwork.ozlabs.org/api/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": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260207-b4-k3-i2c-pio-v7-1-626942d94d91@linux.spacemit.com>", "list_archive_url": null, "date": "2026-02-07T15:08:21", "name": "[v7,1/2] i2c: spacemit: move i2c_xfer_msg()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "1964b3519f02bba373871060ea23d9f0c837a5c2", "submitter": { "id": 91240, "url": "http://patchwork.ozlabs.org/api/people/91240/?format=api", "name": "Troy Mitchell", "email": "troy.mitchell@linux.spacemit.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260207-b4-k3-i2c-pio-v7-1-626942d94d91@linux.spacemit.com/mbox/", "series": [ { "id": 491382, "url": "http://patchwork.ozlabs.org/api/series/491382/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=491382", "date": "2026-02-07T15:08:20", "name": "i2c: spacemit: introduce pio for k1", "version": 7, "mbox": "http://patchwork.ozlabs.org/series/491382/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194236/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194236/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-i2c+bounces-15897-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 (1024-bit key;\n unprotected) header.d=linux.spacemit.com header.i=@linux.spacemit.com\n header.a=rsa-sha256 header.s=mxsw2412 header.b=jdtFHMdK;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-i2c+bounces-15897-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=linux.spacemit.com\n header.i=@linux.spacemit.com header.b=\"jdtFHMdK\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=114.132.65.219", "smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=linux.spacemit.com", "smtp.subspace.kernel.org;\n spf=none smtp.mailfrom=linux.spacemit.com" ], "Received": [ "from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\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 4f7ZDW4rfbz1xvh\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 08 Feb 2026 02:11:39 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id E28BB3014CF7\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 7 Feb 2026 15:10:53 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 62C9B352FB0;\n\tSat, 7 Feb 2026 15:10:49 +0000 (UTC)", "from bg1.exmail.qq.com (bg1.exmail.qq.com [114.132.65.219])\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 C348D352FA3;\n\tSat, 7 Feb 2026 15:10:46 +0000 (UTC)", "from = ( [localhost])\n\tby bizesmtp.qq.com (ESMTP) with\n\tid ; Sat, 07 Feb 2026 23:08:27 +0800 (CST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770477049; cv=none;\n b=LD6sNMUJn0X5HQiU5mAxbgrw4NGNTbWh6FK9kAdS+OAebUsa7ymxjluFnYIzf2R+Dz3xB3ApCO2IdMxZHOOMkTH+6PEcyStIORUDsKiF+bFJSGPDKpS76dsAcTtR+0Nff8hybX13rTRnJs3x94VK/IPogPOq/dh/qqsS3VS91Rg=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770477049; c=relaxed/simple;\n\tbh=fObZ2VADvmnq2ga4fUiik6dtloWq4BE/WX/lsKHQ3Sk=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=dMde17zfHNwsNXnN9oVJelg7MDyuK9VK9ps2QA10Z/VUmB6+h0MJ5OGsRb2kdZhJc4/ejkD0ZRJs6O9mSyPnA6xOemJyCSYBmS9bJKVTqEDMTmq4IB3Q5r2M1Yx1x3E4hnvaUI7wy5emJwNikWou+8YDU2jmxhd/AufRnBa7h2c=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=linux.spacemit.com;\n spf=none smtp.mailfrom=linux.spacemit.com;\n dkim=pass (1024-bit key) header.d=linux.spacemit.com\n header.i=@linux.spacemit.com header.b=jdtFHMdK;\n arc=none smtp.client-ip=114.132.65.219", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com;\n\ts=mxsw2412; t=1770476910;\n\tbh=3tysreunGyxK9grEoo6D7aMrnzbnsab2/WrUaDPKeU8=;\n\th=From:Date:Subject:MIME-Version:Message-Id:To;\n\tb=jdtFHMdKscG4XFmSJI5XzmBxp6FAl2f2CqtIxDImhfrS8RYmzkgxpOpn9XIhQcTQ/\n\t FqScGSiLRVKSAQP4j02BeFlyKXu7/uKAEzJrflyw6sc3il58IY9oofNFX2svvQrxeB\n\t 9wxURMKiGyHbErKjmXy1JKc+5Z9x5EwjC7R5tMoM=", "X-QQ-mid": "zesmtpip2t1770476909ta9e74f16", "X-QQ-Originating-IP": "NqBWQtJ7emv0IMzEADEC24CCXPphDOyUyc+MZjPCjAs=", "X-QQ-SSF": "0000000000000000000000000000000", "X-QQ-GoodBg": "0", "X-BIZMAIL-ID": "18321366254888439668", "EX-QQ-RecipientCnt": "9", "From": "Troy Mitchell <troy.mitchell@linux.spacemit.com>", "Date": "Sat, 07 Feb 2026 23:08:21 +0800", "Subject": "[PATCH v7 1/2] i2c: spacemit: move i2c_xfer_msg()", "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-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260207-b4-k3-i2c-pio-v7-1-626942d94d91@linux.spacemit.com>", "References": "<20260207-b4-k3-i2c-pio-v7-0-626942d94d91@linux.spacemit.com>", "In-Reply-To": "<20260207-b4-k3-i2c-pio-v7-0-626942d94d91@linux.spacemit.com>", "To": "Andi Shyti <andi.shyti@kernel.org>, Yixun Lan <dlan@gentoo.org>", "Cc": "linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-riscv@lists.infradead.org, spacemit@lists.linux.dev,\n Troy Mitchell <troy.mitchell@linux.spacemit.com>,\n Aurelien Jarno <aurelien@aurel32.net>, Alex Elder <elder@riscstar.com>", "X-Mailer": "b4 0.14.3", "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1770476904; l=3114;\n i=troy.mitchell@linux.spacemit.com; s=20250712; h=from:subject:message-id;\n bh=fObZ2VADvmnq2ga4fUiik6dtloWq4BE/WX/lsKHQ3Sk=;\n b=bu1J1Kg+2C5ALywRbkZ6pYQAc7dkVxcV7i9gdjhpyGTuFjmHvJDrt/0aEkZ2RD7Q0tKMFTkAd\n mOVKspNhag1AZ/QvqMbxFXtcJ7DadSIgdE0IGxYFg6pnaGanWw2UuGm", "X-Developer-Key": "i=troy.mitchell@linux.spacemit.com; a=ed25519;\n pk=zhRP1xE0bftrurqSWI+SzcSdJGIZ0BTTY9Id0ESzqlI=", "X-QQ-SENDSIZE": "520", "Feedback-ID": "zesmtpip:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0", "X-QQ-XMAILINFO": "NEpYz65Zs0E8QCCvLySY/hHdRN5ebyaoUAuKUJWHwYpcQAZzX7O0Ephs\n\tXCqaETFFk/5bfF6KWCi3CeIYvkXOT7afK1jiYExDc3uxeQmf6xJ65dSOZfPRb32JsgKxAI2\n\t2P3oTSGXcSnuJVeUY30ZU28DAZ8Uouu/ljbDRSlZg2OGTlv65tNIe6SyS7gU2dMNHEo2//i\n\tH/87G1Z21BgYWXSVxwitRvPy+b0N7aIDhFF4dXVnGhW/AwI2MfpvMCqENC88ZYCE3ncD6bE\n\tFBh42bu5bj5LE/dkRbelRvA2NPWo5tsGQngTg5HG1e0TfYq8QBe4cH8TThdS+ctIuAK/teQ\n\tP++bfoYmO/0rHGb8QjdTxzz5C2Rn84hleTzgF9V8yAfKfnrkKC8LRxfcEQvzLvkqJ821XC0\n\tuh7pja32bRZQeEFWHoJ9sr82bvtsyTWfShj5ZaX77rHN3aBtdHJoHUU74Jaf4jjjwN9/9Qa\n\tSlmBFgoA+j17lLAR7EIO6Ubs25z3K0Fsmf4e37XDor+m2gH2+VScaY3WIFpZPOSd8HuQ/6M\n\tYUbaE5xzPxmyz8qba/645hhzdPQZA8i5Kmoi/7C0On9yUQPavSkvw8sHjOiScI00Jeskedm\n\tYMhg/BGCoRLYAK2IntSSxKcKoOee/iZbpQGhiVLBoxkmOGYfW5dcIvACcAULzO2mx6hF3y9\n\tE2Z/axDTYUOTc9mE53a2r9bOgnaym1zzhRhPplbQdaLJ1iIOKLoTLBUg4aXL2Rm7js9nwP7\n\tZttRrfyyKWKel0nIz72Ea+cLCcF1sV0bQjlxxbKR7oRH/eLxs82bymiH6lv3zVu6j1aJ2cx\n\tdp8Dn8hRj9xuDvcAYRNSMh8Ho0nJOX9w5WqiCAxxklkmexqmCl8nTCXGfH9hYxaEawVM8Hk\n\ty5Rrq1uDpAqcPlTQ6XmOORhHV/XRQ0LQ/pd05eyRqN3uaJ3r2OmWbqv1bWavG6gBZTzATsD\n\t324xA476XHL7DCIrlSl25Qw9zUadGujbNs3PcHCF/9GhPb0/uUUuyDnq01q0kIBSfdcNn84\n\tb3t9lcE60ag4A5uRje3d10Mh/MjWW+T/sHP1qifiZccNghFrUzIhc/EwrLKMrhxlM203YFX\n\tGhkeudMjM4du0sG8/9UBU9Lu5Jaa9Lykd4L6kOnJrPQZv2NnCoXnjIkq/nFvItlwE4Jazy7\n\tGyhXDTddQcvzv1ymBQqz7kZ32y6sdcaTwUSWLvbA53ljl90=", "X-QQ-XMRINFO": "NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg==", "X-QQ-RECHKSPAM": "0" }, "content": "The upcoming PIO support requires a wait_pio_xfer() helper, which is\ninvoked from xfer_msg().\n\nSince wait_pio_xfer() depends on err_check(), move the definition of\nxfer_msg() after err_check() to avoid a forward declaration of\nerr_check().\n\nReviewed-by: Aurelien Jarno <aurelien@aurel32.net>\nReviewed-by: Alex Elder <elder@riscstar.com>\nSigned-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>\nTested-by: Aurelien Jarno <aurelien@aurel32.net>\n---\nChanges in v7:\n- nothing\n- Link to v6: https://lore.kernel.org/all/20260108-k1-i2c-atomic-v6-1-41b132b70f68@linux.spacemit.com/\n\nChanges in v6:\n- fix wrong subject\n- Link to v5: https://lore.kernel.org/all/20251226-k1-i2c-atomic-v5-1-023c798c5523@linux.spacemit.com/\n---\n drivers/i2c/busses/i2c-k1.c | 62 ++++++++++++++++++++++-----------------------\n 1 file changed, 31 insertions(+), 31 deletions(-)", "diff": "diff --git a/drivers/i2c/busses/i2c-k1.c b/drivers/i2c/busses/i2c-k1.c\nindex d42c03ef5db5..accef6653b56 100644\n--- a/drivers/i2c/busses/i2c-k1.c\n+++ b/drivers/i2c/busses/i2c-k1.c\n@@ -304,37 +304,6 @@ static void spacemit_i2c_start(struct spacemit_i2c_dev *i2c)\n \twritel(val, i2c->base + SPACEMIT_ICR);\n }\n \n-static int spacemit_i2c_xfer_msg(struct spacemit_i2c_dev *i2c)\n-{\n-\tunsigned long time_left;\n-\tstruct i2c_msg *msg;\n-\n-\tfor (i2c->msg_idx = 0; i2c->msg_idx < i2c->msg_num; i2c->msg_idx++) {\n-\t\tmsg = &i2c->msgs[i2c->msg_idx];\n-\t\ti2c->msg_buf = msg->buf;\n-\t\ti2c->unprocessed = msg->len;\n-\t\ti2c->status = 0;\n-\n-\t\treinit_completion(&i2c->complete);\n-\n-\t\tspacemit_i2c_start(i2c);\n-\n-\t\ttime_left = wait_for_completion_timeout(&i2c->complete,\n-\t\t\t\t\t\t\ti2c->adapt.timeout);\n-\t\tif (!time_left) {\n-\t\t\tdev_err(i2c->dev, \"msg completion timeout\\n\");\n-\t\t\tspacemit_i2c_conditionally_reset_bus(i2c);\n-\t\t\tspacemit_i2c_reset(i2c);\n-\t\t\treturn -ETIMEDOUT;\n-\t\t}\n-\n-\t\tif (i2c->status & SPACEMIT_SR_ERR)\n-\t\t\treturn spacemit_i2c_handle_err(i2c);\n-\t}\n-\n-\treturn 0;\n-}\n-\n static bool spacemit_i2c_is_last_msg(struct spacemit_i2c_dev *i2c)\n {\n \tif (i2c->msg_idx != i2c->msg_num - 1)\n@@ -418,6 +387,37 @@ static void spacemit_i2c_err_check(struct spacemit_i2c_dev *i2c)\n \tcomplete(&i2c->complete);\n }\n \n+static int spacemit_i2c_xfer_msg(struct spacemit_i2c_dev *i2c)\n+{\n+\tunsigned long time_left;\n+\tstruct i2c_msg *msg;\n+\n+\tfor (i2c->msg_idx = 0; i2c->msg_idx < i2c->msg_num; i2c->msg_idx++) {\n+\t\tmsg = &i2c->msgs[i2c->msg_idx];\n+\t\ti2c->msg_buf = msg->buf;\n+\t\ti2c->unprocessed = msg->len;\n+\t\ti2c->status = 0;\n+\n+\t\treinit_completion(&i2c->complete);\n+\n+\t\tspacemit_i2c_start(i2c);\n+\n+\t\ttime_left = wait_for_completion_timeout(&i2c->complete,\n+\t\t\t\t\t\t\ti2c->adapt.timeout);\n+\t\tif (!time_left) {\n+\t\t\tdev_err(i2c->dev, \"msg completion timeout\\n\");\n+\t\t\tspacemit_i2c_conditionally_reset_bus(i2c);\n+\t\t\tspacemit_i2c_reset(i2c);\n+\t\t\treturn -ETIMEDOUT;\n+\t\t}\n+\n+\t\tif (i2c->status & SPACEMIT_SR_ERR)\n+\t\t\treturn spacemit_i2c_handle_err(i2c);\n+\t}\n+\n+\treturn 0;\n+}\n+\n static irqreturn_t spacemit_i2c_irq_handler(int irq, void *devid)\n {\n \tstruct spacemit_i2c_dev *i2c = devid;\n", "prefixes": [ "v7", "1/2" ] }