Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh@nvidia.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
	Pratyush Yadav <pratyush@kernel.org>,
	Michael Walle <mwalle@kernel.org>,
	Takahiro Kuwano <takahiro.kuwano@infineon.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Randy Dunlap <rdunlap@infradead.org>
Cc: Steam Lin <STLin2@winbond.com>,
	Hsin-Yi Wang <hsinyi@chromium.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	linux-mtd@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH v5 03/25] mtd: spi-nor: Refactor Read Status/Write Status support
Date: Thu, 10 Sep 2026 05:38:01 +0100	[thread overview]
Message-ID: <b78b8e6a-2fab-489f-aa1b-a2ab23051794@nvidia.com> (raw)
In-Reply-To: <20260904-winbond-v7-1-spi-nor-rv-addition-v5-3-2909a45fe4fa@bootlin.com>

Hi Miguel,

On 04/09/2026 19:12, Miquel Raynal wrote:

...

> This is a really hard to review patch, it is big, full of changes
> everywhere, but I cannot really split it further. The commit log is
> really important, it tries to explain the steps I went through when
> trying to refactor the whole QE/SR handling for which I received
> feedback from Michael, Tudor and Sashiko.
> 
> Ideally we could expect test coverage of each case:
> - BFPT_DWORD15_QER_NONE: Probably not needed
> - BFPT_DWORD15_QER_SR2_BIT1_BUGGY: Expected from Hsin-Yi (flag is being
>    renamed _NO_1B_WR)
> - BFPT_DWORD15_QER_SR2_BIT1_NO_RD: Tested with a chip re-enabling RDCR
>    in a fixup
> - BFPT_DWORD15_QER_SR1_BIT6: TBD
> - BFPT_DWORD15_QER_SR2_BIT7: TBD
> - BFPT_DWORD15_QER_SR2_BIT1: TBD
> - BFPT_DWORD15_QER_SR2_BIT1_1B: Done.
> There will probably be breakages on older chips. These cannot be
> guessed because they are not properly listed in manufacturer
> fixups (yet). If we want a cleanup/simplification, we will have to cope
> with this risk.
> 
> I hope the diff stats will motivate people to have a look and report
> their testing.
> 
> I will also eagerly monitor Sashiko's output which will probably be
> very useful to catch niche weird cases where these changes might break.


Since this landed in -next I am seeing a flash/boot issue on one of our
Jetson boards. This board, Tegra234 Jetson Orin Nano
(tegra234-p3768-0000+p3767-0005.dts), uses a QSPI flash device and the
kernel is used to flash this device. Following this commit, on boot I
now see ...

spi-nor spi0.0: probe with driver spi-nor failed with error -22

Some quick AI analysis states ...

"The commit contains a probe-blocking regression in its new generic
  quad-enable path.

   ### Finding: -EINVAL from an unavailable SR2 read

   For BFPT_DWORD15_QER_SR1_BIT6 flashes, commit 63489002d397
   configures:

   params->opcodes.read_sr2 = 0;
   params->opcodes.write_sr1_and_sr2 = 0;
   params->qe_mask[0] = BIT(6);

   That correctly describes Macronix-style parts whose QE bit lives
   in SR1. However, spi_nor_generic_quad_enable() then unconditionally
   calls:

   spi_nor_read_sr1_and_sr2(nor, sr);

   That helper always calls spi_nor_read_sr2(), which does:

   if (!params->opcodes.read_sr2)
           return -EINVAL;

   The resulting probe path is:

   spi_nor_scan()
     → spi_nor_setup() selects quad I/O
     → spi_nor_init()
     → spi_nor_quad_enable()
     → spi_nor_generic_quad_enable()
     → spi_nor_read_sr1_and_sr2()
     → spi_nor_read_sr2()
     → -EINVAL

   This exactly explains:

   spi-nor spi0.0: probe with driver spi-nor failed with error -22"


I added a dump_stack() in spi_nor_read_sr2() and this does appear to
correlate with the above.

Let me know if you any any further inputs.

Thanks
Jon

-- 
nvpublic



  reply	other threads:[~2026-09-10  4:38 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-04 18:12 [PATCH v5 00/25] mtd: spi-nor: QE handling cleanup + fixup reworks + Winbond RV chips addition Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 01/25] mtd: spi-nor: Rename BFPT_DWORD15_QER_SR2_BIT1_BUGGY Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 02/25] mtd: spi-nor: Create a structure containing the flash opcodes Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 03/25] mtd: spi-nor: Refactor Read Status/Write Status support Miquel Raynal
2026-09-10  4:38   ` Jon Hunter [this message]
2026-09-10  9:57     ` Miquel Raynal
2026-09-11  9:09       ` Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 04/25] mtd: spi-nor: Add support for the new JESD216 rev F QER field Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 05/25] mtd: spi-nor: Create the concept of fixup table with match function Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 06/25] mtd: spi-nor: Move the fixup flags into the fixup list Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 07/25] mtd: spi-nor: Create an indirection on the part name Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 08/25] mtd: spi-nor: Move the SFDP header structure to a C header Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 09/25] mtd: spi-nor: winbond: Prepare introduction of W25QxxRV-Q/N parts Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 10/25] mtd: spi-nor: winbond: Add support for W25Q32RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 11/25] mtd: spi-nor: winbond: Add support for W25Q64RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 12/25] mtd: spi-nor: winbond: Add support for W25Q12RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 13/25] mtd: spi-nor: winbond: Add support for W25Q25RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 14/25] mtd: spi-nor: winbond: Add support for W25Q51RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 15/25] mtd: spi-nor: winbond: Add support for W25Q01RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 16/25] mtd: spi-nor: winbond: Add support for W25Q02RV-Q/N Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 17/25] mtd: spi-nor: winbond: Prepare introduction of W25QxxRV-M parts Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 18/25] mtd: spi-nor: winbond: Add support for W25Q32RV-M Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 19/25] mtd: spi-nor: winbond: Add support for W25Q64RV-M Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 20/25] mtd: spi-nor: winbond: Add support for W25Q12RV-M Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 21/25] mtd: spi-nor: winbond: Add support for W25Q25RV-M Miquel Raynal
2026-09-04 18:12 ` [PATCH v5 22/25] mtd: spi-nor: winbond: Add support for W25Q51RV-M Miquel Raynal
2026-09-04 18:13 ` [PATCH v5 23/25] mtd: spi-nor: winbond: Add support for W25Q01RV-M Miquel Raynal
2026-09-04 18:13 ` [PATCH v5 24/25] mtd: spi-nor: winbond: Add support for W25Q02RV-M Miquel Raynal
2026-09-04 18:13 ` [PATCH v5 25/25] mtd: spi-nor: debugfs: Expose SR opcodes and QE mask Miquel Raynal
2026-09-07  7:46 ` [PATCH v5 00/25] mtd: spi-nor: QE handling cleanup + fixup reworks + Winbond RV chips addition Michael Walle

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=b78b8e6a-2fab-489f-aa1b-a2ab23051794@nvidia.com \
    --to=jonathanh@nvidia.com \
    --cc=STLin2@winbond.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=corbet@lwn.net \
    --cc=hsinyi@chromium.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=mwalle@kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=pratyush@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=richard@nod.at \
    --cc=skhan@linuxfoundation.org \
    --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