GPMI-NAND: Wrong ECC size in driver
Marek Vasut
marek.vasut at gmail.com
Wed Jan 4 18:38:39 EST 2012
> On 01/04/2012 03:32 PM, Marek Vasut wrote:
> >> On 01/03/2012 11:58 PM, Huang Shijie wrote:
> >>> Hi Marek:
> >>>> Hi,
> >>>>
> >>>> the gpmi-nand.c driver apparently has misconfigured ecc.size field:
> >>>>
> >>>> drivers/mtd/nand/gpmi-nand/gpmi-nand.c:
> >>>> ---------->8 ----------
> >>>> 1493 chip->ecc.mode = NAND_ECC_HW;
> >>>> 1494 chip->ecc.size = 1;
> >>>> 1495 chip->ecc.layout =&gpmi_hw_ecclayout;
> >>>> ---------- 8< ----------
> >>
> >> [snip]
> >>
> >>> The gpmi driver does not support the subpage read/write.
> >>> I will be happy if the driver works only by setting the
> >>> NAND_NO_SUBPAGE_WRITE, without setting the ecc.size.
> >>
> >> Can we just get rid of NAND_CHIPOPTIONS_MSK and trust that drivers won't
> >> set options that aren't appropriate? Possibly replace it with
> >> documentation about which options are for chips, which are for drivers,
> >> and which (such as NAND_NO_SUBPAGE_WRITE) can be set by either.
> >
> > Rather let's just adjust the mask?
>
> The way the mask is used means that any given option can only be chip or
> driver, not both. Though, I don't see anywhere this option is set by a
> chip -- maybe we can just renumber it to be in the controller half.
I suspect this was meant to allow controllers where one chip can do subpage-
write and the other can not.
>
> I still don't see a whole lot of value in the mask, though -- seems to
> be just causing problems, especially given that bits set by the "wrong"
> component are silently discarded.
Yes. Patch is welcome to remove it and separate these two ;-)
M
>
> -Scott
More information about the linux-mtd
mailing list