From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83F1DC47088 for ; Wed, 26 May 2021 16:57:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 45350613C9 for ; Wed, 26 May 2021 16:57:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 45350613C9 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=X8Dvm0XlWFs+c12smqOtcXT+cBVbl6zE0NMtU4IcKL4=; b=rXEr5afs9SKCCV lfAFg1fp1JJRxRu20bDx30h/4+TjulnzFahztQrV+WsUHBLIyNdR3EmXpVHCxSPNNXzvj/GLetISJ c5P+mnGXsxYUo1uUe4SumDdOyo6TPIjlOSSRjCrkjBx0Q4wDbzLkpsAO5hXDL6hrOr72W2syy3Guw Ek3d46+nXpG/DQTkimt5jPVythGS82K5CWz0PQvJjmPzCgqzSSPGlpiykl1B0dIrJAEWY/z5dQeOa 6Vb5MEh5bUMPry0N2XUWkE6qfY1Kq5hZZJYpkfVp/N0pI/6J6e+dMnlDlWaM6n5SUQaGiwTEhiN+f xmlXfo3Yk9lT3i8GjLTg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1llwpv-00FuPr-DE; Wed, 26 May 2021 16:56:51 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1llvVJ-00FOGI-10 for linux-mtd@lists.infradead.org; Wed, 26 May 2021 15:31:31 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 537EF20016; Wed, 26 May 2021 15:31:24 +0000 (UTC) Date: Wed, 26 May 2021 17:31:23 +0200 From: Miquel Raynal To: Han Xu Cc: Sean Nyekjaer , richard@nod.at, vigneshr@ti.com, robh+dt@kernel.org, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org Subject: Re: [PATCH 1/2] mtd: nand: raw: gpmi: new bch geometry settings Message-ID: <20210526173123.1787713b@xps13> In-Reply-To: <20210526141700.5gygssig4rnzn6mj@umbrella> References: <20210522205136.19465-1-han.xu@nxp.com> <13c975bc-b37b-8708-9ac7-acdc62ef7108@geanix.com> <20210525191308.jlxqvy7khptbuj4z@umbrella> <20210526094136.279976a6@xps13> <20210526141700.5gygssig4rnzn6mj@umbrella> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210526_083129_382900_70A1E43A X-CRM114-Status: GOOD ( 63.04 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgSGFuLAoKSGFuIFh1IDxoYW4ueHVAbnhwLmNvbT4gd3JvdGUgb24gV2VkLCAyNiBNYXkgMjAy MSAwOToxNzowMCAtMDUwMDoKCj4gT24gMjEvMDUvMjYgMDk6NDFBTSwgTWlxdWVsIFJheW5hbCB3 cm90ZToKPiA+IEhpIEhhbiwKPiA+IAo+ID4gSGFuIFh1IDxoYW4ueHVAbnhwLmNvbT4gd3JvdGUg b24gVHVlLCAyNSBNYXkgMjAyMSAxNDoxMzowOCAtMDUwMDoKPiA+ICAgCj4gPiA+IE9uIDIxLzA1 LzIzIDA3OjQ0UE0sIFNlYW4gTnlla2phZXIgd3JvdGU6ICAKPiA+ID4gPiBPbiAyMi8wNS8yMDIx IDIyLjUxLCBIYW4gWHUgd3JvdGU6ICAgIAo+ID4gPiA+ID4gVGhlIGNvZGUgY2hhbmdlIHVwZGF0 ZXMgdGhlIGdwbWkgZHJpdmVyIGJjaCBnZW9tZXRyeSBzZXR0aW5ncywgdGhlIE5BTkQKPiA+ID4g PiA+IGNoaXBzIHJlcXVpcmVkIG1pbmltdW0gZWNjIHN0cmVuZ3RoIGFuZCBzdGVwIHNpemUgd2ls bCBiZSB0aGUgZGVmYXVsdAo+ID4gPiA+ID4gdmFsdWUuIEl0IGFsc28gcHJvcG9zZXMgYSBuZXcg d2F5IHRvIHNldCBiY2ggZ2VvbWV0cnkgZm9yIGxhcmdlIG9vYiBOQU5ECj4gPiA+ID4gPiBhbmQg cHJvdmlkZXMgYW4gb3B0aW9uIHRvIGtlZXAgdGhlIGxlZ2FjeSBiY2ggZ2VvbWV0cnkgc2V0dGlu ZyBmb3IKPiA+ID4gPiA+IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuICAgIAo+ID4gPiA+IAo+ID4g PiA+IFRoaXMgd2lsbCBicmVhayBhbGwgZXhpc3RpbmcgZGV2aWNldHJlZSdzLiAodGhpcyBoYXBw ZW5lZCB0byB1cyB3aXRoIHRoZSBzYW1lIHN0eWxlIGFscmVhZHkgbWVyZ2VkIHUtYm9vdCBwYXRj aCkKPiA+ID4gPiAgICAgCj4gPiA+ID4gPiAKPiA+ID4gPiA+IC0gRm9yIHRoZSBsZWdhY3kgYmNo IGdlb21ldHJ5IHNldHRpbmdzCj4gPiA+ID4gPiBUaGUgZHJpdmVyIHVzZXMgbGVnYWN5IGJjaCBn ZW9tZXRyeSBzZXR0aW5ncyBpZiBleHBsaWNpdGx5IGVuYWJsZWQgaXQgaW4KPiA+ID4gPiA+IERU IHdpdGggZnNsLCBsZWdhY3ktYmNoLWdlb21ldHJ5IGZsYWcsIG9yIHRoZSBOQU5EIGNoaXBzIGFy ZSB0b28gb2xkCj4gPiA+ID4gPiB0aGF0IGRvIE5PVCBwcm92aWRlIGFueSByZXF1aXJlZCBlY2Mg aW5mby4gICAgCj4gPiA+ID4gCj4gPiA+ID4gTkFORCdzIGFyZSBwcm92aWRpbmcgdGhlIG1pbmlt dW0gcmVxdWlyZWQgZWNjLCB0aGUgbm93IGxlZ2FjeSBtZXRob2QKPiA+ID4gPiBhY3R1YWxseSBn aXZlcyBtb3JlIGVjYyBiaXRzIGFuZCBxdWl0ZSBjaGVhcCB3aGVuIHVzaW5nIGh3IGVjYy4KPiA+ ID4gPiAgICAgCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoZSBsZWdhY3lfc2V0X2dlb21ldHJ5KCkg c2V0cyB0aGUgZGF0YSBjaHVuayBzaXplKHN0ZXBfc2l6ZSkgbGFyZ2VyCj4gPiA+ID4gPiB0aGFu IG9vYiBzaXplIHRvIG1ha2Ugc3VyZSBCQk0gbG9jYXRlcyBpbiBkYXRhIGNodW5rLCB0aGVuIHNl dCB0aGUKPiA+ID4gPiA+IG1heGltdW0gZWNjIHN0ZW5ndGggb29iIGNhbiBob2xkLiBJdCBhbHdh eXMgdXNlIHVuYmFsYW5jZWQgRUNDIGxheW91dCwKPiA+ID4gPiA+IHdoaWNoIGVjYzAgd2lsbCBj b3ZlciBib3RoIG1ldGEgYW5kIGRhdGEwIGNodW5rLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBUaGlz IGFsZ29yaXRobSBjYW4gTk9UIHByb3ZpZGUgc3Ryb25nIGVub3VnaCBlY2MgZm9yIHNvbWUgTkFO RCBjaGlwcywKPiA+ID4gPiA+IHN1Y2ggYXMgc29tZSA4Sys3NDQgTUxDIE5BTkQuIFdlIHN0aWxs IGxlYXZlIGl0IGhlcmUganVzdCBmb3IgYmFja3dhcmQKPiA+ID4gPiA+IGNvbXBhdGliaWxpdHkg YW5kIGFscyBmb3Igc29tZSBxdWl0ZSBvbGQgdmVyc2lvbiBOQU5EIGNoaXBzIHN1cHBvcnQuIEl0 Cj4gPiA+ID4gPiBzaG91bGQgYmUgZW4vZGlzYWJsZWQgaW4gYm90aCB1LWJvb3QgYW5kIGtlcm5l bCBhdCB0aGUgc2FtZSB0aW1lLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiAtIEZvciB0aGUgbGFyZ2Ug b29iIGJjaCBnZW9tZXRyeSBzZXR0aW5ncwo+ID4gPiA+ID4gVGhpcyB0eXBlIG9mIHNldHRpbmcg d2lsbCBiZSB1c2VkIGZvciBOQU5EIGNoaXBzLCB3aGljaCBvb2Igc2l6ZSBpcwo+ID4gPiA+ID4g bGFyZ2VyIHRoYW4gMTAyNEIgT1IgTkFORCByZXF1aXJlZCBzdGVwIHNpemUgaXMgc21hbGwgdGhh biBvb2Igc2l6ZSwKPiA+ID4gPiA+IHRoZSBnZW5lcmFsIGlkZWEgaXMsCj4gPiA+ID4gPiAKPiA+ ID4gPiA+ICAgICAxLlRyeSBhbGwgRUNDIHN0cmVuZ3RoIGZyb20gdGhlIG1pbmltdW0gdmFsdWUg cmVxdWlyZWQgYnkgTkFORCBjaGlwCj4gPiA+ID4gPiAgICAgICB0byB0aGUgbWF4aW11bSBvbmUg dGhhdCB3b3JrcywgYW55IEVDQyBtYWtlcyB0aGUgQkJNIGxvY2F0ZSBpbgo+ID4gPiA+ID4gICAg ICAgZGF0YSBjaHVuayBjYW4gYmUgZWxpZ2libGUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+ICAgICAy LklmIG5vbmUgb2YgdGhlbSB3b3JrcywgdXNpbmcgc2VwYXJhdGUgRUNDIGZvciBtZXRhLCB3aGlj aCB3aWxsIGFkZAo+ID4gPiA+ID4gICAgICAgb25lIGV4dHJhIGVjYyB3aXRoIHRoZSBzYW1lIEVD QyBzdHJlbmd0aCBhcyBvdGhlciBkYXRhIGNodW5rcy4KPiA+ID4gPiA+ICAgICAgIFRoaXMgZXh0 cmEgRUNDIGNhbiBndWFyYW50ZWUgQkJNIGxvY2F0ZWQgaW4gZGF0YSBjaHVuaywgYWxzbyB3ZQo+ ID4gPiA+ID4gICAgICAgbmVlZCB0byBjaGVjayBpZiBvb2IgY2FuIGFmZm9yZCBpdC4KPiA+ID4g PiA+IAo+ID4gPiA+ID4gLSBGb3IgYWxsIG90aGVyIGNvbW1vbiBjYXNlcwo+ID4gPiA+ID4gc2V0 IHRoZSBiY2ggZ2VvbWV0cnkgYnkgY2hpcCByZXF1aXJlZCBzdHJlbmd0aCBhbmQgc3RlcCBzaXpl LCB3aGljaCB1c2VzCj4gPiA+ID4gPiB0aGUgbWluaW11bSBlY2Mgc3RyZW5ndGggY2hpcCByZXF1 aXJlZC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogSGFuIFh1IDxoYW4ueHVA bnhwLmNvbT4gICAgCj4gPiA+ID4gCj4gPiA+ID4gT25lIGZ1cnRoZXIgcG9pbnQsIHUtYm9vdCBv bGRlciB0aGFuIHYyMDIwLjA0IHdpbGwgbm90IGJlIGFsaWduZWQgd2l0aCB0aGUgd2F5IGVjYyBi aXRzIGlzCj4gPiA+ID4gY2FsY3VsYXRlZCB3aXRoIHRoaXMgcGF0Y2ggYXBwbGllZCh3aXRob3V0 IHRoZSBsZWdhY3kgb3B0aW9uIHNldCkuCj4gPiA+ID4gCj4gPiA+ID4gSXQncyBxdWl0ZSBhIG1l c3MgOi8KPiA+ID4gPiBJIHdvdWxkIHJlY29tbWVuZCB0byB1c2UgdGhlIGxlZ2FjeSBtb2RlIGFz IGRlZmF1bHQsIGFuZCBhZGQgdGhlIG5ldyBzdHlsZSBhcyAibW9kZXJuIiBvcHRpb24uCj4gPiA+ ID4gKEFsc28gaW4gdS1ib290KQo+ID4gPiA+IAo+ID4gPiA+IC9TZWFuICAgIAo+ID4gPiAKPiA+ ID4gCj4gPiA+IEhpIFNlYW4sCj4gPiA+IAo+ID4gPiBJIGtub3cgdGhpcyBjaGFuZ2UgYnJpbmdz IG1lc3MgYnV0IHRoZSBsZWdhY3kgd2F5IGlzIHdyb25nLiBUaGUgd2F5IGl0IGRldGVybWluZQo+ ID4gPiB0aGUgZGF0YSBjaHVuayBzaXplIGlzIGFyYml0cmFyeSwgIAo+ID4gCj4gPiBZZXMsIHRo YXQncyBhbHdheXMgdGhlIGNhc2U6IGFsbCBkZWZhdWx0IGNob2ljZXMgYXJlIGFyYml0cmFyeSBp biB0aGUKPiA+IExpbnV4IGtlcm5lbCwgdGhlcmUgaXMgYWN0dWFsbHkgYSBsb3Qgb2YgbG9naWMg cHJvdmlkZWQgYnkgdGhlIGNvcmUgdG8KPiA+IGhhbmRsZSB0aGF0LCB1bmxlc3MgdGhlIHVzZXIg cmVxdWlyZXMgc29tZXRoaW5nIHNwZWNpZmljLgo+ID4gICAKPiA+ID4gdGFrZSBhbnkgOEsgKyA0 NDggKG5vdCA3NDQsIHR5cG8gaW4gcHJldmlvdXMKPiA+ID4gY29tbWVudHMpIE1pY3JvbiBOQU5E IGNoaXBzIGFzIGV4YW1wbGUsIHRoZSBsZWdhY3kgd2F5IGNhbiBvbmx5IHByb3ZpZGUgMTZiaXQK PiA+ID4gZWNjIHNpbmNlIGRhdGEgY2h1bmsgc2l6ZSBpcyBzZXQgdG8gNTEyQiwgYnV0IDI0Yi8x SyBpcyByZXF1aXJlZCBieSBOQU5EIGNoaXBzLiAgCj4gPiAKPiA+IFRoaXMgbWVhbnMgYSBzdHJl bmd0aCBvZiAzMiBiaXRzIHBlciBraWxvYnl0ZSBvZiBkYXRhIHZzIDI0IGJpdHMgcGVyCj4gPiBr aWxvYnl0ZS4KPiA+ICAgCj4gPiA+IEFjY29yZGluZyB0byB0aGUgQS9CIFgvWSBlY2MgcmVxdWly ZW1lbnQsIHRoaXMgaXMgbm90IGFjY2VwdGFibGUuICAKPiA+IAo+ID4gV2hhdCB5b3UgY2FsbCB0 aGUgbGVnYWN5IHdheSBpcyBldmVuIGJldHRlciwgdGhlIG9ubHkgc2l0dWF0aW9uIHdoZXJlCj4g PiBpdCBtYXkgYmUgYW4gaXNzdWUgaXMgaWYgdGhlIE5BTkQgY2hpcCBkb2VzIG5vdCBmZWF0dXJl IGVub3VnaCBPT0IKPiA+IGJ5dGVzIHRvIHN0b3JlIHRoZSBFQ0MgY29kZXMsIHdoaWNoIGRvZXMg bm90IHNlZW0gdG8gYmUgeW91ciBwcmltYXJ5Cj4gPiBjb25jZXJuIGhlcmUuICAKPiAKPiBIaSBN aXF1ZWwsCj4gCj4gVGhlIGxlZ2FjeSBlY2Mgc3RyZW5ndGggaXMgZmluZSBvciBldmVuIGJldHRl ciBieSBhdmVyYWdlLCBidXQgaXQgZG9lc24ndCBtZWV0Cj4gdGhlIHJlcXVpcmVtZW50ICMyCj4g Cj4gKDEpIEEgLyBCID49IFggLyBZCj4gKDIpIEEgPj0gWAo+IAo+IHRoYXQncyBteSBwcmltYXJ5 IGNvbmNlcm4uCgpJIHVuZGVyc3RhbmQgdGhhdCAoMikgbWlnaHQgYmUgaWRlYWwgdG8gbWVldCBi dXQgaXMgYnJlYWtpbmcgYWxsIHRoZQpib2FyZHMgdGhhdCB1c2UgdGhpcyBkcml2ZXIgcmVhbGx5 IHdvcnRoIHRoZSB0cm91YmxlPwoKU2hvcnQgYW5zd2VyOiBuby4gU28gd2UgbmVlZCB0byBhZGFw dCB0aGUgY2FsY3VsYXRpb24gZm9yIG5ldwpib2FyZHMvbmV3IGZsYXNoIGNoaXBzL2NlcnRhaW4g Z2VvbWV0cmllcyBhdCBtb3N0LgoKPiA+ID4gVGhlIG5ldyBpbXBsZW1lbnRhdGlvbiBtaWdodCBn ZXQgd2VhayBlY2MgdGhhbiBsZWdhY3kgd2F5IGluIHNvbWUgY2FzZXMgYnV0IGl0Cj4gPiA+IGlz IHNhZmV0eSBndWFyYW50ZWVkLiAgCj4gPiAKPiA+IFdoYXQgZG9lcyAic2FmZXR5IGd1YXJhbnRl ZWQiIG1lYW5zPyAgCj4gCj4gc2V0IG1pbmltdW0gZWNjIHJlcXVpcmVkIGJ5IG5hbmQgY2hpcCBh dCBsZWFzdCBtZWV0IGFsbCByZXF1aXJlbWVudHMKPiAKPiA+ICAgCj4gPiA+IFRoaXMgcmVtaW5k cyBtZSB0aGUgZ3BtaSByYXcgYWNjZXNzIG1vZGUgY2hhbmdlcyBpbiBrZXJuZWwgMy4xOSwgaXQg YWxzbyBjaGFuZ2VzCj4gPiA+IHRoZSBkcml2ZXIgYmVoYXZpb3JzIGFuZCBtYWtlcyB0b3RhbGx5 IGRpZmZlcmVudCBvdXRwdXQgY29tcGFyZWQgd2l0aCBvbGRlcgo+ID4gPiB2ZXJzaW9ucy4gSSBr bm93IGNoYW5nZXMgYnJpbmcgbWVzcyBidXQgd2UgaGF2ZSB0byBhY2NlcHQgaXQgYXQgc29tZSBw b2ludAo+ID4gPiByYXRoZXIgdGhhbiBrZWVwIGNvbXByb21pc2luZyB0byB0aGUgd3Jvbmcgd2F5 LiAgCj4gPiAKPiA+IEhvdyBpcyB0aGlzIGFuIGFyZ3VtZW50PyBJIGFtIHVzdWFsbHkgaW4gZmF2 b3Igb2YgbW92aW5nIGZvcndhcmQgd2hlbgo+ID4gdGhlcmUgaXMgYSByZWFsIGp1c3RpZmljYXRp b24sIGJ1dCB0aGlzIGRvZXMgbm90IHNlZW0gdGhlIGNhc2UsIHVubGVzcwo+ID4gSSBhbSB1bmRl cnN0YW5kaW5nIGl0IGFsbCB0aGUgd3Jvbmcgd2F5Lgo+ID4gICAKPiA+ID4gVGhlIGNoYW5nZSBo YXMgYmVlbiBpbiBOWFAga2VybmVsIGZvcmsgZm9yIGEgd2hpbGUsIHNvIHF1aXRlIGEgZmV3IGN1 c3RvbWVycyBhcmUKPiA+ID4gdXNpbmcgdGhpcyBiY2ggZ2VvbWV0cnkgc2V0dGluZ3MuIEkgaG9w ZSBpdCBjYW4gYmUgdXBzdHJlYW1lZCwgYW55IG90aGVyIHRoaW5ncwo+ID4gPiBJIGNhbiBkbyBt YXkgbWl0aWdhdGUgdGhlIGltYXBhY3Q/ICAKPiA+IAo+ID4gWW91IGFyZSB3ZWxsIGF3YXJlIG9m IHRoZSB1cHN0cmVhbWluZyBwcm9jZXNzLCB0cnlpbmcgdG8gbWVyZ2UKPiA+IHNvbWV0aGluZyBs b2NhbGx5LCBtYWtpbmcgaXQgdXNlZCBhbmQgdGhlbiBjb21wbGFpbmluZyBiZWNhdXNlIG5vdAo+ ID4gdXBzdHJlYW1pbmcgaXQgd291bGQgYnJlYWsgeW91ciBjdXN0b21lcnMgcmVhbGx5IGlzIHlv dXIgb3duCj4gPiByZXNwb25zaWJpbGl0eS4gIAo+IAo+IFNvcnJ5IEkgdW5kZXJzdGFuZCBJIHNo b3VsZCB0cnkgdXBzdHJlYW1pbmcgaXQgZWFybHksIHNvIEkgYW0gc3RpbGwgbG9va2luZyBmb3IK PiBhIGNoYW5jZSB0byBhdm9pZCBmdXJ0aGVyIGRpdmVyZ2VuY2UuCj4gCj4gPiAKPiA+IElNSE8g dGhlIHNvbHV0aW9ucyBhcmU6Cj4gPiAtIHRoZSBjdXJyZW50IChtYWlubGluZSkgZGVmYXVsdCB3 aWxsIHJlbWFpbiB0aGUgc3RhbmRhcmQgZm9yCj4gPiAgIGdlb21ldHJpZXMgd2hpY2ggYXJlIGFs cmVhZHkgd2lkZWx5IHN1cHBvcnRlZAo+ID4gLSBpZiB0aGVyZSBhcmUgbmV3IGdlb21ldHJpZXMg dGhhdCBtdXN0IGJlIHN1cHBvcnRlZCBhbmQgZG8gbm90IGZpdAo+ID4gICBiZWNhdXNlIG9mIHRo ZSAibGVnYWN5IiBsb2dpYywgdGhlbiB5b3UgbWF5IGRldGVjdCB0aGF0IGFuZCB0cnkKPiA+ICAg dG8gZmFsbGJhY2sgdG8gdGhlICJtb2Rlcm4iIHdheSBvZiBjYWxjdWxhdGluZyB0aGUgRUNDCj4g PiAgIHBhcmFtZXRlcnMgKG9yIGV2ZW4ganVtcCBkaXJlY3RseSB0byB0aGUgbW9kZXJuIHdheSBp ZiB0aGUgZ2VvbWV0cnkKPiA+ICAgcmVhbGx5IGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIG9m ZmljaWFsbHkpCj4gPiAtIGlmIHlvdXIgY3VzdG9tZXJzIHdhbnQgYSBzcGVjaWZpYyBjaHVuayBz aXplL3N0cmVuZ3RoIHdoZW4KPiA+ICAgcmViYXNpbmcgb24gdG9wIG9mIGEgbWFpbmxpbmUga2Vy bmVsIHRoZXJlIGFyZSBEVCBwcm9wZXJ0aWVzIHdoaWNoIGRvCj4gPiAgIHRoYXQgYW55d2F5Cj4g PiAtIGZvbGxvdyBTZWFuIGFkdmljZTogaW50cm9kdWNlIGEgcHJvcGVydHkgcmVxdWVzdGluZyB0 byB1c2UgdGhlCj4gPiAgICdtb2Rlcm4nIG9yICdsZWdhY3knIGxvZ2ljICh3aXRoIGEgYmV0dGVy IG5hbWUgdGhhbiBtb2Rlcm4pIGJ1dCBmaXJzdAo+ID4gICBjaGVjayB3aXRoIFJvYiB0aGF0IHRo aXMgaWYgdmFsaWQuCgpBbm90aGVyIGhpbnQ6IHBsZWFzZSBjaGVjayB0aGUgY29yZSBoZWxwZXJz IGFuZCB1c2UgdGhlbSBpbnN0ZWFkIG9mCnRyeWluZyB0byByZS1pbnZlbnQgdGhlIHdoZWVsOiBu b3JtYWxseSBqdXN0IGRlc2NyaWJpbmcgdGhlIGVuZ2luZQpjYXBhYmlsaXRpZXMgYW5kIGNhbGxp bmcgYSBzaW5nbGUgaGVscGVyIHNob3VsZCBkbyB0aGUgdHJpY2suIEJ1dCB0aGlzCiduZXcnIGNh bGN1bGF0aW9uIHNob3VsZCBvbmx5IGFwcGx5IHRvIGVnLiBNTEMgZGV2aWNlcyBvciBkZXZpY2Vz IHdpdGgKc3BlY2lmaWMgZ2VvbWV0cmllcywgbm90IHRvIGFsbCBkZXZpY2VzLgoKVGhhbmtzLApN aXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06948C47082 for ; Wed, 26 May 2021 15:31:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E2ACD613D3 for ; Wed, 26 May 2021 15:31:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234615AbhEZPdC convert rfc822-to-8bit (ORCPT ); Wed, 26 May 2021 11:33:02 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:57321 "EHLO relay7-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233869AbhEZPc7 (ORCPT ); Wed, 26 May 2021 11:32:59 -0400 Received: (Authenticated sender: miquel.raynal@bootlin.com) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 537EF20016; Wed, 26 May 2021 15:31:24 +0000 (UTC) Date: Wed, 26 May 2021 17:31:23 +0200 From: Miquel Raynal To: Han Xu Cc: Sean Nyekjaer , richard@nod.at, vigneshr@ti.com, robh+dt@kernel.org, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org Subject: Re: [PATCH 1/2] mtd: nand: raw: gpmi: new bch geometry settings Message-ID: <20210526173123.1787713b@xps13> In-Reply-To: <20210526141700.5gygssig4rnzn6mj@umbrella> References: <20210522205136.19465-1-han.xu@nxp.com> <13c975bc-b37b-8708-9ac7-acdc62ef7108@geanix.com> <20210525191308.jlxqvy7khptbuj4z@umbrella> <20210526094136.279976a6@xps13> <20210526141700.5gygssig4rnzn6mj@umbrella> Organization: Bootlin X-Mailer: Claws Mail 3.17.7 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Han, Han Xu wrote on Wed, 26 May 2021 09:17:00 -0500: > On 21/05/26 09:41AM, Miquel Raynal wrote: > > Hi Han, > > > > Han Xu wrote on Tue, 25 May 2021 14:13:08 -0500: > > > > > On 21/05/23 07:44PM, Sean Nyekjaer wrote: > > > > On 22/05/2021 22.51, Han Xu wrote: > > > > > The code change updates the gpmi driver bch geometry settings, the NAND > > > > > chips required minimum ecc strength and step size will be the default > > > > > value. It also proposes a new way to set bch geometry for large oob NAND > > > > > and provides an option to keep the legacy bch geometry setting for > > > > > backward compatibility. > > > > > > > > This will break all existing devicetree's. (this happened to us with the same style already merged u-boot patch) > > > > > > > > > > > > > > - For the legacy bch geometry settings > > > > > The driver uses legacy bch geometry settings if explicitly enabled it in > > > > > DT with fsl, legacy-bch-geometry flag, or the NAND chips are too old > > > > > that do NOT provide any required ecc info. > > > > > > > > NAND's are providing the minimum required ecc, the now legacy method > > > > actually gives more ecc bits and quite cheap when using hw ecc. > > > > > > > > > > > > > > The legacy_set_geometry() sets the data chunk size(step_size) larger > > > > > than oob size to make sure BBM locates in data chunk, then set the > > > > > maximum ecc stength oob can hold. It always use unbalanced ECC layout, > > > > > which ecc0 will cover both meta and data0 chunk. > > > > > > > > > > This algorithm can NOT provide strong enough ecc for some NAND chips, > > > > > such as some 8K+744 MLC NAND. We still leave it here just for backward > > > > > compatibility and als for some quite old version NAND chips support. It > > > > > should be en/disabled in both u-boot and kernel at the same time. > > > > > > > > > > - For the large oob bch geometry settings > > > > > This type of setting will be used for NAND chips, which oob size is > > > > > larger than 1024B OR NAND required step size is small than oob size, > > > > > the general idea is, > > > > > > > > > > 1.Try all ECC strength from the minimum value required by NAND chip > > > > > to the maximum one that works, any ECC makes the BBM locate in > > > > > data chunk can be eligible. > > > > > > > > > > 2.If none of them works, using separate ECC for meta, which will add > > > > > one extra ecc with the same ECC strength as other data chunks. > > > > > This extra ECC can guarantee BBM located in data chunk, also we > > > > > need to check if oob can afford it. > > > > > > > > > > - For all other common cases > > > > > set the bch geometry by chip required strength and step size, which uses > > > > > the minimum ecc strength chip required. > > > > > > > > > > Signed-off-by: Han Xu > > > > > > > > One further point, u-boot older than v2020.04 will not be aligned with the way ecc bits is > > > > calculated with this patch applied(without the legacy option set). > > > > > > > > It's quite a mess :/ > > > > I would recommend to use the legacy mode as default, and add the new style as "modern" option. > > > > (Also in u-boot) > > > > > > > > /Sean > > > > > > > > > Hi Sean, > > > > > > I know this change brings mess but the legacy way is wrong. The way it determine > > > the data chunk size is arbitrary, > > > > Yes, that's always the case: all default choices are arbitrary in the > > Linux kernel, there is actually a lot of logic provided by the core to > > handle that, unless the user requires something specific. > > > > > take any 8K + 448 (not 744, typo in previous > > > comments) Micron NAND chips as example, the legacy way can only provide 16bit > > > ecc since data chunk size is set to 512B, but 24b/1K is required by NAND chips. > > > > This means a strength of 32 bits per kilobyte of data vs 24 bits per > > kilobyte. > > > > > According to the A/B X/Y ecc requirement, this is not acceptable. > > > > What you call the legacy way is even better, the only situation where > > it may be an issue is if the NAND chip does not feature enough OOB > > bytes to store the ECC codes, which does not seem to be your primary > > concern here. > > Hi Miquel, > > The legacy ecc strength is fine or even better by average, but it doesn't meet > the requirement #2 > > (1) A / B >= X / Y > (2) A >= X > > that's my primary concern. I understand that (2) might be ideal to meet but is breaking all the boards that use this driver really worth the trouble? Short answer: no. So we need to adapt the calculation for new boards/new flash chips/certain geometries at most. > > > The new implementation might get weak ecc than legacy way in some cases but it > > > is safety guaranteed. > > > > What does "safety guaranteed" means? > > set minimum ecc required by nand chip at least meet all requirements > > > > > > This reminds me the gpmi raw access mode changes in kernel 3.19, it also changes > > > the driver behaviors and makes totally different output compared with older > > > versions. I know changes bring mess but we have to accept it at some point > > > rather than keep compromising to the wrong way. > > > > How is this an argument? I am usually in favor of moving forward when > > there is a real justification, but this does not seem the case, unless > > I am understanding it all the wrong way. > > > > > The change has been in NXP kernel fork for a while, so quite a few customers are > > > using this bch geometry settings. I hope it can be upstreamed, any other things > > > I can do may mitigate the imapact? > > > > You are well aware of the upstreaming process, trying to merge > > something locally, making it used and then complaining because not > > upstreaming it would break your customers really is your own > > responsibility. > > Sorry I understand I should try upstreaming it early, so I am still looking for > a chance to avoid further divergence. > > > > > IMHO the solutions are: > > - the current (mainline) default will remain the standard for > > geometries which are already widely supported > > - if there are new geometries that must be supported and do not fit > > because of the "legacy" logic, then you may detect that and try > > to fallback to the "modern" way of calculating the ECC > > parameters (or even jump directly to the modern way if the geometry > > really is not currently supported officially) > > - if your customers want a specific chunk size/strength when > > rebasing on top of a mainline kernel there are DT properties which do > > that anyway > > - follow Sean advice: introduce a property requesting to use the > > 'modern' or 'legacy' logic (with a better name than modern) but first > > check with Rob that this if valid. Another hint: please check the core helpers and use them instead of trying to re-invent the wheel: normally just describing the engine capabilities and calling a single helper should do the trick. But this 'new' calculation should only apply to eg. MLC devices or devices with specific geometries, not to all devices. Thanks, Miquèl