• Boris BREZILLON's avatar
    mtd: nand: pass page number to ecc->write_xxx() methods · 45aaeff9
    Boris BREZILLON authored
    The ->read_xxx() methods are all passed the page number the NAND controller
    is supposed to read, but ->write_xxx() do not have such a parameter.
    
    This is a problem if we want to properly implement data
    scrambling/randomization in order to mitigate MLC sensibility to repeated
    pattern: to prevent bitflips in adjacent pages in the same block we need
    to avoid repeating the same pattern at the same offset in those pages,
    hence the randomizer/scrambler engine need to be passed the page value
    in order to adapt its seed accordingly.
    
    Moreover, adding the page parameter to the ->write_xxx() methods add some
    consistency to the current API.
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
    CC: Josh Wu <josh.wu@atmel.com>
    CC: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
    CC: Maxime Ripard <maxime.ripard@free-electrons.com>
    CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    CC: Huang Shijie <shijie.huang@arm.com>
    CC: Stefan Agner <stefan@agner.ch>
    CC: devel@driverdev.osuosl.org
    CC: linux-arm-kernel@lists.infradead.org
    CC: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    45aaeff9
nand_base.c 117 KB