Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2230404/?format=api
{ "id": 2230404, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230404/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/patch/20260429-winbond-v6-18-rc1-cont-read-v3-10-0f38b3c229ad@bootlin.com/", "project": { "id": 57, "url": "http://patchwork.ozlabs.org/api/1.1/projects/57/?format=api", "name": "Linux ASPEED SoC development", "link_name": "linux-aspeed", "list_id": "linux-aspeed.lists.ozlabs.org", "list_email": "linux-aspeed@lists.ozlabs.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260429-winbond-v6-18-rc1-cont-read-v3-10-0f38b3c229ad@bootlin.com>", "date": "2026-04-29T17:56:47", "name": "[v3,10/11] mtd: spinand: winbond: Create a helper to detect the need for the HS bit", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ec8263fbf6e4bc5d164f585d63d120ea855abd2f", "submitter": { "id": 73368, "url": "http://patchwork.ozlabs.org/api/1.1/people/73368/?format=api", "name": "Miquel Raynal", "email": "miquel.raynal@bootlin.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-aspeed/patch/20260429-winbond-v6-18-rc1-cont-read-v3-10-0f38b3c229ad@bootlin.com/mbox/", "series": [ { "id": 502122, "url": "http://patchwork.ozlabs.org/api/1.1/series/502122/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-aspeed/list/?series=502122", "date": "2026-04-29T17:56:39", "name": "mtd: spinand: Winbond continuous read support", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/502122/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2230404/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2230404/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-aspeed+bounces-3984-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-aspeed@lists.ozlabs.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=NmSZF+iW;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed+bounces-3984-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=185.171.202.116", "lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=bootlin.com", "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=NmSZF+iW;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=bootlin.com\n (client-ip=185.171.202.116; helo=smtpout-04.galae.net;\n envelope-from=miquel.raynal@bootlin.com; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5QCd4mBFz1yK5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 04:03:41 +1000 (AEST)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g5QCb3XcJz2yqP;\n\tThu, 30 Apr 2026 04:03:39 +1000 (AEST)", "from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4g5QCZ1r4Rz2yjp\n\tfor <linux-aspeed@lists.ozlabs.org>; Thu, 30 Apr 2026 04:03:38 +1000 (AEST)", "from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-04.galae.net (Postfix) with ESMTPS id 3F4D4C5CD60;\n\tWed, 29 Apr 2026 17:59:02 +0000 (UTC)", "from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id 0CCFF5FD43;\n\tWed, 29 Apr 2026 17:58:18 +0000 (UTC)", "from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id 3C0971072B171;\n\tWed, 29 Apr 2026 19:58:12 +0200 (CEST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777485819;\n\tcv=none;\n b=FW1BwKNAcbJdz2Vo76kPXEk7lsDNymL+bw9LWLIm4UygIArvCERWv1LaX491YvRIywxhhSJPmj9xfWK6kA32u+Rq9fi5K6DsFQ8xOLZ5DWBon0I/glSfaP9JnoUTRpwTaNBPSHHtbGyQd7iuqwt4mlY3qbzTMn7XaGYZ1rHIvpNbtHvPb+kQgbnk3UKCL2T0G6fn+2LOgyUCyb9x3mqxlWxox4OlN9B4ycMVLu9pDyVBSP3pf/X/TvdVfvvd0SaUK87eqhwPwbCruMR5tWH8GwhcseSad8njw8/06zXT1/fM0etqKq8tINM0RS9eJ7B4gg3LqFEExz9UVwEK1AORvw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777485819; c=relaxed/relaxed;\n\tbh=djNQC+WiehgbSjZPUHPGAOR2nkZcZmEr0KjHIcYf3t4=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=Wu0FyXn9ZnVbmtqlahyzwzfG2mjC/U0hhiOiRbslV+qSP0+kszuVE+31iiutvfnUsBSEaKK6+uq5YRcGBD6LkIG8xo2nf40eiFAPpe7gVRHlXbnvf/9xu9HrlWsfeSMgg60TxEi7UGc2jxclzSsJqENipoTd+FGVLYbXEy9O4DCTTULwgcW1mfShTn5rWSqKvDEorHAouGSEu4N3rd538pE4kvJDJVdnFskq/ZOk40uqt9WXdoGJKD3N0G3VVMHpBM5kbnXFHBeCFCWAozoh0/vRmq1v62ZFMXgm+anXLk5UIhezbH6J7DqXHdVWj/L1u3bHw80+w7QmFJ25JAySig==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=bootlin.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=NmSZF+iW; dkim-atps=neutral;\n spf=pass (client-ip=185.171.202.116; helo=smtpout-04.galae.net;\n envelope-from=miquel.raynal@bootlin.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=bootlin.com", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n\tt=1777485495; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding:in-reply-to:references;\n\tbh=djNQC+WiehgbSjZPUHPGAOR2nkZcZmEr0KjHIcYf3t4=;\n\tb=NmSZF+iWjEyn2SmSbXR4+EkHCCLdjDtILUG9X51p5SCiphlxZnjKNNGhMMDdv6+IE8Z0pT\n\tASIHf/oK5ins8abEGkf3OT/DpAh4+l/rTkVjcESvNc56zjX3c6MzBilErApZ2Bhx8qWhnA\n\tq4skr5wiZcq3mmwHq2jiVNGW1mYCJN/tNbDh2F3BzrrvyfD4fdGmhsSID0jKhhjNOiGAz6\n\tjJJPYq8QKvuUtagfzMs9+zJqCAJairETws7j+Woa85G71iDosgPBr85dnsTyIGKlD82Shb\n\tllYfvCKlpMGTCJF/Xyt0qdAzxC71iYXH4L/FxQpv9jVgln0FJY4chh9edS6YQw==", "From": "Miquel Raynal <miquel.raynal@bootlin.com>", "Date": "Wed, 29 Apr 2026 19:56:47 +0200", "Subject": "[PATCH v3 10/11] mtd: spinand: winbond: Create a helper to detect\n the need for the HS bit", "X-Mailing-List": "linux-aspeed@lists.ozlabs.org", "List-Id": "<linux-aspeed.lists.ozlabs.org>", "List-Help": "<mailto:linux-aspeed+help@lists.ozlabs.org>", "List-Owner": "<mailto:linux-aspeed+owner@lists.ozlabs.org>", "List-Post": "<mailto:linux-aspeed@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linux-aspeed/>,\n <https://lists.ozlabs.org/pipermail/linux-aspeed/>", "List-Subscribe": "<mailto:linux-aspeed+subscribe@lists.ozlabs.org>,\n <mailto:linux-aspeed+subscribe-digest@lists.ozlabs.org>,\n <mailto:linux-aspeed+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linux-aspeed+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "\n <20260429-winbond-v6-18-rc1-cont-read-v3-10-0f38b3c229ad@bootlin.com>", "References": "\n <20260429-winbond-v6-18-rc1-cont-read-v3-0-0f38b3c229ad@bootlin.com>", "In-Reply-To": "\n <20260429-winbond-v6-18-rc1-cont-read-v3-0-0f38b3c229ad@bootlin.com>", "To": "Mark Brown <broonie@kernel.org>, Richard Weinberger <richard@nod.at>,\n Vignesh Raghavendra <vigneshr@ti.com>, Michael Walle <mwalle@kernel.org>,\n Miquel Raynal <miquel.raynal@bootlin.com>,\n Takahiro Kuwano <takahiro.kuwano@infineon.com>,\n Lorenzo Bianconi <lorenzo@kernel.org>, Ray Liu <ray.liu@airoha.com>,\n Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>, =?utf-8?q?C=C3=A9dric_Le_Goa?=\n\t=?utf-8?q?ter?= <clg@kaod.org>, Joel Stanley <joel@jms.id.au>,\n Andrew Jeffery <andrew@codeconstruct.com.au>,\n Avi Fishman <avifishman70@gmail.com>, Tomer Maimon <tmaimon77@gmail.com>,\n Tali Perry <tali.perry1@gmail.com>, Patrick Venture <venture@google.com>,\n Nancy Yuen <yuenn@google.com>, Benjamin Fair <benjaminfair@google.com>,\n Maxime Coquelin <mcoquelin.stm32@gmail.com>,\n Alexandre Torgue <alexandre.torgue@foss.st.com>, =?utf-8?q?Jonathan_Neusch?=\n\t=?utf-8?q?=C3=A4fer?= <j.neuschaefer@gmx.net>", "Cc": "Pratyush Yadav <pratyush@kernel.org>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>,\n Steam Lin <STLin2@winbond.com>, Santhosh Kumar K <s-k6@ti.com>,\n linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org,\n linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org,\n linux-stm32@st-md-mailman.stormreply.com", "X-Mailer": "b4 0.14.3", "X-Last-TLS-Session-Version": "TLSv1.3", "X-Spam-Status": "No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=disabled\n\tversion=4.0.1", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "The logic is not complex but might be reused to cleanup a bit the\nsection by moving it to a dedicated helper.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\n drivers/mtd/nand/spi/winbond.c | 31 +++++++++++++++++--------------\n 1 file changed, 17 insertions(+), 14 deletions(-)", "diff": "diff --git a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbond.c\nindex b30a343a6672..ffbcd25b0366 100644\n--- a/drivers/mtd/nand/spi/winbond.c\n+++ b/drivers/mtd/nand/spi/winbond.c\n@@ -421,30 +421,33 @@ static int w25n0xjw_set_sr4_hs(struct spinand_device *spinand, bool enable)\n \treturn spinand_write_reg_op(spinand, W25N0XJW_SR4, sr4);\n }\n \n+/*\n+ * SDR dual and quad I/O operations over 104MHz require the HS bit to\n+ * enable a few more dummy cycles.\n+ */\n+static bool w25n0xjw_op_needs_hs(const struct spi_mem_op *op)\n+{\n+\tif (op->cmd.dtr || op->addr.dtr || op->dummy.dtr || op->data.dtr)\n+\t\treturn false;\n+\telse if (op->cmd.buswidth != 1 || op->addr.buswidth == 1)\n+\t\treturn false;\n+\telse if (op->max_freq && op->max_freq <= 104 * HZ_PER_MHZ)\n+\t\treturn false;\n+\n+\treturn true;\n+}\n+\n static int w25n0xjw_hs_cfg(struct spinand_device *spinand,\n \t\t\t enum spinand_bus_interface iface)\n {\n \tconst struct spi_mem_op *op;\n-\tbool hs;\n \n \tif (iface != SSDR)\n \t\treturn -EOPNOTSUPP;\n \n-\t/*\n-\t * SDR dual and quad I/O operations over 104MHz require the HS bit to\n-\t * enable a few more dummy cycles.\n-\t */\n \top = spinand->op_templates->read_cache;\n-\tif (op->cmd.dtr || op->addr.dtr || op->dummy.dtr || op->data.dtr)\n-\t\ths = false;\n-\telse if (op->cmd.buswidth != 1 || op->addr.buswidth == 1)\n-\t\ths = false;\n-\telse if (op->max_freq && op->max_freq <= 104 * HZ_PER_MHZ)\n-\t\ths = false;\n-\telse\n-\t\ths = true;\n \n-\treturn w25n0xjw_set_sr4_hs(spinand, hs);\n+\treturn w25n0xjw_set_sr4_hs(spinand, w25n0xjw_op_needs_hs(op));\n }\n \n static int w35n0xjw_write_vcr(struct spinand_device *spinand, u8 reg, u8 val)\n", "prefixes": [ "v3", "10/11" ] }