9
0
Fork 0

mtd: nand: gpmi: Use subpage reads only on suitable NAND chips

On some NAND chips the driver uses a ECC size that is not dividable by
the number of chunks per page which means a single chunk cannot be read.
Disable the subpage feature for these NANDs. This is quite unfortunate
since the subpage feature really speeds up scanning NAND chips.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2016-06-22 08:42:23 +02:00
parent 22d7d604f1
commit 13ef2b2490
1 changed files with 5 additions and 3 deletions

View File

@ -1392,14 +1392,16 @@ static int mxs_nand_probe(struct device_d *dev)
nand->ecc.size = 512;
nand->ecc.strength = 8;
nand->ecc.read_subpage = gpmi_ecc_read_subpage;
nand->options |= NAND_SUBPAGE_READ;
/* first scan to find the device and get the page size */
err = nand_scan_ident(mtd, 4, NULL);
if (err)
goto err2;
if ((13 * mxs_nand_get_ecc_strength(mtd->writesize, mtd->oobsize) % 8) == 0) {
nand->ecc.read_subpage = gpmi_ecc_read_subpage;
nand->options |= NAND_SUBPAGE_READ;
}
nand->options |= NAND_NO_SUBPAGE_WRITE;
/* second phase scan */