From: Huang Shijie <shijie8@gmail.com>
To: Huang Shijie <b32955@freescale.com>
Cc: dedekind1@gmail.com, vikram186@gmail.com,
linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org,
computersforpeace@gmail.com, dwmw2@infradead.org
Subject: Re: [PATCH v6 00/10] mtd: add datasheet's ECC information to nand_chip{}
Date: Fri, 05 Jul 2013 00:00:04 -0400 [thread overview]
Message-ID: <51D644C4.7090202@gmail.com> (raw)
In-Reply-To: <1368760654-28754-1-git-send-email-b32955@freescale.com>
于 2013年05月16日 23:17, Huang Shijie 写道:
> 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:
> The keynote patch.
>
> 2.2) patch 2 ~ patch 6:
> These patches are for ONFI nand.
> Parse out the ecc info from the parameter page if we can, else
> parse out the ecc info from the extended parameter page.
>
> 2.2) patch 7 ~ patch 9:
> Add the ECC info for full-id nand, and parse it out.
>
> 2.3) patch 10
> The gpmi uses the ecc info to set the BCH module. and with this
> patch set, the gpmi can supports the MT29F64G08CBABA now.
>
> v5 --> v6:
> [0] rename the ecc_strength/ecc_step to ecc_strength_ds/ecc_step_ds.
> [1] fix a case when "the codeword is 0".
> [2] fix typo.
> [3] add the 'O' to the diagram in the gpmi patch.
>
> v4 --> v5:
> [0] rebase the new l2-mtd(dropped the 3 merged patches).
> [1] rename ecc_size to ecc_step.
> [2] change the comment for the new fields.
>
> v3 --> v4:
> [0] remove the printk for "out of memory".
> [1] remove the hardcode nand_command_lp(). Update the chip->cmd_func
> before we call the nand_flash_detect_ext_param_page().
> [2] split the ecc_info to two fields for full id nand.
> [3] update the comments for ecc_strength/ecc_size (from Brian).
>
> v2 --> v3:
> [0] add a new patch to define the semantics of the two fields.
> [1] Use the Change Read Column command to remove the "last" argument.
> [2] simplify the onfi_feature().
> [3] Use kmalloc() to replace kcalloc().
> [4] others.
>
> 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 onfi_ 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 (10):
> mtd: add datasheet's ECC information to nand_chip{}
> mtd: get the ECC info from the parameter page for ONFI nand
> 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_feature()
> mtd: add ECC info for 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 | 132 +++++++++++++++++++++++++++++++-
> drivers/mtd/nand/nand_base.c | 93 ++++++++++++++++++++++-
> drivers/mtd/nand/nand_ids.c | 8 +-
> include/linux/mtd/nand.h | 72 +++++++++++++++++-
> 4 files changed, 296 insertions(+), 9 deletions(-)
>
Hi Artem:
Could you merge this patch set?
thanks
Huang Shijie
WARNING: multiple messages have this Message-ID (diff)
From: Huang Shijie <shijie8@gmail.com>
To: Huang Shijie <b32955@freescale.com>
Cc: dwmw2@infradead.org, dedekind1@gmail.com,
computersforpeace@gmail.com, linux-mtd@lists.infradead.org,
linux-kernel@vger.kernel.org, vikram186@gmail.com
Subject: Re: [PATCH v6 00/10] mtd: add datasheet's ECC information to nand_chip{}
Date: Fri, 05 Jul 2013 00:00:04 -0400 [thread overview]
Message-ID: <51D644C4.7090202@gmail.com> (raw)
In-Reply-To: <1368760654-28754-1-git-send-email-b32955@freescale.com>
于 2013年05月16日 23:17, Huang Shijie 写道:
> 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:
> The keynote patch.
>
> 2.2) patch 2 ~ patch 6:
> These patches are for ONFI nand.
> Parse out the ecc info from the parameter page if we can, else
> parse out the ecc info from the extended parameter page.
>
> 2.2) patch 7 ~ patch 9:
> Add the ECC info for full-id nand, and parse it out.
>
> 2.3) patch 10
> The gpmi uses the ecc info to set the BCH module. and with this
> patch set, the gpmi can supports the MT29F64G08CBABA now.
>
> v5 --> v6:
> [0] rename the ecc_strength/ecc_step to ecc_strength_ds/ecc_step_ds.
> [1] fix a case when "the codeword is 0".
> [2] fix typo.
> [3] add the 'O' to the diagram in the gpmi patch.
>
> v4 --> v5:
> [0] rebase the new l2-mtd(dropped the 3 merged patches).
> [1] rename ecc_size to ecc_step.
> [2] change the comment for the new fields.
>
> v3 --> v4:
> [0] remove the printk for "out of memory".
> [1] remove the hardcode nand_command_lp(). Update the chip->cmd_func
> before we call the nand_flash_detect_ext_param_page().
> [2] split the ecc_info to two fields for full id nand.
> [3] update the comments for ecc_strength/ecc_size (from Brian).
>
> v2 --> v3:
> [0] add a new patch to define the semantics of the two fields.
> [1] Use the Change Read Column command to remove the "last" argument.
> [2] simplify the onfi_feature().
> [3] Use kmalloc() to replace kcalloc().
> [4] others.
>
> 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 onfi_ 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 (10):
> mtd: add datasheet's ECC information to nand_chip{}
> mtd: get the ECC info from the parameter page for ONFI nand
> 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_feature()
> mtd: add ECC info for 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 | 132 +++++++++++++++++++++++++++++++-
> drivers/mtd/nand/nand_base.c | 93 ++++++++++++++++++++++-
> drivers/mtd/nand/nand_ids.c | 8 +-
> include/linux/mtd/nand.h | 72 +++++++++++++++++-
> 4 files changed, 296 insertions(+), 9 deletions(-)
>
Hi Artem:
Could you merge this patch set?
thanks
Huang Shijie
next prev parent reply other threads:[~2013-07-04 16:02 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-17 3:17 [PATCH v6 00/10] mtd: add datasheet's ECC information to nand_chip{} Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 01/10] " Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 02/10] mtd: get the ECC info from the parameter page for ONFI nand Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 03/10] mtd: add data structures for Extended Parameter Page Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 04/10] mtd: add a helper to get the supported features for ONFI nand Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 05/10] mtd: get the ECC info from the Extended Parameter Page Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 17:36 ` Vikram Narayanan
2013-05-17 17:36 ` Vikram Narayanan
2013-05-20 2:08 ` [PATCH v6 05/10 fix] " Huang Shijie
2013-05-20 2:08 ` Huang Shijie
2013-05-20 6:05 ` Brian Norris
2013-05-20 6:05 ` Brian Norris
[not found] ` <5199C159.6020401@freescale.com>
[not found] ` <CAHwEkO2Wn_jLCS-4-1p6Mks-0q3Dy_kzR-j-xtX_oOAOive2VQ@mail.gmail.com>
2013-05-22 2:15 ` Huang Shijie
2013-05-22 2:15 ` Huang Shijie
2013-05-22 2:28 ` [PATCH v6 05/10 fix2] " Huang Shijie
2013-05-22 2:28 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 06/10] mtd: replace the hardcode with the onfi_feature() Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 07/10] mtd: add ECC info for nand_flash_dev{} Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 08/10] mtd: parse out the ECC info for the full-id nand chips Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 09/10] mtd: add the ecc info for some " Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-05-17 3:17 ` [PATCH v6 10/10] mtd: gpmi: set the BCH's geometry with the ecc info Huang Shijie
2013-05-17 3:17 ` Huang Shijie
2013-06-25 20:12 ` [PATCH v6 00/10] mtd: add datasheet's ECC information to nand_chip{} Brian Norris
2013-06-25 20:12 ` Brian Norris
2013-08-08 8:33 ` Huang Shijie
2013-08-08 8:33 ` Huang Shijie
2013-08-08 23:06 ` Brian Norris
2013-08-08 23:06 ` Brian Norris
2013-08-09 3:58 ` Artem Bityutskiy
2013-08-09 3:58 ` Artem Bityutskiy
2013-08-09 6:00 ` Brian Norris
2013-08-09 6:00 ` Brian Norris
2013-08-09 7:23 ` Artem Bityutskiy
2013-08-09 7:23 ` Artem Bityutskiy
2013-08-09 7:28 ` Brian Norris
2013-08-09 7:28 ` Brian Norris
2013-07-05 4:00 ` Huang Shijie [this message]
2013-07-05 4:00 ` 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=51D644C4.7090202@gmail.com \
--to=shijie8@gmail.com \
--cc=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 \
--cc=vikram186@gmail.com \
/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.