Thread (9 messages) 9 messages, 3 authors, 2014-12-02

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

From: Boris Brezillon <hidden>
Date: 2014-12-01 08:59:05
Also in: lkml

Hi Brian,

On Mon, 1 Dec 2014 00:47:09 -0800
Brian Norris [off-list ref] wrote:
On Sun, Nov 30, 2014 at 07:10:27PM +0100, Boris Brezillon wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help