mtd: spi-nor: winbond: fix w25q128 regression
Subsystems (2)
Michael Walle
maintainerPATCH v2 1/1 mtd: spi-nor: winbond: fix w25q128 regression
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.
---
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(+)
drivers/mtd/spi-nor/winbond.c +2 -0
@@ -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",
Signature · 1 line
2.39.2
Quoted 12 lines · Michael Walle
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 theno_sfdp_flagsas 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.
Quoted 5 lines
Reported-by Hartmut Birr <[email protected]>Closes https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ open hereFixes 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")Reviewed-by Linus Walleij <[email protected]>Signed-off-by Michael Walle <[email protected]>
Quoted 6 lines
---
As mentioned this is for fixing the regression and a proper fix will make use of theTRY_SFDP(or whatever it will be named) mechanism.--- drivers/mtd/spi-nor/winbond.c | 2 ++ 1 file changed, 2 insertions(+)
Quoted 12 lines · Michael Walle
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 theno_sfdp_flagsas 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.
Quoted 5 lines
Reported-by Hartmut Birr <[email protected]>Closes https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ open hereFixes 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")Reviewed-by Linus Walleij <[email protected]>Signed-off-by Michael Walle <[email protected]>
Quoted 21 lines
---
As mentioned this is for fixing the regression and a proper fix will make use of theTRY_SFDP(or whatever it will be named) mechanism.--- drivers/mtd/spi-nor/winbond.c | 2 ++ 1 file changed, 2 insertions(+)drivers/mtd/spi-nor/winbond.c +2
-0@@ -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",
Quoted 12 lines · Michael Walle
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 theno_sfdp_flagsas 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.
Quoted 5 lines
Reported-by Hartmut Birr <[email protected]>Closes https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ open hereFixes 83e824a4a595 ("mtd: spi-nor: Correct flags for Winbond w25q128")Reviewed-by Linus Walleij <[email protected]>Signed-off-by Michael Walle <[email protected]>
Applied to spi-nor/next. Thanks!
Signature · 2 lines
Regards, Pratyush Yadav