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/nand/fsmc_nand.c | |
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/nand/fsmc_nand.c')
-rw-r--r-- | drivers/mtd/nand/fsmc_nand.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c index 341086c22e90..588e3733c3a4 100644 --- a/drivers/mtd/nand/fsmc_nand.c +++ b/drivers/mtd/nand/fsmc_nand.c | |||
@@ -863,10 +863,12 @@ static int __init fsmc_nand_probe(struct platform_device *pdev) | |||
863 | nand->ecc.calculate = fsmc_read_hwecc_ecc4; | 863 | nand->ecc.calculate = fsmc_read_hwecc_ecc4; |
864 | nand->ecc.correct = fsmc_bch8_correct_data; | 864 | nand->ecc.correct = fsmc_bch8_correct_data; |
865 | nand->ecc.bytes = 13; | 865 | nand->ecc.bytes = 13; |
866 | nand->ecc.strength = 8; | ||
866 | } else { | 867 | } else { |
867 | nand->ecc.calculate = fsmc_read_hwecc_ecc1; | 868 | nand->ecc.calculate = fsmc_read_hwecc_ecc1; |
868 | nand->ecc.correct = nand_correct_data; | 869 | nand->ecc.correct = nand_correct_data; |
869 | nand->ecc.bytes = 3; | 870 | nand->ecc.bytes = 3; |
871 | nand->ecc.strength = 1; | ||
870 | } | 872 | } |
871 | 873 | ||
872 | /* | 874 | /* |