linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

      parent reply	other threads:[~2013-07-04 16:02 UTC|newest]

Thread overview: 24+ 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 ` [PATCH v6 01/10] " 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 ` [PATCH v6 03/10] mtd: add data structures for Extended Parameter Page 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 ` [PATCH v6 05/10] mtd: get the ECC info from the Extended Parameter Page Huang Shijie
2013-05-17 17:36   ` Vikram Narayanan
2013-05-20  2:08     ` [PATCH v6 05/10 fix] " Huang Shijie
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:28         ` [PATCH v6 05/10 fix2] " 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 ` [PATCH v6 07/10] mtd: add ECC info for nand_flash_dev{} 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 ` [PATCH v6 09/10] mtd: add the ecc info for some " 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-06-25 20:12 ` [PATCH v6 00/10] mtd: add datasheet's ECC information to nand_chip{} Brian Norris
2013-08-08  8:33   ` Huang Shijie
2013-08-08 23:06     ` Brian Norris
2013-08-09  3:58       ` Artem Bityutskiy
2013-08-09  6:00         ` Brian Norris
2013-08-09  7:23           ` Artem Bityutskiy
2013-08-09  7:28             ` Brian Norris
2013-07-05  4:00 ` Huang Shijie [this message]

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).