From: Huang Shijie <b32955@freescale.com>
To: <dwmw2@infradead.org>
Cc: <dedekind1@gmail.com>, <computersforpeace@gmail.com>,
<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
Huang Shijie <b32955@freescale.com>
Subject: [PATCH v2 0/8] mtd: add datasheet's ECC information to nand_chip{}
Date: Mon, 22 Apr 2013 15:47:50 +0800 [thread overview]
Message-ID: <1366616878-29481-1-git-send-email-b32955@freescale.com> (raw)
1.) Why add the ECC information to the nand_chip{} ?
Each nand chip has its requirement for the ECC correctability, such as
"4bit ECC for each 512Byte" or "40bit ECC for each 1024Byte".
This ECC info is very important to the nand controller, such as gpmi.
Take the Micron MT29F64G08CBABA for example, its geometry is
8k page size, 744 bytes oob size and it requires 40bit ECC per 1K bytes.
If we do not provide the ECC info to the gpmi nand driver, it has to
calculate the ECC correctability itself. The gpmi driver will gets the 56bit
ECC for per 1K bytes which is beyond its BCH's 40bit ecc capibility.
The gpmi will quits in this case. But in actually, the gpmi can supports
this nand chip if it can get the right ECC info.
2.) About the patch set:
2.1) patch 1 ~ patch 4:
Parse out the ecc info from the extended parameter page for
ONFI nand.
2.2) patch 5 ~ patch 7:
Add the ECC info for full-id nand.
2.3) patch 8
The gpmi uses the ecc info to set the BCH module. and with this
patch set, the gpmi can supports the MT29F64G08CBABA now.
v1 --> v2:
[0] Since the first 3 patches are accepted, I do not send them in the
version 2.
[1] add NAND_ prefix for macros used by the full-id nands.
[2] add nand_ prefix for the extend parameter page data structures.
[3] rename the onfi_get_feature() to onfi_feature().
[4] I re-test this patch set again.
Huang Shijie (8):
mtd: add data structures for Extended Parameter Page
mtd: add a helper to get the supported features for ONFI nand
mtd: get the ECC info from the Extended Parameter Page
mtd: replace the hardcode with the onfi_get_feature()
mtd: add a new field for ecc info in the nand_flash_dev{}
mtd: parse out the ECC info for the full-id nand chips
mtd: add the ecc info for some full-id nand chips
mtd: gpmi: set the BCH's geometry with the ecc info
drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 128 +++++++++++++++++++++++++++++++-
drivers/mtd/nand/nand_base.c | 62 +++++++++++++++-
drivers/mtd/nand/nand_ids.c | 8 +-
include/linux/mtd/nand.h | 62 +++++++++++++++-
4 files changed, 251 insertions(+), 9 deletions(-)
next reply other threads:[~2013-04-22 7:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-22 7:47 Huang Shijie [this message]
2013-04-22 7:47 ` [PATCH v2 1/8] mtd: add data structures for Extended Parameter Page Huang Shijie
2013-04-22 7:47 ` [PATCH v2 2/8] mtd: add a helper to get the supported features for ONFI nand Huang Shijie
2013-04-22 21:04 ` Brian Norris
2013-04-23 2:49 ` Huang Shijie
2013-04-22 7:47 ` [PATCH v2 3/8] mtd: get the ECC info from the Extended Parameter Page Huang Shijie
2013-04-22 21:22 ` Brian Norris
2013-04-23 2:43 ` Huang Shijie
2013-04-23 7:06 ` Brian Norris
2013-04-23 6:15 ` Huang Shijie
2013-04-22 7:47 ` [PATCH v2 4/8] mtd: replace the hardcode with the onfi_get_feature() Huang Shijie
2013-04-22 7:47 ` [PATCH v2 5/8] mtd: add a new field for ecc info in the nand_flash_dev{} Huang Shijie
2013-04-22 7:47 ` [PATCH v2 6/8] mtd: parse out the ECC info for the full-id nand chips Huang Shijie
2013-04-22 7:47 ` [PATCH v2 7/8] mtd: add the ecc info for some " Huang Shijie
2013-04-22 7:47 ` [PATCH v2 8/8] mtd: gpmi: set the BCH's geometry with the ecc info Huang Shijie
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=1366616878-29481-1-git-send-email-b32955@freescale.com \
--to=b32955@freescale.com \
--cc=computersforpeace@gmail.com \
--cc=dedekind1@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®