Re: Question about Davinci NAND using 4 bit ECC

Miquel Raynal
2023-07-20T06:08:48Z

Hi Christopher,

christophercordahi@nanometrics.ca wrote on Wed, 19 Jul 2023 12:34:36
-0400:

> On Tue, 18 Jul 2023 at 04:02, Miquel Raynal <miquel.raynal@bootlin.com> wrote:
>
> Thanks Miquel for the quick response
>
> And apologies for sending you the question 3 times. My first attempt included
> an HTML copy which was rejected by the mailing list, and it took me an extra
> attempt to force my email client to use plain text. And the third email is
> still awaiting approval by the mailing list moderator, I suspect due to how I
> forwarded and reformatted the original email back to the mailing list.

No problem :)

> > It is hard to tell whether these changes are legitimate or not without
> > properly testing. If you benchmark your changes and never see any
> > error, it does not mean you fall into the pits during your tests.
>
> OK, I was hoping to avoid my own testing because as you write, no errors
> doesn't mean it's better. And I was overly optimistic in hoping for an
> explanation as to why this driver mostly written by TI 15 years ago doesn't
> match their documented procedure.

Probably :-)

> > Observing bitflips in userspace and detecting them can be achieved
> > easily with the nandbiterrs -i tool from the mtd-utils test suite.
>
> Thanks for this tip, I'll look into extending the Yocto mtd-utils recipe [1]
> to install it. I see the kernel also has a nandbiterrs mtd test driver[2].
> Can it be used? Is there any documentation on how to use this kernel test?

The kernel tests are deprecated. You can play with them, just insmod
them in your kernel. They have been reimplemented in userspace to check
the whole mtd stack, and that's the mtd-utils test suite. Prefer using
these.

Yes, adding the debug tools in Yocto might be a good idea. I already
did it for the package in Buildroot.

> [1] https://git.yoctoproject.org/poky/plain/meta/recipes-devtools/mtd/mtd-utils_git.bb
> [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/mtd/tests/nandbiterrs.c

Thanks,
Miquèl