aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrieder Schrempf <frieder.schrempf@kontron.de>2019-06-06 13:07:55 -0400
committerMiquel Raynal <miquel.raynal@bootlin.com>2019-07-01 08:50:20 -0400
commita126483e82957172b8a93ebb1d30fb2b1df3cbbc (patch)
tree07aea8e1716e55d17ec89b68c647a335d93789f9
parent6fbc7275c7a9ba97877050335f290341a1fd8dbf (diff)
mtd: spinand: Fix max_bad_eraseblocks_per_lun info in memorg
The 1Gb Macronix chip can have a maximum of 20 bad blocks, while the 2Gb version has twice as many blocks and therefore the maximum number of bad blocks is 40. The 4Gb GigaDevice GD5F4GQ4xA has twice as many blocks as its 2Gb counterpart and therefore a maximum of 80 bad blocks. Fixes: 377e517b5fa5 ("mtd: nand: Add max_bad_eraseblocks_per_lun info to memorg") Reported-by: Emil Lenngren <emil.lenngren@gmail.com> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
-rw-r--r--drivers/mtd/nand/spi/gigadevice.c2
-rw-r--r--drivers/mtd/nand/spi/macronix.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mtd/nand/spi/gigadevice.c b/drivers/mtd/nand/spi/gigadevice.c
index e5586390026a..e6c646007cda 100644
--- a/drivers/mtd/nand/spi/gigadevice.c
+++ b/drivers/mtd/nand/spi/gigadevice.c
@@ -180,7 +180,7 @@ static const struct spinand_info gigadevice_spinand_table[] = {
180 SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, 180 SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout,
181 gd5fxgq4xa_ecc_get_status)), 181 gd5fxgq4xa_ecc_get_status)),
182 SPINAND_INFO("GD5F4GQ4xA", 0xF4, 182 SPINAND_INFO("GD5F4GQ4xA", 0xF4,
183 NAND_MEMORG(1, 2048, 64, 64, 4096, 40, 1, 1, 1), 183 NAND_MEMORG(1, 2048, 64, 64, 4096, 80, 1, 1, 1),
184 NAND_ECCREQ(8, 512), 184 NAND_ECCREQ(8, 512),
185 SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 185 SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
186 &write_cache_variants, 186 &write_cache_variants,
diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
index 6502727049a8..21def3f8fb36 100644
--- a/drivers/mtd/nand/spi/macronix.c
+++ b/drivers/mtd/nand/spi/macronix.c
@@ -100,7 +100,7 @@ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand,
100 100
101static const struct spinand_info macronix_spinand_table[] = { 101static const struct spinand_info macronix_spinand_table[] = {
102 SPINAND_INFO("MX35LF1GE4AB", 0x12, 102 SPINAND_INFO("MX35LF1GE4AB", 0x12,
103 NAND_MEMORG(1, 2048, 64, 64, 1024, 40, 1, 1, 1), 103 NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
104 NAND_ECCREQ(4, 512), 104 NAND_ECCREQ(4, 512),
105 SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 105 SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
106 &write_cache_variants, 106 &write_cache_variants,
@@ -109,7 +109,7 @@ static const struct spinand_info macronix_spinand_table[] = {
109 SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, 109 SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
110 mx35lf1ge4ab_ecc_get_status)), 110 mx35lf1ge4ab_ecc_get_status)),
111 SPINAND_INFO("MX35LF2GE4AB", 0x22, 111 SPINAND_INFO("MX35LF2GE4AB", 0x22,
112 NAND_MEMORG(1, 2048, 64, 64, 2048, 20, 2, 1, 1), 112 NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
113 NAND_ECCREQ(4, 512), 113 NAND_ECCREQ(4, 512),
114 SPINAND_INFO_OP_VARIANTS(&read_cache_variants, 114 SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
115 &write_cache_variants, 115 &write_cache_variants,