diff options
author | Mike Dunn <mikedunn@newsguy.com> | 2012-03-11 17:21:11 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-03-26 19:56:46 -0400 |
commit | 6a918bade9dab40aaef80559bd1169c69e8d69cb (patch) | |
tree | 1be69789f9b6c6e064a36f4ef6e142a8ec0058b5 /drivers/mtd/devices | |
parent | 1d0b95b0834087ba3653f69c24483d63a26d51a7 (diff) |
mtd: flash drivers set ecc strength
Flash device drivers initialize 'ecc_strength' in struct mtd_info, which is the
maximum number of bit errors that can be corrected in one writesize region.
Drivers using the nand interface intitialize 'strength' in struct nand_ecc_ctrl,
which is the maximum number of bit errors that can be corrected in one ecc step.
Nand infrastructure code translates this to 'ecc_strength'.
Also for nand drivers, the nand infrastructure code sets ecc.strength for ecc
modes NAND_ECC_SOFT, NAND_ECC_SOFT_BCH, and NAND_ECC_NONE. It is set in the
driver for all other modes.
Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/devices')
-rw-r--r-- | drivers/mtd/devices/doc2000.c | 1 | ||||
-rw-r--r-- | drivers/mtd/devices/doc2001.c | 1 | ||||
-rw-r--r-- | drivers/mtd/devices/doc2001plus.c | 1 | ||||
-rw-r--r-- | drivers/mtd/devices/docg3.c | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/devices/doc2000.c b/drivers/mtd/devices/doc2000.c index 7ad7b054800c..a4eb8b5b85ec 100644 --- a/drivers/mtd/devices/doc2000.c +++ b/drivers/mtd/devices/doc2000.c | |||
@@ -564,6 +564,7 @@ void DoC2k_init(struct mtd_info *mtd) | |||
564 | mtd->flags = MTD_CAP_NANDFLASH; | 564 | mtd->flags = MTD_CAP_NANDFLASH; |
565 | mtd->writebufsize = mtd->writesize = 512; | 565 | mtd->writebufsize = mtd->writesize = 512; |
566 | mtd->oobsize = 16; | 566 | mtd->oobsize = 16; |
567 | mtd->ecc_strength = 2; | ||
567 | mtd->owner = THIS_MODULE; | 568 | mtd->owner = THIS_MODULE; |
568 | mtd->_erase = doc_erase; | 569 | mtd->_erase = doc_erase; |
569 | mtd->_read = doc_read; | 570 | mtd->_read = doc_read; |
diff --git a/drivers/mtd/devices/doc2001.c b/drivers/mtd/devices/doc2001.c index 7bff54e62cd5..f6927955dab0 100644 --- a/drivers/mtd/devices/doc2001.c +++ b/drivers/mtd/devices/doc2001.c | |||
@@ -348,6 +348,7 @@ void DoCMil_init(struct mtd_info *mtd) | |||
348 | mtd->erasesize = 0x2000; | 348 | mtd->erasesize = 0x2000; |
349 | mtd->writebufsize = mtd->writesize = 512; | 349 | mtd->writebufsize = mtd->writesize = 512; |
350 | mtd->oobsize = 16; | 350 | mtd->oobsize = 16; |
351 | mtd->ecc_strength = 2; | ||
351 | mtd->owner = THIS_MODULE; | 352 | mtd->owner = THIS_MODULE; |
352 | mtd->_erase = doc_erase; | 353 | mtd->_erase = doc_erase; |
353 | mtd->_read = doc_read; | 354 | mtd->_read = doc_read; |
diff --git a/drivers/mtd/devices/doc2001plus.c b/drivers/mtd/devices/doc2001plus.c index 4a03d869ad03..04eb2e4aa50f 100644 --- a/drivers/mtd/devices/doc2001plus.c +++ b/drivers/mtd/devices/doc2001plus.c | |||
@@ -469,6 +469,7 @@ void DoCMilPlus_init(struct mtd_info *mtd) | |||
469 | mtd->flags = MTD_CAP_NANDFLASH; | 469 | mtd->flags = MTD_CAP_NANDFLASH; |
470 | mtd->writebufsize = mtd->writesize = 512; | 470 | mtd->writebufsize = mtd->writesize = 512; |
471 | mtd->oobsize = 16; | 471 | mtd->oobsize = 16; |
472 | mtd->ecc_strength = 2; | ||
472 | mtd->owner = THIS_MODULE; | 473 | mtd->owner = THIS_MODULE; |
473 | mtd->_erase = doc_erase; | 474 | mtd->_erase = doc_erase; |
474 | mtd->_read = doc_read; | 475 | mtd->_read = doc_read; |
diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c index 2c1d0fca6757..349bbfa74d0d 100644 --- a/drivers/mtd/devices/docg3.c +++ b/drivers/mtd/devices/docg3.c | |||
@@ -1832,6 +1832,7 @@ static void __init doc_set_driver_info(int chip_id, struct mtd_info *mtd) | |||
1832 | mtd->_write_oob = doc_write_oob; | 1832 | mtd->_write_oob = doc_write_oob; |
1833 | mtd->_block_isbad = doc_block_isbad; | 1833 | mtd->_block_isbad = doc_block_isbad; |
1834 | mtd->ecclayout = &docg3_oobinfo; | 1834 | mtd->ecclayout = &docg3_oobinfo; |
1835 | mtd->ecc_strength = DOC_ECC_BCH_T; | ||
1835 | } | 1836 | } |
1836 | 1837 | ||
1837 | /** | 1838 | /** |