[PATCH v6 0/3] mtd: nand: gpmi: add proper raw access support

Boris Brezillon boris.brezillon at free-electrons.com
Mon Dec 1 00:58:58 PST 2014


Hi Brian,

On Mon, 1 Dec 2014 00:47:09 -0800
Brian Norris <computersforpeace at gmail.com> wrote:

> On Sun, Nov 30, 2014 at 07:10:27PM +0100, Boris Brezillon wrote:
> > Hello,
> > 
> > This series provides an implementation for raw accesses taking care of
> > hidding the specific layout used by the GPMI controller.
> > 
> > Best Regards,
> > 
> > Boris
> > 
> > Changes since v5:
> >  - rename gpmi_move_bits into gpmi_copy_bits
> > 
> > Changes since v4:
> >  - fixed a few corner cases in gpmi_move_bits (tested it with:
> >    https://github.com/bbrezillon/gpmi-move-bits-test/blob/master/gpmi-move-bits-test.c)
> >  - add documentation and comments for the new gpmi functions
> > 
> > Changes since v3:
> >  - add comments to the gpmi_move_bits function
> >  - extend raw read/write documentation
> >  - move last part of the raw_page_read function into a conditional block
> > 
> > Changes since v2:
> >  - fixed a bug in gpmi_move_bits
> >  - add a raw_buffer field to be used when using raw access methods
> >    (experienced memory corruptions when directly using page_buffer_virt
> >    buffer)
> >  - add raw OOB access functions
> 
> Applied the series. Thanks!
> 
> Out of curiosity, what tests does gpmi-nand.c now pass/fail?

The oobtest is still failing. I started to debug it, but didn't have
enough time to make it work.

The nandbiterrs test is working, though I didn't manage to make the
incremental test fail (writing the same pattern 10000 times without
erasing the block between each write does not generate any bit flips) on
my SLC NAND: MT29F2G08ABAEAH4.
Can someone with another SLC NAND chip try it ?

> 
> Also, is it time to yank / fixup some of these comments from
> gpmi-nand.c?

I was asking myself the same question...

> 
>  ...
>  * FIXME: The following paragraph is incorrect, now that there exist
>  * ecc.read_oob_raw and ecc.write_oob_raw functions.
>  *
>  * Since MTD assumes the OOB is not covered by ECC, there is no pair of
>  * ECC-based/raw functions for reading or or writing the OOB. The fact that the
>  * caller wants an ECC-based or raw view of the page is not propagated down to
>  * this driver.
>  */

I guess we can remove them.
Huang can you confirm that the raw access functions introduced in this
series are covering what's described here ?

Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the linux-mtd mailing list