From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from am1ehsobe002.messaging.microsoft.com ([213.199.154.205] helo=am1outboundpool.messaging.microsoft.com) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vg6Rc-0002wq-Su for linux-mtd@lists.infradead.org; Tue, 12 Nov 2013 05:23:21 +0000 Message-ID: <5281BBEE.7000502@freescale.com> Date: Tue, 12 Nov 2013 13:26:06 +0800 From: Huang Shijie MIME-Version: 1.0 To: Huang Shijie Subject: Re: [PATCH v3] mtd: gpmi: add a new DT property to use the datasheet's minimum required ECC References: <1383818858-5410-1-git-send-email-b32955@freescale.com> In-Reply-To: <1383818858-5410-1-git-send-email-b32955@freescale.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Cc: devicetree@vger.kernel.org, dedekind1@gmail.com, t.figa@samsung.com, linux-mtd@lists.infradead.org, computersforpeace@gmail.com, dwmw2@infradead.org List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , =E4=BA=8E 2013=E5=B9=B411=E6=9C=8807=E6=97=A5 18:07, Huang Shijie =E5=86=99= =E9=81=93: > In default way, we use the ecc_strength/ecc_step size calculated by our= selves > and use all the OOB area. > > This patch adds a new property : "fsl,use-minimum-ecc" > > If we enable it, we will firstly try to use the datasheet's minimum req= uired > ECC provided by the MTD layer (the ecc_strength_ds/ecc_step_ds fields > in the nand_chip{}). So we may have free space in the OOB area by using= the > minimum ECC, and we may support JFFS2 with some SLC NANDs, such as Micr= on's > SLC NAND. > > If we fail to use the minimum ECC, we will use the legacy method to cal= culate > the ecc_strength and ecc_step size. > > Signed-off-by: Huang Shijie > --- > v1 --> v2: rebase this patch on the latest l2-mtd. > v2 --> v3: change the descriptions. > --- > .../devicetree/bindings/mtd/gpmi-nand.txt | 8 ++++++++ > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 3 +++ > 2 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt b/Docu= mentation/devicetree/bindings/mtd/gpmi-nand.txt > index 551b2a1..458d596 100644 > --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt > +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt > @@ -17,6 +17,14 @@ Required properties: > Optional properties: > - nand-on-flash-bbt: boolean to enable on flash bbt option if not > present false > + - fsl,use-minimum-ecc: Protect this NAND flash with the minimum ECC > + strength required. The required ECC strength is > + automatically discoverable for some flash > + (e.g., according to the ONFI standard). > + However, note that if this strength is not > + discoverable or this property is not enabled, > + the software may chooses an implementation-defi= ned > + ECC scheme. > > The device tree may optionally contain sub-nodes describing partition= s of the > address space. See partition.txt for more detail. > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/= gpmi-nand/gpmi-nand.c > index 8f4e5b1..b849b92 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > @@ -353,6 +353,9 @@ static int legacy_set_geometry(struct gpmi_nand_dat= a *this) > > int common_nfc_set_geometry(struct gpmi_nand_data *this) > { > + if (of_property_read_bool(this->dev->of_node, "fsl,use-minimum-ecc") > + && set_geometry_by_ecc_info(this)) > + return 0; > return legacy_set_geometry(this); > } > Hi Brian: Is this patch ok now? I hope it can be accepted at this merge-window. thanks Huang Shijie From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Shijie Subject: Re: [PATCH v3] mtd: gpmi: add a new DT property to use the datasheet's minimum required ECC Date: Tue, 12 Nov 2013 13:26:06 +0800 Message-ID: <5281BBEE.7000502@freescale.com> References: <1383818858-5410-1-git-send-email-b32955@freescale.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1383818858-5410-1-git-send-email-b32955@freescale.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org To: Huang Shijie Cc: devicetree@vger.kernel.org, dedekind1@gmail.com, t.figa@samsung.com, linux-mtd@lists.infradead.org, computersforpeace@gmail.com, dwmw2@infradead.org List-Id: devicetree@vger.kernel.org 5LqOIDIwMTPlubQxMeaciDA35pelIDE4OjA3LCBIdWFuZyBTaGlqaWUg5YaZ6YGTOgo+IEluIGRl ZmF1bHQgd2F5LCB3ZSB1c2UgdGhlIGVjY19zdHJlbmd0aC9lY2Nfc3RlcCBzaXplIGNhbGN1bGF0 ZWQgYnkgb3Vyc2VsdmVzCj4gYW5kIHVzZSBhbGwgdGhlIE9PQiBhcmVhLgo+Cj4gVGhpcyBwYXRj aCBhZGRzIGEgbmV3IHByb3BlcnR5IDogImZzbCx1c2UtbWluaW11bS1lY2MiCj4KPiBJZiB3ZSBl bmFibGUgaXQsIHdlIHdpbGwgZmlyc3RseSB0cnkgdG8gdXNlIHRoZSBkYXRhc2hlZXQncyBtaW5p bXVtIHJlcXVpcmVkCj4gRUNDIHByb3ZpZGVkIGJ5IHRoZSBNVEQgbGF5ZXIgKHRoZSBlY2Nfc3Ry ZW5ndGhfZHMvZWNjX3N0ZXBfZHMgZmllbGRzCj4gaW4gdGhlIG5hbmRfY2hpcHt9KS4gU28gd2Ug bWF5IGhhdmUgZnJlZSBzcGFjZSBpbiB0aGUgT09CIGFyZWEgYnkgdXNpbmcgdGhlCj4gbWluaW11 bSBFQ0MsIGFuZCB3ZSBtYXkgc3VwcG9ydCBKRkZTMiB3aXRoIHNvbWUgU0xDIE5BTkRzLCBzdWNo IGFzIE1pY3JvbidzCj4gU0xDIE5BTkQuCj4KPiBJZiB3ZSBmYWlsIHRvIHVzZSB0aGUgbWluaW11 bSBFQ0MsIHdlIHdpbGwgdXNlIHRoZSBsZWdhY3kgbWV0aG9kIHRvIGNhbGN1bGF0ZQo+IHRoZSBl Y2Nfc3RyZW5ndGggYW5kIGVjY19zdGVwIHNpemUuCj4KPiBTaWduZWQtb2ZmLWJ5OiBIdWFuZyBT aGlqaWU8YjMyOTU1QGZyZWVzY2FsZS5jb20+Cj4gLS0tCj4gdjEgLS0+ICB2MjogcmViYXNlIHRo aXMgcGF0Y2ggb24gdGhlIGxhdGVzdCBsMi1tdGQuCj4gdjIgLS0+ICB2MzogY2hhbmdlIHRoZSBk ZXNjcmlwdGlvbnMuCj4gLS0tCj4gICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvZ3BtaS1u YW5kLnR4dCAgICAgICAgICB8ICAgIDggKysrKysrKysKPiAgIGRyaXZlcnMvbXRkL25hbmQvZ3Bt aS1uYW5kL2dwbWktbmFuZC5jICAgICAgICAgICAgIHwgICAgMyArKysKPiAgIDIgZmlsZXMgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL2dwbWktbmFuZC50eHQgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL2dwbWktbmFuZC50eHQKPiBpbmRleCA1 NTFiMmExLi40NThkNTk2IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9tdGQvZ3BtaS1uYW5kLnR4dAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9tdGQvZ3BtaS1uYW5kLnR4dAo+IEBAIC0xNyw2ICsxNywxNCBAQCBSZXF1aXJl ZCBwcm9wZXJ0aWVzOgo+ICAgT3B0aW9uYWwgcHJvcGVydGllczoKPiAgICAgLSBuYW5kLW9uLWZs YXNoLWJidDogYm9vbGVhbiB0byBlbmFibGUgb24gZmxhc2ggYmJ0IG9wdGlvbiBpZiBub3QKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudCBmYWxzZQo+ICsgIC0gZnNsLHVzZS1taW5p bXVtLWVjYzogUHJvdGVjdCB0aGlzIE5BTkQgZmxhc2ggd2l0aCB0aGUgbWluaW11bSBFQ0MKPiAr ICAgICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aCByZXF1aXJlZC4gVGhlIHJlcXVpcmVkIEVD QyBzdHJlbmd0aCBpcwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgZGlz Y292ZXJhYmxlIGZvciBzb21lIGZsYXNoCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKGUuZy4s IGFjY29yZGluZyB0byB0aGUgT05GSSBzdGFuZGFyZCkuCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgSG93ZXZlciwgbm90ZSB0aGF0IGlmIHRoaXMgc3RyZW5ndGggaXMgbm90Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgZGlzY292ZXJhYmxlIG9yIHRoaXMgcHJvcGVydHkgaXMgbm90IGVuYWJs ZWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNvZnR3YXJlIG1heSBjaG9vc2VzIGFu IGltcGxlbWVudGF0aW9uLWRlZmluZWQKPiArICAgICAgICAgICAgICAgICAgICAgICBFQ0Mgc2No ZW1lLgo+Cj4gICBUaGUgZGV2aWNlIHRyZWUgbWF5IG9wdGlvbmFsbHkgY29udGFpbiBzdWItbm9k ZXMgZGVzY3JpYmluZyBwYXJ0aXRpb25zIG9mIHRoZQo+ICAgYWRkcmVzcyBzcGFjZS4gU2VlIHBh cnRpdGlvbi50eHQgZm9yIG1vcmUgZGV0YWlsLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9u YW5kL2dwbWktbmFuZC9ncG1pLW5hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvZ3BtaS1uYW5kL2dw bWktbmFuZC5jCj4gaW5kZXggOGY0ZTViMS4uYjg0OWI5MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L210ZC9uYW5kL2dwbWktbmFuZC9ncG1pLW5hbmQuYwo+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQv Z3BtaS1uYW5kL2dwbWktbmFuZC5jCj4gQEAgLTM1Myw2ICszNTMsOSBAQCBzdGF0aWMgaW50IGxl Z2FjeV9zZXRfZ2VvbWV0cnkoc3RydWN0IGdwbWlfbmFuZF9kYXRhICp0aGlzKQo+Cj4gICBpbnQg Y29tbW9uX25mY19zZXRfZ2VvbWV0cnkoc3RydWN0IGdwbWlfbmFuZF9kYXRhICp0aGlzKQo+ICAg ewo+ICsJaWYgKG9mX3Byb3BlcnR5X3JlYWRfYm9vbCh0aGlzLT5kZXYtPm9mX25vZGUsICJmc2ws dXNlLW1pbmltdW0tZWNjIikKPiArCQkmJiAgc2V0X2dlb21ldHJ5X2J5X2VjY19pbmZvKHRoaXMp KQo+ICsJCXJldHVybiAwOwo+ICAgCXJldHVybiBsZWdhY3lfc2V0X2dlb21ldHJ5KHRoaXMpOwo+ ICAgfQo+CkhpIEJyaWFuOgpJcyB0aGlzIHBhdGNoIG9rIG5vdz8gSSBob3BlIGl0IGNhbiBiZSBh Y2NlcHRlZCBhdCB0aGlzIG1lcmdlLXdpbmRvdy4KCgp0aGFua3MKSHVhbmcgU2hpamllCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4 IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K