From: Troy Kisky <troy.kisky@boundarydevices.com>
To: akpm@linux-foundation.org
Cc: dbrownell@users.sourceforge.net, s-paulraj@ti.com,
linux-mtd@lists.infradead.org, nsnehaprabha@ti.com,
tglx@linutronix.de, dwmw2@infradead.org
Subject: Re: [patch 3/3] mtd-nand: DaVinci: Add 4-bit ECC support for large page NAND chips
Date: Fri, 07 Aug 2009 12:54:04 -0700 [thread overview]
Message-ID: <4A7C865C.9050905@boundarydevices.com> (raw)
In-Reply-To: <200908071824.n77IONlo008375@imap1.linux-foundation.org>
akpm@linux-foundation.org wrote:
> From: Sneha Narnakaje <nsnehaprabha@ti.com>
>
> This patch adds 4-bit ECC support for large page NAND chips using the new
> ECC mode NAND_ECC_HW_OOB_FIRST. The platform data from board-dm355-evm
> has been adjusted to use this mode.
>
> The patches have been verified on DM355 device with 2K Micron devices
> using mtd-tests and JFFS2. Error correction upto 4-bits has also been
> verified using nandwrite/nanddump utilities.
>
> Reviewed-by: David Brownell <dbrownell@users.sourceforge.net>
> Signed-off-by: Sneha Narnakaje <nsnehaprabha@ti.com>
> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> drivers/mtd/nand/davinci_nand.c | 45 ++++++++++++++++++++++++++----
> 1 file changed, 39 insertions(+), 6 deletions(-)
>
> diff -puN drivers/mtd/nand/davinci_nand.c~mtd-nand-davinci-add-4-bit-ecc-support-for-large-page-nand-chips drivers/mtd/nand/davinci_nand.c
> --- a/drivers/mtd/nand/davinci_nand.c~mtd-nand-davinci-add-4-bit-ecc-support-for-large-page-nand-chips
> +++ a/drivers/mtd/nand/davinci_nand.c
> @@ -348,6 +348,12 @@ compare:
> if (!(syndrome[0] | syndrome[1] | syndrome[2] | syndrome[3]))
> return 0;
>
> + /*
> + * Clear any previous address calculation by doing a dummy read of an
> + * error address register.
> + */
> + davinci_nand_readl(info, NAND_ERR_ADD1_OFFSET);
> +
> /* Start address calculation, and wait for it to complete.
> * We _could_ start reading more data while this is working,
> * to speed up the overall page read.
> @@ -359,8 +365,10 @@ compare:
>
> switch ((fsr >> 8) & 0x0f) {
> case 0: /* no error, should not happen */
> + davinci_nand_readl(info, NAND_ERR_ERRVAL1_OFFSET);
> return 0;
> case 1: /* five or more errors detected */
> + davinci_nand_readl(info, NAND_ERR_ERRVAL1_OFFSET);
> return -EIO;
> case 2: /* error addresses computed */
> case 3:
> @@ -500,6 +508,26 @@ static struct nand_ecclayout hwecc4_smal
> },
> };
>
> +/* An ECC layout for using 4-bit ECC with large-page (2048bytes) flash,
> + * storing ten ECC bytes plus the manufacturer's bad block marker byte,
> + * and not overlapping the default BBT markers.
> + */
> +static struct nand_ecclayout hwecc4_2048 __initconst = {
> + .eccbytes = 40,
> + .eccpos = {
> + /* at the end of spare sector */
> + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
> + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
> + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
> + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
> + },
> + .oobfree = {
> + /* 1 byte at offset 0 holds manufacturer badblock marker */
> + {.offset = 1, .length = 23, },
I thought Sneha Narnakaje was going to change offset = 2, length = 22 ?
next prev parent reply other threads:[~2009-08-07 19:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-07 18:24 [patch 3/3] mtd-nand: DaVinci: Add 4-bit ECC support for large page NAND chips akpm
2009-08-07 19:54 ` Troy Kisky [this message]
2009-08-07 19:57 ` Narnakaje, Snehaprabha
2009-08-28 2:08 ` David Brownell
2009-08-28 10:21 ` Paulraj, Sandeep
2009-09-03 21:48 ` David Brownell
2009-09-03 21:53 ` Paulraj, Sandeep
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=4A7C865C.9050905@boundarydevices.com \
--to=troy.kisky@boundarydevices.com \
--cc=akpm@linux-foundation.org \
--cc=dbrownell@users.sourceforge.net \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=nsnehaprabha@ti.com \
--cc=s-paulraj@ti.com \
--cc=tglx@linutronix.de \
/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.