{"id":2230410,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2230410/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-aspeed/patch/20260429-winbond-v6-18-rc1-cont-read-v3-9-0f38b3c229ad@bootlin.com/","project":{"id":57,"url":"http://patchwork.ozlabs.org/api/1.1/projects/57/?format=json","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-9-0f38b3c229ad@bootlin.com>","date":"2026-04-29T17:56:46","name":"[v3,09/11] mtd: spinand: winbond: Create a helper to write the HS bit","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"cf55b6004e51bc6f87543936bb9513f6b9058cff","submitter":{"id":73368,"url":"http://patchwork.ozlabs.org/api/1.1/people/73368/?format=json","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-9-0f38b3c229ad@bootlin.com/mbox/","series":[{"id":502122,"url":"http://patchwork.ozlabs.org/api/1.1/series/502122/?format=json","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/2230410/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2230410/checks/","tags":{},"headers":{"Return-Path":"\n <linux-aspeed+bounces-3988-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=Vmb/o8DH;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed+bounces-3988-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org; arc=none smtp.remote-ip=185.246.85.4","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=Vmb/o8DH;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=bootlin.com\n (client-ip=185.246.85.4; helo=smtpout-03.galae.net;\n envelope-from=miquel.raynal@bootlin.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4g5QHY1hrkz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 04:07:05 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g5QHW1pNLz2yr0;\n\tThu, 30 Apr 2026 04:07:03 +1000 (AEST)","from smtpout-03.galae.net (smtpout-03.galae.net [185.246.85.4])\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 4g5QHQ4WL8z2yqP\n\tfor <linux-aspeed@lists.ozlabs.org>; Thu, 30 Apr 2026 04:06:58 +1000 (AEST)","from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-03.galae.net (Postfix) with ESMTPS id 35F694E42B73;\n\tWed, 29 Apr 2026 17:58:14 +0000 (UTC)","from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id 09E735FD43;\n\tWed, 29 Apr 2026 17:58:14 +0000 (UTC)","from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id 1A14B1072B175;\n\tWed, 29 Apr 2026 19:58:07 +0200 (CEST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777486023;\n\tcv=none;\n b=VVVK/25mVX8DW87DBS10Pl1It5zWDKOdkiMk2d64Eh5i7tLVn5Oj4cl6nLzKgVxYIhVgqOFJVQVYtCHZWI8BHznCiLhlgbgVNqWoWt+xqdCM18J6Q+qzuVzoj4XjxQoCU+9117FLOEsnDcDFSumKGo9EPGmuGjJTFoN8pO9C+sFDsrzD3Tb1vXSn00IjO2vV/5rjHC+CJEzZ22kECGgfTiPxF7b8r/G9TwvaZL3eiTRPTD6NkHoiQOn0CJUcwf/QJNPN97pqvf/yViVrK67DatxvsbAf4KDvsfavZNAMK5Q5ICG90R5HfbeHpgbW3YtGsycFz0vJSwwvv53rQcBOCw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777486023; c=relaxed/relaxed;\n\tbh=5tIkRnE1ORjoj4u0h1eWmFg73tjo03bMRc5hBjhSYqM=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=n34AuCYCfaavJX2nHCMM26Skg6ROWkEwJYO62XPnytxRL7BwtRbknLd32kFAtclvoZuXDTlGGe4NQv714KyFe6TJK/tI5HG5PG/Fb1euku4VF8fu98tTMPpEHc5UYHmnDSbgr42ebTT4NUDkl8eFggWTR5A6dbPGV+wpifxQMfz6nhWnmrBbA/+ubSdZCgHiExheDMsX8GuGaskBfRyDMQvuJ91C25Z8ITVZGictowb5ym5PXNr9cUwHSww0CC1bAF1Nz5oy5wtuCjoEGU+46U6MSLIoSAtpIGk09QBmoTlajzJJ86RLjd2NuQwrO37tYJViXK3UfZl2m+EhVNuyaQ==","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=Vmb/o8DH; dkim-atps=neutral;\n spf=pass (client-ip=185.246.85.4; helo=smtpout-03.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=1777485491; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding:in-reply-to:references;\n\tbh=5tIkRnE1ORjoj4u0h1eWmFg73tjo03bMRc5hBjhSYqM=;\n\tb=Vmb/o8DHri8qfjlDxdgxVCmz1cOiWo5fai2OHnEYLHyIsyVdpDTgWD44JJKYBik+Bop6+W\n\tqO/mPLDC2HvVPtzzFzJzmO0zmj8Ud0q8Cl6mkOzfLIV5t4BqhYfAOS/P4cCduBkSpSOfmM\n\t5M8eLmzfXkqP4D5NBRKhvhmcWtsq9c1mg0MVwung6UnlsGwZeb4fsNZ/pNVgjm2S/Vrlqz\n\tcQsoBDbxgbA6MAC7jdwUUgJJZj7f2xsTfwFvpawEIDwOwqd6ZhkIt1k16aESiXmhdrWfdA\n\tWg5O+8KVvlIUYgrSqKw5HE7tXplaioeNXtYi4yXBgQzvAFVe4lpxohvMt0C13A==","From":"Miquel Raynal <miquel.raynal@bootlin.com>","Date":"Wed, 29 Apr 2026 19:56:46 +0200","Subject":"[PATCH v3 09/11] mtd: spinand: winbond: Create a helper to write\n 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-9-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":"Updating the HS bit is not complex but implies reading, setting/clearing\na bit and writing. Clean a bit this section by moving this logic in its\nown helper.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\n drivers/mtd/nand/spi/winbond.c | 34 ++++++++++++++++++----------------\n 1 file changed, 18 insertions(+), 16 deletions(-)","diff":"diff --git a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbond.c\nindex 6c11f59a9f8d..b30a343a6672 100644\n--- a/drivers/mtd/nand/spi/winbond.c\n+++ b/drivers/mtd/nand/spi/winbond.c\n@@ -404,13 +404,28 @@ static int w25w35nxxjw_ecc_get_status(struct spinand_device *spinand, u8 status)\n \treturn -EINVAL;\n }\n \n+static int w25n0xjw_set_sr4_hs(struct spinand_device *spinand, bool enable)\n+{\n+\tint ret;\n+\tu8 sr4;\n+\n+\tret = spinand_read_reg_op(spinand, W25N0XJW_SR4, &sr4);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tif (enable)\n+\t\tsr4 |= W25N0XJW_SR4_HS;\n+\telse\n+\t\tsr4 &= ~W25N0XJW_SR4_HS;\n+\n+\treturn spinand_write_reg_op(spinand, W25N0XJW_SR4, sr4);\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-\tu8 sr4;\n-\tint ret;\n \n \tif (iface != SSDR)\n \t\treturn -EOPNOTSUPP;\n@@ -429,20 +444,7 @@ static int w25n0xjw_hs_cfg(struct spinand_device *spinand,\n \telse\n \t\ths = true;\n \n-\tret = spinand_read_reg_op(spinand, W25N0XJW_SR4, &sr4);\n-\tif (ret)\n-\t\treturn ret;\n-\n-\tif (hs)\n-\t\tsr4 |= W25N0XJW_SR4_HS;\n-\telse\n-\t\tsr4 &= ~W25N0XJW_SR4_HS;\n-\n-\tret = spinand_write_reg_op(spinand, W25N0XJW_SR4, sr4);\n-\tif (ret)\n-\t\treturn ret;\n-\n-\treturn 0;\n+\treturn w25n0xjw_set_sr4_hs(spinand, hs);\n }\n \n static int w35n0xjw_write_vcr(struct spinand_device *spinand, u8 reg, u8 val)\n","prefixes":["v3","09/11"]}