Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2229270/?format=api
{ "id": 2229270, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2229270/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260427-i2c-xiic-v1-2-e6207f9aa5ad@nexthop.ai/", "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": "<20260427-i2c-xiic-v1-2-e6207f9aa5ad@nexthop.ai>", "date": "2026-04-28T00:18:07", "name": "[2/3] i2c: xiic: defer RX_FULL until all trailing bytes are in FIFO", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "7a76a31f54e793980380aa6bed4f9bcb6cba4645", "submitter": { "id": 92480, "url": "http://patchwork.ozlabs.org/api/1.1/people/92480/?format=api", "name": "Abdurrahman Hussain via B4 Relay", "email": "devnull+abdurrahman.nexthop.ai@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260427-i2c-xiic-v1-2-e6207f9aa5ad@nexthop.ai/mbox/", "series": [ { "id": 501748, "url": "http://patchwork.ozlabs.org/api/1.1/series/501748/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-i2c/list/?series=501748", "date": "2026-04-28T00:18:06", "name": "i2c: xiic: fix SMBus block read and PEC support", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501748/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2229270/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2229270/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-i2c+bounces-17189-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=lLFNUe3b;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17189-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"lLFNUe3b\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::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 4g4Lct00jmz1yJH\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 10:18:21 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id C553A300C0DD\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 00:18:17 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 10F0C2236E8;\n\tTue, 28 Apr 2026 00:18:11 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\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 A4CE61E9B35;\n\tTue, 28 Apr 2026 00:18:10 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPS id 6E450C2BCB4;\n\tTue, 28 Apr 2026 00:18:10 +0000 (UTC)", "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 60D85FF8870;\n\tTue, 28 Apr 2026 00:18:10 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777335490; cv=none;\n b=eG0II+gPdbKtVAG55AKQY3B5xz/sTfd1LkK5mTt8+1HLzZamo7qseFUZ2x2+P57wM33L1uIoK4LiurSiAiqI9sbtoPNK0EP33OU0DqFxLmoFqoZ17B86D1nfzJYeVNAEaAYxeAG4qm/WmTsVYRVU1soOawysPvgfVFLtNz3wN6M=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777335490; c=relaxed/simple;\n\tbh=d+UqHWNaoYjdpV1iYpCW920gidcbWxrsiy5vMFkmcMQ=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=SFhGHr5p30pSlD05+mq+xRnUfagCjmwhIgOLlpaTJ6O46Lwh2/NRdaJMJ82rL3M0anuE+lRiOl4r8kxUoGLc8z9A3lLCsq76aEwUCYae088oyVaB+wVYz5RLdbbKJqCpYxkFMAiMLINtobF5wjAPaP5rwVOkbAvuhUFL8SSmkA4=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=lLFNUe3b; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777335490;\n\tbh=d+UqHWNaoYjdpV1iYpCW920gidcbWxrsiy5vMFkmcMQ=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=lLFNUe3bSNg/1uCqlXTdkE/mAURCsQ0gFP2NkN6gwGhvqAVgokLWkvRVWQB5JNpvx\n\t fjWBef9v1Li2V961/m5TG99K4BdL+VT/UKBcr8IKSVOmXuPk+8CVNmDk3K+i+ldWva\n\t UjoU9GICSwSCbRbC7bwfkihJ0RcmfI9eKAVeVMF3JI4FmaKv2c9uMqfn/WaNnngSH4\n\t DRMPmdjIWGPXmEQsypkkCxd0STmBFUvRG3d+ZU6VcTG/zdjEwqCBTeqk5wdnPgU62p\n\t NNa2kELd0vCK+khH/t9ICpNPO1CDb9alxf2LDrZXzs89Y3EwGTfNV4KwGemvRomJ3z\n\t +TSm+ay0M/lOw==", "From": "Abdurrahman Hussain via B4 Relay\n <devnull+abdurrahman.nexthop.ai@kernel.org>", "Date": "Mon, 27 Apr 2026 17:18:07 -0700", "Subject": "[PATCH 2/3] i2c: xiic: defer RX_FULL until all trailing bytes are\n in FIFO", "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": "<20260427-i2c-xiic-v1-2-e6207f9aa5ad@nexthop.ai>", "References": "<20260427-i2c-xiic-v1-0-e6207f9aa5ad@nexthop.ai>", "In-Reply-To": "<20260427-i2c-xiic-v1-0-e6207f9aa5ad@nexthop.ai>", "To": "Michal Simek <michal.simek@amd.com>, Andi Shyti <andi.shyti@kernel.org>", "Cc": "linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org,\n linux-kernel@vger.kernel.org, Abdurrahman Hussain <abdurrahman@nexthop.ai>", "X-Mailer": "b4 0.15.1", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=1720;\n i=abdurrahman@nexthop.ai; h=from:subject:message-id;\n bh=/BR++2xUka9oKwbdfFmIjG9WrhZsf5+FmlIpH4Pjs/c=;\n b=owJ4nJvAy8zAJbYltPXv6rsCXxhPqyUxZL7/c5Dl1rVsxY3/f5udq7z6ZWXx1n2lu9jToncwV\n nQ8kNa6vuJvRykLgxgXg6yYIsucR/5v2jraIjbEHLKHmcPKBDKEgYtTACbCacjIcIOLUWjar5tb\n n+Tu97xhFckYv8L3SMvfx/KTDnMU3Em03cHIsOGUcENQ5t4lVzP5PCTOxCUzhAVOOVD/xHJyg4d\n ObZ81KwAG1lBj", "X-Developer-Key": "i=abdurrahman@nexthop.ai; a=openpgp;\n fpr=9CE24FEC86888658B05CC23FB45585FDABDD10F4", "X-Endpoint-Received": "by B4 Relay for abdurrahman@nexthop.ai/default with\n auth_id=756", "X-Original-From": "Abdurrahman Hussain <abdurrahman@nexthop.ai>", "Reply-To": "abdurrahman@nexthop.ai" }, "content": "From: Abdurrahman Hussain <abdurrahman@nexthop.ai>\n\nFor the normal path of xiic_smbus_block_read_setup() (rxmsg_len less\nthan IIC_RX_FIFO_DEPTH), RFD was programmed to rxmsg_len - 2, which\nfires the RX_FULL interrupt while the last payload byte is still in\nflight. xiic_read_rx()'s bytes_rem == 1 branch then sets NACK on that\nbyte still on the wire, truncating the read in the PEC-enabled case.\n\nRaise the threshold so RX_FULL fires only once every remaining byte\n(payload plus optional PEC) is already buffered in the FIFO. That\nroutes the drain through xiic_read_rx()'s bytes_rem == 0 path, which\nreads everything out and emits the stop cleanly. For the non-PEC path\nthe full payload is still read out through the same bytes_rem == 0\nbranch; the only user-visible change is that the controller waits one\nextra byte-time before servicing the interrupt.\n\nSigned-off-by: Abdurrahman Hussain <abdurrahman@nexthop.ai>\n---\n drivers/i2c/busses/i2c-xiic.c | 7 ++-----\n 1 file changed, 2 insertions(+), 5 deletions(-)", "diff": "diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c\nindex 959a47b645a5..946e3ed2d760 100644\n--- a/drivers/i2c/busses/i2c-xiic.c\n+++ b/drivers/i2c/busses/i2c-xiic.c\n@@ -559,11 +559,8 @@ static void xiic_smbus_block_read_setup(struct xiic_i2c *i2c)\n \t\t\trfd_set = 0;\n \t\t\ti2c->rx_msg->len = SMBUS_BLOCK_READ_MIN_LEN;\n \t\t} else {\n-\t\t\t/*\n-\t\t\t * When Rx msg len less than Rx fifo capacity\n-\t\t\t * Receive fifo depth should set to Rx msg len minus 2\n-\t\t\t */\n-\t\t\trfd_set = rxmsg_len - 2;\n+\t\t\t/* Defer RX_FULL until all trailing bytes are in FIFO. */\n+\t\t\trfd_set = rxmsg_len + pec_len - 1;\n \t\t\ti2c->rx_msg->len = rxmsg_len + 1 + pec_len;\n \t\t}\n \t\txiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, rfd_set);\n", "prefixes": [ "2/3" ] }