Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216531/?format=api
{ "id": 2216531, "url": "http://patchwork.ozlabs.org/api/patches/2216531/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260326-winbond-v7-0-rc1-cadence-cont-read-v1-1-0d626e1dfb2b@bootlin.com/", "project": { "id": 3, "url": "http://patchwork.ozlabs.org/api/projects/3/?format=api", "name": "Linux MTD development", "link_name": "linux-mtd", "list_id": "linux-mtd.lists.infradead.org", "list_email": "linux-mtd@lists.infradead.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260326-winbond-v7-0-rc1-cadence-cont-read-v1-1-0d626e1dfb2b@bootlin.com>", "list_archive_url": null, "date": "2026-03-26T16:47:15", "name": "[1/4] spi: spi-mem: Add a no_cs_assertion capability", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "20993e365ebfa24b035f8724663a1b76a02c4104", "submitter": { "id": 73368, "url": "http://patchwork.ozlabs.org/api/people/73368/?format=api", "name": "Miquel Raynal", "email": "miquel.raynal@bootlin.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260326-winbond-v7-0-rc1-cadence-cont-read-v1-1-0d626e1dfb2b@bootlin.com/mbox/", "series": [ { "id": 497624, "url": "http://patchwork.ozlabs.org/api/series/497624/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/list/?series=497624", "date": "2026-03-26T16:47:14", "name": "spi: spi-mem/mtd: spinand: Prevent SPI NAND continuous reads on am65/am62", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/497624/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216531/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216531/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=z30TiibY;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=QVrOi4Jp;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\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 4fhV7l4Vs8z1yGD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 03:47:47 +1100 (AEDT)", "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w5nrv-00000005ssI-0aV7;\n\tThu, 26 Mar 2026 16:47:39 +0000", "from smtpout-03.galae.net ([185.246.85.4])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w5nrp-00000005sol-0mIh\n\tfor linux-mtd@lists.infradead.org;\n\tThu, 26 Mar 2026 16:47:37 +0000", "from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-03.galae.net (Postfix) with ESMTPS id D9E414E42811;\n\tThu, 26 Mar 2026 16:47:30 +0000 (UTC)", "from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id AB10D601FA;\n\tThu, 26 Mar 2026 16:47:30 +0000 (UTC)", "from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id 6583D10450CCF;\n\tThu, 26 Mar 2026 17:47:28 +0100 (CET)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id\n\t:MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=vpecBloclOvTYwKUxRIm4yV6Kbsa0mdVf73o+tV4+SI=; b=z30TiibYPcgJ1D\n\tmXUxGF2lGBVQfNGUdrgVkpqsmkh7nvSa/xuMr3ENcNye+XATzGOI1q9Yv5bKIzm5lI46P6zHtQ7T4\n\t0uFWtNSTJxq7hHpZKzDSFu014P1msEzmInSwpq837AR3J0TOeoUImnalC0BTFrfWjqHikBQ3FEeAF\n\tuQT2ZeJzAsaEDjts9xCm/tRJLTJox5BMNVtk54MMtXxftasQbwNWZZRGE8W8YHYzusP8pzBsXQINt\n\tmyia/L7Kcpjx91QTXBkXQx9FvDl6uPSDQ6jqhizWoVoTVyd3/Ma69e9+8YhgkFfW3WXfmiXKj8T0E\n\te2OoGm7S4jtXd3lN2+lg==;", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n\tt=1774543649; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding:in-reply-to:references;\n\tbh=ebNUwgP/GGdkmoEPbwrY9xjw3LbvdfCwLlwmJ4VgFuQ=;\n\tb=QVrOi4JpUMJpUVQsP16RBS+GBel4hrhhmq83cSzANaPfLpVokx7Ajcpdkmm22BjXx1NfTB\n\tiyXvmEYjNe69ORbDFwDNmEvJFddySbIRXqOXC1J8WvtkKi2zZBMm3qh14KBUwmWz7i3gq/\n\tv/Uiv7un6B8LYLWwmm2OdeBcJamEVosTmZBPN9/HVRkOfCsoYeQywSUXiHNQn12ggePS0e\n\tNfkEBDGF5wxPh86ARdsp3+QbU51s8mevxR6G3Mk0/43v0aMA0OP3Kzl9VtG/f0vxgo12hW\n\tznlmqC8czInGrHDlq6fE4VJe8df+qQYbByw6PqU+Ti+NjKLNM3g/fsLLdCMTbA==" ], "From": "Miquel Raynal <miquel.raynal@bootlin.com>", "Date": "Thu, 26 Mar 2026 17:47:15 +0100", "Subject": "[PATCH 1/4] spi: spi-mem: Add a no_cs_assertion capability", "MIME-Version": "1.0", "Message-Id": "\n <20260326-winbond-v7-0-rc1-cadence-cont-read-v1-1-0d626e1dfb2b@bootlin.com>", "References": "\n <20260326-winbond-v7-0-rc1-cadence-cont-read-v1-0-0d626e1dfb2b@bootlin.com>", "In-Reply-To": "\n <20260326-winbond-v7-0-rc1-cadence-cont-read-v1-0-0d626e1dfb2b@bootlin.com>", "To": "Mark Brown <broonie@kernel.org>, Richard Weinberger <richard@nod.at>,\n Vignesh Raghavendra <vigneshr@ti.com>", "Cc": "Thomas Petazzoni <thomas.petazzoni@bootlin.com>,\n linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-mtd@lists.infradead.org, Michael Walle <mwalle@kernel.org>,\n Takahiro Kuwano <takahiro.kuwano@infineon.com>,\n Pratyush Yadav <pratyush@kernel.org>, Steam Lin <STLin2@winbond.com>,\n Santhosh Kumar K <s-k6@ti.com>, Miquel Raynal <miquel.raynal@bootlin.com>", "X-Mailer": "b4 0.14.3", "X-Last-TLS-Session-Version": "TLSv1.3", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20260326_094733_361108_6983B8EA ", "X-CRM114-Status": "GOOD ( 14.00 )", "X-Spam-Score": "-2.1 (--)", "X-Spam-Report": "Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam. The original\n message has been attached to this so you can view it or label\n similar future email. If you have any questions, see\n the administrator of that system for details.\n Content preview: Some controllers are 'smart',\n and that's a problem. For instance,\n the Cadence quadspi controller is capable of deasserting the CS\n automatically\n whenever a too long period of time without any data to transfer elapses.\n Content analysis details: (-2.1 points, 5.0 required)\n pts rule name description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_HELO_PASS SPF: HELO matches SPF record\n -0.0 SPF_PASS SPF: sender matches SPF record\n -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n author's\n domain\n -0.1 DKIM_VALID Message has at least one valid DKIM or DK\n signature\n -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from\n envelope-from domain\n 0.1 DKIM_SIGNED Message has a DKIM or DK signature,\n not necessarily valid\n -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n [score: 0.0000]\n 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The\n query to Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [185.246.85.4 listed in\n sa-trusted.bondedsender.org]\n 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [185.246.85.4 listed in sa-accredit.habeas.com]\n 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [185.246.85.4 listed in bl.score.senderscore.com]", "X-BeenThere": "linux-mtd@lists.infradead.org", "X-Mailman-Version": "2.1.34", "Precedence": "list", "List-Id": "Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/linux-mtd/>", "List-Post": "<mailto:linux-mtd@lists.infradead.org>", "List-Help": "<mailto:linux-mtd-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>", "Errors-To": "linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org" }, "content": "Some controllers are 'smart', and that's a problem.\n\nFor instance, the Cadence quadspi controller is capable of deasserting\nthe CS automatically whenever a too long period of time without any data\nto transfer elapses.\n\nThis 'feature' combined with a loaded interconnect with arbitration, a\n\"long\" transfer may be split into smaller DMA transfers. In this case\nthe controller may allow itself to deassert the CS between chunks.\n\nDeasserting the CS stops any ongoing continuous read. Reasserting it\nlater to continue the reading will only result in the host getting\ngarbage.\n\nIn this case, the host controller driver has no control over the CS\nstate, so we cannot reliably enable continuous reads. Flag this\nlimitation through a spi-mem controller capability.\n\nThe inversion in the flag name (starting with 'no_') is voluntary, in\norder to avoid the need to set this flag in all controller drivers. Only\nthe broken controllers shall set this bit, the default being that the\ncontroller masters its CS fully.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\nI am open to suggestions regarding the naming of this flag.\n---\n include/linux/spi/spi-mem.h | 6 +++++-\n 1 file changed, 5 insertions(+), 1 deletion(-)", "diff": "diff --git a/include/linux/spi/spi-mem.h b/include/linux/spi/spi-mem.h\nindex bd2a73d46980..de153719a08e 100644\n--- a/include/linux/spi/spi-mem.h\n+++ b/include/linux/spi/spi-mem.h\n@@ -373,7 +373,10 @@ struct spi_controller_mem_ops {\n * @swap16: Supports swapping bytes on a 16 bit boundary when configured in\n *\t Octal DTR\n * @per_op_freq: Supports per operation frequency switching\n- * @secondary_op_tmpl: Supports leveraging a secondary memory operation template\n+ * @no_cs_assertion: The controller may automatically deassert the CS if there\n+ * is a pause in the transfer (eg. internal bus contention or\n+ * DMA arbitration on an interconnect). Features such as NAND\n+ * continuous reads shall not be leveraged.\n */\n struct spi_controller_mem_caps {\n \tbool dtr;\n@@ -381,6 +384,7 @@ struct spi_controller_mem_caps {\n \tbool swap16;\n \tbool per_op_freq;\n \tbool secondary_op_tmpl;\n+\tbool no_cs_assertion;\n };\n \n #define spi_mem_controller_is_capable(ctlr, cap)\t\\\n", "prefixes": [ "1/4" ] }