Browse Source

mtd: get the ECC info from the parameter page for ONFI nand

From the ONFI spec, we can just get the ECC info from the @ecc_bits field of
the parameter page.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Reviewed-and-tested-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Huang Shijie 12 years ago
parent
commit
10c86babfb
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/mtd/nand/nand_base.c

+ 5 - 0
drivers/mtd/nand/nand_base.c

@@ -2913,6 +2913,11 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip,
 	if (le16_to_cpu(p->features) & 1)
 		*busw = NAND_BUSWIDTH_16;
 
+	if (p->ecc_bits != 0xff) {
+		chip->ecc_strength_ds = p->ecc_bits;
+		chip->ecc_step_ds = 512;
+	}
+
 	pr_info("ONFI flash detected\n");
 	return 1;
 }