Patchwork [v5,09/11] mtd: parse out the ECC info for the full-id nand chips

login
register
mail settings
Submitter Huang Shijie
Date May 15, 2013, 8:40 a.m.
Message ID <1368607232-2210-10-git-send-email-b32955@freescale.com>
Download mbox | patch
Permalink /patch/243953/
State New
Headers show

Comments

Huang Shijie - May 15, 2013, 8:40 a.m.
Parse out the ECC information for the full-id nand chips.

Signed-off-by: Huang Shijie <b32955@freescale.com>
---
 drivers/mtd/nand/nand_base.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Vikram Narayanan - May 15, 2013, 4:54 p.m.
On 5/15/2013 2:10 PM, Huang Shijie wrote:
> Parse out the ECC information for the full-id nand chips.
>
> Signed-off-by: Huang Shijie <b32955@freescale.com>
> ---
>   drivers/mtd/nand/nand_base.c |    2 ++
>   1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index 41e5c07..359e105 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -3243,6 +3243,8 @@ static bool find_full_id_nand(struct mtd_info *mtd, struct nand_chip *chip,
>   		chip->cellinfo = id_data[2];
>   		chip->chipsize = (uint64_t)type->chipsize << 20;
>   		chip->options |= type->options;
> +		chip->ecc_strength = NAND_ECC_STRENGTH(type);
> +		chip->ecc_step = NAND_ECC_STEP(type);

Does all NAND chips define this? I mean the patch 10/11 "mtd: add the 
ecc info for some full-id nand chips". What does the above result for 
the other chips? Does it get populated at runtime?

~Vikram
Huang Shijie - May 16, 2013, 2:40 a.m.
于 2013年05月16日 00:54, Vikram Narayanan 写道:
> Does all NAND chips define this? I mean the patch 10/11 "mtd: add the 
> ecc info for some full-id nand chips". What does the above result for 
> the other chips? Does it get populated at runtime? 
it does not influence other nand , except the full-id nand case.

yes, it gets populated at runtime.

thanks
Huang Shijie

Patch

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 41e5c07..359e105 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3243,6 +3243,8 @@  static bool find_full_id_nand(struct mtd_info *mtd, struct nand_chip *chip,
 		chip->cellinfo = id_data[2];
 		chip->chipsize = (uint64_t)type->chipsize << 20;
 		chip->options |= type->options;
+		chip->ecc_strength = NAND_ECC_STRENGTH(type);
+		chip->ecc_step = NAND_ECC_STEP(type);
 
 		*busw = type->options & NAND_BUSWIDTH_16;