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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 4F9E2C47DA9 for ; Tue, 30 Jan 2024 18:55:40 +0000 (UTC) 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=hyrlY6TteOhlGkUa3lgTGOTtImgwc/OR6KRxpr/0kT0=; b=YyR4MtcsqC+1j5 TjL0g26JV9+Gtmfe6zatvt7F2bCU2/XzlKjTMnYMGa6OV8rlTEjNZNZ7EK9xupeovC3nv8TRjdHAR zXFBUoIWvEI8DsbqBYcw0YyFoIl6lnUdvL8bE0WuebLowZuSc47P17Uv4HQ2FOVQOQmkatcE44Paw 5EMRXcjsTup9iBZDe+wTHBQ+tRHhb47iW/L0vz+2nuHhc5KpYBfUAJIQ3COGbF7q0OCURubWIDD06 yKw94R+kuOQI/mWRJ9RP6Z73Ll8D+zSrXEbiJ+aagKB/dnGWC/wQG46cwr/FFdlmrFb0NEpBtexyx 5mQYwCW93TcGXLfSfqEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUtGe-00000000EbM-0vCh; Tue, 30 Jan 2024 18:55:32 +0000 Received: from relay4-d.mail.gandi.net ([2001:4b98:dc4:8::224]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUtGO-00000000ESW-2C7d; Tue, 30 Jan 2024 18:55:18 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id BD35AE0004; Tue, 30 Jan 2024 18:55:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706640913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zo+y7U6fF32E540j/J6PY7BxhMmSuUIbZmzVgcghKB8=; b=N5gVK9I+lk/0dNGLameBqkHfYwcfbgI+ySBF8S/0qZfgZzoJK0hNnmTZuusOkHP+9CyWdB AMo/FxJ83hhpMGB+DvAEIVXTKv1agm0ch7gw0OlVL+wmiIINYzTxMdqGj2VLztgyfJdLwc CwlNFL9LRXk8+fallnNvS1z1LYwpiqbXKpkUpTBu8yZToa0A1mNb+fmJGypWuqNDZ80PJ1 VcgGMIHGV3ZDQQkVYeuSGFoO3QCQJ6d/vYKCfAprNGBPAxcYJe2TosY5t6c25QstSAsgaE AQgUBrda/UDRsuwbVZ51w8AgxzjUqyi9OexJ/O9RLTUE7X5MfEJOJXkyDLfbJQ== Date: Tue, 30 Jan 2024 19:55:04 +0100 From: Miquel Raynal To: David Regan Cc: William Zhang , dregan@mail.com, Richard Weinberger , Vignesh Raghavendra , robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, computersforpeace@gmail.com, kdasu.kdev@gmail.com, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List , Joel Peshkin , Tomer Yacoby , Dan Beygelman , Anand Gore , Kursad Oney , Florian Fainelli , rafal@milecki.pl, bcm-kernel-feedback-list@broadcom.com, andre.przywara@arm.com, baruch@tkos.co.il, linux-arm-kernel@lists.infradead.org, Dan Carpenter Subject: Re: [PATCH v3 10/10] mtd: rawnand: brcmnand: allow for on-die ecc Message-ID: <20240130195504.506fb446@xps-13> In-Reply-To: References: <20240124030458.98408-1-dregan@broadcom.com> <20240124030458.98408-11-dregan@broadcom.com> <20240124184027.712b1e47@xps-13> <20240126071913.699c3795@xps-13> <20240129115228.06dc2292@xps-13> <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> <20240130120155.3cb6feed@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-GND-Sasl: miquel.raynal@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240130_105517_022239_C5A42CB1 X-CRM114-Status: GOOD ( 56.73 ) 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 SGkgRGF2aWQsCgpkcmVnYW5AYnJvYWRjb20uY29tIHdyb3RlIG9uIFR1ZSwgMzAgSmFuIDIwMjQg MDc6MjY6MDIgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiBUdWUsIEphbiAzMCwgMjAyNCBh dCAzOjAx4oCvQU0gTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gSGkgV2lsbGlhbSwKPiA+Cj4gPiB3aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNv bSB3cm90ZSBvbiBUdWUsIDMwIEphbiAyMDI0IDAwOjExOjMyIC0wODAwOgo+ID4gIAo+ID4gPiBI aSBNaXF1ZWwsCj4gPiA+Cj4gPiA+IE9uIDEvMjkvMjQgMDI6NTIsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+ID4gPiBIaSBEYXZpZCwKPiA+ID4gPgo+ID4gPiA+IGRyZWdhbkBicm9hZGNvbS5j b20gd3JvdGUgb24gRnJpLCAyNiBKYW4gMjAyNCAxMTo1NzozOSAtMDgwMDoKPiA+ID4gPiAgCj4g PiA+ID4+IEhpIE1pcXXDqGwsCj4gPiA+ID4+Cj4gPiA+ID4+IE9uIFRodSwgSmFuIDI1LCAyMDI0 IGF0IDEwOjE54oCvUE0gTWlxdWVsIFJheW5hbAo+ID4gPiA+PiA8bWlxdWVsLnJheW5hbEBib290 bGluLmNvbT4gd3JvdGU6ICAKPiA+ID4gPj4+Cj4gPiA+ID4+PiBIaSBEYXZpZCwKPiA+ID4gPj4+ Cj4gPiA+ID4+PiBkcmVnYW5AYnJvYWRjb20uY29tIHdyb3RlIG9uIFRodSwgMjUgSmFuIDIwMjQg MTE6NDc6NDYgLTA4MDA6ICAKPiA+ID4gPj4+ICAgPj4+PiBIaSBNaXF1w6hsLCAgCj4gPiA+ID4+ Pj4KPiA+ID4gPj4+PiBPbiBXZWQsIEphbiAyNCwgMjAyNCBhdCA5OjQw4oCvQU0gTWlxdWVsIFJh eW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3JvdGU6ICAKPiA+ID4gPj4+Pj4KPiA+ ID4gPj4+Pj4gSGkgRGF2aWQsCj4gPiA+ID4+Pj4+Cj4gPiA+ID4+Pj4+IGRyZWdhbkBicm9hZGNv bS5jb20gd3JvdGUgb24gVHVlLCAyMyBKYW4gMjAyNCAxOTowNDo1OCAtMDgwMDogIAo+ID4gPiA+ Pj4+PiAgID4+Pj4+PiBBbGxvdyBzZXR0aW5ncyBmb3Igb24tZGllIGVjYyBzdWNoIHRoYXQgaWYg b24tZGllIEVDQyBpcyBzZWxlY3RlZCAgCj4gPiA+ID4+Pj4+PiBkb24ndCBlcnJvciBvdXQgYnV0 IHJlcXVpcmUgRUNDIHN0cmFwIHNldHRpbmcgb2YgemVybwo+ID4gPiA+Pj4+Pj4KPiA+ID4gPj4+ Pj4+IFNpZ25lZC1vZmYtYnk6IERhdmlkIFJlZ2FuIDxkcmVnYW5AYnJvYWRjb20uY29tPgo+ID4g PiA+Pj4+Pj4gUmV2aWV3ZWQtYnk6IFdpbGxpYW0gWmhhbmcgPHdpbGxpYW0uemhhbmdAYnJvYWRj b20uY29tPgo+ID4gPiA+Pj4+Pj4gLS0tCj4gPiA+ID4+Pj4+PiBDaGFuZ2VzIGluIHYzOiBOb25l Cj4gPiA+ID4+Pj4+PiAtLS0KPiA+ID4gPj4+Pj4+IENoYW5nZXMgaW4gdjI6Cj4gPiA+ID4+Pj4+ PiAtIEFkZGVkIHRvIHBhdGNoIHNlcmllcwo+ID4gPiA+Pj4+Pj4gLS0tCj4gPiA+ID4+Pj4+PiAg IGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAxNCArKysrKysrKysr LS0tLQo+ID4gPiA+Pj4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+ID4gPj4+Pj4+IGluZGV4IGE0ZTMxMWI2Nzk4Yy4uNDI1 MjZmMzI1MGM5IDEwMDY0NAo+ID4gPiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcv YnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4gPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9y YXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4gPiA+Pj4+Pj4gQEAgLTI3MjcsOSArMjcyNywxMSBA QCBzdGF0aWMgaW50IGJyY21uYW5kX3NldHVwX2RldihzdHJ1Y3QgYnJjbW5hbmRfaG9zdCAqaG9z dCkKPiA+ID4gPj4+Pj4+ICAgICAgICBjZmctPmJsa19hZHJfYnl0ZXMgPSBnZXRfYmxrX2Fkcl9i eXRlcyhtdGQtPnNpemUsIG10ZC0+d3JpdGVzaXplKTsKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+ PiAgICAgICAgaWYgKGNoaXAtPmVjYy5lbmdpbmVfdHlwZSAhPSBOQU5EX0VDQ19FTkdJTkVfVFlQ RV9PTl9IT1NUKSB7Cj4gPiA+ID4+Pj4+PiAtICAgICAgICAgICAgIGRldl9lcnIoY3RybC0+ZGV2 LCAib25seSBIVyBFQ0Mgc3VwcG9ydGVkOyBzZWxlY3RlZDogJWRcbiIsCj4gPiA+ID4+Pj4+PiAt ICAgICAgICAgICAgICAgICAgICAgY2hpcC0+ZWNjLmVuZ2luZV90eXBlKTsKPiA+ID4gPj4+Pj4+ IC0gICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAg IGlmIChjaGlwLT5lY2Muc3RyZW5ndGgpIHsKPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIkVSUk9SISEhIEhXIEVDQyBtdXN0IGJlIHNldCB0byB6 ZXJvIGZvciBub24taGFyZHdhcmUgRUNDOyBzZWxlY3RlZDogJWRcbiIsCj4gPiA+ID4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwLT5lY2Muc3RyZW5ndGgpOyAgCj4gPiA+ ID4+Pj4+Cj4gPiA+ID4+Pj4+IENhbiB5b3UgdXNlIGEgbW9yZSBmb3JtYWwgc3RyaW5nPyBBbHNv IGNsYXJpZnkgaXQgYmVjYXVzZSBJIGRvbid0Cj4gPiA+ID4+Pj4+IHJlYWxseSB1bmRlcnN0YW5k IHdoYXQgaXQgbGVhZHMgdG8uICAKPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+IEhvdyBhYm91dDoKPiA+ ID4gPj4+Pgo+ID4gPiA+Pj4+IGRldl9lcnIoY3RybC0+ZGV2LCAiSFcgRUNDIHNldCB0byAlZCwg bXVzdCBiZSB6ZXJvIGZvciBvbi1kaWUgRUNDXG4iLCAgCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gQWN0 dWFsbHkgSSBhbSB3b25kZXJpbmcgaG93IGxlZ2l0aW1hdGUgdGhpcyBpcy4gSnVzdCBkb24ndCBl bmFibGUgdGhlCj4gPiA+ID4+PiBvbiBob3N0IEVDQyBlbmdpbmUgaWYgaXQncyBub3QgaW4gdXNl LiBObyBuZWVkIHRvIGNoZWNrIHRoZSBjb3JlJ3MKPiA+ID4gPj4+IGNob2ljZS4gIAo+ID4gPiA+ Pgo+ID4gPiA+PiBPdXIgY2hpcCBFQ0MgZW5naW5lIHdpbGwgZWl0aGVyIGJlIG9uIGlmIGl0J3Mg bmVlZGVkIG9yIG9mZiBpZiBpdCdzIG5vdC4KPiA+ID4gPj4gRWl0aGVyIEkgY2FuIGRvIHRoYXQg aW4gb25lIHBsYWNlIG9yIHB1dCBjaGVja3MgaW4gYmVmb3JlIGVhY2gKPiA+ID4gPj4gcmVhZC93 cml0ZSB0byB0dXJuIG9uL29mZiB0aGUgRUNDIGVuZ2luZSwgd2hpY2ggc2VlbXMgYSBsb3QgbW9y ZQo+ID4gPiA+PiB3b3JrIGFuZCBjaGFuZ2VzIGFuZCBwb3NzaWJsZSBpc3N1ZXMvcHJvYmxlbXMu Cj4gPiA+ID4+IFR1cm5pbmcgaXQgb24vb2ZmIGFzIG5lZWRlZCBoYXMgbm90IGJlZW4gZXhwbGlj aXRseSB0ZXN0ZWQgYW5kCj4gPiA+ID4+IGNvdWxkIGNhdXNlIHVuZm9yZXNlZW4gY29uc2VxdWVu Y2VzLiBUaGlzCj4gPiA+ID4+IGlzIGEgbWluaW1hbCBjaGFuZ2Ugd2hpY2ggc2hvdWxkIGhhdmUg bWluaW1hbCBpbXBhY3QuCj4gPiA+ID4+ICAKPiA+ID4gPj4+ICAgPj4+PiAgID4+Pj4+ICAgPj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsgIAo+ID4gPiA+Pj4+Pj4g KyAgICAgICAgICAgICB9Cj4gPiA+ID4+Pj4+PiAgICAgICAgfQo+ID4gPiA+Pj4+Pj4KPiA+ID4g Pj4+Pj4+ICAgICAgICBpZiAoY2hpcC0+ZWNjLmFsZ28gPT0gTkFORF9FQ0NfQUxHT19VTktOT1dO KSB7Cj4gPiA+ID4+Pj4+PiBAQCAtMjc5Nyw3ICsyNzk5LDExIEBAIHN0YXRpYyBpbnQgYnJjbW5h bmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ID4gPiA+Pj4+Pj4gICAg ICAgIGlmIChyZXQpCj4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4g PiA+Pj4+Pj4KPiA+ID4gPj4+Pj4+IC0gICAgIGJyY21uYW5kX3NldF9lY2NfZW5hYmxlZChob3N0 LCAxKTsKPiA+ID4gPj4+Pj4+ICsgICAgIGlmIChjaGlwLT5lY2MuZW5naW5lX3R5cGUgPT0gTkFO RF9FQ0NfRU5HSU5FX1RZUEVfT05fRElFKSB7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIGRl dl9kYmcoY3RybC0+ZGV2LCAiRGlzYWJsZSBIVyBFQ0MgZm9yIG9uLWRpZSBFQ0NcbiIpOyAgCj4g PiA+ID4+Pj4+Cj4gPiA+ID4+Pj4+IE5vdCBuZWVkZWQuICAKPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+ IFdpbGwgcmVtb3ZlLiAgCj4gPiA+ID4+Pj4gICA+Pj4+PiAgID4+Pj4+PiArICAgICAgICAgICAg IGJyY21uYW5kX3NldF9lY2NfZW5hYmxlZChob3N0LCAwKTsgIAo+ID4gPiA+Pj4+Pj4gKyAgICAg fSBlbHNlCj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIGJyY21uYW5kX3NldF9lY2NfZW5hYmxl ZChob3N0LCAxKTsgIAo+ID4gPiA+Pj4+Pgo+ID4gPiA+Pj4+PiBTdHlsZSBpcyB3cm9uZywgYnV0 IG90aGVyd2lzZSBJIHRoaW5rIEVDQyBzaG91bGQgYmUga2VwdCBkaXNhYmxlZCB3aGlsZQo+ID4g PiA+Pj4+PiBub3QgaW4gYWN0aXZlIHVzZSwgc28gSSBhbSBhIGJpdCBzdXJwcmlzZWQgYnkgdGhp cyBsaW5lLiAgCj4gPiA+ID4+Pj4KPiA+ID4gPj4+PiBUaGlzIGlzIGEgZG91YmxlIGNoZWNrIHRv IHR1cm4gb24vb2ZmIG91ciBoYXJkd2FyZSBFQ0MuICAKPiA+ID4gPj4+Cj4gPiA+ID4+PiBJIGV4 cGVjdCB0aGUgZW5naW5lIHRvIGJlIGFsd2F5cyBkaXNhYmxlZC4gRW5hYmxlIGl0IG9ubHkgd2hl biB5b3UKPiA+ID4gPj4+IG5lZWQgKG1heSByZXF1aXJlIGFuIGFkZGl0aW9uYWwgcGF0Y2ggYmVm b3JlIHRoaXMgb25lKS4gIAo+ID4gPiA+Pgo+ID4gPiA+PiBXZSBhcmUgYWxyZWFkeSB0dXJuaW5n IG9uIHRoZSBFQ0MgZW5hYmxlIGF0IHRoaXMgcG9pbnQsCj4gPiA+ID4+IHRoaXMgaXMganVzdCBh ZGRpbmcgdGhlIG9wdGlvbiB0byB0dXJuIGl0IG9mZiBpZiB0aGUgTkFORCBjaGlwCj4gPiA+ID4+ IGl0c2VsZiB3aWxsIGJlIGRvaW5nIHRoZSBFQ0MgaW5zdGVhZCBvZiBvdXIgY29udHJvbGxlci4g IAo+ID4gPiA+Cj4gPiA+ID4gU29ycnkgaWYgSSBoYXZlIG5vdCBiZWVuIGNsZWFyLgo+ID4gPiA+ Cj4gPiA+ID4gVGhpcyBzZXF1ZW5jZToKPiA+ID4gPiAtIGluaXQKPiA+ID4gPiAtIGVuYWJsZSBo dyBFQ0MgZW5naW5lCj4gPiA+ID4gSXMgYnJva2VuLgo+ID4gPiA+ICAKPiA+ID4gRUNDIGVuZ2lu ZSBpcyBub3QgZW5hYmxlZCBmb3IgYWxsIHRoZSBjYXNlcy4gSGVyZSB3ZSBvbmx5IGludGVuZGVk IHRvIGVuYWJsZSBpdCBmb3IgdGhlIG5hbmQgY2hpcCB0aGF0IGlzIHNldCB0byB1c2UgTkFORF9F Q0NfRU5HSU5FX1RZUEVfT05fSE9TVC4gVGhlIGxvZ2ljIGhlcmUgc2hvdWxkIGJldHRlciBjaGFu Z2UgdG86Cj4gPiA+IGlmIChjaGlwLT5lY2MuZW5naW5lX3R5cGUgPT0gTkFORF9FQ0NfRU5HSU5F X1RZUEVfT05fSE9TVCkKPiA+ID4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwg MSk7Cj4gPiA+IGVsc2UKPiA+ID4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwg MCk7Cj4gPiA+ICAKPiA+ID4gPiBJdCAqY2Fubm90KiB3b3JrIGFzIGFueSBvcGVyYXRpb24gZ29p bmcgdGhyb3VnaCBleGVjX29wIG5vdyBtYXkKPiA+ID4gPiBwZXJmb3JtIHBhZ2UgcmVhZHMgd2hp Y2ggc2hvdWxkIGJlIHVubW9kaWZpZWQgYnkgdGhlIEVDQyBlbmdpbmUuIFlvdSA+IGRyaXZlciAq bXVzdCogZm9sbG93IHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6Cj4gPiA+ID4gLSBpbml0IGFuZCBk aXNhYmxlIChvciBrZWVwIGRpc2FibGVkKSB0aGUgaHcgRUNDIGVuZ2luZQo+ID4gPiA+IC0gd2hl biB5b3UgcGVyZm9ybSBhIHBhZ2Ugb3BlcmF0aW9uIHdpdGggY29ycmVjdGlvbiB5b3UgbmVlZCB0 bwo+ID4gPiA+ICAgICAtIGVuYWJsZSB0aGUgZW5naW5lCj4gPiA+ID4gICAgIC0gcGVyZm9ybSB0 aGUgb3BlcmF0aW9uCj4gPiA+ID4gICAgIC0gZGlzYWJsZSB0aGUgZW5naW5lCj4gPiA+ID4gTWF5 YmUgSSBhbSBtaXNzaW5nIHNvbWV0aGluZyBoZXJlIGJ1dCBhcmUgeW91IHNheWluZyB0aGUgZXhl Y19vcCBjYW4gaGF2ZSBkaWZmZXJlbnQgZWNjIHR5cGUgZm9yIHBhZ2UgcmVhZC93cml0ZSBhdCBy dW4gdGltZSBvbiB0aGUgc2FtZSBuYW5kIGNoaXA/IEkgZG9uJ3Qgc2VlIHRoZSBvcCBpbnN0ciBz dHJ1Y3R1cmUgaGFzIHRoZSBlY2MgdHlwZSBmaWVsZCBhbmQgdGhvdWdodCBpdCBpcyBvbmx5IGJp bmQgdG8gdGhlIG5hbmQgY2hpcCBhbmQgd29uJ3QgY2hhbmdlIGF0IHJ1biB0aW1lLiBTbyBsb29r cyB0byBtZSB0aGUgaW5pdCB0aW1lIHNldHRpbmcgdG8gdGhlIGVuZ2luZSBiYXNlZCBvbiBlY2Mu ZW5naW5lX3R5cGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuICAKPiA+ID4KPiA+ID4gV2hhdCB5b3Ug ZGVzY3JpYmVkIGhlcmUgY2FuIHdvcmsgZm9yIHRoZSBody5lY2MgcmVhZCBwYXRoIChlY2MucmVh ZF9wYWdlID0gYnJjbW5hbmRfcmVhZF9wYWdlKSB3aGljaCBhbHdheXMgYXNzdW1lcyBlY2MgaXMg ZW5hYmxlZC4gQWx0aG91Z2ggaXQgaXMgcHJvYmFibHkgbm90IHRvbyBiYWQgd2l0aCB0aGVzZSB0 d28gZXh0cmEgb3BlcmF0aW9uLCBpdCB3b3VsZCBiZSBiZXR0ZXIgaWYgd2UgZG9uJ3QgaGF2ZSB0 byBhZGQgYW55dGhpbmcgYXMgb3VyIGN1cnJlbnQgY29kZSBkb2VzLiBGb3IgdGhlIGJyY21uYW5k X3JlYWRfcGFnZV9yYXcsICB3ZSBjdXJyZW50bHkgZGlzYWJsZSB0aGUgZW5naW5lIGFuZCB0aGVu IHJlLWVuYWJsZSBpdChidXQgd2UgbmVlZCB0byBmaXggaXQgdG8gb25seSBlbmFibGUgaXQgd2l0 aCBodyBlY2MgZW5naW5lIHR5cGUpLiAgU28gaXQgaXMganVzdCBvcHBvc2l0ZSBvZiB5b3UgbG9n aWMgYnV0IHdvcmtzIHRoZSBzYW1lIHdpdGggbm8gaW1wYWN0IG9uIHRoZSBtb3N0IHBlcmZvcm1h bmNlIGNyaXRpY2FsIHBhdGguICAKPiA+Cj4gPiBUaGlzIGlzIG5vdCAibXkiIGxvZ2ljLCB0aGlz IGlzIHRoZSAiY29yZSdzIiBsb2dpYy4gSSBhbSBzYXlpbmc6IHlvdXIKPiA+IGFwcHJvYWNoIGlz IGJyb2tlbiBiZWNhdXNlIHRoYXQgaXMgbm90IGhvdyB0aGUgQVBJIGlzIHN1cHBvc2VkIHRvIHdv cmssCj4gPiBidXQgaXQgbW9zdGx5IHdvcmtzIGluIHRoZSBzdGFuZGFyZCBjYXNlLiAgCj4gCj4g SW4gdGhlIGludGVyZXN0IG9mIG1pbmltaXppbmcgcmVnaXN0ZXIgd3JpdGVzLCB3b3VsZCBpdCBi ZSBhY2NlcHRhYmxlIHRvCj4gZW5hYmxlL2Rpc2FibGUgRUNDIGF0IHRoZSBiZWdpbm5pbmcgb2Yg YSBzdGFuZGFyZAo+IHBhdGggdHJhbnNmZXIgYnV0IG5vdCwgYWZ0ZXIgdGhlIHRyYW5zZmVyLCB0 dXJuIG9mZiB0aGUgRUNDPyBUaGlzIHNob3VsZCBub3QKPiBhZmZlY3Qgb3RoZXIgc3RhbmRhcmQg cGF0aCBvcGVyYXRpb25zIG5vciBhZmZlY3QgdGhlIGV4ZWNfb3AgcGF0aCBhcyB0aG9zZQo+IGFy ZSBsb3cgbGV2ZWwgdHJhbnNmZXJzIHdoaWNoIG91ciBFQ0MgZW5naW5lIHdvdWxkIG5vdCB0b3Vj aCBhbmQgdGhlIE5BTkQKPiBkZXZpY2UgZHJpdmVyIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3Ig dHVybmluZyBvbi9vZmYgaXRzIG93biBFQ0MuCgpEbyB5b3UgaGF2ZSBsZWdpdGltYXRlIGNvbmNl cm5zIGFib3V0IHRoaXMgcmVnaXN0ZXIgd3JpdGUgdGFraW5nIHdheQptb3JlIHRpbWUgdGhhbiBJ IGNvdWxkIGV4cGVjdD8gQmVjYXVzZSBjb21wYXJlZCB0byB0aGUgdHJhbnNmZXIgb2YgYQpOQU5E IHBhZ2UgKyB0Ui90UFJPRyBpdCBzaG91bGQgbm90IGJlIG5vdGljZWFibGUuIEkgZG9uJ3Qgc2Vl IGhvdyB5b3UKY291bGQgZXZlbiBtZWFzdXJlIHN1Y2ggaW1wYWN0IGFjdHVhbGx5LCB1bmxlc3Mg dGhlIHJlZ2lzdGVyIHdyaXRlIGRvZXMKd2F5IG1vcmUgdGhhbiB1c3VhbC4gSSdtIGZpbmUgd2l0 aCB0aGUgYWJvdmUgaWRlYSBpZiB5b3Ugc2hvdyBtZSBpdCBoYXMKYW4gaW50ZXJlc3QuCgpUaGFu a3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 05E78C47DA9 for ; Tue, 30 Jan 2024 18:55:44 +0000 (UTC) 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=1YcLKVfuTGgkhiuoXw6GUB+xcAjjgrp9hN+f/K1Z7MQ=; b=1Q1hl4gHxxdRSY QGe++qIbArdZMrnnKUdzxmScOHOxl0ves+WKvpmqx6oZPjW1yk4NvYXwLbXEj8UzQ3bppLzxjhjia hOZ1Oqh6+qqPGRRde4uCoq9d9moMTS1cXHwpHfbF1mQg9qj20QG60eK3ZbPOBfEKrfR/5qXVPqdy1 ACebA6b9ez851DQOD5vhIYae0QDL5eZgWHL6pDjpc/W4NDIAGGO9BQihytDatTXxl155Ey1Zun0KC T4E0sqoVmiuZvnKo1y25lYHD78mY7InYw3BM7SE4Vp7uItNWpA/dxJR107FqvoTCKsMVlT1gfBkNY aYoFMGNjpFn6sCG4H98A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUtGc-00000000EaX-3XFP; Tue, 30 Jan 2024 18:55:30 +0000 Received: from relay4-d.mail.gandi.net ([2001:4b98:dc4:8::224]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUtGO-00000000ESW-2C7d; Tue, 30 Jan 2024 18:55:18 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id BD35AE0004; Tue, 30 Jan 2024 18:55:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706640913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zo+y7U6fF32E540j/J6PY7BxhMmSuUIbZmzVgcghKB8=; b=N5gVK9I+lk/0dNGLameBqkHfYwcfbgI+ySBF8S/0qZfgZzoJK0hNnmTZuusOkHP+9CyWdB AMo/FxJ83hhpMGB+DvAEIVXTKv1agm0ch7gw0OlVL+wmiIINYzTxMdqGj2VLztgyfJdLwc CwlNFL9LRXk8+fallnNvS1z1LYwpiqbXKpkUpTBu8yZToa0A1mNb+fmJGypWuqNDZ80PJ1 VcgGMIHGV3ZDQQkVYeuSGFoO3QCQJ6d/vYKCfAprNGBPAxcYJe2TosY5t6c25QstSAsgaE AQgUBrda/UDRsuwbVZ51w8AgxzjUqyi9OexJ/O9RLTUE7X5MfEJOJXkyDLfbJQ== Date: Tue, 30 Jan 2024 19:55:04 +0100 From: Miquel Raynal To: David Regan Cc: William Zhang , dregan@mail.com, Richard Weinberger , Vignesh Raghavendra , robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, computersforpeace@gmail.com, kdasu.kdev@gmail.com, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List , Joel Peshkin , Tomer Yacoby , Dan Beygelman , Anand Gore , Kursad Oney , Florian Fainelli , rafal@milecki.pl, bcm-kernel-feedback-list@broadcom.com, andre.przywara@arm.com, baruch@tkos.co.il, linux-arm-kernel@lists.infradead.org, Dan Carpenter Subject: Re: [PATCH v3 10/10] mtd: rawnand: brcmnand: allow for on-die ecc Message-ID: <20240130195504.506fb446@xps-13> In-Reply-To: References: <20240124030458.98408-1-dregan@broadcom.com> <20240124030458.98408-11-dregan@broadcom.com> <20240124184027.712b1e47@xps-13> <20240126071913.699c3795@xps-13> <20240129115228.06dc2292@xps-13> <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> <20240130120155.3cb6feed@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-GND-Sasl: miquel.raynal@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240130_105517_022239_C5A42CB1 X-CRM114-Status: GOOD ( 56.73 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgRGF2aWQsCgpkcmVnYW5AYnJvYWRjb20uY29tIHdyb3RlIG9uIFR1ZSwgMzAgSmFuIDIwMjQg MDc6MjY6MDIgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiBUdWUsIEphbiAzMCwgMjAyNCBh dCAzOjAx4oCvQU0gTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gSGkgV2lsbGlhbSwKPiA+Cj4gPiB3aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNv bSB3cm90ZSBvbiBUdWUsIDMwIEphbiAyMDI0IDAwOjExOjMyIC0wODAwOgo+ID4gIAo+ID4gPiBI aSBNaXF1ZWwsCj4gPiA+Cj4gPiA+IE9uIDEvMjkvMjQgMDI6NTIsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+ID4gPiBIaSBEYXZpZCwKPiA+ID4gPgo+ID4gPiA+IGRyZWdhbkBicm9hZGNvbS5j b20gd3JvdGUgb24gRnJpLCAyNiBKYW4gMjAyNCAxMTo1NzozOSAtMDgwMDoKPiA+ID4gPiAgCj4g PiA+ID4+IEhpIE1pcXXDqGwsCj4gPiA+ID4+Cj4gPiA+ID4+IE9uIFRodSwgSmFuIDI1LCAyMDI0 IGF0IDEwOjE54oCvUE0gTWlxdWVsIFJheW5hbAo+ID4gPiA+PiA8bWlxdWVsLnJheW5hbEBib290 bGluLmNvbT4gd3JvdGU6ICAKPiA+ID4gPj4+Cj4gPiA+ID4+PiBIaSBEYXZpZCwKPiA+ID4gPj4+ Cj4gPiA+ID4+PiBkcmVnYW5AYnJvYWRjb20uY29tIHdyb3RlIG9uIFRodSwgMjUgSmFuIDIwMjQg MTE6NDc6NDYgLTA4MDA6ICAKPiA+ID4gPj4+ICAgPj4+PiBIaSBNaXF1w6hsLCAgCj4gPiA+ID4+ Pj4KPiA+ID4gPj4+PiBPbiBXZWQsIEphbiAyNCwgMjAyNCBhdCA5OjQw4oCvQU0gTWlxdWVsIFJh eW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4gd3JvdGU6ICAKPiA+ID4gPj4+Pj4KPiA+ ID4gPj4+Pj4gSGkgRGF2aWQsCj4gPiA+ID4+Pj4+Cj4gPiA+ID4+Pj4+IGRyZWdhbkBicm9hZGNv bS5jb20gd3JvdGUgb24gVHVlLCAyMyBKYW4gMjAyNCAxOTowNDo1OCAtMDgwMDogIAo+ID4gPiA+ Pj4+PiAgID4+Pj4+PiBBbGxvdyBzZXR0aW5ncyBmb3Igb24tZGllIGVjYyBzdWNoIHRoYXQgaWYg b24tZGllIEVDQyBpcyBzZWxlY3RlZCAgCj4gPiA+ID4+Pj4+PiBkb24ndCBlcnJvciBvdXQgYnV0 IHJlcXVpcmUgRUNDIHN0cmFwIHNldHRpbmcgb2YgemVybwo+ID4gPiA+Pj4+Pj4KPiA+ID4gPj4+ Pj4+IFNpZ25lZC1vZmYtYnk6IERhdmlkIFJlZ2FuIDxkcmVnYW5AYnJvYWRjb20uY29tPgo+ID4g PiA+Pj4+Pj4gUmV2aWV3ZWQtYnk6IFdpbGxpYW0gWmhhbmcgPHdpbGxpYW0uemhhbmdAYnJvYWRj b20uY29tPgo+ID4gPiA+Pj4+Pj4gLS0tCj4gPiA+ID4+Pj4+PiBDaGFuZ2VzIGluIHYzOiBOb25l Cj4gPiA+ID4+Pj4+PiAtLS0KPiA+ID4gPj4+Pj4+IENoYW5nZXMgaW4gdjI6Cj4gPiA+ID4+Pj4+ PiAtIEFkZGVkIHRvIHBhdGNoIHNlcmllcwo+ID4gPiA+Pj4+Pj4gLS0tCj4gPiA+ID4+Pj4+PiAg IGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAxNCArKysrKysrKysr LS0tLQo+ID4gPiA+Pj4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+ID4gPj4+Pj4+IGluZGV4IGE0ZTMxMWI2Nzk4Yy4uNDI1 MjZmMzI1MGM5IDEwMDY0NAo+ID4gPiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcv YnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4gPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9y YXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4gPiA+Pj4+Pj4gQEAgLTI3MjcsOSArMjcyNywxMSBA QCBzdGF0aWMgaW50IGJyY21uYW5kX3NldHVwX2RldihzdHJ1Y3QgYnJjbW5hbmRfaG9zdCAqaG9z dCkKPiA+ID4gPj4+Pj4+ICAgICAgICBjZmctPmJsa19hZHJfYnl0ZXMgPSBnZXRfYmxrX2Fkcl9i eXRlcyhtdGQtPnNpemUsIG10ZC0+d3JpdGVzaXplKTsKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+ PiAgICAgICAgaWYgKGNoaXAtPmVjYy5lbmdpbmVfdHlwZSAhPSBOQU5EX0VDQ19FTkdJTkVfVFlQ RV9PTl9IT1NUKSB7Cj4gPiA+ID4+Pj4+PiAtICAgICAgICAgICAgIGRldl9lcnIoY3RybC0+ZGV2 LCAib25seSBIVyBFQ0Mgc3VwcG9ydGVkOyBzZWxlY3RlZDogJWRcbiIsCj4gPiA+ID4+Pj4+PiAt ICAgICAgICAgICAgICAgICAgICAgY2hpcC0+ZWNjLmVuZ2luZV90eXBlKTsKPiA+ID4gPj4+Pj4+ IC0gICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAg IGlmIChjaGlwLT5lY2Muc3RyZW5ndGgpIHsKPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIkVSUk9SISEhIEhXIEVDQyBtdXN0IGJlIHNldCB0byB6 ZXJvIGZvciBub24taGFyZHdhcmUgRUNDOyBzZWxlY3RlZDogJWRcbiIsCj4gPiA+ID4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwLT5lY2Muc3RyZW5ndGgpOyAgCj4gPiA+ ID4+Pj4+Cj4gPiA+ID4+Pj4+IENhbiB5b3UgdXNlIGEgbW9yZSBmb3JtYWwgc3RyaW5nPyBBbHNv IGNsYXJpZnkgaXQgYmVjYXVzZSBJIGRvbid0Cj4gPiA+ID4+Pj4+IHJlYWxseSB1bmRlcnN0YW5k IHdoYXQgaXQgbGVhZHMgdG8uICAKPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+IEhvdyBhYm91dDoKPiA+ ID4gPj4+Pgo+ID4gPiA+Pj4+IGRldl9lcnIoY3RybC0+ZGV2LCAiSFcgRUNDIHNldCB0byAlZCwg bXVzdCBiZSB6ZXJvIGZvciBvbi1kaWUgRUNDXG4iLCAgCj4gPiA+ID4+Pgo+ID4gPiA+Pj4gQWN0 dWFsbHkgSSBhbSB3b25kZXJpbmcgaG93IGxlZ2l0aW1hdGUgdGhpcyBpcy4gSnVzdCBkb24ndCBl bmFibGUgdGhlCj4gPiA+ID4+PiBvbiBob3N0IEVDQyBlbmdpbmUgaWYgaXQncyBub3QgaW4gdXNl LiBObyBuZWVkIHRvIGNoZWNrIHRoZSBjb3JlJ3MKPiA+ID4gPj4+IGNob2ljZS4gIAo+ID4gPiA+ Pgo+ID4gPiA+PiBPdXIgY2hpcCBFQ0MgZW5naW5lIHdpbGwgZWl0aGVyIGJlIG9uIGlmIGl0J3Mg bmVlZGVkIG9yIG9mZiBpZiBpdCdzIG5vdC4KPiA+ID4gPj4gRWl0aGVyIEkgY2FuIGRvIHRoYXQg aW4gb25lIHBsYWNlIG9yIHB1dCBjaGVja3MgaW4gYmVmb3JlIGVhY2gKPiA+ID4gPj4gcmVhZC93 cml0ZSB0byB0dXJuIG9uL29mZiB0aGUgRUNDIGVuZ2luZSwgd2hpY2ggc2VlbXMgYSBsb3QgbW9y ZQo+ID4gPiA+PiB3b3JrIGFuZCBjaGFuZ2VzIGFuZCBwb3NzaWJsZSBpc3N1ZXMvcHJvYmxlbXMu Cj4gPiA+ID4+IFR1cm5pbmcgaXQgb24vb2ZmIGFzIG5lZWRlZCBoYXMgbm90IGJlZW4gZXhwbGlj aXRseSB0ZXN0ZWQgYW5kCj4gPiA+ID4+IGNvdWxkIGNhdXNlIHVuZm9yZXNlZW4gY29uc2VxdWVu Y2VzLiBUaGlzCj4gPiA+ID4+IGlzIGEgbWluaW1hbCBjaGFuZ2Ugd2hpY2ggc2hvdWxkIGhhdmUg bWluaW1hbCBpbXBhY3QuCj4gPiA+ID4+ICAKPiA+ID4gPj4+ICAgPj4+PiAgID4+Pj4+ICAgPj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsgIAo+ID4gPiA+Pj4+Pj4g KyAgICAgICAgICAgICB9Cj4gPiA+ID4+Pj4+PiAgICAgICAgfQo+ID4gPiA+Pj4+Pj4KPiA+ID4g Pj4+Pj4+ICAgICAgICBpZiAoY2hpcC0+ZWNjLmFsZ28gPT0gTkFORF9FQ0NfQUxHT19VTktOT1dO KSB7Cj4gPiA+ID4+Pj4+PiBAQCAtMjc5Nyw3ICsyNzk5LDExIEBAIHN0YXRpYyBpbnQgYnJjbW5h bmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ID4gPiA+Pj4+Pj4gICAg ICAgIGlmIChyZXQpCj4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4g PiA+Pj4+Pj4KPiA+ID4gPj4+Pj4+IC0gICAgIGJyY21uYW5kX3NldF9lY2NfZW5hYmxlZChob3N0 LCAxKTsKPiA+ID4gPj4+Pj4+ICsgICAgIGlmIChjaGlwLT5lY2MuZW5naW5lX3R5cGUgPT0gTkFO RF9FQ0NfRU5HSU5FX1RZUEVfT05fRElFKSB7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIGRl dl9kYmcoY3RybC0+ZGV2LCAiRGlzYWJsZSBIVyBFQ0MgZm9yIG9uLWRpZSBFQ0NcbiIpOyAgCj4g PiA+ID4+Pj4+Cj4gPiA+ID4+Pj4+IE5vdCBuZWVkZWQuICAKPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+ IFdpbGwgcmVtb3ZlLiAgCj4gPiA+ID4+Pj4gICA+Pj4+PiAgID4+Pj4+PiArICAgICAgICAgICAg IGJyY21uYW5kX3NldF9lY2NfZW5hYmxlZChob3N0LCAwKTsgIAo+ID4gPiA+Pj4+Pj4gKyAgICAg fSBlbHNlCj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIGJyY21uYW5kX3NldF9lY2NfZW5hYmxl ZChob3N0LCAxKTsgIAo+ID4gPiA+Pj4+Pgo+ID4gPiA+Pj4+PiBTdHlsZSBpcyB3cm9uZywgYnV0 IG90aGVyd2lzZSBJIHRoaW5rIEVDQyBzaG91bGQgYmUga2VwdCBkaXNhYmxlZCB3aGlsZQo+ID4g PiA+Pj4+PiBub3QgaW4gYWN0aXZlIHVzZSwgc28gSSBhbSBhIGJpdCBzdXJwcmlzZWQgYnkgdGhp cyBsaW5lLiAgCj4gPiA+ID4+Pj4KPiA+ID4gPj4+PiBUaGlzIGlzIGEgZG91YmxlIGNoZWNrIHRv IHR1cm4gb24vb2ZmIG91ciBoYXJkd2FyZSBFQ0MuICAKPiA+ID4gPj4+Cj4gPiA+ID4+PiBJIGV4 cGVjdCB0aGUgZW5naW5lIHRvIGJlIGFsd2F5cyBkaXNhYmxlZC4gRW5hYmxlIGl0IG9ubHkgd2hl biB5b3UKPiA+ID4gPj4+IG5lZWQgKG1heSByZXF1aXJlIGFuIGFkZGl0aW9uYWwgcGF0Y2ggYmVm b3JlIHRoaXMgb25lKS4gIAo+ID4gPiA+Pgo+ID4gPiA+PiBXZSBhcmUgYWxyZWFkeSB0dXJuaW5n IG9uIHRoZSBFQ0MgZW5hYmxlIGF0IHRoaXMgcG9pbnQsCj4gPiA+ID4+IHRoaXMgaXMganVzdCBh ZGRpbmcgdGhlIG9wdGlvbiB0byB0dXJuIGl0IG9mZiBpZiB0aGUgTkFORCBjaGlwCj4gPiA+ID4+ IGl0c2VsZiB3aWxsIGJlIGRvaW5nIHRoZSBFQ0MgaW5zdGVhZCBvZiBvdXIgY29udHJvbGxlci4g IAo+ID4gPiA+Cj4gPiA+ID4gU29ycnkgaWYgSSBoYXZlIG5vdCBiZWVuIGNsZWFyLgo+ID4gPiA+ Cj4gPiA+ID4gVGhpcyBzZXF1ZW5jZToKPiA+ID4gPiAtIGluaXQKPiA+ID4gPiAtIGVuYWJsZSBo dyBFQ0MgZW5naW5lCj4gPiA+ID4gSXMgYnJva2VuLgo+ID4gPiA+ICAKPiA+ID4gRUNDIGVuZ2lu ZSBpcyBub3QgZW5hYmxlZCBmb3IgYWxsIHRoZSBjYXNlcy4gSGVyZSB3ZSBvbmx5IGludGVuZGVk IHRvIGVuYWJsZSBpdCBmb3IgdGhlIG5hbmQgY2hpcCB0aGF0IGlzIHNldCB0byB1c2UgTkFORF9F Q0NfRU5HSU5FX1RZUEVfT05fSE9TVC4gVGhlIGxvZ2ljIGhlcmUgc2hvdWxkIGJldHRlciBjaGFu Z2UgdG86Cj4gPiA+IGlmIChjaGlwLT5lY2MuZW5naW5lX3R5cGUgPT0gTkFORF9FQ0NfRU5HSU5F X1RZUEVfT05fSE9TVCkKPiA+ID4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwg MSk7Cj4gPiA+IGVsc2UKPiA+ID4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwg MCk7Cj4gPiA+ICAKPiA+ID4gPiBJdCAqY2Fubm90KiB3b3JrIGFzIGFueSBvcGVyYXRpb24gZ29p bmcgdGhyb3VnaCBleGVjX29wIG5vdyBtYXkKPiA+ID4gPiBwZXJmb3JtIHBhZ2UgcmVhZHMgd2hp Y2ggc2hvdWxkIGJlIHVubW9kaWZpZWQgYnkgdGhlIEVDQyBlbmdpbmUuIFlvdSA+IGRyaXZlciAq bXVzdCogZm9sbG93IHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6Cj4gPiA+ID4gLSBpbml0IGFuZCBk aXNhYmxlIChvciBrZWVwIGRpc2FibGVkKSB0aGUgaHcgRUNDIGVuZ2luZQo+ID4gPiA+IC0gd2hl biB5b3UgcGVyZm9ybSBhIHBhZ2Ugb3BlcmF0aW9uIHdpdGggY29ycmVjdGlvbiB5b3UgbmVlZCB0 bwo+ID4gPiA+ICAgICAtIGVuYWJsZSB0aGUgZW5naW5lCj4gPiA+ID4gICAgIC0gcGVyZm9ybSB0 aGUgb3BlcmF0aW9uCj4gPiA+ID4gICAgIC0gZGlzYWJsZSB0aGUgZW5naW5lCj4gPiA+ID4gTWF5 YmUgSSBhbSBtaXNzaW5nIHNvbWV0aGluZyBoZXJlIGJ1dCBhcmUgeW91IHNheWluZyB0aGUgZXhl Y19vcCBjYW4gaGF2ZSBkaWZmZXJlbnQgZWNjIHR5cGUgZm9yIHBhZ2UgcmVhZC93cml0ZSBhdCBy dW4gdGltZSBvbiB0aGUgc2FtZSBuYW5kIGNoaXA/IEkgZG9uJ3Qgc2VlIHRoZSBvcCBpbnN0ciBz dHJ1Y3R1cmUgaGFzIHRoZSBlY2MgdHlwZSBmaWVsZCBhbmQgdGhvdWdodCBpdCBpcyBvbmx5IGJp bmQgdG8gdGhlIG5hbmQgY2hpcCBhbmQgd29uJ3QgY2hhbmdlIGF0IHJ1biB0aW1lLiBTbyBsb29r cyB0byBtZSB0aGUgaW5pdCB0aW1lIHNldHRpbmcgdG8gdGhlIGVuZ2luZSBiYXNlZCBvbiBlY2Mu ZW5naW5lX3R5cGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuICAKPiA+ID4KPiA+ID4gV2hhdCB5b3Ug ZGVzY3JpYmVkIGhlcmUgY2FuIHdvcmsgZm9yIHRoZSBody5lY2MgcmVhZCBwYXRoIChlY2MucmVh ZF9wYWdlID0gYnJjbW5hbmRfcmVhZF9wYWdlKSB3aGljaCBhbHdheXMgYXNzdW1lcyBlY2MgaXMg ZW5hYmxlZC4gQWx0aG91Z2ggaXQgaXMgcHJvYmFibHkgbm90IHRvbyBiYWQgd2l0aCB0aGVzZSB0 d28gZXh0cmEgb3BlcmF0aW9uLCBpdCB3b3VsZCBiZSBiZXR0ZXIgaWYgd2UgZG9uJ3QgaGF2ZSB0 byBhZGQgYW55dGhpbmcgYXMgb3VyIGN1cnJlbnQgY29kZSBkb2VzLiBGb3IgdGhlIGJyY21uYW5k X3JlYWRfcGFnZV9yYXcsICB3ZSBjdXJyZW50bHkgZGlzYWJsZSB0aGUgZW5naW5lIGFuZCB0aGVu IHJlLWVuYWJsZSBpdChidXQgd2UgbmVlZCB0byBmaXggaXQgdG8gb25seSBlbmFibGUgaXQgd2l0 aCBodyBlY2MgZW5naW5lIHR5cGUpLiAgU28gaXQgaXMganVzdCBvcHBvc2l0ZSBvZiB5b3UgbG9n aWMgYnV0IHdvcmtzIHRoZSBzYW1lIHdpdGggbm8gaW1wYWN0IG9uIHRoZSBtb3N0IHBlcmZvcm1h bmNlIGNyaXRpY2FsIHBhdGguICAKPiA+Cj4gPiBUaGlzIGlzIG5vdCAibXkiIGxvZ2ljLCB0aGlz IGlzIHRoZSAiY29yZSdzIiBsb2dpYy4gSSBhbSBzYXlpbmc6IHlvdXIKPiA+IGFwcHJvYWNoIGlz IGJyb2tlbiBiZWNhdXNlIHRoYXQgaXMgbm90IGhvdyB0aGUgQVBJIGlzIHN1cHBvc2VkIHRvIHdv cmssCj4gPiBidXQgaXQgbW9zdGx5IHdvcmtzIGluIHRoZSBzdGFuZGFyZCBjYXNlLiAgCj4gCj4g SW4gdGhlIGludGVyZXN0IG9mIG1pbmltaXppbmcgcmVnaXN0ZXIgd3JpdGVzLCB3b3VsZCBpdCBi ZSBhY2NlcHRhYmxlIHRvCj4gZW5hYmxlL2Rpc2FibGUgRUNDIGF0IHRoZSBiZWdpbm5pbmcgb2Yg YSBzdGFuZGFyZAo+IHBhdGggdHJhbnNmZXIgYnV0IG5vdCwgYWZ0ZXIgdGhlIHRyYW5zZmVyLCB0 dXJuIG9mZiB0aGUgRUNDPyBUaGlzIHNob3VsZCBub3QKPiBhZmZlY3Qgb3RoZXIgc3RhbmRhcmQg cGF0aCBvcGVyYXRpb25zIG5vciBhZmZlY3QgdGhlIGV4ZWNfb3AgcGF0aCBhcyB0aG9zZQo+IGFy ZSBsb3cgbGV2ZWwgdHJhbnNmZXJzIHdoaWNoIG91ciBFQ0MgZW5naW5lIHdvdWxkIG5vdCB0b3Vj aCBhbmQgdGhlIE5BTkQKPiBkZXZpY2UgZHJpdmVyIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3Ig dHVybmluZyBvbi9vZmYgaXRzIG93biBFQ0MuCgpEbyB5b3UgaGF2ZSBsZWdpdGltYXRlIGNvbmNl cm5zIGFib3V0IHRoaXMgcmVnaXN0ZXIgd3JpdGUgdGFraW5nIHdheQptb3JlIHRpbWUgdGhhbiBJ IGNvdWxkIGV4cGVjdD8gQmVjYXVzZSBjb21wYXJlZCB0byB0aGUgdHJhbnNmZXIgb2YgYQpOQU5E IHBhZ2UgKyB0Ui90UFJPRyBpdCBzaG91bGQgbm90IGJlIG5vdGljZWFibGUuIEkgZG9uJ3Qgc2Vl IGhvdyB5b3UKY291bGQgZXZlbiBtZWFzdXJlIHN1Y2ggaW1wYWN0IGFjdHVhbGx5LCB1bmxlc3Mg dGhlIHJlZ2lzdGVyIHdyaXRlIGRvZXMKd2F5IG1vcmUgdGhhbiB1c3VhbC4gSSdtIGZpbmUgd2l0 aCB0aGUgYWJvdmUgaWRlYSBpZiB5b3Ugc2hvdyBtZSBpdCBoYXMKYW4gaW50ZXJlc3QuCgpUaGFu a3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A99B37992D; Tue, 30 Jan 2024 18:55:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.196 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706640918; cv=none; b=WIcxmm1rH6OA3O3HZmcm51ao47axJZIwZAbwGPGILQ4kMtlH0J1aBCPz+CxLqufjMbkolivaIZAwleEYaRjAo/jvAgahcvUPvkn9hKX9Kz+UvsFKtTEcJz6sENn2Q54PiPJJ6+edjUuitHQxe/xuGlkDcpnP6GesRnT9hEjbx/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706640918; c=relaxed/simple; bh=K6OCEfNXoeLE7q13YNFu+bO9JL2T+WhFDg7I0Idncck=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=aZMYTuVdQRYTED9OdCwT5h9TI45HPmcLNzHriDI1QMVP85RlFSerKssXbwLy0dfJCZr1EHEPzrRC8MnI7luzw2xpJEJVwpeKTLDMTcFTQte+4UJYbNNhQHm+NBfrgSZnwwwZRkezQFp0KfKE7WkWgUa5lmY2LX51mH7FqKePH30= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=N5gVK9I+; arc=none smtp.client-ip=217.70.183.196 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="N5gVK9I+" Received: by mail.gandi.net (Postfix) with ESMTPSA id BD35AE0004; Tue, 30 Jan 2024 18:55:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706640913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zo+y7U6fF32E540j/J6PY7BxhMmSuUIbZmzVgcghKB8=; b=N5gVK9I+lk/0dNGLameBqkHfYwcfbgI+ySBF8S/0qZfgZzoJK0hNnmTZuusOkHP+9CyWdB AMo/FxJ83hhpMGB+DvAEIVXTKv1agm0ch7gw0OlVL+wmiIINYzTxMdqGj2VLztgyfJdLwc CwlNFL9LRXk8+fallnNvS1z1LYwpiqbXKpkUpTBu8yZToa0A1mNb+fmJGypWuqNDZ80PJ1 VcgGMIHGV3ZDQQkVYeuSGFoO3QCQJ6d/vYKCfAprNGBPAxcYJe2TosY5t6c25QstSAsgaE AQgUBrda/UDRsuwbVZ51w8AgxzjUqyi9OexJ/O9RLTUE7X5MfEJOJXkyDLfbJQ== Date: Tue, 30 Jan 2024 19:55:04 +0100 From: Miquel Raynal To: David Regan Cc: William Zhang , dregan@mail.com, Richard Weinberger , Vignesh Raghavendra , robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, computersforpeace@gmail.com, kdasu.kdev@gmail.com, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List , Joel Peshkin , Tomer Yacoby , Dan Beygelman , Anand Gore , Kursad Oney , Florian Fainelli , rafal@milecki.pl, bcm-kernel-feedback-list@broadcom.com, andre.przywara@arm.com, baruch@tkos.co.il, linux-arm-kernel@lists.infradead.org, Dan Carpenter Subject: Re: [PATCH v3 10/10] mtd: rawnand: brcmnand: allow for on-die ecc Message-ID: <20240130195504.506fb446@xps-13> In-Reply-To: References: <20240124030458.98408-1-dregan@broadcom.com> <20240124030458.98408-11-dregan@broadcom.com> <20240124184027.712b1e47@xps-13> <20240126071913.699c3795@xps-13> <20240129115228.06dc2292@xps-13> <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> <20240130120155.3cb6feed@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GND-Sasl: miquel.raynal@bootlin.com Hi David, dregan@broadcom.com wrote on Tue, 30 Jan 2024 07:26:02 -0800: > Hi Miquel, >=20 > On Tue, Jan 30, 2024 at 3:01=E2=80=AFAM Miquel Raynal wrote: > > > > Hi William, > > > > william.zhang@broadcom.com wrote on Tue, 30 Jan 2024 00:11:32 -0800: > > =20 > > > Hi Miquel, > > > > > > On 1/29/24 02:52, Miquel Raynal wrote: =20 > > > > Hi David, > > > > > > > > dregan@broadcom.com wrote on Fri, 26 Jan 2024 11:57:39 -0800: > > > > =20 > > > >> Hi Miqu=C3=A8l, > > > >> > > > >> On Thu, Jan 25, 2024 at 10:19=E2=80=AFPM Miquel Raynal > > > >> wrote: =20 > > > >>> > > > >>> Hi David, > > > >>> > > > >>> dregan@broadcom.com wrote on Thu, 25 Jan 2024 11:47:46 -0800: =20 > > > >>> >>>> Hi Miqu=C3=A8l, =20 > > > >>>> > > > >>>> On Wed, Jan 24, 2024 at 9:40=E2=80=AFAM Miquel Raynal wrote: =20 > > > >>>>> > > > >>>>> Hi David, > > > >>>>> > > > >>>>> dregan@broadcom.com wrote on Tue, 23 Jan 2024 19:04:58 -0800: = =20 > > > >>>>> >>>>>> Allow settings for on-die ecc such that if on-die ECC = is selected =20 > > > >>>>>> don't error out but require ECC strap setting of zero > > > >>>>>> > > > >>>>>> Signed-off-by: David Regan > > > >>>>>> Reviewed-by: William Zhang > > > >>>>>> --- > > > >>>>>> Changes in v3: None > > > >>>>>> --- > > > >>>>>> Changes in v2: > > > >>>>>> - Added to patch series > > > >>>>>> --- > > > >>>>>> drivers/mtd/nand/raw/brcmnand/brcmnand.c | 14 ++++++++++---- > > > >>>>>> 1 file changed, 10 insertions(+), 4 deletions(-) > > > >>>>>> > > > >>>>>> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/driver= s/mtd/nand/raw/brcmnand/brcmnand.c > > > >>>>>> index a4e311b6798c..42526f3250c9 100644 > > > >>>>>> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > > >>>>>> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > > > >>>>>> @@ -2727,9 +2727,11 @@ static int brcmnand_setup_dev(struct br= cmnand_host *host) > > > >>>>>> cfg->blk_adr_bytes =3D get_blk_adr_bytes(mtd->size, mtd= ->writesize); > > > >>>>>> > > > >>>>>> if (chip->ecc.engine_type !=3D NAND_ECC_ENGINE_TYPE_ON_= HOST) { > > > >>>>>> - dev_err(ctrl->dev, "only HW ECC supported; selec= ted: %d\n", > > > >>>>>> - chip->ecc.engine_type); > > > >>>>>> - return -EINVAL; > > > >>>>>> + if (chip->ecc.strength) { > > > >>>>>> + dev_err(ctrl->dev, "ERROR!!! HW ECC must= be set to zero for non-hardware ECC; selected: %d\n", > > > >>>>>> + chip->ecc.strength); =20 > > > >>>>> > > > >>>>> Can you use a more formal string? Also clarify it because I don= 't > > > >>>>> really understand what it leads to. =20 > > > >>>> > > > >>>> How about: > > > >>>> > > > >>>> dev_err(ctrl->dev, "HW ECC set to %d, must be zero for on-die EC= C\n", =20 > > > >>> > > > >>> Actually I am wondering how legitimate this is. Just don't enable= the > > > >>> on host ECC engine if it's not in use. No need to check the core's > > > >>> choice. =20 > > > >> > > > >> Our chip ECC engine will either be on if it's needed or off if it'= s not. > > > >> Either I can do that in one place or put checks in before each > > > >> read/write to turn on/off the ECC engine, which seems a lot more > > > >> work and changes and possible issues/problems. > > > >> Turning it on/off as needed has not been explicitly tested and > > > >> could cause unforeseen consequences. This > > > >> is a minimal change which should have minimal impact. > > > >> =20 > > > >>> >>>> >>>>> >>>>>> + return -EINVAL; =20 > > > >>>>>> + } > > > >>>>>> } > > > >>>>>> > > > >>>>>> if (chip->ecc.algo =3D=3D NAND_ECC_ALGO_UNKNOWN) { > > > >>>>>> @@ -2797,7 +2799,11 @@ static int brcmnand_setup_dev(struct br= cmnand_host *host) > > > >>>>>> if (ret) > > > >>>>>> return ret; > > > >>>>>> > > > >>>>>> - brcmnand_set_ecc_enabled(host, 1); > > > >>>>>> + if (chip->ecc.engine_type =3D=3D NAND_ECC_ENGINE_TYPE_ON= _DIE) { > > > >>>>>> + dev_dbg(ctrl->dev, "Disable HW ECC for on-die EC= C\n"); =20 > > > >>>>> > > > >>>>> Not needed. =20 > > > >>>> > > > >>>> Will remove. =20 > > > >>>> >>>>> >>>>>> + brcmnand_set_ecc_enabled(host, 0)= ; =20 > > > >>>>>> + } else > > > >>>>>> + brcmnand_set_ecc_enabled(host, 1); =20 > > > >>>>> > > > >>>>> Style is wrong, but otherwise I think ECC should be kept disabl= ed while > > > >>>>> not in active use, so I am a bit surprised by this line. =20 > > > >>>> > > > >>>> This is a double check to turn on/off our hardware ECC. =20 > > > >>> > > > >>> I expect the engine to be always disabled. Enable it only when you > > > >>> need (may require an additional patch before this one). =20 > > > >> > > > >> We are already turning on the ECC enable at this point, > > > >> this is just adding the option to turn it off if the NAND chip > > > >> itself will be doing the ECC instead of our controller. =20 > > > > > > > > Sorry if I have not been clear. > > > > > > > > This sequence: > > > > - init > > > > - enable hw ECC engine > > > > Is broken. > > > > =20 > > > ECC engine is not enabled for all the cases. Here we only intended to= enable it for the nand chip that is set to use NAND_ECC_ENGINE_TYPE_ON_HOS= T. The logic here should better change to: > > > if (chip->ecc.engine_type =3D=3D NAND_ECC_ENGINE_TYPE_ON_HOST) > > > brcmnand_set_ecc_enabled(host, 1); > > > else > > > brcmnand_set_ecc_enabled(host, 0); > > > =20 > > > > It *cannot* work as any operation going through exec_op now may > > > > perform page reads which should be unmodified by the ECC engine. Yo= u > driver *must* follow the following sequence: > > > > - init and disable (or keep disabled) the hw ECC engine > > > > - when you perform a page operation with correction you need to > > > > - enable the engine > > > > - perform the operation > > > > - disable the engine > > > > Maybe I am missing something here but are you saying the exec_op ca= n have different ecc type for page read/write at run time on the same nand = chip? I don't see the op instr structure has the ecc type field and thought= it is only bind to the nand chip and won't change at run time. So looks to= me the init time setting to the engine based on ecc.engine_type should be = sufficient. =20 > > > > > > What you described here can work for the hw.ecc read path (ecc.read_p= age =3D brcmnand_read_page) which always assumes ecc is enabled. Although i= t is probably not too bad with these two extra operation, it would be bette= r if we don't have to add anything as our current code does. For the brcmna= nd_read_page_raw, we currently disable the engine and then re-enable it(bu= t we need to fix it to only enable it with hw ecc engine type). So it is j= ust opposite of you logic but works the same with no impact on the most per= formance critical path. =20 > > > > This is not "my" logic, this is the "core's" logic. I am saying: your > > approach is broken because that is not how the API is supposed to work, > > but it mostly works in the standard case. =20 >=20 > In the interest of minimizing register writes, would it be acceptable to > enable/disable ECC at the beginning of a standard > path transfer but not, after the transfer, turn off the ECC? This should = not > affect other standard path operations nor affect the exec_op path as those > are low level transfers which our ECC engine would not touch and the NAND > device driver should be responsible for turning on/off its own ECC. Do you have legitimate concerns about this register write taking way more time than I could expect? Because compared to the transfer of a NAND page + tR/tPROG it should not be noticeable. I don't see how you could even measure such impact actually, unless the register write does way more than usual. I'm fine with the above idea if you show me it has an interest. Thanks, Miqu=C3=A8l