[PATCH] mtd: nand: gpmi: add proper raw access support

Iwo Mergler Iwo.Mergler at netcommwireless.com
Wed Oct 1 23:52:29 PDT 2014

On Tue, 30 Sep 2014 18:04:15 +1000
Boris Brezillon <boris.brezillon at free-electrons.com> wrote:

> Hi Iwo,
> On Mon, 29 Sep 2014 11:22:11 +1000
> Iwo Mergler <Iwo.Mergler at netcommwireless.com> wrote:
> > On Thu, 11 Sep 2014 22:36:16 +1000
> > Boris BREZILLON <boris.brezillon at free-electrons.com> wrote:
> > > 
> > > Well, I don't know about freescale specific tools, but at least I
> > > have an example with mtd_nandbiterrs module.
> > > This module is assuming it can write only the data part of a NAND
> > > page without modifying the OOB area (see [1]), which in GPMI
> > > controller case is impossible because raw write function store
> > > the data as if there were no specific scheme, while there is one:
> > > (metadata + n x (data_chunk + ECC bytes) + remaining_bytes).
> > > 
> > 
> > Hi Boris,
> > 
> > 
> > just as an aside, only the incremental bit errors test in
> > nandbiterrs positively requires raw data write.
> > 
> > The overwrite test (re-write the same page data repeatedly without
> > erase), only uses raw access because I was lazy. A normal ECC write
> > would do just as well.
> Okay.
> Anyway, the test I'm really interested in is the incremental bit
> errors test :-).
> BTW, any reason you chose to implement this test/testsuite as a
> module ?
> From my understanding (and tell me if I'm wrong) we could do the same
> from user-space.
> Best Regards,
> Boris

Hi Boris,

can't say I have good excuses, but here goes. :-)

I was writing a NAND driver, so my brain was in kernel mode. It made it
slightly easier to trace the operations from end-to-end.

It's also possible that I didn't have an userspace at the time and had the
test compiled in, my memory is a little fuzzy...

Otherwise, yes, you could probably do it from userspace. I'm not sure
if there is a way to determine the number of corrected bit errors for
a specific page read. ECCGETSTATS seems to be global.

Best regards,


This communication contains information which may be confidential or privileged. The information is intended solely for the use of the individual or entity named above.  If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited.  If you have received this communication in error, please notify me by telephone immediately.

More information about the linux-arm-kernel mailing list