diff options
author | Han Xu <han.xu@nxp.com> | 2016-03-28 11:26:51 -0500 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2017-01-11 21:25:08 +0100 |
commit | 0749992cbfa757ee235f158d32b0bbd47226f58a (patch) | |
tree | 0e85c424f2b0b021e752923e503ca6b0092e4760 /drivers | |
parent | c7ed23d26cacc7255b4ebc062dd947b0ae28868f (diff) |
MLK-12603: mtd: gpmi: may use legacy bch geometry in u-boot
provide one config "CONFIG_NAND_MXS_BCH_LEGACY_GEO" to keep using legacy
bch geometry.
NOTICE: the feature must be enabled/disabled in both u-boot and kernel.
Signed-off-by: Han Xu <han.xu@nxp.com>
(cherry picked from commit 0abc9c182c24f88522bd74fa1b53cd2fa3477184)
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/nand/mxs_nand.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c index b10539e674f..80d18082281 100644 --- a/drivers/mtd/nand/mxs_nand.c +++ b/drivers/mtd/nand/mxs_nand.c @@ -254,6 +254,12 @@ static int mxs_nand_get_ecc_strength(struct mtd_info *mtd) } else { ecc_strength = chip->ecc_strength_ds; ecc_strength += ecc_strength & 1; +#if defined(CONFIG_NAND_MXS_BCH_LEGACY_GEO) + ecc_strength = ((page_oob_size - MXS_NAND_METADATA_SIZE) * 8) + /(galois_field * mxs_nand_ecc_chunk_cnt(mtd->writesize)); + ecc_strength += ecc_strength & 1; + ecc_strength = min(ecc_strength, MXS_NAND_MAX_ECC_STRENGTH); +#endif } return 0; }; |