From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Pratyush Yadav <pratyush@kernel.org>
Cc: Michael Walle <mwalle@kernel.org>,
Takahiro Kuwano <takahiro.kuwano@infineon.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Jonathan Corbet <corbet@lwn.net>,
Sean Anderson <sean.anderson@linux.dev>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Steam Lin <STLin2@winbond.com>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org
Subject: Re: [PATCH v4 10/27] mtd: spi-nor: swp: Create a helper that writes SR, CR and checks
Date: Wed, 06 May 2026 10:57:55 +0200 [thread overview]
Message-ID: <87tsskncdo.fsf@bootlin.com> (raw)
In-Reply-To: <2vxzbjet266g.fsf@kernel.org> (Pratyush Yadav's message of "Tue, 05 May 2026 18:05:11 +0200")
Hi Pratyush,
On 05/05/2026 at 18:05:11 +02, Pratyush Yadav <pratyush@kernel.org> wrote:
> On Fri, Apr 03 2026, Miquel Raynal wrote:
>
>> There are many helpers already to either read and/or write SR and/or CR,
>> as well as sometimes check the returned values. In order to be able to
>> switch from a 1 byte status register to a 2 bytes status register while
>> keeping the same level of verification, let's introduce a new helper
>> that writes them both (atomically) and then reads them back (separated)
>> to compare the values.
>>
>> In case 2 bytes registers are not supported, we still have the usual
>> fallback available in the helper being exported to the rest of the core.
>>
>> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
>
> I'm confused. Doesn't spi_nor_write_16bit_sr_and_check() do the same
> thing? How are these two different?
The prototype says it all:
static int spi_nor_write_16bit_sr_and_check(struct spi_nor *nor, u8 sr1)
It writes sr1, and you can give only sr1. But because it is a 16bit
write, it also writes cr/sr2 on which the caller has no control. This
helper is actually very chip specific, because that is one way among the
different SFDP QER field possibilities to write the QE bit.
Giving more control to the caller, including the position of the QE bit
as well as the possibility to set other bits in cr/sr2 is what is
intended in this helper. This is an internal helper btw, only the core
uses it.
Note: I will send a v5 with an update of the naming convention because
it is not super satisfying. I already have that patch, and I was waiting
for this series to get in for sending the follow-up improvements, but if
we go for a new iteration I can include these patches in. There will be
a fix of the QE bit handling in the swp.c core I am touching as well (I
forgot to handle a case).
Thanks,
Miquèl
next prev parent reply other threads:[~2026-05-06 8:58 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-03 16:09 [PATCH v4 00/27] mtd: spi-nor: Enhance software protection Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 01/27] mtd: spi-nor: Drop duplicate Kconfig dependency Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 02/27] mtd: spi-nor: debugfs: Fix the flags list Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 03/27] mtd: spi-nor: swp: Improve locking user experience Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 04/27] mtd: spi-nor: Improve opcodes documentation Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 05/27] mtd: spi-nor: debugfs: Align variable access with the rest of the file Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 06/27] mtd: spi-nor: debugfs: Enhance output Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 07/27] mtd: spi-nor: swp: Explain the MEMLOCK ioctl implementation behaviour Miquel Raynal
2026-05-05 15:40 ` Pratyush Yadav
2026-05-06 8:42 ` Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 08/27] mtd: spi-nor: swp: Clarify a comment Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 09/27] mtd: spi-nor: swp: Use a pointer for SR instead of a single byte Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 10/27] mtd: spi-nor: swp: Create a helper that writes SR, CR and checks Miquel Raynal
2026-05-05 16:05 ` Pratyush Yadav
2026-05-06 8:57 ` Miquel Raynal [this message]
2026-05-06 9:06 ` Michael Walle
2026-05-06 9:54 ` Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 11/27] mtd: spi-nor: swp: Rename a mask Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 12/27] mtd: spi-nor: swp: Create a TB intermediate variable Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 13/27] mtd: spi-nor: swp: Create helpers for building the SR register Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 14/27] mtd: spi-nor: swp: Simplify checking the locked/unlocked range Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 15/27] mtd: spi-nor: swp: Cosmetic changes Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 16/27] mtd: spi-nor: Create a local SR cache Miquel Raynal
2026-05-05 16:14 ` Pratyush Yadav
2026-05-06 8:51 ` Michael Walle
2026-05-06 8:59 ` Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 17/27] mtd: spi-nor: debugfs: Add locking support Miquel Raynal
2026-04-10 4:39 ` Takahiro.Kuwano
2026-04-27 13:39 ` Miquel Raynal
2026-04-27 16:11 ` Pratyush Yadav
2026-04-28 7:56 ` Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 18/27] mtd: spi-nor: debugfs: Add a locked sectors map Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 19/27] mtd: spi-nor: Add steps for testing locking support Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 20/27] mtd: spi-nor: swp: Add support for the complement feature Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 21/27] mtd: spi-nor: Add steps for testing locking with CMP Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 22/27] mtd: spi-nor: winbond: Add W25H512NWxxAM CMP locking support Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 23/27] mtd: spi-nor: winbond: Add W25H01NWxxAM " Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 24/27] mtd: spi-nor: winbond: Add W25H02NWxxAM " Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 25/27] mtd: spi-nor: winbond: Add W25H01NWxxIQ " Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 26/27] mtd: spi-nor: winbond: Add W25Q01NWxxIM " Miquel Raynal
2026-04-03 16:09 ` [PATCH v4 27/27] mtd: spi-nor: winbond: Add W25Q02NWxxIM " Miquel Raynal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tsskncdo.fsf@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=STLin2@winbond.com \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mwalle@kernel.org \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=sean.anderson@linux.dev \
--cc=takahiro.kuwano@infineon.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox