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 D956BC46CD2 for ; Tue, 30 Jan 2024 11:02:17 +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=fboD2lvmJ+xeKGRgU9Zt7j0Aphgij/wuWeJMnrBAXP0=; b=ShvxjGsyRoncE3 2IOeTu2UrNMKXDsViVoT4L4YOJAgxL1jpquscG1Viw4L6pFczpJYzvjvpM11GWztF5q9kpNPVNnCE qmXv6e7s5BgwfujTWeGdMu82MjX4fTwDJlMwwWDjKe1XoZI47XGAt2jr5pF2ihgeZA1jnsMll/eQd Y6M16uTwI+ug34/7gUZOBifAPBNIpTpccR/SPAMb5cMDxQHV6Z66Wvkuvl4oQki6sQs7ivHGRW3LC D0qtpp+gNGz4Dkb3qwlzzXjoR/8R+NAxdK8LwVU9xnrAeeVryTxTLzNd76dLvxBCwwrBBUX97+ay1 iPwiROw+fWpO1gYi1Gjw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUlsW-0000000GJdA-2t5e; Tue, 30 Jan 2024 11:02:08 +0000 Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUlsS-0000000GJYy-1SaO; Tue, 30 Jan 2024 11:02:05 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4360560008; Tue, 30 Jan 2024 11:01:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706612518; 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=U9iIqWPJOvOxFNmco/tQN2cBcwAteDC+6FjG3AbiQ0w=; b=SCuEmcvTO4sAv3vjTrjHFNeiJd6+2mLOResDSiDhowBL/TjggEhVsOqBneym/CLb/FsFNs Mkgqr1ONhI5tAIHBjfR2Hi2vErxfoWY1ckd3ipWhlTuFb8tzUSLzbm+13VSQqk/S1LD7Vj iOrMuD+Hl5tPXxmI5K3wfc3D8vwUNRTF9lJMJezIFyx953CAakvTCnrOOzYUAlFGxu5dVH KnLmvmOTWrKulYJraILGznAGCH6SAjvHND2JPUhOCvfjH56UYG/yxzHVMClvdyzK6maFP3 FyhRXH79eO2J/X0ckc3u+FqTGC8Z7qZvtmZkrp8N4lNYS0SgxW/rBT4a3Fbg+w== Date: Tue, 30 Jan 2024 12:01:55 +0100 From: Miquel Raynal To: William Zhang Cc: David Regan , 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: <20240130120155.3cb6feed@xps-13> In-Reply-To: <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> 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> 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_030204_834225_B6900052 X-CRM114-Status: GOOD ( 45.60 ) 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 SGkgV2lsbGlhbSwKCndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tIHdyb3RlIG9uIFR1ZSwgMzAg SmFuIDIwMjQgMDA6MTE6MzIgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiAxLzI5LzI0IDAy OjUyLCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+ID4gSGkgRGF2aWQsCj4gPiAKPiA+IGRyZWdhbkBi cm9hZGNvbS5jb20gd3JvdGUgb24gRnJpLCAyNiBKYW4gMjAyNCAxMTo1NzozOSAtMDgwMDoKPiA+ ICAgCj4gPj4gSGkgTWlxdcOobCwKPiA+Pgo+ID4+IE9uIFRodSwgSmFuIDI1LCAyMDI0IGF0IDEw OjE54oCvUE0gTWlxdWVsIFJheW5hbAo+ID4+IDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPiB3 cm90ZTogIAo+ID4+Pgo+ID4+PiBIaSBEYXZpZCwKPiA+Pj4KPiA+Pj4gZHJlZ2FuQGJyb2FkY29t LmNvbSB3cm90ZSBvbiBUaHUsIDI1IEphbiAyMDI0IDExOjQ3OjQ2IC0wODAwOiAgCj4gPj4+ICAg Pj4+PiBIaSBNaXF1w6hsLCAgCj4gPj4+Pgo+ID4+Pj4gT24gV2VkLCBKYW4gMjQsIDIwMjQgYXQg OTo0MOKAr0FNIE1pcXVlbCBSYXluYWwgPG1pcXVlbC5yYXluYWxAYm9vdGxpbi5jb20+IHdyb3Rl OiAgCj4gPj4+Pj4KPiA+Pj4+PiBIaSBEYXZpZCwKPiA+Pj4+Pgo+ID4+Pj4+IGRyZWdhbkBicm9h ZGNvbS5jb20gd3JvdGUgb24gVHVlLCAyMyBKYW4gMjAyNCAxOTowNDo1OCAtMDgwMDogIAo+ID4+ Pj4+ICAgPj4+Pj4+IEFsbG93IHNldHRpbmdzIGZvciBvbi1kaWUgZWNjIHN1Y2ggdGhhdCBpZiBv bi1kaWUgRUNDIGlzIHNlbGVjdGVkICAKPiA+Pj4+Pj4gZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZXF1 aXJlIEVDQyBzdHJhcCBzZXR0aW5nIG9mIHplcm8KPiA+Pj4+Pj4KPiA+Pj4+Pj4gU2lnbmVkLW9m Zi1ieTogRGF2aWQgUmVnYW4gPGRyZWdhbkBicm9hZGNvbS5jb20+Cj4gPj4+Pj4+IFJldmlld2Vk LWJ5OiBXaWxsaWFtIFpoYW5nIDx3aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNvbT4KPiA+Pj4+Pj4g LS0tCj4gPj4+Pj4+IENoYW5nZXMgaW4gdjM6IE5vbmUKPiA+Pj4+Pj4gLS0tCj4gPj4+Pj4+IENo YW5nZXMgaW4gdjI6Cj4gPj4+Pj4+IC0gQWRkZWQgdG8gcGF0Y2ggc2VyaWVzCj4gPj4+Pj4+IC0t LQo+ID4+Pj4+PiAgIGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAx NCArKysrKysrKysrLS0tLQo+ID4+Pj4+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQo+ID4+Pj4+Pgo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+Pj4+Pj4gaW5kZXggYTRlMzExYjY3OThjLi40MjUyNmYz MjUwYzkgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5k L2JyY21uYW5kLmMKPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQv YnJjbW5hbmQuYwo+ID4+Pj4+PiBAQCAtMjcyNyw5ICsyNzI3LDExIEBAIHN0YXRpYyBpbnQgYnJj bW5hbmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ID4+Pj4+PiAgICAg ICAgY2ZnLT5ibGtfYWRyX2J5dGVzID0gZ2V0X2Jsa19hZHJfYnl0ZXMobXRkLT5zaXplLCBtdGQt PndyaXRlc2l6ZSk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICAgICBpZiAoY2hpcC0+ZWNjLmVuZ2lu ZV90eXBlICE9IE5BTkRfRUNDX0VOR0lORV9UWVBFX09OX0hPU1QpIHsKPiA+Pj4+Pj4gLSAgICAg ICAgICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIm9ubHkgSFcgRUNDIHN1cHBvcnRlZDsgc2VsZWN0 ZWQ6ICVkXG4iLAo+ID4+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgY2hpcC0+ZWNjLmVuZ2lu ZV90eXBlKTsKPiA+Pj4+Pj4gLSAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+Pj4+Pj4g KyAgICAgICAgICAgICBpZiAoY2hpcC0+ZWNjLnN0cmVuZ3RoKSB7Cj4gPj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIkVSUk9SISEhIEhXIEVDQyBtdXN0IGJl IHNldCB0byB6ZXJvIGZvciBub24taGFyZHdhcmUgRUNDOyBzZWxlY3RlZDogJWRcbiIsCj4gPj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXAtPmVjYy5zdHJlbmd0aCk7ICAK PiA+Pj4+Pgo+ID4+Pj4+IENhbiB5b3UgdXNlIGEgbW9yZSBmb3JtYWwgc3RyaW5nPyBBbHNvIGNs YXJpZnkgaXQgYmVjYXVzZSBJIGRvbid0Cj4gPj4+Pj4gcmVhbGx5IHVuZGVyc3RhbmQgd2hhdCBp dCBsZWFkcyB0by4gIAo+ID4+Pj4KPiA+Pj4+IEhvdyBhYm91dDoKPiA+Pj4+Cj4gPj4+PiBkZXZf ZXJyKGN0cmwtPmRldiwgIkhXIEVDQyBzZXQgdG8gJWQsIG11c3QgYmUgemVybyBmb3Igb24tZGll IEVDQ1xuIiwgIAo+ID4+Pgo+ID4+PiBBY3R1YWxseSBJIGFtIHdvbmRlcmluZyBob3cgbGVnaXRp bWF0ZSB0aGlzIGlzLiBKdXN0IGRvbid0IGVuYWJsZSB0aGUKPiA+Pj4gb24gaG9zdCBFQ0MgZW5n aW5lIGlmIGl0J3Mgbm90IGluIHVzZS4gTm8gbmVlZCB0byBjaGVjayB0aGUgY29yZSdzCj4gPj4+ IGNob2ljZS4gIAo+ID4+Cj4gPj4gT3VyIGNoaXAgRUNDIGVuZ2luZSB3aWxsIGVpdGhlciBiZSBv biBpZiBpdCdzIG5lZWRlZCBvciBvZmYgaWYgaXQncyBub3QuCj4gPj4gRWl0aGVyIEkgY2FuIGRv IHRoYXQgaW4gb25lIHBsYWNlIG9yIHB1dCBjaGVja3MgaW4gYmVmb3JlIGVhY2gKPiA+PiByZWFk L3dyaXRlIHRvIHR1cm4gb24vb2ZmIHRoZSBFQ0MgZW5naW5lLCB3aGljaCBzZWVtcyBhIGxvdCBt b3JlCj4gPj4gd29yayBhbmQgY2hhbmdlcyBhbmQgcG9zc2libGUgaXNzdWVzL3Byb2JsZW1zLgo+ ID4+IFR1cm5pbmcgaXQgb24vb2ZmIGFzIG5lZWRlZCBoYXMgbm90IGJlZW4gZXhwbGljaXRseSB0 ZXN0ZWQgYW5kCj4gPj4gY291bGQgY2F1c2UgdW5mb3Jlc2VlbiBjb25zZXF1ZW5jZXMuIFRoaXMK PiA+PiBpcyBhIG1pbmltYWwgY2hhbmdlIHdoaWNoIHNob3VsZCBoYXZlIG1pbmltYWwgaW1wYWN0 Lgo+ID4+ICAKPiA+Pj4gICA+Pj4+ICAgPj4+Pj4gICA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOyAgCj4gPj4+Pj4+ICsgICAgICAgICAgICAgfQo+ID4+Pj4+PiAg ICAgICAgfQo+ID4+Pj4+Pgo+ID4+Pj4+PiAgICAgICAgaWYgKGNoaXAtPmVjYy5hbGdvID09IE5B TkRfRUNDX0FMR09fVU5LTk9XTikgewo+ID4+Pj4+PiBAQCAtMjc5Nyw3ICsyNzk5LDExIEBAIHN0 YXRpYyBpbnQgYnJjbW5hbmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ ID4+Pj4+PiAgICAgICAgaWYgKHJldCkKPiA+Pj4+Pj4gICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gLSAgICAgYnJjbW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3Qs IDEpOwo+ID4+Pj4+PiArICAgICBpZiAoY2hpcC0+ZWNjLmVuZ2luZV90eXBlID09IE5BTkRfRUND X0VOR0lORV9UWVBFX09OX0RJRSkgewo+ID4+Pj4+PiArICAgICAgICAgICAgIGRldl9kYmcoY3Ry bC0+ZGV2LCAiRGlzYWJsZSBIVyBFQ0MgZm9yIG9uLWRpZSBFQ0NcbiIpOyAgCj4gPj4+Pj4KPiA+ Pj4+PiBOb3QgbmVlZGVkLiAgCj4gPj4+Pgo+ID4+Pj4gV2lsbCByZW1vdmUuICAKPiA+Pj4+ICAg Pj4+Pj4gICA+Pj4+Pj4gKyAgICAgICAgICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9z dCwgMCk7ICAKPiA+Pj4+Pj4gKyAgICAgfSBlbHNlCj4gPj4+Pj4+ICsgICAgICAgICAgICAgYnJj bW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3QsIDEpOyAgCj4gPj4+Pj4KPiA+Pj4+PiBTdHlsZSBp cyB3cm9uZywgYnV0IG90aGVyd2lzZSBJIHRoaW5rIEVDQyBzaG91bGQgYmUga2VwdCBkaXNhYmxl ZCB3aGlsZQo+ID4+Pj4+IG5vdCBpbiBhY3RpdmUgdXNlLCBzbyBJIGFtIGEgYml0IHN1cnByaXNl ZCBieSB0aGlzIGxpbmUuICAKPiA+Pj4+Cj4gPj4+PiBUaGlzIGlzIGEgZG91YmxlIGNoZWNrIHRv IHR1cm4gb24vb2ZmIG91ciBoYXJkd2FyZSBFQ0MuICAKPiA+Pj4KPiA+Pj4gSSBleHBlY3QgdGhl IGVuZ2luZSB0byBiZSBhbHdheXMgZGlzYWJsZWQuIEVuYWJsZSBpdCBvbmx5IHdoZW4geW91Cj4g Pj4+IG5lZWQgKG1heSByZXF1aXJlIGFuIGFkZGl0aW9uYWwgcGF0Y2ggYmVmb3JlIHRoaXMgb25l KS4gIAo+ID4+Cj4gPj4gV2UgYXJlIGFscmVhZHkgdHVybmluZyBvbiB0aGUgRUNDIGVuYWJsZSBh dCB0aGlzIHBvaW50LAo+ID4+IHRoaXMgaXMganVzdCBhZGRpbmcgdGhlIG9wdGlvbiB0byB0dXJu IGl0IG9mZiBpZiB0aGUgTkFORCBjaGlwCj4gPj4gaXRzZWxmIHdpbGwgYmUgZG9pbmcgdGhlIEVD QyBpbnN0ZWFkIG9mIG91ciBjb250cm9sbGVyLiAgCj4gPiAKPiA+IFNvcnJ5IGlmIEkgaGF2ZSBu b3QgYmVlbiBjbGVhci4KPiA+IAo+ID4gVGhpcyBzZXF1ZW5jZToKPiA+IC0gaW5pdAo+ID4gLSBl bmFibGUgaHcgRUNDIGVuZ2luZQo+ID4gSXMgYnJva2VuLgo+ID4gICAKPiBFQ0MgZW5naW5lIGlz IG5vdCBlbmFibGVkIGZvciBhbGwgdGhlIGNhc2VzLiBIZXJlIHdlIG9ubHkgaW50ZW5kZWQgdG8g ZW5hYmxlIGl0IGZvciB0aGUgbmFuZCBjaGlwIHRoYXQgaXMgc2V0IHRvIHVzZSBOQU5EX0VDQ19F TkdJTkVfVFlQRV9PTl9IT1NULiBUaGUgbG9naWMgaGVyZSBzaG91bGQgYmV0dGVyIGNoYW5nZSB0 bzoKPiBpZiAoY2hpcC0+ZWNjLmVuZ2luZV90eXBlID09IE5BTkRfRUNDX0VOR0lORV9UWVBFX09O X0hPU1QpCj4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwgMSk7Cj4gZWxzZQo+ ICAgICAgYnJjbW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3QsIDApOwo+IAo+ID4gSXQgKmNhbm5v dCogd29yayBhcyBhbnkgb3BlcmF0aW9uIGdvaW5nIHRocm91Z2ggZXhlY19vcCBub3cgbWF5Cj4g PiBwZXJmb3JtIHBhZ2UgcmVhZHMgd2hpY2ggc2hvdWxkIGJlIHVubW9kaWZpZWQgYnkgdGhlIEVD QyBlbmdpbmUuIFlvdSA+IGRyaXZlciAqbXVzdCogZm9sbG93IHRoZSBmb2xsb3dpbmcgc2VxdWVu Y2U6Cj4gPiAtIGluaXQgYW5kIGRpc2FibGUgKG9yIGtlZXAgZGlzYWJsZWQpIHRoZSBodyBFQ0Mg ZW5naW5lCj4gPiAtIHdoZW4geW91IHBlcmZvcm0gYSBwYWdlIG9wZXJhdGlvbiB3aXRoIGNvcnJl Y3Rpb24geW91IG5lZWQgdG8KPiA+IAktIGVuYWJsZSB0aGUgZW5naW5lCj4gPiAJLSBwZXJmb3Jt IHRoZSBvcGVyYXRpb24KPiA+IAktIGRpc2FibGUgdGhlIGVuZ2luZQo+ID4gTWF5YmUgSSBhbSBt aXNzaW5nIHNvbWV0aGluZyBoZXJlIGJ1dCBhcmUgeW91IHNheWluZyB0aGUgZXhlY19vcCBjYW4g aGF2ZSBkaWZmZXJlbnQgZWNjIHR5cGUgZm9yIHBhZ2UgcmVhZC93cml0ZSBhdCBydW4gdGltZSBv biB0aGUgc2FtZSBuYW5kIGNoaXA/IEkgZG9uJ3Qgc2VlIHRoZSBvcCBpbnN0ciBzdHJ1Y3R1cmUg aGFzIHRoZSBlY2MgdHlwZSBmaWVsZCBhbmQgdGhvdWdodCBpdCBpcyBvbmx5IGJpbmQgdG8gdGhl IG5hbmQgY2hpcCBhbmQgd29uJ3QgY2hhbmdlIGF0IHJ1biB0aW1lLiBTbyBsb29rcyB0byBtZSB0 aGUgaW5pdCB0aW1lIHNldHRpbmcgdG8gdGhlIGVuZ2luZSBiYXNlZCBvbiBlY2MuZW5naW5lX3R5 cGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuICAKPiAKPiBXaGF0IHlvdSBkZXNjcmliZWQgaGVyZSBj YW4gd29yayBmb3IgdGhlIGh3LmVjYyByZWFkIHBhdGggKGVjYy5yZWFkX3BhZ2UgPSBicmNtbmFu ZF9yZWFkX3BhZ2UpIHdoaWNoIGFsd2F5cyBhc3N1bWVzIGVjYyBpcyBlbmFibGVkLiBBbHRob3Vn aCBpdCBpcyBwcm9iYWJseSBub3QgdG9vIGJhZCB3aXRoIHRoZXNlIHR3byBleHRyYSBvcGVyYXRp b24sIGl0IHdvdWxkIGJlIGJldHRlciBpZiB3ZSBkb24ndCBoYXZlIHRvIGFkZCBhbnl0aGluZyBh cyBvdXIgY3VycmVudCBjb2RlIGRvZXMuIEZvciB0aGUgYnJjbW5hbmRfcmVhZF9wYWdlX3Jhdywg IHdlIGN1cnJlbnRseSBkaXNhYmxlIHRoZSBlbmdpbmUgYW5kIHRoZW4gcmUtZW5hYmxlIGl0KGJ1 dCB3ZSBuZWVkIHRvIGZpeCBpdCB0byBvbmx5IGVuYWJsZSBpdCB3aXRoIGh3IGVjYyBlbmdpbmUg dHlwZSkuICBTbyBpdCBpcyBqdXN0IG9wcG9zaXRlIG9mIHlvdSBsb2dpYyBidXQgd29ya3MgdGhl IHNhbWUgd2l0aCBubyBpbXBhY3Qgb24gdGhlIG1vc3QgcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0 aC4KClRoaXMgaXMgbm90ICJteSIgbG9naWMsIHRoaXMgaXMgdGhlICJjb3JlJ3MiIGxvZ2ljLiBJ IGFtIHNheWluZzogeW91cgphcHByb2FjaCBpcyBicm9rZW4gYmVjYXVzZSB0aGF0IGlzIG5vdCBo b3cgdGhlIEFQSSBpcyBzdXBwb3NlZCB0byB3b3JrLApidXQgaXQgbW9zdGx5IHdvcmtzIGluIHRo ZSBzdGFuZGFyZCBjYXNlLgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFp bGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtbXRkLwo= 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 9DCF7C47DDF for ; Tue, 30 Jan 2024 11:02:24 +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=6pQDAeYPUTx1uxhTd0guPJm4SHBT8jmaX1hIr8iHyHQ=; b=eZToHeQMbqDioi G1I6G23AyobrnhZ1Flp4lUuSiUfOdph+voexhi8JvJ9y02Z8CX9Q/pBsK86+Swek3+99Qt6BTZAo/ UZ/QlDZfBDUUzte4v74Z+Uvr8HMsCM3Qg3BzzGNL4uymH5YGz8MxKrgUKUbpadsJL1KTsxZk1fJuC BMgUCduX6Hh4gY2HWwsg3wM+iHa4lOpO4IhFTSz9kVNOc9OJio6/OSydBBR9TCu+MG8lAY+Pk4wOo xZd6Z56JG3qA/brmGUckpnUMS0H/L3/ah36TOqnSSPJzOS76zEGJ8mXokzENDYL9etonMQOHCA+P1 Dld7v2u9/kFWl0AqJsug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUlsU-0000000GJcW-2pF5; Tue, 30 Jan 2024 11:02:06 +0000 Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUlsS-0000000GJYy-1SaO; Tue, 30 Jan 2024 11:02:05 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4360560008; Tue, 30 Jan 2024 11:01:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706612518; 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=U9iIqWPJOvOxFNmco/tQN2cBcwAteDC+6FjG3AbiQ0w=; b=SCuEmcvTO4sAv3vjTrjHFNeiJd6+2mLOResDSiDhowBL/TjggEhVsOqBneym/CLb/FsFNs Mkgqr1ONhI5tAIHBjfR2Hi2vErxfoWY1ckd3ipWhlTuFb8tzUSLzbm+13VSQqk/S1LD7Vj iOrMuD+Hl5tPXxmI5K3wfc3D8vwUNRTF9lJMJezIFyx953CAakvTCnrOOzYUAlFGxu5dVH KnLmvmOTWrKulYJraILGznAGCH6SAjvHND2JPUhOCvfjH56UYG/yxzHVMClvdyzK6maFP3 FyhRXH79eO2J/X0ckc3u+FqTGC8Z7qZvtmZkrp8N4lNYS0SgxW/rBT4a3Fbg+w== Date: Tue, 30 Jan 2024 12:01:55 +0100 From: Miquel Raynal To: William Zhang Cc: David Regan , 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: <20240130120155.3cb6feed@xps-13> In-Reply-To: <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> 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> 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_030204_834225_B6900052 X-CRM114-Status: GOOD ( 45.60 ) 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 SGkgV2lsbGlhbSwKCndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tIHdyb3RlIG9uIFR1ZSwgMzAg SmFuIDIwMjQgMDA6MTE6MzIgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiAxLzI5LzI0IDAy OjUyLCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+ID4gSGkgRGF2aWQsCj4gPiAKPiA+IGRyZWdhbkBi cm9hZGNvbS5jb20gd3JvdGUgb24gRnJpLCAyNiBKYW4gMjAyNCAxMTo1NzozOSAtMDgwMDoKPiA+ ICAgCj4gPj4gSGkgTWlxdcOobCwKPiA+Pgo+ID4+IE9uIFRodSwgSmFuIDI1LCAyMDI0IGF0IDEw OjE54oCvUE0gTWlxdWVsIFJheW5hbAo+ID4+IDxtaXF1ZWwucmF5bmFsQGJvb3RsaW4uY29tPiB3 cm90ZTogIAo+ID4+Pgo+ID4+PiBIaSBEYXZpZCwKPiA+Pj4KPiA+Pj4gZHJlZ2FuQGJyb2FkY29t LmNvbSB3cm90ZSBvbiBUaHUsIDI1IEphbiAyMDI0IDExOjQ3OjQ2IC0wODAwOiAgCj4gPj4+ICAg Pj4+PiBIaSBNaXF1w6hsLCAgCj4gPj4+Pgo+ID4+Pj4gT24gV2VkLCBKYW4gMjQsIDIwMjQgYXQg OTo0MOKAr0FNIE1pcXVlbCBSYXluYWwgPG1pcXVlbC5yYXluYWxAYm9vdGxpbi5jb20+IHdyb3Rl OiAgCj4gPj4+Pj4KPiA+Pj4+PiBIaSBEYXZpZCwKPiA+Pj4+Pgo+ID4+Pj4+IGRyZWdhbkBicm9h ZGNvbS5jb20gd3JvdGUgb24gVHVlLCAyMyBKYW4gMjAyNCAxOTowNDo1OCAtMDgwMDogIAo+ID4+ Pj4+ICAgPj4+Pj4+IEFsbG93IHNldHRpbmdzIGZvciBvbi1kaWUgZWNjIHN1Y2ggdGhhdCBpZiBv bi1kaWUgRUNDIGlzIHNlbGVjdGVkICAKPiA+Pj4+Pj4gZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZXF1 aXJlIEVDQyBzdHJhcCBzZXR0aW5nIG9mIHplcm8KPiA+Pj4+Pj4KPiA+Pj4+Pj4gU2lnbmVkLW9m Zi1ieTogRGF2aWQgUmVnYW4gPGRyZWdhbkBicm9hZGNvbS5jb20+Cj4gPj4+Pj4+IFJldmlld2Vk LWJ5OiBXaWxsaWFtIFpoYW5nIDx3aWxsaWFtLnpoYW5nQGJyb2FkY29tLmNvbT4KPiA+Pj4+Pj4g LS0tCj4gPj4+Pj4+IENoYW5nZXMgaW4gdjM6IE5vbmUKPiA+Pj4+Pj4gLS0tCj4gPj4+Pj4+IENo YW5nZXMgaW4gdjI6Cj4gPj4+Pj4+IC0gQWRkZWQgdG8gcGF0Y2ggc2VyaWVzCj4gPj4+Pj4+IC0t LQo+ID4+Pj4+PiAgIGRyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCAx NCArKysrKysrKysrLS0tLQo+ID4+Pj4+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQo+ID4+Pj4+Pgo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3 L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+Pj4+Pj4gaW5kZXggYTRlMzExYjY3OThjLi40MjUyNmYz MjUwYzkgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21uYW5k L2JyY21uYW5kLmMKPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQv YnJjbW5hbmQuYwo+ID4+Pj4+PiBAQCAtMjcyNyw5ICsyNzI3LDExIEBAIHN0YXRpYyBpbnQgYnJj bW5hbmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ID4+Pj4+PiAgICAg ICAgY2ZnLT5ibGtfYWRyX2J5dGVzID0gZ2V0X2Jsa19hZHJfYnl0ZXMobXRkLT5zaXplLCBtdGQt PndyaXRlc2l6ZSk7Cj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICAgICBpZiAoY2hpcC0+ZWNjLmVuZ2lu ZV90eXBlICE9IE5BTkRfRUNDX0VOR0lORV9UWVBFX09OX0hPU1QpIHsKPiA+Pj4+Pj4gLSAgICAg ICAgICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIm9ubHkgSFcgRUNDIHN1cHBvcnRlZDsgc2VsZWN0 ZWQ6ICVkXG4iLAo+ID4+Pj4+PiAtICAgICAgICAgICAgICAgICAgICAgY2hpcC0+ZWNjLmVuZ2lu ZV90eXBlKTsKPiA+Pj4+Pj4gLSAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+Pj4+Pj4g KyAgICAgICAgICAgICBpZiAoY2hpcC0+ZWNjLnN0cmVuZ3RoKSB7Cj4gPj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICBkZXZfZXJyKGN0cmwtPmRldiwgIkVSUk9SISEhIEhXIEVDQyBtdXN0IGJl IHNldCB0byB6ZXJvIGZvciBub24taGFyZHdhcmUgRUNDOyBzZWxlY3RlZDogJWRcbiIsCj4gPj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXAtPmVjYy5zdHJlbmd0aCk7ICAK PiA+Pj4+Pgo+ID4+Pj4+IENhbiB5b3UgdXNlIGEgbW9yZSBmb3JtYWwgc3RyaW5nPyBBbHNvIGNs YXJpZnkgaXQgYmVjYXVzZSBJIGRvbid0Cj4gPj4+Pj4gcmVhbGx5IHVuZGVyc3RhbmQgd2hhdCBp dCBsZWFkcyB0by4gIAo+ID4+Pj4KPiA+Pj4+IEhvdyBhYm91dDoKPiA+Pj4+Cj4gPj4+PiBkZXZf ZXJyKGN0cmwtPmRldiwgIkhXIEVDQyBzZXQgdG8gJWQsIG11c3QgYmUgemVybyBmb3Igb24tZGll IEVDQ1xuIiwgIAo+ID4+Pgo+ID4+PiBBY3R1YWxseSBJIGFtIHdvbmRlcmluZyBob3cgbGVnaXRp bWF0ZSB0aGlzIGlzLiBKdXN0IGRvbid0IGVuYWJsZSB0aGUKPiA+Pj4gb24gaG9zdCBFQ0MgZW5n aW5lIGlmIGl0J3Mgbm90IGluIHVzZS4gTm8gbmVlZCB0byBjaGVjayB0aGUgY29yZSdzCj4gPj4+ IGNob2ljZS4gIAo+ID4+Cj4gPj4gT3VyIGNoaXAgRUNDIGVuZ2luZSB3aWxsIGVpdGhlciBiZSBv biBpZiBpdCdzIG5lZWRlZCBvciBvZmYgaWYgaXQncyBub3QuCj4gPj4gRWl0aGVyIEkgY2FuIGRv IHRoYXQgaW4gb25lIHBsYWNlIG9yIHB1dCBjaGVja3MgaW4gYmVmb3JlIGVhY2gKPiA+PiByZWFk L3dyaXRlIHRvIHR1cm4gb24vb2ZmIHRoZSBFQ0MgZW5naW5lLCB3aGljaCBzZWVtcyBhIGxvdCBt b3JlCj4gPj4gd29yayBhbmQgY2hhbmdlcyBhbmQgcG9zc2libGUgaXNzdWVzL3Byb2JsZW1zLgo+ ID4+IFR1cm5pbmcgaXQgb24vb2ZmIGFzIG5lZWRlZCBoYXMgbm90IGJlZW4gZXhwbGljaXRseSB0 ZXN0ZWQgYW5kCj4gPj4gY291bGQgY2F1c2UgdW5mb3Jlc2VlbiBjb25zZXF1ZW5jZXMuIFRoaXMK PiA+PiBpcyBhIG1pbmltYWwgY2hhbmdlIHdoaWNoIHNob3VsZCBoYXZlIG1pbmltYWwgaW1wYWN0 Lgo+ID4+ICAKPiA+Pj4gICA+Pj4+ICAgPj4+Pj4gICA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOyAgCj4gPj4+Pj4+ICsgICAgICAgICAgICAgfQo+ID4+Pj4+PiAg ICAgICAgfQo+ID4+Pj4+Pgo+ID4+Pj4+PiAgICAgICAgaWYgKGNoaXAtPmVjYy5hbGdvID09IE5B TkRfRUNDX0FMR09fVU5LTk9XTikgewo+ID4+Pj4+PiBAQCAtMjc5Nyw3ICsyNzk5LDExIEBAIHN0 YXRpYyBpbnQgYnJjbW5hbmRfc2V0dXBfZGV2KHN0cnVjdCBicmNtbmFuZF9ob3N0ICpob3N0KQo+ ID4+Pj4+PiAgICAgICAgaWYgKHJldCkKPiA+Pj4+Pj4gICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsKPiA+Pj4+Pj4KPiA+Pj4+Pj4gLSAgICAgYnJjbW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3Qs IDEpOwo+ID4+Pj4+PiArICAgICBpZiAoY2hpcC0+ZWNjLmVuZ2luZV90eXBlID09IE5BTkRfRUND X0VOR0lORV9UWVBFX09OX0RJRSkgewo+ID4+Pj4+PiArICAgICAgICAgICAgIGRldl9kYmcoY3Ry bC0+ZGV2LCAiRGlzYWJsZSBIVyBFQ0MgZm9yIG9uLWRpZSBFQ0NcbiIpOyAgCj4gPj4+Pj4KPiA+ Pj4+PiBOb3QgbmVlZGVkLiAgCj4gPj4+Pgo+ID4+Pj4gV2lsbCByZW1vdmUuICAKPiA+Pj4+ICAg Pj4+Pj4gICA+Pj4+Pj4gKyAgICAgICAgICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9z dCwgMCk7ICAKPiA+Pj4+Pj4gKyAgICAgfSBlbHNlCj4gPj4+Pj4+ICsgICAgICAgICAgICAgYnJj bW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3QsIDEpOyAgCj4gPj4+Pj4KPiA+Pj4+PiBTdHlsZSBp cyB3cm9uZywgYnV0IG90aGVyd2lzZSBJIHRoaW5rIEVDQyBzaG91bGQgYmUga2VwdCBkaXNhYmxl ZCB3aGlsZQo+ID4+Pj4+IG5vdCBpbiBhY3RpdmUgdXNlLCBzbyBJIGFtIGEgYml0IHN1cnByaXNl ZCBieSB0aGlzIGxpbmUuICAKPiA+Pj4+Cj4gPj4+PiBUaGlzIGlzIGEgZG91YmxlIGNoZWNrIHRv IHR1cm4gb24vb2ZmIG91ciBoYXJkd2FyZSBFQ0MuICAKPiA+Pj4KPiA+Pj4gSSBleHBlY3QgdGhl IGVuZ2luZSB0byBiZSBhbHdheXMgZGlzYWJsZWQuIEVuYWJsZSBpdCBvbmx5IHdoZW4geW91Cj4g Pj4+IG5lZWQgKG1heSByZXF1aXJlIGFuIGFkZGl0aW9uYWwgcGF0Y2ggYmVmb3JlIHRoaXMgb25l KS4gIAo+ID4+Cj4gPj4gV2UgYXJlIGFscmVhZHkgdHVybmluZyBvbiB0aGUgRUNDIGVuYWJsZSBh dCB0aGlzIHBvaW50LAo+ID4+IHRoaXMgaXMganVzdCBhZGRpbmcgdGhlIG9wdGlvbiB0byB0dXJu IGl0IG9mZiBpZiB0aGUgTkFORCBjaGlwCj4gPj4gaXRzZWxmIHdpbGwgYmUgZG9pbmcgdGhlIEVD QyBpbnN0ZWFkIG9mIG91ciBjb250cm9sbGVyLiAgCj4gPiAKPiA+IFNvcnJ5IGlmIEkgaGF2ZSBu b3QgYmVlbiBjbGVhci4KPiA+IAo+ID4gVGhpcyBzZXF1ZW5jZToKPiA+IC0gaW5pdAo+ID4gLSBl bmFibGUgaHcgRUNDIGVuZ2luZQo+ID4gSXMgYnJva2VuLgo+ID4gICAKPiBFQ0MgZW5naW5lIGlz IG5vdCBlbmFibGVkIGZvciBhbGwgdGhlIGNhc2VzLiBIZXJlIHdlIG9ubHkgaW50ZW5kZWQgdG8g ZW5hYmxlIGl0IGZvciB0aGUgbmFuZCBjaGlwIHRoYXQgaXMgc2V0IHRvIHVzZSBOQU5EX0VDQ19F TkdJTkVfVFlQRV9PTl9IT1NULiBUaGUgbG9naWMgaGVyZSBzaG91bGQgYmV0dGVyIGNoYW5nZSB0 bzoKPiBpZiAoY2hpcC0+ZWNjLmVuZ2luZV90eXBlID09IE5BTkRfRUNDX0VOR0lORV9UWVBFX09O X0hPU1QpCj4gICAgICBicmNtbmFuZF9zZXRfZWNjX2VuYWJsZWQoaG9zdCwgMSk7Cj4gZWxzZQo+ ICAgICAgYnJjbW5hbmRfc2V0X2VjY19lbmFibGVkKGhvc3QsIDApOwo+IAo+ID4gSXQgKmNhbm5v dCogd29yayBhcyBhbnkgb3BlcmF0aW9uIGdvaW5nIHRocm91Z2ggZXhlY19vcCBub3cgbWF5Cj4g PiBwZXJmb3JtIHBhZ2UgcmVhZHMgd2hpY2ggc2hvdWxkIGJlIHVubW9kaWZpZWQgYnkgdGhlIEVD QyBlbmdpbmUuIFlvdSA+IGRyaXZlciAqbXVzdCogZm9sbG93IHRoZSBmb2xsb3dpbmcgc2VxdWVu Y2U6Cj4gPiAtIGluaXQgYW5kIGRpc2FibGUgKG9yIGtlZXAgZGlzYWJsZWQpIHRoZSBodyBFQ0Mg ZW5naW5lCj4gPiAtIHdoZW4geW91IHBlcmZvcm0gYSBwYWdlIG9wZXJhdGlvbiB3aXRoIGNvcnJl Y3Rpb24geW91IG5lZWQgdG8KPiA+IAktIGVuYWJsZSB0aGUgZW5naW5lCj4gPiAJLSBwZXJmb3Jt IHRoZSBvcGVyYXRpb24KPiA+IAktIGRpc2FibGUgdGhlIGVuZ2luZQo+ID4gTWF5YmUgSSBhbSBt aXNzaW5nIHNvbWV0aGluZyBoZXJlIGJ1dCBhcmUgeW91IHNheWluZyB0aGUgZXhlY19vcCBjYW4g aGF2ZSBkaWZmZXJlbnQgZWNjIHR5cGUgZm9yIHBhZ2UgcmVhZC93cml0ZSBhdCBydW4gdGltZSBv biB0aGUgc2FtZSBuYW5kIGNoaXA/IEkgZG9uJ3Qgc2VlIHRoZSBvcCBpbnN0ciBzdHJ1Y3R1cmUg aGFzIHRoZSBlY2MgdHlwZSBmaWVsZCBhbmQgdGhvdWdodCBpdCBpcyBvbmx5IGJpbmQgdG8gdGhl IG5hbmQgY2hpcCBhbmQgd29uJ3QgY2hhbmdlIGF0IHJ1biB0aW1lLiBTbyBsb29rcyB0byBtZSB0 aGUgaW5pdCB0aW1lIHNldHRpbmcgdG8gdGhlIGVuZ2luZSBiYXNlZCBvbiBlY2MuZW5naW5lX3R5 cGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuICAKPiAKPiBXaGF0IHlvdSBkZXNjcmliZWQgaGVyZSBj YW4gd29yayBmb3IgdGhlIGh3LmVjYyByZWFkIHBhdGggKGVjYy5yZWFkX3BhZ2UgPSBicmNtbmFu ZF9yZWFkX3BhZ2UpIHdoaWNoIGFsd2F5cyBhc3N1bWVzIGVjYyBpcyBlbmFibGVkLiBBbHRob3Vn aCBpdCBpcyBwcm9iYWJseSBub3QgdG9vIGJhZCB3aXRoIHRoZXNlIHR3byBleHRyYSBvcGVyYXRp b24sIGl0IHdvdWxkIGJlIGJldHRlciBpZiB3ZSBkb24ndCBoYXZlIHRvIGFkZCBhbnl0aGluZyBh cyBvdXIgY3VycmVudCBjb2RlIGRvZXMuIEZvciB0aGUgYnJjbW5hbmRfcmVhZF9wYWdlX3Jhdywg IHdlIGN1cnJlbnRseSBkaXNhYmxlIHRoZSBlbmdpbmUgYW5kIHRoZW4gcmUtZW5hYmxlIGl0KGJ1 dCB3ZSBuZWVkIHRvIGZpeCBpdCB0byBvbmx5IGVuYWJsZSBpdCB3aXRoIGh3IGVjYyBlbmdpbmUg dHlwZSkuICBTbyBpdCBpcyBqdXN0IG9wcG9zaXRlIG9mIHlvdSBsb2dpYyBidXQgd29ya3MgdGhl IHNhbWUgd2l0aCBubyBpbXBhY3Qgb24gdGhlIG1vc3QgcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0 aC4KClRoaXMgaXMgbm90ICJteSIgbG9naWMsIHRoaXMgaXMgdGhlICJjb3JlJ3MiIGxvZ2ljLiBJ IGFtIHNheWluZzogeW91cgphcHByb2FjaCBpcyBicm9rZW4gYmVjYXVzZSB0aGF0IGlzIG5vdCBo b3cgdGhlIEFQSSBpcyBzdXBwb3NlZCB0byB3b3JrLApidXQgaXQgbW9zdGx5IHdvcmtzIGluIHRo ZSBzdGFuZGFyZCBjYXNlLgoKVGhhbmtzLApNaXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) (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 740AE664AD; Tue, 30 Jan 2024 11:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.195 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706612526; cv=none; b=mWQyEBa57p29bAwa1mcMjbfkaQGiSboT42CoDHDfDxI1QidRc4PgqFmCk19FkwlLiOeIDeZgEYAovd1PqYpwhLQtQ9ESPugRIEPOT4L1n3FiY0gbNbevGKdFKM0OMFe79F43cgSP9gno8v3hbCh++rRAJmpE8d2gX/ROxcSO1jM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706612526; c=relaxed/simple; bh=4q3jokNKpN7FbG1xwOr6J5bWLFuDX2JgkKsPpvsUWrQ=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ueId1ntJqbzkRRJxu0+iZq124yMsZEkqT9FLfOQNPAppWciKUO/e6+TRVyE035aimcvBIXJH6vHKMcvieBboktgIPKVS8CfveyGx1PBnUj1q/XM+PYwu51OfObaIoZaPCeJg54XQnkIFgv0JbZgBAQWRQBajEbdx1NpKJuvwUzw= 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=SCuEmcvT; arc=none smtp.client-ip=217.70.183.195 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="SCuEmcvT" Received: by mail.gandi.net (Postfix) with ESMTPSA id 4360560008; Tue, 30 Jan 2024 11:01:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1706612518; 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=U9iIqWPJOvOxFNmco/tQN2cBcwAteDC+6FjG3AbiQ0w=; b=SCuEmcvTO4sAv3vjTrjHFNeiJd6+2mLOResDSiDhowBL/TjggEhVsOqBneym/CLb/FsFNs Mkgqr1ONhI5tAIHBjfR2Hi2vErxfoWY1ckd3ipWhlTuFb8tzUSLzbm+13VSQqk/S1LD7Vj iOrMuD+Hl5tPXxmI5K3wfc3D8vwUNRTF9lJMJezIFyx953CAakvTCnrOOzYUAlFGxu5dVH KnLmvmOTWrKulYJraILGznAGCH6SAjvHND2JPUhOCvfjH56UYG/yxzHVMClvdyzK6maFP3 FyhRXH79eO2J/X0ckc3u+FqTGC8Z7qZvtmZkrp8N4lNYS0SgxW/rBT4a3Fbg+w== Date: Tue, 30 Jan 2024 12:01:55 +0100 From: Miquel Raynal To: William Zhang Cc: David Regan , 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: <20240130120155.3cb6feed@xps-13> In-Reply-To: <2a3edcf5-7afc-410c-a402-3d8cd3feb1da@broadcom.com> 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> 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 William, william.zhang@broadcom.com wrote on Tue, 30 Jan 2024 00:11:32 -0800: > Hi Miquel, >=20 > On 1/29/24 02:52, Miquel Raynal wrote: > > Hi David, > >=20 > > 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 s= elected =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/drivers/mt= d/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 brcmna= nd_host *host) > >>>>>> cfg->blk_adr_bytes =3D get_blk_adr_bytes(mtd->size, mtd->wr= itesize); > >>>>>> > >>>>>> if (chip->ecc.engine_type !=3D NAND_ECC_ENGINE_TYPE_ON_HOST= ) { > >>>>>> - dev_err(ctrl->dev, "only HW ECC supported; selected:= %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 ECC\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 no= t. > >> 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 brcmna= nd_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 ECC\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 disabled w= hile > >>>>> 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 > >=20 > > Sorry if I have not been clear. > >=20 > > This sequence: > > - init > > - enable hw ECC engine > > Is broken. > > =20 > ECC engine is not enabled for all the cases. Here we only intended to ena= ble it for the nand chip that is set to use NAND_ECC_ENGINE_TYPE_ON_HOST. T= he 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. You > = 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 can ha= ve 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 suff= icient. =20 >=20 > What you described here can work for the hw.ecc read path (ecc.read_page = =3D brcmnand_read_page) which always assumes ecc is enabled. Although it is= probably not too bad with these two extra operation, it would be better if= we don't have to add anything as our current code does. For the brcmnand_r= ead_page_raw, we currently disable the engine and then re-enable it(but we= need to fix it to only enable it with hw ecc engine type). So it is just = opposite of you logic but works the same with no impact on the most perform= ance critical path. 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. Thanks, Miqu=C3=A8l