Message ID | 20240621120929.2670185-1-mwalle@kernel.org |
---|---|
State | Accepted |
Headers | show |
Series | [v2] mtd: spi-nor: winbond: fix w25q128 regression | expand |
On 6/21/24 1:09 PM, Michael Walle wrote: > Commit 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > removed the flags for non-SFDP devices. It was assumed that it wasn't in > use anymore. This wasn't true. Add the no_sfdp_flags as well as the size > again. > > We add the additional flags for dual and quad read because they have > been reported to work properly by Hartmut using both older and newer > versions of this flash, the similar flashes with 64Mbit and 256Mbit > already have these flags and because it will (luckily) trigger our > legacy SFDP parsing, so newer versions with SFDP support will still get > the parameters from the SFDP tables. > > Reported-by: Hartmut Birr <e9hack@gmail.com> > Closes: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ > Fixes: 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Michael Walle <mwalle@kernel.org> Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org> > --- > As mentioned this is for fixing the regression and a proper fix will > make use of the TRY_SFDP (or whatever it will be named) mechanism. > --- > drivers/mtd/spi-nor/winbond.c | 2 ++ > 1 file changed, 2 insertions(+)
Michael Walle <mwalle@kernel.org> writes: > Commit 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > removed the flags for non-SFDP devices. It was assumed that it wasn't in > use anymore. This wasn't true. Add the no_sfdp_flags as well as the size > again. > > We add the additional flags for dual and quad read because they have > been reported to work properly by Hartmut using both older and newer > versions of this flash, the similar flashes with 64Mbit and 256Mbit > already have these flags and because it will (luckily) trigger our > legacy SFDP parsing, so newer versions with SFDP support will still get > the parameters from the SFDP tables. > > Reported-by: Hartmut Birr <e9hack@gmail.com> > Closes: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ > Fixes: 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Esben Haabendal <esben@geanix.com> > --- > As mentioned this is for fixing the regression and a proper fix will > make use of the TRY_SFDP (or whatever it will be named) mechanism. > --- > drivers/mtd/spi-nor/winbond.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c > index ca67bf2c46c3..6b6dec6f8faf 100644 > --- a/drivers/mtd/spi-nor/winbond.c > +++ b/drivers/mtd/spi-nor/winbond.c > @@ -105,7 +105,9 @@ static const struct flash_info winbond_nor_parts[] = { > }, { > .id = SNOR_ID(0xef, 0x40, 0x18), > .name = "w25q128", > + .size = SZ_16M, > .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, > + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, > }, { > .id = SNOR_ID(0xef, 0x40, 0x19), > .name = "w25q256",
On Fri, Jun 21 2024, Michael Walle wrote: > Commit 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > removed the flags for non-SFDP devices. It was assumed that it wasn't in > use anymore. This wasn't true. Add the no_sfdp_flags as well as the size > again. > > We add the additional flags for dual and quad read because they have > been reported to work properly by Hartmut using both older and newer > versions of this flash, the similar flashes with 64Mbit and 256Mbit > already have these flags and because it will (luckily) trigger our > legacy SFDP parsing, so newer versions with SFDP support will still get > the parameters from the SFDP tables. > > Reported-by: Hartmut Birr <e9hack@gmail.com> > Closes: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ > Fixes: 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128") > Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Pratyush Yadav <pratyush@kernel.org> Applied to spi-nor/next. Thanks!
diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c index ca67bf2c46c3..6b6dec6f8faf 100644 --- a/drivers/mtd/spi-nor/winbond.c +++ b/drivers/mtd/spi-nor/winbond.c @@ -105,7 +105,9 @@ static const struct flash_info winbond_nor_parts[] = { }, { .id = SNOR_ID(0xef, 0x40, 0x18), .name = "w25q128", + .size = SZ_16M, .flags = SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB, + .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ, }, { .id = SNOR_ID(0xef, 0x40, 0x19), .name = "w25q256",