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 0E1A3E80A9E for ; Wed, 27 Sep 2023 07:21: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=MegyHKVuY8cTLsE82ICIIWmeszKL7/LwSFSf08jdLh8=; b=ZR6gXsnISqXrUt k5M1I7XfvCN5NvHjLmjGvHi4RXfLQR/J9icRpBi3UvuxKFlseskaepKHtwJoaBCohHbH3tK9OLLiV D/w0wDVwyXoLP/TBFtkXMpce2kKKGMd5aw+amk3/JUHtI8gTV39uefW/SGJbiXYdNTbt+9B3SilqB I7iI2zxNWv9RPqAyiCltD9S+BoJVGT7ReSXoihp3MjaGUShwevrr7psxm63B23BtJYmWHIdIVI1r8 h147TON4N+EoZK1dsJVScmbSmvyeEgodjzNQ41FmqbFBwCK7Yn+2OBroMk+GdsN1q1kxdBkPiEtMz 0a6JglJO1mnT17Wy6aWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qlOqn-000Asi-29; Wed, 27 Sep 2023 07:20:49 +0000 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qlOqk-000Arp-0s for linux-mtd@lists.infradead.org; Wed, 27 Sep 2023 07:20:48 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 47F3440004; Wed, 27 Sep 2023 07:20:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1695799243; 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=5LcK6dI4OVh5Gzyit6uVMZ8fakHesIzRAd0wZI3BRtU=; b=XMbLRSjILomfFUq/MjK4Th5sCQUTetyE6HeauprCGjmQJYi8gDHM0o6OO1I7dMc6O4Dw0q P9f4uMb/v3qpgZ+hqpgBkrxqH5msSr0YScHzFG+jqkXee9ROfrOjRhrGf/do2w37bQkRb1 JQOfgxtUUHZPcNSawtYm5Vx6Vg+i8BkVURqUczGlLyE8JmMaEBhF9fFUnR2d+837UG8R52 B657LhcNRgZOUGLX4gLGUxXh6K4QaCZwx8rx16UdkvPYK8XWpPIt6O1AqAJPFrZuHBhx/L 7Y2SL4PbtnOonUyykSBaUYC4h8Z+2gakdzq3DyyGKjtn6S/EGr97PbHByfT4FA== Date: Wed, 27 Sep 2023 09:20:41 +0200 From: Miquel Raynal To: Domenico Punzo Cc: Martin =?UTF-8?B?SHVuZGViw7hsbA==?= , Rouven Czerwinski , =?UTF-8?B?TcOlbnMgUnVsbGfDpXJk?= , Alexander Shiyan , Richard Weinberger , Vignesh Raghavendra , JaimeLiao , "kernel@pengutronix.de" , "stable@vger.kernel.org" , "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Sean =?UTF-8?B?Tnlla2rDpnI=?= , Bean Huo Subject: Re: [EXT] Re: [PATCH v2] mtd: rawnand: Ensure the nand chip supports cached reads Message-ID: <20230927092041.1ba97701@xps-13> In-Reply-To: References: <20230922141717.35977-1-r.czerwinski@pengutronix.de> <20230926132725.5d570e1b@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-20230927_002046_607083_688CCCE2 X-CRM114-Status: GOOD ( 49.53 ) 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 SGkgRG9tZW5pY28sCgpkcHVuem9AbWljcm9uLmNvbSB3cm90ZSBvbiBXZWQsIDI3IFNlcCAyMDIz IDA2OjI4OjA0ICswMDAwOgoKPiBNaWNyb24gQ29uZmlkZW50aWFsCj4gCj4gSGVsbG8gTWlxdWVs LAo+IAo+IFRoZSBNUE4gbXQyOWY0ZzA4YWJhZGF3cCBpcyBhIHNpbmdsZSBMVU4gZGV2aWNlIGFu ZCBpdCBpcyBzdXBwb3NlZCB0byBzdXBwb3J0IGNhY2hlIHJlYWQgd2l0aCB0aGUgbGltaXRhdGlv biByZXBvcnRlZCBpbnRvIHRoZSBkYXRhc2hlZXQuCgpZZXMsIGJ1dCB0aGlzIGxpbWl0YXRpb24g aXMgbm90IGNvdmVyZWQgYnkgdGhlIE9ORkkgc3BlY2lmaWNhdGlvbi4KCj4gQ2FuIHlvdSBjbGFy aWZ5IGFib3V0IHRoZSBJRHMgbGlzdCB5b3UgbmVlZD8KCkluIHRoZSBOQU5EIGNvcmUsIHdlIG5l ZWQgdG8ga25vdyB3aGljaCBkZXZpY2VzIGRvL2RvIG5vdCBzdXBwb3J0CnNlcXVlbnRpYWwgY2Fj aGUgcmVhZHMgKndpdGgqIEVDQyBlbmFibGVkLgoKV2UgY2FuIGxvb2sgYXQgdGhlIHBhcmFtZXRl ciBwYWdlIGFuZCBrbm93IHdoZXRoZXIgc2VxdWVudGlhbCBjYWNoZQpyZWFkcyBhcmUgc3VwcG9y dGVkIG9yIG5vdCwgYnV0IHRoZXJlIGlzIG5vIHdheSAoYXMgZmFyIGFzIEkga25vdykgdG8KZGV0 ZWN0IHdoZXRoZXIgYSBjaGlwIHN1cHBvcnRzIHNlcXVlbnRpYWwgY2FjaGUgcmVhZHMgd2l0aCBF Q0MgZW5hYmxlZApvdGhlciB0aGFuIGxvb2tpbmcgYXQgdGhlIGRhdGFzaGVldC4KCkNhbiB5b3Ug aGVscCBieSBlaXRoZXIgdGVsbGluZyBob3cgd2UgY2FuIGR5bmFtaWNhbGx5IGRpc2NvdmVyIHdo ZXRoZXIKRUNDIGNhbiBiZSBlbmFibGVkIGR1cmluZyBjYWNoZSBvcGVyYXRpb25zIG9uIE1pY3Jv biBOQU5EIGNoaXBzIG9yLCBpZgp0aGF0IGlzIG5vdCBwb3NzaWJsZSwgcHJvdmlkZSBhIGxpc3Qg b2YgZGV2aWNlcyB3aGljaCBzdXBwb3J0IGl0PwoKVGhhbmtzLApNaXF1w6hsCgo+IAo+IFRoYW5r cy4KPiBSZWdhcmRzLAo+IERvbWVuaWNvIFAuCj4gCj4gCj4gCj4gCj4gTWljcm9uIENvbmZpZGVu dGlhbAo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogTWlxdWVsIFJheW5hbCA8 bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMjYs IDIwMjMgMToyNyBQTQo+IFRvOiBNYXJ0aW4gSHVuZGViw7hsbCA8bWFydGluQGdlYW5peC5jb20+ Cj4gQ2M6IFJvdXZlbiBDemVyd2luc2tpIDxyLmN6ZXJ3aW5za2lAcGVuZ3V0cm9uaXguZGU+OyBN w6VucyBSdWxsZ8OlcmQgPG1hbnNAbWFuc3IuY29tPjsgQWxleGFuZGVyIFNoaXlhbiA8ZWFnbGUu YWxleGFuZGVyOTIzQGdtYWlsLmNvbT47IFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2Qu YXQ+OyBWaWduZXNoIFJhZ2hhdmVuZHJhIDx2aWduZXNockB0aS5jb20+OyBKYWltZUxpYW8gPGph aW1lbGlhby50d0BnbWFpbC5jb20+OyBrZXJuZWxAcGVuZ3V0cm9uaXguZGU7IHN0YWJsZUB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LW10ZEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxA dmdlci5rZXJuZWwub3JnOyBTZWFuIE55ZWtqw6ZyIDxzZWFuQGdlYW5peC5jb20+OyBEb21lbmlj byBQdW56byA8ZHB1bnpvQG1pY3Jvbi5jb20+OyBCZWFuIEh1byA8YmVhbmh1b0BtaWNyb24uY29t Pgo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0ggdjJdIG10ZDogcmF3bmFuZDogRW5zdXJlIHRo ZSBuYW5kIGNoaXAgc3VwcG9ydHMgY2FjaGVkIHJlYWRzCj4gCj4gQ0FVVElPTjogRVhURVJOQUwg RU1BSUwuIERvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3Ug cmVjb2duaXplIHRoZSBzZW5kZXIgYW5kIHdlcmUgZXhwZWN0aW5nIHRoaXMgbWVzc2FnZS4KPiAK PiAKPiBIaSBNYXJ0aW4sCj4gCj4gKyBCZWFuIGFuZCBEb21lbmljbywgdGhlcmUgaXMgYSBxdWVz dGlvbiBmb3IgeW91IGJlbG93Lgo+IAo+IG1hcnRpbkBnZWFuaXguY29tIHdyb3RlIG9uIE1vbiwg MjUgU2VwIDIwMjMgMTM6MDE6MDYgKzAyMDA6Cj4gCj4gPiBIaSBSb3V2ZW4sCj4gPgo+ID4gT24g RnJpLCAyMDIzLTA5LTIyIGF0IDE2OjE3ICswMjAwLCBSb3V2ZW4gQ3plcndpbnNraSB3cm90ZTog IAo+ID4gPiBCb3RoIHRoZSBKRURFQyBhbmQgT05GSSBzcGVjaWZpY2F0aW9uIHNheSB0aGF0IHJl YWQgY2FjaGUgc2VxdWVudGlhbAo+ID4gPiBzdXBwb3J0IGlzIGFuIG9wdGlvbmFsIGNvbW1hbmQu IFRoaXMgbWVhbnMgdGhhdCB3ZSBub3Qgb25seSBuZWVkIHRvCj4gPiA+IGNoZWNrIHdoZXRoZXIg dGhlIGluZGl2aWR1YWwgY29udHJvbGxlciBzdXBwb3J0cyB0aGUgY29tbWFuZCwgd2UKPiA+ID4g YWxzbyBuZWVkIHRvIGNoZWNrIHRoZSBwYXJhbWV0ZXIgcGFnZXMgZm9yIGJvdGggT05GSSBhbmQg SkVERUMgTkFORAo+ID4gPiBmbGFzaGVzIGJlZm9yZSBlbmFibGluZyBzZXF1ZW50aWFsIGNhY2hl IHJlYWRzLgo+ID4gPgo+ID4gPiBUaGlzIGZpeGVzIHN1cHBvcnQgZm9yIE5BTkQgZmxhc2hlcyB3 aGljaCBkb24ndCBzdXBwb3J0IGVuYWJsaW5nCj4gPiA+IGNhY2hlIHJlYWRzLCBpLmUuIFNhbXN1 bmcgSzlGNEcwOFUwRiBvciBUb3NoaWJhIFRDNThOVkcwUzNIVEEwMC4KPiA+ID4KPiA+ID4gU2Vx dWVudGlhbCBjYWNoZSByZWFkcyBhcmUgbm93IG9ubHkgYXZhaWxhYmxlIGZvciBPTkZJIGFuZCBK RURFQwo+ID4gPiBkZXZpY2VzLCBpZiBpbmRpdmlkdWFsIHZlbmRvcnMgaW1wbGVtZW50IHRoaXMs IGl0IG5lZWRzIHRvIGJlCj4gPiA+IGVuYWJsZWQgcGVyIHZlbmRvci4KPiA+ID4KPiA+ID4gVGVz dGVkIG9uIGkuTVg2USB3aXRoIGEgU2Ftc3VuZyBOQU5EIGZsYXNoIGNoaXAgdGhhdCBkb2Vzbid0 IHN1cHBvcnQKPiA+ID4gc2VxdWVudGlhbCByZWFkcy4KPiA+ID4KPiA+ID4gRml4ZXM6IDAwM2Zl NGI5NTQ1YiAoIm10ZDogcmF3bmFuZDogU3VwcG9ydCBmb3Igc2VxdWVudGlhbCBjYWNoZQo+ID4g PiByZWFkcyIpCj4gPiA+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gPiA+IFNpZ25lZC1v ZmYtYnk6IFJvdXZlbiBDemVyd2luc2tpIDxyLmN6ZXJ3aW5za2lAcGVuZ3V0cm9uaXguZGU+ICAK PiA+Cj4gPiBUaGFua3MgZm9yIHRoaXMuIEl0IHdvcmtzIGFzIGV4cGVjdGVkIGZvciBteSBUb3No aWJhIGNoaXAsIG9idmlvdXNseQo+ID4gYmVjYXVzZSBpdCBkb2Vzbid0IHVzZSBPTkZJIG9yIEpF REVDLgo+ID4KPiA+IFVuZm9ydHVuYXRlbHksIG15IE1pY3JvbiBjaGlwIGRvZXMgdXNlIE9ORkks IGFuZCBpdCBzZXRzIHRoZSBjYWNoZWQtCj4gPiByZWFkLXN1cHBvcnRlZCBiaXQuIEl0IHRoZW4g ZmFpbHMgd2hlbiByZWFkaW5nIGFmdGVyd29yZHM6Cj4gPgo+ID4ga2VybmVsOiBPTkZJX09QVF9D TURfUkVBRF9DQUNIRSAjIGRlYnVnIGFkZGVkIGJ5IG1lCj4gPiBrZXJuZWw6IG5hbmQ6IGRldmlj ZSBmb3VuZCwgTWFudWZhY3R1cmVyIElEOiAweDJjLCBDaGlwIElEOiAweGRjCj4gPiBrZXJuZWw6 IG5hbmQ6IE1pY3JvbiBNVDI5RjRHMDhBQkFGQVdQCj4gPiBrZXJuZWw6IG5hbmQ6IDUxMiBNaUIs IFNMQywgZXJhc2Ugc2l6ZTogMjU2IEtpQiwgcGFnZSBzaXplOiA0MDk2LCBPT0IKPiA+IHNpemU6 IDI1Ngo+ID4ga2VybmVsOiBuYW5kOiBjb250aW51ZWQgcmVhZCBzdXBwb3J0ZWQgIyBkZWJ1ZyBh ZGRlZCBieSBtZQo+ID4ga2VybmVsOiBCYWQgYmxvY2sgdGFibGUgZm91bmQgYXQgcGFnZSAxMzEw MDgsIHZlcnNpb24gMHgwMQo+ID4ga2VybmVsOiBCYWQgYmxvY2sgdGFibGUgZm91bmQgYXQgcGFn ZSAxMzA5NDQsIHZlcnNpb24gMHgwMQo+ID4ga2VybmVsOiAyIGZpeGVkLXBhcnRpdGlvbnMgcGFy dGl0aW9ucyBmb3VuZCBvbiBNVEQgZGV2aWNlIGdwbWktbmFuZAo+ID4ga2VybmVsOiBDcmVhdGlu ZyAyIE1URCBwYXJ0aXRpb25zIG9uICJncG1pLW5hbmQiOgo+ID4ga2VybmVsOiAweDAwMDAwMDAw MDAwMC0weDAwMDAwMDgwMDAwMCA6ICJib290Igo+ID4ga2VybmVsOiAweDAwMDAwMDgwMDAwMC0w eDAwMDAyMDAwMDAwMCA6ICJ1YmkiCj4gPiBrZXJuZWw6IGdwbWktbmFuZCAxODA2MDAwLm5hbmQt Y29udHJvbGxlcjogZHJpdmVyIHJlZ2lzdGVyZWQuCj4gPgo+ID4gLi4uCj4gPgo+ID4ga2VybmVs OiB1YmkwOiBkZWZhdWx0IGZhc3RtYXAgcG9vbCBzaXplOiAxMDAKPiA+IGtlcm5lbDogdWJpMDog ZGVmYXVsdCBmYXN0bWFwIFdMIHBvb2wgc2l6ZTogNTAKPiA+IGtlcm5lbDogdWJpMDogYXR0YWNo aW5nIG10ZDEKPiA+IGtlcm5lbDogdWJpMDogc2Nhbm5pbmcgaXMgZmluaXNoZWQKPiA+IGtlcm5l bDogdWJpMDogYXR0YWNoZWQgbXRkMSAobmFtZSAidWJpIiwgc2l6ZSA1MDQgTWlCKQo+ID4ga2Vy bmVsOiB1YmkwOiBQRUIgc2l6ZTogMjYyMTQ0IGJ5dGVzICgyNTYgS2lCKSwgTEVCIHNpemU6IDI1 Mzk1MiBieXRlcwo+ID4ga2VybmVsOiB1YmkwOiBtaW4uL21heC4gSS9PIHVuaXQgc2l6ZXM6IDQw OTYvNDA5Niwgc3ViLXBhZ2Ugc2l6ZSA0MDk2Cj4gPiBrZXJuZWw6IHViaTA6IFZJRCBoZWFkZXIg b2Zmc2V0OiA0MDk2IChhbGlnbmVkIDQwOTYpLCBkYXRhIG9mZnNldDoKPiA+IDgxOTIKPiA+IGtl cm5lbDogdWJpMDogZ29vZCBQRUJzOiAyMDEyLCBiYWQgUEVCczogNCwgY29ycnVwdGVkIFBFQnM6 IDAKPiA+IGtlcm5lbDogdWJpMDogdXNlciB2b2x1bWU6IDksIGludGVybmFsIHZvbHVtZXM6IDEs IG1heC4gdm9sdW1lcyBjb3VudDoKPiA+IDEyOAo+ID4ga2VybmVsOiB1YmkwOiBtYXgvbWVhbiBl cmFzZSBjb3VudGVyOiA0LzIsIFdMIHRocmVzaG9sZDogNDA5NiwgaW1hZ2UKPiA+IHNlcXVlbmNl IG51bWJlcjogMTQzMTQ5NzIyMQo+ID4ga2VybmVsOiB1YmkwOiBhdmFpbGFibGUgUEVCczogMTIs IHRvdGFsIHJlc2VydmVkIFBFQnM6IDIwMDAsIFBFQnMKPiA+IHJlc2VydmVkIGZvciBiYWQgUEVC IGhhbmRsaW5nOiAzNgo+ID4ga2VybmVsOiBibG9jayB1YmlibG9jazBfNDogY3JlYXRlZCBmcm9t IHViaTA6NChyb290ZnMuYSkKPiA+IGtlcm5lbDogdWJpMDogYmFja2dyb3VuZCB0aHJlYWQgInVi aV9iZ3QwZCIgc3RhcnRlZCwgUElEIDM2Cj4gPiBrZXJuZWw6IGJsb2NrIHViaWJsb2NrMF82OiBj cmVhdGVkIGZyb20gdWJpMDo2KGFwcGZzLmEpCj4gPiBrZXJuZWw6IGJsb2NrIHViaWJsb2NrMF83 OiBjcmVhdGVkIGZyb20gdWJpMDo3KGFwcGZzLmIpCj4gPgo+ID4gLi4uCj4gPgo+ID4ga2VybmVs OiBTUVVBU0hGUyBlcnJvcjogVW5hYmxlIHRvIHJlYWQgZGlyZWN0b3J5IGJsb2NrIFs0YjZkMTVj OmVkMV0KPiA+IGtlcm5lbDogU1FVQVNIRlMgZXJyb3I6IFVuYWJsZSB0byByZWFkIGRpcmVjdG9y eSBibG9jayBbNGI2ZjE1ZToxMjVdCj4gPiBrZXJuZWw6IFNRVUFTSEZTIGVycm9yOiBVbmFibGUg dG8gcmVhZCBkaXJlY3RvcnkgYmxvY2sgWzRiNmQxNWM6MWRhZV0KPiA+IGtlcm5lbDogU1FVQVNI RlMgZXJyb3I6IFVuYWJsZSB0byByZWFkIGRpcmVjdG9yeSBibG9jayBbNGI2ZDE1YzplZDFdCj4g PiAoZC1zeXNjdGwpWzU1XTogc3lzdGVtZC1zeXNjdGwuc2VydmljZTogRmFpbGVkIHRvIHNldCB1 cCBjcmVkZW50aWFsczoKPiA+IFByb3RvY29sIGVycm9yCj4gPiBrZXJuZWw6IFNRVUFTSEZTIGVy cm9yOiBVbmFibGUgdG8gcmVhZCBkaXJlY3RvcnkgYmxvY2sgWzRiNzMxNjI6MTRmMF0KPiA+IGtl cm5lbDogU1FVQVNIRlMgZXJyb3I6IFVuYWJsZSB0byByZWFkIGRpcmVjdG9yeSBibG9jayBbNGI2 ZjE1ZTo4MzhdCj4gPiBzeXN0ZW1kWzFdOiBTdGFydGluZyBDcmVhdGUgU3RhdGljIERldmljZSBO b2RlcyBpbiAvZGV2Li4uCj4gPiBrZXJuZWw6IFNRVUFTSEZTIGVycm9yOiBVbmFibGUgdG8gcmVh ZCBkaXJlY3RvcnkgYmxvY2sgWzRiNmQxNWM6ZWQxXQo+ID4ga2VybmVsOiBTUVVBU0hGUyBlcnJv cjogVW5hYmxlIHRvIHJlYWQgZGlyZWN0b3J5IGJsb2NrIFs0YjZkMTVjOmVkMV0KPiA+IGtlcm5l bDogU1FVQVNIRlMgZXJyb3I6IFVuYWJsZSB0byByZWFkIGRpcmVjdG9yeSBibG9jayBbNGI2ZjE1 ZTo4MzhdCj4gPiBrZXJuZWw6IFNRVUFTSEZTIGVycm9yOiBVbmFibGUgdG8gcmVhZCBkaXJlY3Rv cnkgYmxvY2sgWzRiNmQxNWM6MWRhZV0KPiA+IGtlcm5lbDogU1FVQVNIRlMgZXJyb3I6IFVuYWJs ZSB0byByZWFkIGRpcmVjdG9yeSBibG9jayBbNGI2ZjE1ZToxMjVdCj4gPgo+ID4gSSd2ZSBicmll Zmx5IHRyaWVkIGFkZGluZyBzb21lIGVycm9yIGluZm8gdGhlIHRoZSBzcXVhc2hmcyBlcnJvcgo+ ID4gbWVzc2FnZXMsIGJ1dCBpdCBsb29rcyBsaWtlIGl0J3MgZ2V0dGluZyBiYWQgZGF0YS4gSS5l LiBvbmUgZmFpbHVyZSBhCj4gPiBzYW5pdHkgY2hlY2sgb2YgYGRpcl9jb3VudGA6Cj4gPgo+ID4g aWYgKGRpcl9jb3VudCA+IFNRVUFTSEZTX0RJUl9DT1VOVCkKPiA+ICAgICAgIGdvdG8gZGF0YV9l cnJvcjsKPiA+Cj4gPiBJdCBmYWlscyB3aXRoIGBkaXJfY291bnRgIGJlaW5nIDE5NTI4MDM2ODQg Li4uCj4gPgo+ID4gU28gaXMgdGhpcyBhIGNhc2Ugb2Ygd3JvbmcvYmFkIHRpbWluZ3M/Cj4gPgo+ ID4gTWlxdWVsOgo+ID4gSSBjYW4gdGVsbCBmcm9tIHRoZSBjb2RlLCB0aGF0IHRoZSBSRUFEQ0FD SEVTRVEgb3BlcmF0aW9ucyBhcmUKPiA+IGZvbGxvd2VkIGJ5IE5BTkRfT1BfV0FJVF9SRFkodFJf bWF4LCB0UlJfbWluKS4gRnJvbSB0aGUgTWljcm9uCj4gPiBkYXRhc2hlZXRbMF0sIGl0IHNob3Vs ZCBiZSBOQU5EX09QX1dBSVRfUkRZKHRSQ0JTWV9tYXgsIHRSUl9taW4pLAo+ID4gd2hlcmUgdFJD QlNZIGlzIGRlZmluZWQgdG8gYmUgYmV0d2VlbiAzIGFuZCAyNSDCtXMuICAKPiAKPiBJIGZvdW5k IGEgcGxhY2UgaW4gdGhlIE9ORkkgc3BlYyBzdGF0ZXMgdGFodCB0UkNCU1lfbWF4IHNob3VsZCBi ZSBiZXR3ZWVuIDMgYW5kIHRSX21heCwgc28gaW5kZWVkIHdlIHNob3VsZCBiZSBmaW5lIG9uIHRo YXQgcmVnYXJkLgo+IAo+IEhvd2V2ZXIsIEkgYXNrZWQgbXlzZWxmIHdoZXRoZXIgd2UgY291bGQg aGF2ZSBpc3N1ZXMgd2hlbiBjcm9zc2luZyBib3VuZGFyaWVzLiBCbG9jayBib3VuZGFyaWVzIHNo b3VsZCBiZSBmaW5lLCBob3dldmVyIHlvdXIgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgY3Jvc3Np bmcgcGxhbmUgYm91bmRhcmllcywgYXMgYml0IDQgKCJyZWFkIGNhY2hlCj4gc3VwcG9ydGVkIikg b2YgYnl0ZSAxMTQgKCJNdWx0aS1wbGFuZSBvcGVyYXRpb24gYXR0cmlidXRlcyIpIGluIHRoZSBt ZW1vcnkgb3JnYW5pemF0aW9uIGJsb2NrIG9mIHRoZSBwYXJhbWV0ZXIgcGFnZSBpcyBub3Qgc2V0 ICh0aGUgdmFsdWUgb2YgdGhlIGJ5dGUgc2hvdWxkIGJlIDB4MEUgaWYgSSBnZXQgaXQgcmlnaHQu Cj4gCj4gQW55d2F5LCBvdXIgbWFpbiBpc3N1ZSBoZXJlIGRvZXMgbm90IHNlZW0gcmVsYXRlZCB0 byB0aGUgYm91bmRhcmllcy4gSXQgZG9lcyBub3Qgc2VlbSB0byBiZSBleHBsaWNpdGx5IG1hcmtl ZCBhbnl3aGVyZSBlbHNlIGJ1dCBvbiB0aGUgZnJvbnQKPiBwYWdlOgo+ICAgICAgICAgQWR2YW5j ZWQgY29tbWFuZCBzZXQKPiAgICAgICAgIOKAkyBQcm9ncmFtIHBhZ2UgY2FjaGUgbW9kZSAoNCkK PiAgICAgICAgIOKAkyBSZWFkIHBhZ2UgY2FjaGUgbW9kZSAoNCkKPiAgICAgICAgIOKAkyBUd28t cGxhbmUgY29tbWFuZHMgKDQpCj4gCj4gICAgICAgICAoNCkgVGhlc2UgY29tbWFuZHMgc3VwcG9y dGVkIG9ubHkgd2l0aCBFQ0MgZGlzYWJsZWQuCj4gCj4gUmVhZCBwYWdlIGNhY2hlIG1vZGUgd2l0 aG91dCBFQ0MgbWFrZXMgdGhlIGZlYXR1cmUgcHJldHR5IHVzZWxlc3MgSU1ITy4KPiAKPiBCZWFu LCBEb21lbmljbywgaG93IGRvIHdlIGtub3cgd2hpY2ggZGV2aWNlcyBhbGxvdyBFQ0MgY29ycmVj dGlvbiBkdXJpbmcgc2VxdWVudGlhbCBwYWdlIHJlYWRzIGFuZCB3aGljaCBkb24ndD8gSXMgdGhl cmUgYSAodmVuZG9yPykgYml0IHNvbWV3aGVyZSBpbiB0aGUgcGFyYW1ldGVyIHBhZ2UgZm9yIHRo YXQ/IERvIHdlIGhhdmUgYW55IHdheSB0byBrbm93IGJlc2lkZXMgYSBsaXN0IG9mIGRldmljZXMg YWxsb3dpbmcgdGhhdD8gSWYgc28sIGNhbiB5b3UgcHJvdmlkZSBvbmUgd2l0aCBhIGZldyBJRHM/ Cj4gCj4gVGhhbmtzLAo+IE1pcXXDqGwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0 Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6CA5E80A9E for ; Wed, 27 Sep 2023 07:20:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229954AbjI0HUs (ORCPT ); Wed, 27 Sep 2023 03:20:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229458AbjI0HUs (ORCPT ); Wed, 27 Sep 2023 03:20:48 -0400 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1883D12A; Wed, 27 Sep 2023 00:20:44 -0700 (PDT) Received: by mail.gandi.net (Postfix) with ESMTPSA id 47F3440004; Wed, 27 Sep 2023 07:20:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1695799243; 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=5LcK6dI4OVh5Gzyit6uVMZ8fakHesIzRAd0wZI3BRtU=; b=XMbLRSjILomfFUq/MjK4Th5sCQUTetyE6HeauprCGjmQJYi8gDHM0o6OO1I7dMc6O4Dw0q P9f4uMb/v3qpgZ+hqpgBkrxqH5msSr0YScHzFG+jqkXee9ROfrOjRhrGf/do2w37bQkRb1 JQOfgxtUUHZPcNSawtYm5Vx6Vg+i8BkVURqUczGlLyE8JmMaEBhF9fFUnR2d+837UG8R52 B657LhcNRgZOUGLX4gLGUxXh6K4QaCZwx8rx16UdkvPYK8XWpPIt6O1AqAJPFrZuHBhx/L 7Y2SL4PbtnOonUyykSBaUYC4h8Z+2gakdzq3DyyGKjtn6S/EGr97PbHByfT4FA== Date: Wed, 27 Sep 2023 09:20:41 +0200 From: Miquel Raynal To: Domenico Punzo Cc: Martin =?UTF-8?B?SHVuZGViw7hsbA==?= , Rouven Czerwinski , =?UTF-8?B?TcOlbnMgUnVsbGfDpXJk?= , Alexander Shiyan , Richard Weinberger , Vignesh Raghavendra , JaimeLiao , "kernel@pengutronix.de" , "stable@vger.kernel.org" , "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Sean =?UTF-8?B?Tnlla2rDpnI=?= , Bean Huo Subject: Re: [EXT] Re: [PATCH v2] mtd: rawnand: Ensure the nand chip supports cached reads Message-ID: <20230927092041.1ba97701@xps-13> In-Reply-To: References: <20230922141717.35977-1-r.czerwinski@pengutronix.de> <20230926132725.5d570e1b@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GND-Sasl: miquel.raynal@bootlin.com Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org Hi Domenico, dpunzo@micron.com wrote on Wed, 27 Sep 2023 06:28:04 +0000: > Micron Confidential >=20 > Hello Miquel, >=20 > The MPN mt29f4g08abadawp is a single LUN device and it is supposed to sup= port cache read with the limitation reported into the datasheet. Yes, but this limitation is not covered by the ONFI specification. > Can you clarify about the IDs list you need? In the NAND core, we need to know which devices do/do not support sequential cache reads *with* ECC enabled. We can look at the parameter page and know whether sequential cache reads are supported or not, but there is no way (as far as I know) to detect whether a chip supports sequential cache reads with ECC enabled other than looking at the datasheet. Can you help by either telling how we can dynamically discover whether ECC can be enabled during cache operations on Micron NAND chips or, if that is not possible, provide a list of devices which support it? Thanks, Miqu=C3=A8l >=20 > Thanks. > Regards, > Domenico P. >=20 >=20 >=20 >=20 > Micron Confidential > -----Original Message----- > From: Miquel Raynal > Sent: Tuesday, September 26, 2023 1:27 PM > To: Martin Hundeb=C3=B8ll > Cc: Rouven Czerwinski ; M=C3=A5ns Rullg=C3= =A5rd ; Alexander Shiyan ; Ri= chard Weinberger ; Vignesh Raghavendra ; J= aimeLiao ; kernel@pengutronix.de; stable@vger.kerne= l.org; linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org; Sean Ny= ekj=C3=A6r ; Domenico Punzo ; Bean Huo = > Subject: [EXT] Re: [PATCH v2] mtd: rawnand: Ensure the nand chip supports= cached reads >=20 > CAUTION: EXTERNAL EMAIL. Do not click links or open attachments unless yo= u recognize the sender and were expecting this message. >=20 >=20 > Hi Martin, >=20 > + Bean and Domenico, there is a question for you below. >=20 > martin@geanix.com wrote on Mon, 25 Sep 2023 13:01:06 +0200: >=20 > > Hi Rouven, > > > > On Fri, 2023-09-22 at 16:17 +0200, Rouven Czerwinski wrote: =20 > > > Both the JEDEC and ONFI specification say that read cache sequential > > > support is an optional command. This means that we not only need to > > > check whether the individual controller supports the command, we > > > also need to check the parameter pages for both ONFI and JEDEC NAND > > > flashes before enabling sequential cache reads. > > > > > > This fixes support for NAND flashes which don't support enabling > > > cache reads, i.e. Samsung K9F4G08U0F or Toshiba TC58NVG0S3HTA00. > > > > > > Sequential cache reads are now only available for ONFI and JEDEC > > > devices, if individual vendors implement this, it needs to be > > > enabled per vendor. > > > > > > Tested on i.MX6Q with a Samsung NAND flash chip that doesn't support > > > sequential reads. > > > > > > Fixes: 003fe4b9545b ("mtd: rawnand: Support for sequential cache > > > reads") > > > Cc: stable@vger.kernel.org > > > Signed-off-by: Rouven Czerwinski =20 > > > > Thanks for this. It works as expected for my Toshiba chip, obviously > > because it doesn't use ONFI or JEDEC. > > > > Unfortunately, my Micron chip does use ONFI, and it sets the cached- > > read-supported bit. It then fails when reading afterwords: > > > > kernel: ONFI_OPT_CMD_READ_CACHE # debug added by me > > kernel: nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc > > kernel: nand: Micron MT29F4G08ABAFAWP > > kernel: nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB > > size: 256 > > kernel: nand: continued read supported # debug added by me > > kernel: Bad block table found at page 131008, version 0x01 > > kernel: Bad block table found at page 130944, version 0x01 > > kernel: 2 fixed-partitions partitions found on MTD device gpmi-nand > > kernel: Creating 2 MTD partitions on "gpmi-nand": > > kernel: 0x000000000000-0x000000800000 : "boot" > > kernel: 0x000000800000-0x000020000000 : "ubi" > > kernel: gpmi-nand 1806000.nand-controller: driver registered. > > > > ... > > > > kernel: ubi0: default fastmap pool size: 100 > > kernel: ubi0: default fastmap WL pool size: 50 > > kernel: ubi0: attaching mtd1 > > kernel: ubi0: scanning is finished > > kernel: ubi0: attached mtd1 (name "ubi", size 504 MiB) > > kernel: ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes > > kernel: ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096 > > kernel: ubi0: VID header offset: 4096 (aligned 4096), data offset: > > 8192 > > kernel: ubi0: good PEBs: 2012, bad PEBs: 4, corrupted PEBs: 0 > > kernel: ubi0: user volume: 9, internal volumes: 1, max. volumes count: > > 128 > > kernel: ubi0: max/mean erase counter: 4/2, WL threshold: 4096, image > > sequence number: 1431497221 > > kernel: ubi0: available PEBs: 12, total reserved PEBs: 2000, PEBs > > reserved for bad PEB handling: 36 > > kernel: block ubiblock0_4: created from ubi0:4(rootfs.a) > > kernel: ubi0: background thread "ubi_bgt0d" started, PID 36 > > kernel: block ubiblock0_6: created from ubi0:6(appfs.a) > > kernel: block ubiblock0_7: created from ubi0:7(appfs.b) > > > > ... > > > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:ed1] > > kernel: SQUASHFS error: Unable to read directory block [4b6f15e:125] > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:1dae] > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:ed1] > > (d-sysctl)[55]: systemd-sysctl.service: Failed to set up credentials: > > Protocol error > > kernel: SQUASHFS error: Unable to read directory block [4b73162:14f0] > > kernel: SQUASHFS error: Unable to read directory block [4b6f15e:838] > > systemd[1]: Starting Create Static Device Nodes in /dev... > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:ed1] > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:ed1] > > kernel: SQUASHFS error: Unable to read directory block [4b6f15e:838] > > kernel: SQUASHFS error: Unable to read directory block [4b6d15c:1dae] > > kernel: SQUASHFS error: Unable to read directory block [4b6f15e:125] > > > > I've briefly tried adding some error info the the squashfs error > > messages, but it looks like it's getting bad data. I.e. one failure a > > sanity check of `dir_count`: > > > > if (dir_count > SQUASHFS_DIR_COUNT) > > goto data_error; > > > > It fails with `dir_count` being 1952803684 ... > > > > So is this a case of wrong/bad timings? > > > > Miquel: > > I can tell from the code, that the READCACHESEQ operations are > > followed by NAND_OP_WAIT_RDY(tR_max, tRR_min). From the Micron > > datasheet[0], it should be NAND_OP_WAIT_RDY(tRCBSY_max, tRR_min), > > where tRCBSY is defined to be between 3 and 25 =C2=B5s. =20 >=20 > I found a place in the ONFI spec states taht tRCBSY_max should be between= 3 and tR_max, so indeed we should be fine on that regard. >=20 > However, I asked myself whether we could have issues when crossing bounda= ries. Block boundaries should be fine, however your device does not support= crossing plane boundaries, as bit 4 ("read cache > supported") of byte 114 ("Multi-plane operation attributes") in the memor= y organization block of the parameter page is not set (the value of the byt= e should be 0x0E if I get it right. >=20 > Anyway, our main issue here does not seem related to the boundaries. It d= oes not seem to be explicitly marked anywhere else but on the front > page: > Advanced command set > =E2=80=93 Program page cache mode (4) > =E2=80=93 Read page cache mode (4) > =E2=80=93 Two-plane commands (4) >=20 > (4) These commands supported only with ECC disabled. >=20 > Read page cache mode without ECC makes the feature pretty useless IMHO. >=20 > Bean, Domenico, how do we know which devices allow ECC correction during = sequential page reads and which don't? Is there a (vendor?) bit somewhere i= n the parameter page for that? Do we have any way to know besides a list of= devices allowing that? If so, can you provide one with a few IDs? >=20 > Thanks, > Miqu=C3=A8l