From: Brian Norris <computersforpeace@gmail.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: David Woodhouse <dwmw2@infradead.org>,
linux-mtd@lists.infradead.org, Josh Wu <josh.wu@atmel.com>,
Ezequiel Garcia <ezequiel.garcia@free-electrons.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Huang Shijie <shijie.huang@arm.com>,
Stefan Agner <stefan@agner.ch>,
devel@driverdev.osuosl.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4] mtd: nand: pass page number to ecc->write_xxx() methods
Date: Tue, 13 Oct 2015 11:06:13 -0700 [thread overview]
Message-ID: <20151013180613.GA107187@google.com> (raw)
In-Reply-To: <1444728138-3744-1-git-send-email-boris.brezillon@free-electrons.com>
On Tue, Oct 13, 2015 at 11:22:18AM +0200, Boris Brezillon wrote:
> 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: Boris 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
> ---
> Changes since v3:
> - rebased on l2-mtd/master
>
> Changes since v2:
> - fixed compilation error in the gpmi driver
> - compile tested all impacted drivers except the bf5xx_nand,
> fsl_elbc_nand and fsl_ifc_nand ones
>
> Changes since v1:
> - rebased on l2-mtd/master
> - fixed compilation error in the docg4 driver
Applied to l2-mtd.git
WARNING: multiple messages have this Message-ID (diff)
From: computersforpeace@gmail.com (Brian Norris)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4] mtd: nand: pass page number to ecc->write_xxx() methods
Date: Tue, 13 Oct 2015 11:06:13 -0700 [thread overview]
Message-ID: <20151013180613.GA107187@google.com> (raw)
In-Reply-To: <1444728138-3744-1-git-send-email-boris.brezillon@free-electrons.com>
On Tue, Oct 13, 2015 at 11:22:18AM +0200, Boris Brezillon wrote:
> 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: Boris 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 at driverdev.osuosl.org
> CC: linux-arm-kernel at lists.infradead.org
> CC: linux-kernel at vger.kernel.org
> ---
> Changes since v3:
> - rebased on l2-mtd/master
>
> Changes since v2:
> - fixed compilation error in the gpmi driver
> - compile tested all impacted drivers except the bf5xx_nand,
> fsl_elbc_nand and fsl_ifc_nand ones
>
> Changes since v1:
> - rebased on l2-mtd/master
> - fixed compilation error in the docg4 driver
Applied to l2-mtd.git
next prev parent reply other threads:[~2015-10-13 18:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-02 5:53 [PATCH v3] mtd: nand: pass page number to ecc->write_xxx() methods Boris Brezillon
2015-10-02 5:53 ` Boris Brezillon
2015-10-12 23:35 ` Brian Norris
2015-10-12 23:35 ` Brian Norris
2015-10-13 7:28 ` Boris Brezillon
2015-10-13 7:28 ` Boris Brezillon
2015-10-13 9:22 ` [PATCH v4] " Boris Brezillon
2015-10-13 9:22 ` Boris Brezillon
2015-10-13 18:06 ` Brian Norris [this message]
2015-10-13 18:06 ` Brian Norris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151013180613.GA107187@google.com \
--to=computersforpeace@gmail.com \
--cc=boris.brezillon@free-electrons.com \
--cc=devel@driverdev.osuosl.org \
--cc=dwmw2@infradead.org \
--cc=ezequiel.garcia@free-electrons.com \
--cc=gregkh@linuxfoundation.org \
--cc=josh.wu@atmel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=maxime.ripard@free-electrons.com \
--cc=shijie.huang@arm.com \
--cc=stefan@agner.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.