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 D7DE1C5478C for ; Mon, 26 Feb 2024 08:36:52 +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=JXTSNTPGDaerZkpfW1r5uH7l28LiIKcH8bRAFG5RLfE=; b=u3SU/XdE/5GYBr pucCRKW2pJO4LxgGUSYHSsFJcxpvkuS9uYlqlHleuK1KYIgBQM7GWRDIdMzPd8dqfFLZNTPPxJ1IF KIMwk/7ROI7yua4sX1iu/rNL2EKyfzFoqS46cXjzcF47r8qj3K2vKTTGevoFV+1cJn4vasqoxW5vG p3rdYFiqIfNqEon/9CHl26XqrowzjLUj++S7R47l8yy3pZ1E0AC9gcp5BfJsGS382M5+yNon1tfSf zdCEqu1LVrWpPHGPHmDhhRBPQzZ5bcGkuAlf6LOl/mklNcV1xoAvlsE06Njp+edl+YOo3rQ0Zy3Us hnsI5iJvzcOXAMeRuXQQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1reWTf-0000000H1z0-05eY; Mon, 26 Feb 2024 08:36:47 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1reWTY-0000000H1vI-1WVG; Mon, 26 Feb 2024 08:36:44 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4ACA3240012; Mon, 26 Feb 2024 08:36:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708936595; 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=ed35DgZT8up8dS5tg0t3dwfRBrSktHLqjatLU9kFk9U=; b=hZq+vBySzyQVPfyS1qj/uShP2HwWpY1NMrZJZ07lNgp/pxnSPTsIsvCH8uQKP9+eSyATeu KxlK5CuI0WpBmtI2yr3B4D5qQS2wbLMAFTP184ftX+5aaGGR77Ky7YM/ARs3Mkj0hyySwy z+RGAJHBK7apr0dA/poIhqhjW4ZJky3gbBrUQXaFMdPZsgWtTgFOvFMb1p16r0Z4GjRh0O m4nkPcQcholIjgr8RvDwtIwtCXVpC78E2y7swG8nfaN6ir52i3qS9VdQq6QjEbFtutXujq nJb7ZsAM3WcNkLs7vqnWidxbkciim+D6V9euXV4pa38PO1kmvK+ZFdiaTNoT4g== Date: Mon, 26 Feb 2024 09:36:32 +0100 From: Miquel Raynal To: William Zhang Cc: Linux MTD List , Linux ARM List , Broadcom Kernel List , f.fainelli@gmail.com, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, David Regan , linux-kernel@vger.kernel.org, Vignesh Raghavendra , Brian Norris , Richard Weinberger Subject: Re: [PATCH v6 12/13] mtd: rawnand: brcmnand: Add support for getting ecc setting from strap Message-ID: <20240226093632.089d594c@xps-13> In-Reply-To: References: <20240223034758.13753-1-william.zhang@broadcom.com> <20240223034758.13753-13-william.zhang@broadcom.com> <20240223101852.005da3ad@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-20240226_003640_691076_50CC15AD X-CRM114-Status: GOOD ( 37.28 ) 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 SGkgV2lsbGlhbSwKCndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tIHdyb3RlIG9uIEZyaSwgMjMg RmViIDIwMjQgMDk6MjU6MDkgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiAyLzIzLzI0IDAx OjE4LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+ID4gSGkgV2lsbGlhbSwKPiA+IAo+ID4gd2lsbGlh bS56aGFuZ0Bicm9hZGNvbS5jb20gd3JvdGUgb24gVGh1LCAyMiBGZWIgMjAyNCAxOTo0Nzo1NyAt MDgwMDoKPiA+ICAgCj4gPj4gQkNNQkNBIGJyb2FkYmFuZCBTb0MgYmFzZWQgYm9hcmQgZGVzaWdu IGRvZXMgbm90IHNwZWNpZnkgZWNjIHNldHRpbmcgaW4KPiA+PiBkdHMgYnV0IHJhdGhlciB1c2Ug dGhlIFNvQyBOQU5EIHN0cmFwIGluZm8gdG8gb2J0YWluIHRoZSBlY2Mgc3RyZW5ndGgKPiA+PiBh bmQgc3BhcmUgYXJlYSBzaXplIHNldHRpbmcuIEFkZCBicmNtLG5hbmQtZWNjLXVzZS1zdHJhcCBk dHMgcHJvcGV0eSBmb3IKPiA+PiB0aGlzIHB1cnBvc2UgYW5kIHVwZGF0ZSBkcml2ZXIgdG8gc3Vw cG9ydCB0aGlzIG9wdGlvbi4gSG93ZXZlciB0aGVzZSB0d28KPiA+PiBvcHRpb25zIGNhbiBub3Qg YmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogV2lsbGlh bSBaaGFuZyA8d2lsbGlhbS56aGFuZ0Bicm9hZGNvbS5jb20+Cj4gPj4gUmV2aWV3ZWQtYnk6IERh dmlkIFJlZ2FuIDxkcmVnYW5AYnJvYWRjb20uY29tPgo+ID4+ICAKPiA+IAo+ID4gRllJIEkgZGlk IG5vdCByZWNlaXZlIHBhdGNoZXMgNywgOCwgOSwgd2hpY2ggbWFrZXMgdGhlIHNlcmllcyBudW1i ZXJpbmcKPiA+IHZlcnkgb2RkLgo+ID4gICAKPiBJIHdhcyB1c2luZyB0aGUgZ2V0IG1haW50YWlu ZXIgc2NyaXB0IG1haW5seSBhbmQgaXQgc2VuZHMgdG8gdGhlIGxpbnV4IE1URCBsaXN0LiAgSSB3 aWxsIGFkZCB5b3VyIGVtYWlsIGRpcmVjdGx5IG5leHQgdGltZS4KClllcywgSSBwcmVmZXIgdG8g YmUgaW4gQ2Mgb2YgdGhlIHdob2xlIHNlcmllcywgcGxlYXNlLgoKPiA+PiAtLS0KPiA+Pgo+ID4+ IENoYW5nZXMgaW4gdjY6Cj4gPj4gLSBDb21iaW5lIHRoZSBlY2Mgc3RlcCBzaXplIGFuZCBlY2Mg c3RyZW5ndGggaW50byBvbmUgZ2V0IGZ1bmN0aW9uCj4gPj4gLSBUcmVhdCBpdCBhcyBlcnJvciBj b25kaXRpb24gaWYgYm90aCBicmNtLG5hbmQtZWNjLXVzZS1zdHJhcCBhbmQgbmFuZAo+ID4+IGVj YyBkdHMgcHJvcGVydGllcyBhcmUgc2V0Cj4gPj4gLSBBZGQgaW50ZXJtZWRpYXRlIHN0ZXBzIHRv IGdldCB0aGUgc2VjdG9yIHNpemUgYml0ZmllbGQKPiA+Pgo+ID4+IENoYW5nZXMgaW4gdjU6IE5v bmUKPiA+PiBDaGFuZ2VzIGluIHY0Ogo+ID4+IC0gVXBkYXRlIHRoZSBjb21tZW50cyBmb3IgZWNj IHNldHRpbmcgc2VsZWN0aW9uCj4gPj4KPiA+PiBDaGFuZ2VzIGluIHYzOiBOb25lCj4gPj4gQ2hh bmdlcyBpbiB2MjoKPiA+PiAtIE1pbm9yIGNvc21ldGljIGZpeGVzCj4gPj4KPiA+PiAgIGRyaXZl cnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCA4MyArKysrKysrKysrKysrKysr KysrKysrLS0KPiA+PiAgIDEgZmlsZSBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21u YW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5j Cj4gPj4gaW5kZXggZWY3ZDM0MDQ3NWJlLi5lOGZmYzI4M2IzNjUgMTAwNjQ0Cj4gPj4gLS0tIGEv ZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4+ICsrKyBiL2RyaXZl cnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+PiBAQCAtMTAzOCw2ICsxMDM4 LDIyIEBAIHN0YXRpYyBpbmxpbmUgaW50IGJyY21uYW5kX3NlY3Rvcl8xa19zaGlmdChzdHJ1Y3Qg YnJjbW5hbmRfY29udHJvbGxlciAqY3RybCkKPiA+PiAgIAkJcmV0dXJuIC0xOwo+ID4+ICAgfSAg Cj4gPj4gICA+PiArc3RhdGljIGludCBicmNtbmFuZF9nZXRfc2VjdG9yX3NpemVfMWsoc3RydWN0 IGJyY21uYW5kX2hvc3QgKmhvc3QpICAKPiA+PiArewo+ID4+ICsJc3RydWN0IGJyY21uYW5kX2Nv bnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJsOwo+ID4+ICsJaW50IHNlY3Rvcl9zaXplX2JpdCA9 IGJyY21uYW5kX3NlY3Rvcl8xa19zaGlmdChjdHJsKTsKPiA+PiArCXUxNiBhY2NfY29udHJvbF9v ZmZzID0gYnJjbW5hbmRfY3Nfb2Zmc2V0KGN0cmwsIGhvc3QtPmNzLAo+ID4+ICsJCQkJCQkgIEJS Q01OQU5EX0NTX0FDQ19DT05UUk9MKTsKPiA+PiArCXUzMiBhY2NfY29udHJvbDsKPiA+PiArCj4g Pj4gKwlpZiAoc2VjdG9yX3NpemVfYml0IDwgMCkKPiA+PiArCQlyZXR1cm4gMDsKPiA+PiArCj4g Pj4gKwlhY2NfY29udHJvbCA9IG5hbmRfcmVhZHJlZyhjdHJsLCBhY2NfY29udHJvbF9vZmZzKTsK PiA+PiArCj4gPj4gKwlyZXR1cm4gKGFjY19jb250cm9sICYgQklUKHNlY3Rvcl9zaXplX2JpdCkp ID4+IHNlY3Rvcl9zaXplX2JpdDsgIAo+ID4gCj4gPiBGSUVMRF9QUkVQLCBGSUVMRF9HRVQsICpw bGVhc2UqLiAgCj4gWW91IHByb2JhYmx5IG1pc3NlZCBteSByZXBseSB0byB5b3VyIGNvbW1lbnRz IG9uIHRoZSBzYW1lIHBhdGNoIGluIHY1LiBIZXJlIGlzIHRoZSBsaW5rIGZvciB0aGUgcG9zdCBp biBjYXNlIGl0IGxvc3QgaW4geW91ciBlbWFpbDoKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sL2MxNDViOTBjLWU5ZjAtNGQ4Mi05NGNjLWJhZjdiZmRhNTk1NEBnbWFpbC5jb20vVC8jbTFk OTExZDJmMTE5ZjNiZDM0NWM1NzVhODFiNjBiYzJiZDhjNDYxZWIKCkkgZGlkbid0IG1pc3MgaXQs IGJ1dCB0aGUgcmVhc29uIGRvZXMgbm90IHNvdW5kIGxlZ2l0aW1hdGUgdG8gbWUuClBsZWFzZSB3 b3JrIG9uIGl0LCBpdCB3aWxsIGJlIHNvIG11Y2ggY2xlYW5lci4KCj4gVGhlIG1hc2sgaXMgbm90 IGNvbnN0YW50IGhlcmUgYW5kIGNhdXNlIGJ1aWxkIGVycm9ycy4KPiA+ICAgCj4gPj4gK30KPiA+ PiArCj4gPj4gICBzdGF0aWMgdm9pZCBicmNtbmFuZF9zZXRfc2VjdG9yX3NpemVfMWsoc3RydWN0 IGJyY21uYW5kX2hvc3QgKmhvc3QsIGludCB2YWwpCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0IGJy Y21uYW5kX2NvbnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJsOwo+ID4+IEBAIC0xMDU1LDYgKzEw NzEsNDMgQEAgc3RhdGljIHZvaWQgYnJjbW5hbmRfc2V0X3NlY3Rvcl9zaXplXzFrKHN0cnVjdCBi cmNtbmFuZF9ob3N0ICpob3N0LCBpbnQgdmFsKQo+ID4+ICAgCW5hbmRfd3JpdGVyZWcoY3RybCwg YWNjX2NvbnRyb2xfb2ZmcywgdG1wKTsKPiA+PiAgIH0gIAo+ID4+ICAgPj4gK3N0YXRpYyBpbnQg YnJjbW5hbmRfZ2V0X3NwYXJlX3NpemUoc3RydWN0IGJyY21uYW5kX2hvc3QgKmhvc3QpICAKPiA+ PiArewo+ID4+ICsJc3RydWN0IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJs Owo+ID4+ICsJdTE2IGFjY19jb250cm9sX29mZnMgPSBicmNtbmFuZF9jc19vZmZzZXQoY3RybCwg aG9zdC0+Y3MsCj4gPj4gKwkJCQkJCSAgQlJDTU5BTkRfQ1NfQUNDX0NPTlRST0wpOwo+ID4+ICsJ dTMyIGFjYyA9IG5hbmRfcmVhZHJlZyhjdHJsLCBhY2NfY29udHJvbF9vZmZzKTsKPiA+PiArCj4g Pj4gKwlyZXR1cm4gKGFjYyAmIGJyY21uYW5kX3NwYXJlX2FyZWFfbWFzayhjdHJsKSk7Cj4gPj4g K30KPiA+PiArCj4gPj4gK3N0YXRpYyB2b2lkIGJyY21uYW5kX2dldF9lY2Nfc2V0dGluZ3Moc3Ry dWN0IGJyY21uYW5kX2hvc3QgKmhvc3QsIHN0cnVjdCBuYW5kX2NoaXAgKmNoaXApCj4gPj4gK3sK PiA+PiArCXN0cnVjdCBicmNtbmFuZF9jb250cm9sbGVyICpjdHJsID0gaG9zdC0+Y3RybDsKPiA+ PiArCXUxNiBhY2NfY29udHJvbF9vZmZzID0gYnJjbW5hbmRfY3Nfb2Zmc2V0KGN0cmwsIGhvc3Qt PmNzLAo+ID4+ICsJCQkJCQkgIEJSQ01OQU5EX0NTX0FDQ19DT05UUk9MKTsKPiA+PiArCWludCBz ZWN0b3Jfc2l6ZV8xayA9IGJyY21uYW5kX2dldF9zZWN0b3Jfc2l6ZV8xayhob3N0KTsKPiA+PiAr CWludCBzcGFyZV9hcmVhX3NpemUsIGVjY19sZXZlbDsKPiA+PiArCXUzMiBhY2M7Cj4gPj4gKwo+ ID4+ICsJc3BhcmVfYXJlYV9zaXplID0gYnJjbW5hbmRfZ2V0X3NwYXJlX3NpemUoaG9zdCk7Cj4g Pj4gKwlhY2MgPSBuYW5kX3JlYWRyZWcoY3RybCwgYWNjX2NvbnRyb2xfb2Zmcyk7Cj4gPj4gKwll Y2NfbGV2ZWwgPSAoYWNjICYgYnJjbW5hbmRfZWNjX2xldmVsX21hc2soY3RybCkpID4+IGN0cmwt PmVjY19sZXZlbF9zaGlmdDsgIAo+ID4gCj4gPiBkaXR0bwo+ID4gICAKPiA+PiArCWlmIChzZWN0 b3Jfc2l6ZV8xaykKPiA+PiArCQljaGlwLT5lY2Muc3RyZW5ndGggPSBlY2NfbGV2ZWwgKiAyOwo+ ID4+ICsJZWxzZSBpZiAoc3BhcmVfYXJlYV9zaXplID09IDE2ICYmIGVjY19sZXZlbCA9PSAxNSkK PiA+PiArCQljaGlwLT5lY2Muc3RyZW5ndGggPSAxOyAvKiBoYW1taW5nICovCj4gPj4gKwllbHNl Cj4gPj4gKwkJY2hpcC0+ZWNjLnN0cmVuZ3RoID0gZWNjX2xldmVsOwo+ID4+ICsKPiA+PiArCWlm IChjaGlwLT5lY2Muc2l6ZSA9PSAwKSB7Cj4gPj4gKwkJaWYgKHNlY3Rvcl9zaXplXzFrIDwgMCkg IAo+ID4gCj4gPiBTaG91bGQgYmUgPD0gMCBJIGd1ZXNzCj4gPiAgIAo+ID4+ICsJCQljaGlwLT5l Y2Muc2l6ZSA9IDUxMjsKPiA+PiArCQllbHNlCj4gPj4gKwkJCWNoaXAtPmVjYy5zaXplID0gNTEy IDw8IHNlY3Rvcl9zaXplXzFrOyAgCj4gPiAKPiA+IFdoYXQgaXMgdGhpcz8gQXJlIHlvdSBleHBl Y3Rpbmcgc2VjdG9yX3NpemVfMWsgdG8gYmUgMCBvciAxCj4gPiBhbmQgdGh1cyBtdWx0aXBseSA1 MTIgYnkgdHdvPwo+ID4gICAKPiBFeHBsYWluZWQgaW4gdGhlIHNhbWUgcG9zdCBhYm92ZS4gU2Vj dG9yX3NpemVfMWsgY2FuIGJlIG5lZ2F0aXZlIG51bWJlciBmb3IgZXJyb3IgY29uZGl0aW9uIHdo ZXJlIHdlIGRlZmF1bHQgdG8gNTEyIHN0ZXAgc2l6ZS4gT3RoZXJ3aXNlIDAgZm9yIDUxMiBhbmQg MSBmb3IgMUsgd2hpY2ggdGhlIGFib3ZlIHNoaWZ0IHRha2VzIGNhcmUgb2YuCgpUaGUgbG9naWMg aXMgdW5jbGVhciwgdW5uYXR1cmFsLiBQbGVhc2Ugc2ltcGxpZnkuIFlvdSBoYXZlIHRoZQpwb3Nz aWJpbGl0eSB0byBjaGFuZ2UgYWxsIHRoZSBkcml2ZXIsIHNvIHBsZWFzZSBzaW1wbGlmeSBhbmQg Y2xhcmlmeQp0aGUgbG9naWMuCgo+ID4gUGxlYXNlIGp1c3QgdXNlOgo+ID4gCQkJY2hpcC0+ZWNj LnNpemUgPSBTWl8xSzsKPiA+IAkJCSAgCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vz c2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1tdGQvCg== 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 1960DC48BF6 for ; Mon, 26 Feb 2024 08:37:01 +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=41uQ994nFn4iub2B66v1SyPq9OVaI4RliHo4YblcyjY=; b=OOzp4HTBZRMO0f 00yVL8H4AIpeMuxw6FATBbUFiJ4x11ApUpt1O3+CXEuHH5yktHgOXj7kJt1ictOkAi+lMYkeZS84M TiYXYz99OxWVf6NYkxgBygV5GH0y3RMuRpwy6y3YtsMkkVRVutbVhfTvyh8Ll9pEzlB6p3b3qEynB 8YA/urc5BBqRlTIKKW30+oZ5Njo9fHarKoEowOigMvJS3SaFwCfDHTvZvwvLFKjyGyXYtAbCTOZGB lDPr+R3l6Qtnmae91reEMc2j0K0CMJirEa6BFB7IckFS1QWwm+II1jxbIE4CNvyreDgz5CPq9zXxa 9u3EGtCTA4DYO2XxkipA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1reWTe-0000000H1yq-0QTp; Mon, 26 Feb 2024 08:36:46 +0000 Received: from relay1-d.mail.gandi.net ([217.70.183.193]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1reWTY-0000000H1vI-1WVG; Mon, 26 Feb 2024 08:36:44 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4ACA3240012; Mon, 26 Feb 2024 08:36:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708936595; 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=ed35DgZT8up8dS5tg0t3dwfRBrSktHLqjatLU9kFk9U=; b=hZq+vBySzyQVPfyS1qj/uShP2HwWpY1NMrZJZ07lNgp/pxnSPTsIsvCH8uQKP9+eSyATeu KxlK5CuI0WpBmtI2yr3B4D5qQS2wbLMAFTP184ftX+5aaGGR77Ky7YM/ARs3Mkj0hyySwy z+RGAJHBK7apr0dA/poIhqhjW4ZJky3gbBrUQXaFMdPZsgWtTgFOvFMb1p16r0Z4GjRh0O m4nkPcQcholIjgr8RvDwtIwtCXVpC78E2y7swG8nfaN6ir52i3qS9VdQq6QjEbFtutXujq nJb7ZsAM3WcNkLs7vqnWidxbkciim+D6V9euXV4pa38PO1kmvK+ZFdiaTNoT4g== Date: Mon, 26 Feb 2024 09:36:32 +0100 From: Miquel Raynal To: William Zhang Cc: Linux MTD List , Linux ARM List , Broadcom Kernel List , f.fainelli@gmail.com, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, David Regan , linux-kernel@vger.kernel.org, Vignesh Raghavendra , Brian Norris , Richard Weinberger Subject: Re: [PATCH v6 12/13] mtd: rawnand: brcmnand: Add support for getting ecc setting from strap Message-ID: <20240226093632.089d594c@xps-13> In-Reply-To: References: <20240223034758.13753-1-william.zhang@broadcom.com> <20240223034758.13753-13-william.zhang@broadcom.com> <20240223101852.005da3ad@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-20240226_003640_691076_50CC15AD X-CRM114-Status: GOOD ( 37.28 ) 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 SGkgV2lsbGlhbSwKCndpbGxpYW0uemhhbmdAYnJvYWRjb20uY29tIHdyb3RlIG9uIEZyaSwgMjMg RmViIDIwMjQgMDk6MjU6MDkgLTA4MDA6Cgo+IEhpIE1pcXVlbCwKPiAKPiBPbiAyLzIzLzI0IDAx OjE4LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOgo+ID4gSGkgV2lsbGlhbSwKPiA+IAo+ID4gd2lsbGlh bS56aGFuZ0Bicm9hZGNvbS5jb20gd3JvdGUgb24gVGh1LCAyMiBGZWIgMjAyNCAxOTo0Nzo1NyAt MDgwMDoKPiA+ICAgCj4gPj4gQkNNQkNBIGJyb2FkYmFuZCBTb0MgYmFzZWQgYm9hcmQgZGVzaWdu IGRvZXMgbm90IHNwZWNpZnkgZWNjIHNldHRpbmcgaW4KPiA+PiBkdHMgYnV0IHJhdGhlciB1c2Ug dGhlIFNvQyBOQU5EIHN0cmFwIGluZm8gdG8gb2J0YWluIHRoZSBlY2Mgc3RyZW5ndGgKPiA+PiBh bmQgc3BhcmUgYXJlYSBzaXplIHNldHRpbmcuIEFkZCBicmNtLG5hbmQtZWNjLXVzZS1zdHJhcCBk dHMgcHJvcGV0eSBmb3IKPiA+PiB0aGlzIHB1cnBvc2UgYW5kIHVwZGF0ZSBkcml2ZXIgdG8gc3Vw cG9ydCB0aGlzIG9wdGlvbi4gSG93ZXZlciB0aGVzZSB0d28KPiA+PiBvcHRpb25zIGNhbiBub3Qg YmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogV2lsbGlh bSBaaGFuZyA8d2lsbGlhbS56aGFuZ0Bicm9hZGNvbS5jb20+Cj4gPj4gUmV2aWV3ZWQtYnk6IERh dmlkIFJlZ2FuIDxkcmVnYW5AYnJvYWRjb20uY29tPgo+ID4+ICAKPiA+IAo+ID4gRllJIEkgZGlk IG5vdCByZWNlaXZlIHBhdGNoZXMgNywgOCwgOSwgd2hpY2ggbWFrZXMgdGhlIHNlcmllcyBudW1i ZXJpbmcKPiA+IHZlcnkgb2RkLgo+ID4gICAKPiBJIHdhcyB1c2luZyB0aGUgZ2V0IG1haW50YWlu ZXIgc2NyaXB0IG1haW5seSBhbmQgaXQgc2VuZHMgdG8gdGhlIGxpbnV4IE1URCBsaXN0LiAgSSB3 aWxsIGFkZCB5b3VyIGVtYWlsIGRpcmVjdGx5IG5leHQgdGltZS4KClllcywgSSBwcmVmZXIgdG8g YmUgaW4gQ2Mgb2YgdGhlIHdob2xlIHNlcmllcywgcGxlYXNlLgoKPiA+PiAtLS0KPiA+Pgo+ID4+ IENoYW5nZXMgaW4gdjY6Cj4gPj4gLSBDb21iaW5lIHRoZSBlY2Mgc3RlcCBzaXplIGFuZCBlY2Mg c3RyZW5ndGggaW50byBvbmUgZ2V0IGZ1bmN0aW9uCj4gPj4gLSBUcmVhdCBpdCBhcyBlcnJvciBj b25kaXRpb24gaWYgYm90aCBicmNtLG5hbmQtZWNjLXVzZS1zdHJhcCBhbmQgbmFuZAo+ID4+IGVj YyBkdHMgcHJvcGVydGllcyBhcmUgc2V0Cj4gPj4gLSBBZGQgaW50ZXJtZWRpYXRlIHN0ZXBzIHRv IGdldCB0aGUgc2VjdG9yIHNpemUgYml0ZmllbGQKPiA+Pgo+ID4+IENoYW5nZXMgaW4gdjU6IE5v bmUKPiA+PiBDaGFuZ2VzIGluIHY0Ogo+ID4+IC0gVXBkYXRlIHRoZSBjb21tZW50cyBmb3IgZWNj IHNldHRpbmcgc2VsZWN0aW9uCj4gPj4KPiA+PiBDaGFuZ2VzIGluIHYzOiBOb25lCj4gPj4gQ2hh bmdlcyBpbiB2MjoKPiA+PiAtIE1pbm9yIGNvc21ldGljIGZpeGVzCj4gPj4KPiA+PiAgIGRyaXZl cnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMgfCA4MyArKysrKysrKysrKysrKysr KysrKysrLS0KPiA+PiAgIDEgZmlsZSBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L2JyY21u YW5kL2JyY21uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL3Jhdy9icmNtbmFuZC9icmNtbmFuZC5j Cj4gPj4gaW5kZXggZWY3ZDM0MDQ3NWJlLi5lOGZmYzI4M2IzNjUgMTAwNjQ0Cj4gPj4gLS0tIGEv ZHJpdmVycy9tdGQvbmFuZC9yYXcvYnJjbW5hbmQvYnJjbW5hbmQuYwo+ID4+ICsrKyBiL2RyaXZl cnMvbXRkL25hbmQvcmF3L2JyY21uYW5kL2JyY21uYW5kLmMKPiA+PiBAQCAtMTAzOCw2ICsxMDM4 LDIyIEBAIHN0YXRpYyBpbmxpbmUgaW50IGJyY21uYW5kX3NlY3Rvcl8xa19zaGlmdChzdHJ1Y3Qg YnJjbW5hbmRfY29udHJvbGxlciAqY3RybCkKPiA+PiAgIAkJcmV0dXJuIC0xOwo+ID4+ICAgfSAg Cj4gPj4gICA+PiArc3RhdGljIGludCBicmNtbmFuZF9nZXRfc2VjdG9yX3NpemVfMWsoc3RydWN0 IGJyY21uYW5kX2hvc3QgKmhvc3QpICAKPiA+PiArewo+ID4+ICsJc3RydWN0IGJyY21uYW5kX2Nv bnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJsOwo+ID4+ICsJaW50IHNlY3Rvcl9zaXplX2JpdCA9 IGJyY21uYW5kX3NlY3Rvcl8xa19zaGlmdChjdHJsKTsKPiA+PiArCXUxNiBhY2NfY29udHJvbF9v ZmZzID0gYnJjbW5hbmRfY3Nfb2Zmc2V0KGN0cmwsIGhvc3QtPmNzLAo+ID4+ICsJCQkJCQkgIEJS Q01OQU5EX0NTX0FDQ19DT05UUk9MKTsKPiA+PiArCXUzMiBhY2NfY29udHJvbDsKPiA+PiArCj4g Pj4gKwlpZiAoc2VjdG9yX3NpemVfYml0IDwgMCkKPiA+PiArCQlyZXR1cm4gMDsKPiA+PiArCj4g Pj4gKwlhY2NfY29udHJvbCA9IG5hbmRfcmVhZHJlZyhjdHJsLCBhY2NfY29udHJvbF9vZmZzKTsK PiA+PiArCj4gPj4gKwlyZXR1cm4gKGFjY19jb250cm9sICYgQklUKHNlY3Rvcl9zaXplX2JpdCkp ID4+IHNlY3Rvcl9zaXplX2JpdDsgIAo+ID4gCj4gPiBGSUVMRF9QUkVQLCBGSUVMRF9HRVQsICpw bGVhc2UqLiAgCj4gWW91IHByb2JhYmx5IG1pc3NlZCBteSByZXBseSB0byB5b3VyIGNvbW1lbnRz IG9uIHRoZSBzYW1lIHBhdGNoIGluIHY1LiBIZXJlIGlzIHRoZSBsaW5rIGZvciB0aGUgcG9zdCBp biBjYXNlIGl0IGxvc3QgaW4geW91ciBlbWFpbDoKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sL2MxNDViOTBjLWU5ZjAtNGQ4Mi05NGNjLWJhZjdiZmRhNTk1NEBnbWFpbC5jb20vVC8jbTFk OTExZDJmMTE5ZjNiZDM0NWM1NzVhODFiNjBiYzJiZDhjNDYxZWIKCkkgZGlkbid0IG1pc3MgaXQs IGJ1dCB0aGUgcmVhc29uIGRvZXMgbm90IHNvdW5kIGxlZ2l0aW1hdGUgdG8gbWUuClBsZWFzZSB3 b3JrIG9uIGl0LCBpdCB3aWxsIGJlIHNvIG11Y2ggY2xlYW5lci4KCj4gVGhlIG1hc2sgaXMgbm90 IGNvbnN0YW50IGhlcmUgYW5kIGNhdXNlIGJ1aWxkIGVycm9ycy4KPiA+ICAgCj4gPj4gK30KPiA+ PiArCj4gPj4gICBzdGF0aWMgdm9pZCBicmNtbmFuZF9zZXRfc2VjdG9yX3NpemVfMWsoc3RydWN0 IGJyY21uYW5kX2hvc3QgKmhvc3QsIGludCB2YWwpCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0IGJy Y21uYW5kX2NvbnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJsOwo+ID4+IEBAIC0xMDU1LDYgKzEw NzEsNDMgQEAgc3RhdGljIHZvaWQgYnJjbW5hbmRfc2V0X3NlY3Rvcl9zaXplXzFrKHN0cnVjdCBi cmNtbmFuZF9ob3N0ICpob3N0LCBpbnQgdmFsKQo+ID4+ICAgCW5hbmRfd3JpdGVyZWcoY3RybCwg YWNjX2NvbnRyb2xfb2ZmcywgdG1wKTsKPiA+PiAgIH0gIAo+ID4+ICAgPj4gK3N0YXRpYyBpbnQg YnJjbW5hbmRfZ2V0X3NwYXJlX3NpemUoc3RydWN0IGJyY21uYW5kX2hvc3QgKmhvc3QpICAKPiA+ PiArewo+ID4+ICsJc3RydWN0IGJyY21uYW5kX2NvbnRyb2xsZXIgKmN0cmwgPSBob3N0LT5jdHJs Owo+ID4+ICsJdTE2IGFjY19jb250cm9sX29mZnMgPSBicmNtbmFuZF9jc19vZmZzZXQoY3RybCwg aG9zdC0+Y3MsCj4gPj4gKwkJCQkJCSAgQlJDTU5BTkRfQ1NfQUNDX0NPTlRST0wpOwo+ID4+ICsJ dTMyIGFjYyA9IG5hbmRfcmVhZHJlZyhjdHJsLCBhY2NfY29udHJvbF9vZmZzKTsKPiA+PiArCj4g Pj4gKwlyZXR1cm4gKGFjYyAmIGJyY21uYW5kX3NwYXJlX2FyZWFfbWFzayhjdHJsKSk7Cj4gPj4g K30KPiA+PiArCj4gPj4gK3N0YXRpYyB2b2lkIGJyY21uYW5kX2dldF9lY2Nfc2V0dGluZ3Moc3Ry dWN0IGJyY21uYW5kX2hvc3QgKmhvc3QsIHN0cnVjdCBuYW5kX2NoaXAgKmNoaXApCj4gPj4gK3sK PiA+PiArCXN0cnVjdCBicmNtbmFuZF9jb250cm9sbGVyICpjdHJsID0gaG9zdC0+Y3RybDsKPiA+ PiArCXUxNiBhY2NfY29udHJvbF9vZmZzID0gYnJjbW5hbmRfY3Nfb2Zmc2V0KGN0cmwsIGhvc3Qt PmNzLAo+ID4+ICsJCQkJCQkgIEJSQ01OQU5EX0NTX0FDQ19DT05UUk9MKTsKPiA+PiArCWludCBz ZWN0b3Jfc2l6ZV8xayA9IGJyY21uYW5kX2dldF9zZWN0b3Jfc2l6ZV8xayhob3N0KTsKPiA+PiAr CWludCBzcGFyZV9hcmVhX3NpemUsIGVjY19sZXZlbDsKPiA+PiArCXUzMiBhY2M7Cj4gPj4gKwo+ ID4+ICsJc3BhcmVfYXJlYV9zaXplID0gYnJjbW5hbmRfZ2V0X3NwYXJlX3NpemUoaG9zdCk7Cj4g Pj4gKwlhY2MgPSBuYW5kX3JlYWRyZWcoY3RybCwgYWNjX2NvbnRyb2xfb2Zmcyk7Cj4gPj4gKwll Y2NfbGV2ZWwgPSAoYWNjICYgYnJjbW5hbmRfZWNjX2xldmVsX21hc2soY3RybCkpID4+IGN0cmwt PmVjY19sZXZlbF9zaGlmdDsgIAo+ID4gCj4gPiBkaXR0bwo+ID4gICAKPiA+PiArCWlmIChzZWN0 b3Jfc2l6ZV8xaykKPiA+PiArCQljaGlwLT5lY2Muc3RyZW5ndGggPSBlY2NfbGV2ZWwgKiAyOwo+ ID4+ICsJZWxzZSBpZiAoc3BhcmVfYXJlYV9zaXplID09IDE2ICYmIGVjY19sZXZlbCA9PSAxNSkK PiA+PiArCQljaGlwLT5lY2Muc3RyZW5ndGggPSAxOyAvKiBoYW1taW5nICovCj4gPj4gKwllbHNl Cj4gPj4gKwkJY2hpcC0+ZWNjLnN0cmVuZ3RoID0gZWNjX2xldmVsOwo+ID4+ICsKPiA+PiArCWlm IChjaGlwLT5lY2Muc2l6ZSA9PSAwKSB7Cj4gPj4gKwkJaWYgKHNlY3Rvcl9zaXplXzFrIDwgMCkg IAo+ID4gCj4gPiBTaG91bGQgYmUgPD0gMCBJIGd1ZXNzCj4gPiAgIAo+ID4+ICsJCQljaGlwLT5l Y2Muc2l6ZSA9IDUxMjsKPiA+PiArCQllbHNlCj4gPj4gKwkJCWNoaXAtPmVjYy5zaXplID0gNTEy IDw8IHNlY3Rvcl9zaXplXzFrOyAgCj4gPiAKPiA+IFdoYXQgaXMgdGhpcz8gQXJlIHlvdSBleHBl Y3Rpbmcgc2VjdG9yX3NpemVfMWsgdG8gYmUgMCBvciAxCj4gPiBhbmQgdGh1cyBtdWx0aXBseSA1 MTIgYnkgdHdvPwo+ID4gICAKPiBFeHBsYWluZWQgaW4gdGhlIHNhbWUgcG9zdCBhYm92ZS4gU2Vj dG9yX3NpemVfMWsgY2FuIGJlIG5lZ2F0aXZlIG51bWJlciBmb3IgZXJyb3IgY29uZGl0aW9uIHdo ZXJlIHdlIGRlZmF1bHQgdG8gNTEyIHN0ZXAgc2l6ZS4gT3RoZXJ3aXNlIDAgZm9yIDUxMiBhbmQg MSBmb3IgMUsgd2hpY2ggdGhlIGFib3ZlIHNoaWZ0IHRha2VzIGNhcmUgb2YuCgpUaGUgbG9naWMg aXMgdW5jbGVhciwgdW5uYXR1cmFsLiBQbGVhc2Ugc2ltcGxpZnkuIFlvdSBoYXZlIHRoZQpwb3Nz aWJpbGl0eSB0byBjaGFuZ2UgYWxsIHRoZSBkcml2ZXIsIHNvIHBsZWFzZSBzaW1wbGlmeSBhbmQg Y2xhcmlmeQp0aGUgbG9naWMuCgo+ID4gUGxlYXNlIGp1c3QgdXNlOgo+ID4gCQkJY2hpcC0+ZWNj LnNpemUgPSBTWl8xSzsKPiA+IAkJCSAgCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) (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 B7A134F1EB for ; Mon, 26 Feb 2024 08:36:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.193 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708936605; cv=none; b=Ceeor+lxT/jpejVsZumKeejUX1BEF6oNwxqs3gZKyOmQgjMjDhRUrMYsCF3spoYN6RhfnT8yX7gTYikf6Aj/tyqS0tEmNdgsFH7Dv1nwgvcBlgfnQTUF9RaauPHF+szkXMRGyg+054EFtwpaI5tCM5TN88/B+NRwhMV4M5rWrSQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708936605; c=relaxed/simple; bh=USQSwjGxXRHG+T/iy/o6M4+VJrO08230zXWfO5g1b2o=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=P5045dHWPhGK8hRCfHXq3vGeuJZdXeGBSEmLAmHVw8wIe9uj3HKO4sFcNpSAK1eUYReqk8NFIPtiaE7X4h8vxlmehBEzjnwoYpMteym0rouxkG48IQD1uEUd5ABWNeYQpzuBN2w77W/oB/SYts9IBLp+e6PL+K0pxmfT9+zlK9A= 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=hZq+vByS; arc=none smtp.client-ip=217.70.183.193 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="hZq+vByS" Received: by mail.gandi.net (Postfix) with ESMTPSA id 4ACA3240012; Mon, 26 Feb 2024 08:36:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708936595; 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=ed35DgZT8up8dS5tg0t3dwfRBrSktHLqjatLU9kFk9U=; b=hZq+vBySzyQVPfyS1qj/uShP2HwWpY1NMrZJZ07lNgp/pxnSPTsIsvCH8uQKP9+eSyATeu KxlK5CuI0WpBmtI2yr3B4D5qQS2wbLMAFTP184ftX+5aaGGR77Ky7YM/ARs3Mkj0hyySwy z+RGAJHBK7apr0dA/poIhqhjW4ZJky3gbBrUQXaFMdPZsgWtTgFOvFMb1p16r0Z4GjRh0O m4nkPcQcholIjgr8RvDwtIwtCXVpC78E2y7swG8nfaN6ir52i3qS9VdQq6QjEbFtutXujq nJb7ZsAM3WcNkLs7vqnWidxbkciim+D6V9euXV4pa38PO1kmvK+ZFdiaTNoT4g== Date: Mon, 26 Feb 2024 09:36:32 +0100 From: Miquel Raynal To: William Zhang Cc: Linux MTD List , Linux ARM List , Broadcom Kernel List , f.fainelli@gmail.com, kursad.oney@broadcom.com, joel.peshkin@broadcom.com, anand.gore@broadcom.com, dregan@mail.com, kamal.dasu@broadcom.com, tomer.yacoby@broadcom.com, dan.beygelman@broadcom.com, David Regan , linux-kernel@vger.kernel.org, Vignesh Raghavendra , Brian Norris , Richard Weinberger Subject: Re: [PATCH v6 12/13] mtd: rawnand: brcmnand: Add support for getting ecc setting from strap Message-ID: <20240226093632.089d594c@xps-13> In-Reply-To: References: <20240223034758.13753-1-william.zhang@broadcom.com> <20240223034758.13753-13-william.zhang@broadcom.com> <20240223101852.005da3ad@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: linux-kernel@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 Fri, 23 Feb 2024 09:25:09 -0800: > Hi Miquel, >=20 > On 2/23/24 01:18, Miquel Raynal wrote: > > Hi William, > >=20 > > william.zhang@broadcom.com wrote on Thu, 22 Feb 2024 19:47:57 -0800: > > =20 > >> BCMBCA broadband SoC based board design does not specify ecc setting in > >> dts but rather use the SoC NAND strap info to obtain the ecc strength > >> and spare area size setting. Add brcm,nand-ecc-use-strap dts propety f= or > >> this purpose and update driver to support this option. However these t= wo > >> options can not be used at the same time. > >> > >> Signed-off-by: William Zhang > >> Reviewed-by: David Regan > >> =20 > >=20 > > FYI I did not receive patches 7, 8, 9, which makes the series numbering > > very odd. > > =20 > I was using the get maintainer script mainly and it sends to the linux MT= D list. I will add your email directly next time. Yes, I prefer to be in Cc of the whole series, please. > >> --- > >> > >> Changes in v6: > >> - Combine the ecc step size and ecc strength into one get function > >> - Treat it as error condition if both brcm,nand-ecc-use-strap and nand > >> ecc dts properties are set > >> - Add intermediate steps to get the sector size bitfield > >> > >> Changes in v5: None > >> Changes in v4: > >> - Update the comments for ecc setting selection > >> > >> Changes in v3: None > >> Changes in v2: > >> - Minor cosmetic fixes > >> > >> drivers/mtd/nand/raw/brcmnand/brcmnand.c | 83 ++++++++++++++++++++++= -- > >> 1 file changed, 77 insertions(+), 6 deletions(-) > >> > >> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/na= nd/raw/brcmnand/brcmnand.c > >> index ef7d340475be..e8ffc283b365 100644 > >> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c > >> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c > >> @@ -1038,6 +1038,22 @@ static inline int brcmnand_sector_1k_shift(stru= ct brcmnand_controller *ctrl) > >> return -1; > >> } =20 > >> >> +static int brcmnand_get_sector_size_1k(struct brcmnand_host *hos= t) =20 > >> +{ > >> + struct brcmnand_controller *ctrl =3D host->ctrl; > >> + int sector_size_bit =3D brcmnand_sector_1k_shift(ctrl); > >> + u16 acc_control_offs =3D brcmnand_cs_offset(ctrl, host->cs, > >> + BRCMNAND_CS_ACC_CONTROL); > >> + u32 acc_control; > >> + > >> + if (sector_size_bit < 0) > >> + return 0; > >> + > >> + acc_control =3D nand_readreg(ctrl, acc_control_offs); > >> + > >> + return (acc_control & BIT(sector_size_bit)) >> sector_size_bit; =20 > >=20 > > FIELD_PREP, FIELD_GET, *please*. =20 > You probably missed my reply to your comments on the same patch in v5. He= re is the link for the post in case it lost in your email: > https://lore.kernel.org/lkml/c145b90c-e9f0-4d82-94cc-baf7bfda5954@gmail.c= om/T/#m1d911d2f119f3bd345c575a81b60bc2bd8c461eb I didn't miss it, but the reason does not sound legitimate to me. Please work on it, it will be so much cleaner. > The mask is not constant here and cause build errors. > > =20 > >> +} > >> + > >> static void brcmnand_set_sector_size_1k(struct brcmnand_host *host, = int val) > >> { > >> struct brcmnand_controller *ctrl =3D host->ctrl; > >> @@ -1055,6 +1071,43 @@ static void brcmnand_set_sector_size_1k(struct = brcmnand_host *host, int val) > >> nand_writereg(ctrl, acc_control_offs, tmp); > >> } =20 > >> >> +static int brcmnand_get_spare_size(struct brcmnand_host *host) = =20 > >> +{ > >> + struct brcmnand_controller *ctrl =3D host->ctrl; > >> + u16 acc_control_offs =3D brcmnand_cs_offset(ctrl, host->cs, > >> + BRCMNAND_CS_ACC_CONTROL); > >> + u32 acc =3D nand_readreg(ctrl, acc_control_offs); > >> + > >> + return (acc & brcmnand_spare_area_mask(ctrl)); > >> +} > >> + > >> +static void brcmnand_get_ecc_settings(struct brcmnand_host *host, str= uct nand_chip *chip) > >> +{ > >> + struct brcmnand_controller *ctrl =3D host->ctrl; > >> + u16 acc_control_offs =3D brcmnand_cs_offset(ctrl, host->cs, > >> + BRCMNAND_CS_ACC_CONTROL); > >> + int sector_size_1k =3D brcmnand_get_sector_size_1k(host); > >> + int spare_area_size, ecc_level; > >> + u32 acc; > >> + > >> + spare_area_size =3D brcmnand_get_spare_size(host); > >> + acc =3D nand_readreg(ctrl, acc_control_offs); > >> + ecc_level =3D (acc & brcmnand_ecc_level_mask(ctrl)) >> ctrl->ecc_lev= el_shift; =20 > >=20 > > ditto > > =20 > >> + if (sector_size_1k) > >> + chip->ecc.strength =3D ecc_level * 2; > >> + else if (spare_area_size =3D=3D 16 && ecc_level =3D=3D 15) > >> + chip->ecc.strength =3D 1; /* hamming */ > >> + else > >> + chip->ecc.strength =3D ecc_level; > >> + > >> + if (chip->ecc.size =3D=3D 0) { > >> + if (sector_size_1k < 0) =20 > >=20 > > Should be <=3D 0 I guess > > =20 > >> + chip->ecc.size =3D 512; > >> + else > >> + chip->ecc.size =3D 512 << sector_size_1k; =20 > >=20 > > What is this? Are you expecting sector_size_1k to be 0 or 1 > > and thus multiply 512 by two? > > =20 > Explained in the same post above. Sector_size_1k can be negative number f= or error condition where we default to 512 step size. Otherwise 0 for 512 a= nd 1 for 1K which the above shift takes care of. The logic is unclear, unnatural. Please simplify. You have the possibility to change all the driver, so please simplify and clarify the logic. > > Please just use: > > chip->ecc.size =3D SZ_1K; > > =20 Thanks, Miqu=C3=A8l