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 E5280C77B7E for ; Tue, 2 May 2023 11:28:09 +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=Hvjwr2fOVx+TlRhjGv9xdKiEwcqgNub+EDE0EN94+ow=; b=nym/KTvI3Gyr4E p3jiM1Chiel9i+BnnjKLK0sCwacunthwDuCJFJb0G7PooPIjz87EGIrdASoP0oVmXHJH2tsZJJA5J Qxsw1QbMEGiJRqGK+vCZFAJ6AXfhGTioT8o9PuS8tx//TrUphAGqwEdhNTQNvsBSyM5pStjzsOzSO m9W6F78roucHQsq6rpQXeIcQNLGoYRi0Cv3BuV07qjoJaSRZB4gHPrQhIEljV0tw7uUQAOY1qffTb D5ZA09oI8oHEjm95/wcstW+nvNK2mH+Z1wmwlLm7fQ+fJ4tuH+xDxxSZsM+J0QQChaV8na7A8YHKS RzR2tuKu/FM3nAfQEXiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAm-001ECo-14; Tue, 02 May 2023 11:27:56 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAi-001EBU-2V; Tue, 02 May 2023 11:27:55 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 1A031C0008; Tue, 2 May 2023 11:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1683026868; 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=v5uZzLTFj4JCdpkIdpRTcXSLdigmmlJ0kUKE2R8/0Y0=; b=QUn/PyRfXaOFOdB4jIFGk9BmWbv6JBk7SNDTzb1WIjTDj6KPPex59UjoQvArhtTWZoftiV y0AOLzuljE7TG/nOJo6aW5+70z36bzIrh3DnbsxExIsL5Ob6X0dcRpi7JKzFIiWoXvQWyS E/VSAcxUDjLbW+hFmfhQ6esIjgwwY6BKR7m33nPgxuJ99TxoS1ME6FJY+lsv7pVVMwuJtC TbRbedMCT6GI0cvG/ZawyPo0Dq4wi9NPDJolhy1UT5xNIZRZCyB3LqcxFYkCgXdko+Ruo/ 55HVunOgyeqCkxst4o9KeFEnegBarXONo8JO2bK8arEGuvu9Ir4P3DIzmOcweQ== Date: Tue, 2 May 2023 13:27:45 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , , "yonghui.yu" Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230502132745.14349770@xps-13> In-Reply-To: <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <7520e512-8a19-ff04-364c-b5be0a579ef0@sberdevices.ru> <20230413102200.309fbe9c@xps-13> <20230413122252.0a8efcd8@xps-13> <569a948e-654a-b21f-8a4f-55dc4b295387@sberdevices.ru> <60fa656e-bda1-1de6-a79e-3e3041cd69a8@sberdevices.ru> <780c0cae-18b6-2652-1c2c-6d398ea60451@amlogic.com> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> <20230502115913.78012d98@xps-13> <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230502_042753_083287_3FC70BCD X-CRM114-Status: GOOD ( 44.90 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDIgTWF5 IDIwMjMgMTM6MTE6MzggKzAzMDA6Cgo+IE9uIDAyLjA1LjIwMjMgMTI6NTksIE1pcXVlbCBSYXlu YWwgd3JvdGU6Cj4gPiBIaSBBcnNlbml5LAo+ID4gCj4gPiBhdmtyYXNub3ZAc2JlcmRldmljZXMu cnUgd3JvdGUgb24gV2VkLCAyNiBBcHIgMjAyMyAxNzo0NjoxOSArMDMwMDoKPiA+ICAgCj4gPj4g T24gMjYuMDQuMjAyMyAxNjo1MSwgTGlhbmcgWWFuZyB3cm90ZTogIAo+ID4+PiBIaSBBcnNlbml5 LAo+ID4+Pgo+ID4+PiBPbiAyMDIzLzQvMjAgMTc6MzcsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTog ICAgCj4gPj4+PiBbIEVYVEVSTkFMIEVNQUlMIF0KPiA+Pj4+Cj4gPj4+PiBPbiAxOS4wNC4yMDIz IDA5OjQxLCBBcnNlbml5IEtyYXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+ PiBPbiAxOS4wNC4yMDIzIDA2OjA1LCBMaWFuZyBZYW5nIHdyb3RlOiAgICAKPiA+Pj4+Pj4gSGkg QXJzZW5peSwKPiA+Pj4+Pj4KPiA+Pj4+Pj4gT24gMjAyMy80LzE4IDIyOjU3LCBBcnNlbml5IEty YXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pj4+Pgo+ ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiAxOC4wNC4yMDIzIDE2OjI1LCBNaXF1ZWwg UmF5bmFsIHdyb3RlOiAgICAKPiA+Pj4+Pj4+PiBIaSBBcnNlbml5LAo+ID4+Pj4+Pj4+ICAgIAo+ ID4+Pj4+Pj4+Pj4+IEhlbGxvIGFnYWluIEBMaWFuZyBATWlxdWVsIQo+ID4+Pj4+Pj4+Pj4+Cj4g Pj4+Pj4+Pj4+Pj4gT25lIG1vcmUgcXVlc3Rpb24gYWJvdXQgT09CIGFjY2VzcywgYXMgSSBjYW4g c2VlIGN1cnJlbnQgZHJpdmVyIHVzZXMgdGhlIGZvbGxvd2luZwo+ID4+Pj4+Pj4+Pj4+IGNhbGxi YWNrczoKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgbmFuZC0+ZWNjLndy aXRlX29vYl9yYXcgPSBuYW5kX3dyaXRlX29vYl9zdGQ7Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDC oCBuYW5kLT5lY2Mud3JpdGVfb29iID0gbmFuZF93cml0ZV9vb2Jfc3RkOwo+ID4+Pj4+Pj4+Pj4+ Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBGdW5jdGlvbiAnbmFuZF93cml0ZV9vb2Jfc3Rk KCknIHdyaXRlcyBkYXRhIHRvIHRoZSBlbmQgb2YgdGhlIHBhZ2UuIEJ1dCBhcyBJCj4gPj4+Pj4+ Pj4+Pj4gY2FuIHNlZSBieSBkdW1waW5nICdkYXRhX2J1ZicgZHVyaW5nIHJlYWQsIHBoeXNpY2Fs IGxheW91dCBvZiBlYWNoIHBhZ2UgaXMgdGhlCj4gPj4+Pj4+Pj4+Pj4gZm9sbG93aW5nICgxS0Ig RUNDKToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwOiBbwqDCoMKgwqDCoMKgwqDC oCAxIEtCIG9mIGRhdGHCoMKgwqDCoMKgwqDCoCBdCj4gPj4+Pj4+Pj4+Pj4gMHg0MDA6IFsgMkIg dXNlciBkYXRhXSBbIDE0QiBFQ0MgY29kZV0KPiA+Pj4+Pj4+Pj4+PiAweDQxMDogW8KgwqDCoMKg wqDCoMKgwqAgMSBLQiBvZiBkYXRhwqDCoMKgwqDCoMKgwqAgXcKgwqDCoCAoQSkKPiA+Pj4+Pj4+ Pj4+PiAweDgxMDogWyAyQiB1c2VyIGRhdGFdIFsgMTRCIEVDQyBjb2RlXQo+ID4+Pj4+Pj4+Pj4+ IDB4ODIwOiBbwqDCoMKgwqDCoMKgwqAgMzJCIHVudXNlZMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0K PiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBT bywgYWZ0ZXIgJ25hbmRfd3JpdGVfb29iX3N0ZCgpJyAobGV0IGRhdGEgYmUgc2VxdWVuY2UgZnJv bSBbMHgwIC4uLiAweDNmXSksCj4gPj4+Pj4+Pj4+Pj4gcGFnZSB3aWxsIGxvb2sgbGlrZSB0aGlz Ogo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMHgwMDA6IFvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMHhGRsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+Pj4+Pj4+IDB4NDAwOiBb wqDCoMKgwqDCoMKgwqDCoMKgwqAgLi4uLi4uLi7CoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+ Pj4+Pj4+IDB4N2YwOiBbwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4RkbCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgwMDogWyAwMCAuLi4uLi4uLi4uLi4uLi4uLi4u Li4uLsKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgzMDogWyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4g M2YgXQo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gSGVyZSB3ZSBoYXZlIHR3byBwcm9ibGVt czoKPiA+Pj4+Pj4+Pj4+PiAxKSBBdHRlbXB0IHRvIGRpc3BsYXkgcmF3IGRhdGEgYnkgJ25hbmRk dW1wJyB1dGlsaXR5IHByb2R1Y2VzIGEgbGl0dGxlIGJpdAo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKg wqAgaW52YWxpZCBvdXRwdXQsIGFzIGRyaXZlciByZWxpZXMgb24gbGF5b3V0IChBKSBmcm9tIGFi b3ZlLiBFLmcuIE9PQiBkYXRhCj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDCoCBpcyBhdCAweDQwMCBh bmQgMHg4MTAuIEhlcmUgaXMgYW4gZXhhbXBsZSAoYXR0ZW1wdCB0byB3cml0ZSAweDExIDB4MjIg MHgzMyAweDQ0KToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwMDA3ZjA6IDExIDIy IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4iLi4uLi4uLi4u Li4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+ Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IDMzIDQ0IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmwqAgfDNELi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDC oMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERh dGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4u Li4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gICAgCj4gPj4+Pj4+Pj4+PiBIaSBBcnNlbml5 LAo+ID4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+IEkgcmVhbGl6ZWQgdGhlIHdyaXRlX29vYl9yYXco KSBhbmQgd3JpdGVfb29iKCkgYXJlIHdyb25nIGluIG1lc29uX25hbmQuYy4gSSBzdWdnZXN0IGJv dGggb2YgdGhlbSBzaG91bGQgYmUgcmV3b3JrZWQgYW5kIGZvbGxvdyB0aGUgZm9ybWF0IG9mIG1l c29uIG5hbmQgY29udHJvbGxlci4gaS5lLiBmaXJzdGx5IGZvcm1hdCB0aGUgZGF0YSBpbiBMYXlv dXQgKEEpIGFuZCB0aGVuIHdyaXRlLiByZWFkaW5nIGlzIGZpcnN0bHkgcmVhZGluZyB0aGUgZGF0 YSBvZiBsYXlvdXQgKEEpIGFuZCB0aGVuIGNvbXBvc3QgdGhlIGxheW91dCAoQikuICAgIAo+ID4+ Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBJSVVDIGFmdGVyIHN1Y2ggd3JpdGluZyBvbmx5IE9PQiAoZS5n LiB1c2VyIGJ5dGVzKSBhY2NvcmRpbmcgbGF5b3V0IChBKSwgaHcgd2lsbCBhbHNvIHdyaXRlIEVD QyBjb2Rlcywgc28KPiA+Pj4+Pj4+Pj4gaXQgd2lsbCBiZSBpbXBvc3NpYmxlIHRvIHdyaXRlIGRh dGEgdG8gdGhpcyBwYWdlIGxhdGVyLCBiZWNhdXNlIHdlIGNhbm5vdCB1cGRhdGUgRUNDIGNvZGVz IHByb3Blcmx5IGZvciB0aGUgbmV3bHkKPiA+Pj4+Pj4+Pj4gd3JpdHRlbiBkYXRhICh3ZSBjYW4n dCB1cGRhdGUgYml0cyBmcm9tIDAgdG8gMSkuCj4gPj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4K PiA+Pj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMikgQXR0ZW1wdCB0 byByZWFkIGRhdGEgaW4gRUNDIG1vZGUgd2lsbCBmYWlsLCBiZWNhdXNlIElJVUMgcGFnZSBpcyBp biBkaXJ0eQo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgc3RhdGUgKEkgbWVhbiB3YXMgd3JpdHRl biBhdCBsZWFzdCBvbmNlKSBhbmQgTkFORCBjb250cm9sbGVyIHRyaWVzIHRvIHVzZQo+ID4+Pj4+ Pj4+Pj4+IMKgwqDCoMKgwqAgRUNDIGNvZGVzIGF0IDB4NDAwIGFuZCAweDgxMCwgd2hpY2ggYXJl IG9idmlvdXNseSBicm9rZW4gaW4gdGhpcyBjYXNlLiBUaHVzICAgIAo+ID4+Pj4+Pj4+Pj4KPiA+ Pj4+Pj4+Pj4+IEFzIGkgc2FpZCBhYm92ZSwgd3JpdGVfb29iX3JhdygpIGFuZCB3cml0ZV9vb2Io KSBzaG91bGQgYmUgcmV3b3JrZWQuCj4gPj4+Pj4+Pj4+PiBpIGRvbid0IGtub3cgd2hhdCBkbyB5 b3UgbWVhbiBwYWdlIHdhcyB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIGFueXdheSB0aGUgcGFnZSBz aG91bGQgYmUgd3JpdHRlbiBvbmNlLCBldmVuIGp1c3Qgd3JpdGVfb29iX3JhdygpLiAgICAKPiA+ Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gU29ycnksIFlvdSBtZWFuIHRoYXQgYWZ0ZXIgT09CIHdyaXRl LCB3ZSBjYW5ub3Qgd3JpdGUgdG8gdGhlIGRhdGEgYXJlYSAoZS5nLiAweDAgLi4gMHg4MTApIHVu dGlsIHBhZ2Ugd2lsbCBiZSBlcmFzZWQ/IEZvciBleGFtcGxlCj4gPj4+Pj4+Pj4+IEpGRlMyIHdy aXRlcyB0byBPT0Igb3duIG1hcmtlcnMsIHRoZW4gaXQgdHJpZXMgdG8gd3JpdGUgdG8gdGhlIGRh dGEgYXJlYSBvZiBzdWNoIHBhZ2UuICAgIAo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IEBMaWFuZywgSSds bCBkZXNjcmliZSBjdXJyZW50IHRlc3QgY2FzZSBpbiBkZXRhaWxzOgo+ID4+Pj4+Pj4gMSkgSSBo YXZlIGVyYXNlZCBwYWdlLCBJIGNhbiByZWFkIGl0IGluwqAgYm90aCByYXcgYW5kIGVjYyBtb2Rl cyAtIG5vIHByb2JsZW0gKGl0IGlzIGZ1bGwgb2YgMHhGRikuCj4gPj4+Pj4+PiAyKSBJIChKRkZT MiBmb3IgZXhhbXBsZSkgd2FudCB0byB3cml0ZSBvbmx5IE9PQiAtIGxldCBpdCBiZSBjbGVhbiBt YXJrZXJzLgo+ID4+Pj4+Pj4gMykgSSB1c2UgcmF3IHdyaXRlIHRvIHRoZSBuZWVkZWQgcGFnZSAo cGxlYXNlIGNvcnJlY3QgbWUgaWYgaSdtIHdyb25nKS4gRm91ciBieXRlcwo+ID4+Pj4+Pj4gwqDC oMKgwqAgYXQgMHg0MDAgYW5kIDB4ODEwIGFyZSB1cGRhdGVkLiBBbGwgb3RoZXIgYnl0ZXMgc3Rp bGwgMHhmZi4KPiA+Pj4+Pj4+IDQpIE5vdywgd2hlbiBpJ20gdHJ5aW5nIHRvIHJlYWQgdGhpcyBw YWdlIGluIEVDQyBtb2RlLCBJIGdldCBFQ0MgZXJyb3JzOiBJSVVDIHRoaXMKPiA+Pj4+Pj4+IMKg wqDCoMKgIGhhcHBlbnMgYmVjYXVzZSBmcm9tIGNvbnRyb2xsZXIgcG9pbnQgb2YgdmlldyBFQ0Mg Y29kZXMgYXJlIGludmFsaWQgZm9yIGN1cnJlbnQKPiA+Pj4+Pj4+IMKgwqDCoMKgIGRhdGEgKGFs bCBFQ0NzIGFyZSAweGZmKS4gSXMgdGhpcyBiZWhhdmlvdXIgaXMgb2s/ICAgIAo+ID4+Pj4+Pgo+ ID4+Pj4+PiBZZXMsIGl0IGlzIGV4YWN0bHkgcmVwb3J0ZWQgRUNDIGVycm9ycy4gICAgCj4gPj4+ Pj4KPiA+Pj4+PiBJIHNlZSwgc28gaWYgd2Ugd3JpdGUgT09CIChlLmcuIHVzaW5nIHJhdyBtb2Rl KSwgdGhlcmUgaXMgbm8gd2F5IHRvIHJlYWQgdGhpcyBwYWdlIGluIEVDQyBtb2RlIGxhdGVyPyBB bmQgdGhlICAgIAo+ID4+Pgo+ID4+PiBPZiBjb3Vyc2UsIHRoZXJlIGlzIG5vIEVDQyBwYXJpdHkg Ynl0ZXMgaW4gaXQ7IG9yIHJhdyB3cml0ZSB0aGUgZGF0YSB3aXRoIHRoZSBFQ0MgcGFyaXR5IGJ5 dGVzIHBlciB0aGUgbGF5b3V0IChBKSB5b3UgZGVzY3JpYmUgYWJvdmUuCj4gPj4+ICAgICAKPiA+ Pgo+ID4+IEJ1dCBkb24ndCBpdCBsb29rcyBsaWtlIHN0cmFuZ2U/IEp1c3Qgd3JpdGluZyBPT0Ig bWFrZXMgcGFnZSB1bnJlYWRhYmxlPyBNYXkgYmUgaXQgaXMgYmV0dGVyIHRvIG1vdmUgT09CIGRh dGEKPiA+PiBvdXQgb2YgRUNDIGFyZWEgYXMgSSBzdWdnZXN0ZWQgaW4gdjI/Cj4gPj4gIAo+ID4+ Pj4+IG9ubHkgd2F5IHRvIG1ha2UgaXQgcmVhZGFibGUgaXMgdG8gd3JpdGUgaXQgaW4gRUNDIG1v ZGUsIGJ1dCBiZWZvcmUgdGhpcyB3cml0ZSwgd2UgbmVlZCB0byByZWFkIGl0J3MKPiA+Pj4+PiB1 c2VyJ3MgYnl0ZSAoZnJvbSBwcmV2aW91cyBPT0Igd3JpdGUpIGluIHJhdyBtb2RlLCBwdXQgaXQg dG8gaW5mbyBidWYgKGFzIHVzZXIncyBieXRlcykgYW5kIHdyaXRlIHRoaXMgcGFnZS4gSW4gdGhp cwo+ID4+Pj4+IGNhc2UgTkFORCBjb250cm9sbGVyIHdpbGwgZ2VuZXJhdGUgRUNDIGNvZGVzIGlu Y2x1ZGluZyB1c2VyJ3MgYnl0ZSBhbmQgcGFnZSBiZWNvbWUgcmVhZGFibGUgaW4gRUNDIG1vZGUK PiA+Pj4+PiBhZ2Fpbi4gICAgCj4gPj4+Cj4gPj4+IHllcywgeW91IGFyZSByaWdodC4KPiA+Pj4g ICAgIAo+ID4+Pj4+ICAgIAo+ID4+Pj4+PiAgICAKPiA+Pj4+Pj4+IDUpIE9rLCBkb24ndCBjYXJl IG9uIHRoZXNlIEVDQyBlcnJvcnMsIGxldCdzIGdvIGZ1cnRoZXIuCj4gPj4+Pj4+PiA2KSBJJ20g Z29pbmcgdG8gd3JpdGUgc2FtZSBwYWdlIGluIEVDQyBtb2RlIC0gaG93IHRvIGRvIGl0IGNvcnJl Y3RseT8gVGhlcmUgaXMgYWxyZWFkeQo+ID4+Pj4+Pj4gwqDCoMKgwqAgNCBPT0IgYnl0ZXMsIGNv bnNpZGVyZWQgdG8gYmUgY292ZXJlZCBieSBFQ0MgKGJ1dCBpbiBmYWN0IG5vdyAtIEVDQyBhcmVh IGlzIEZGZWQpLiAgICAKPiA+Pj4+Pj4KPiA+Pj4+Pj4gSWYgc3RlcCA0IGhhcyBleGN1dGVkICJw cm9ncmFtIiBjb21tYW5kIGF0IHRoZSBwYWdlIChuYW5kX3dyaXRlX29vYl9zdGQoKSBkb2VzKSwg aXQgY2FuJ3QgYmUgd3JpdHRlbiBhZ2FpbiBiZWZvcmUgZXJhc2luZyB0aGUgcGFnZShibG9jayku IHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgd2hvbGUgcGFnZSBpbiB0aGUgZGRyIGFuZCBjaGFuZ2Ug dGhlIGNvbnRlbnQsIGVyYXNlIGJsb2NrLCB3cml0ZSBpdCBhZ2Fpbi4KPiA+Pj4+Pj4KPiA+Pj4+ Pj4gSSBkb24ndCB0aGluayBKZmZzMiBoYXMgdGhlIHNhbWUgc3RlcHMgKDEtNikgYXMgeW91IHNh aWQgYWJvdmUuIGFyZSB5b3Ugc3VyZSB0aGF0IGhhcHBlcyBvbiBKZmZzMiBvciBqdXN0IGFuIGV4 YW1wbGU/ICAgIAo+ID4+Pj4KPiA+Pj4+ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4gSSBqdXN0IGNoZWNr ZWQgSkZGUzIgbW91bnQvdW1vdW50IGFnYWluLCBoZXJlIGlzIHdoYXQgaSBzZWU6Cj4gPj4+Pj4g MCkgRmlyc3QgYXR0ZW1wdCB0byBtb3VudCBKRkZTMi4KPiA+Pj4+PiAxKSBJdCB3cml0ZXMgT09C IHRvIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyB3cml0ZSkuIEl0IGlzIGNsZWFubWFya2VyIHZhbHVl IDB4ODUgMHgxOSAweDAzIDB4MjAuIE1vdW50IGlzIGRvbmUuCj4gPj4+Pj4gMikgVW1vdW50IEpG RlMyLiBEb25lLgo+ID4+Pj4+IDMpIFNlY29uZCBhdHRlbXB0IHRvIG1vdW50IEpGRlMyLgo+ID4+ Pj4+IDQpIEl0IHJlYWRzIE9PQiBmcm9tIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyByZWFkKS4gVmFs dWUgaXMgMHg4NSAweDE5IDB4MDMgMHgyMC4gRG9uZS4KPiA+Pj4+PiA1KSBJdCByZWFkcyBwYWdl IE4gaW4gRUNDIG1vZGUsIGFuZCBpIGdldDoKPiA+Pj4+PiDCoMKgwqDCoCBqZmZzMjogbXRkLT5y ZWFkKDB4MTAwIGJ5dGVzIGZyb20gTikgcmV0dXJuZWQgRUNDIGVycm9yCj4gPj4+Pj4gNikgTW91 bnQgZmFpbGVkLgo+ID4+Pj4+Cj4gPj4+Pj4gV2UgYWxyZWFkeSBoYWQgcHJvYmxlbSB3aGljaCBs b29rcyBsaWtlIHRoaXMgb24gYW5vdGhlciBkZXZpY2UuIFNvbHV0aW9uIHdhcyB0byB1c2UgT09C IGFyZWEgd2hpY2ggaXMKPiA+Pj4+PiBub3QgY292ZXJlZCBieSBFQ0MgZm9yIEpGRlMyIGNsZWFu bWFya2Vycy4gICAgCj4gPj4+Cj4gPj4+IG9rLCBzbyB0aGVyZSBpcyBub3QgRUNDIHBhcml0eSBi eXRlcyBhbmQgbXRkLT5yZWFkKCkgcmV0dXJucyBFQ0MgZXJyb3IuCj4gPj4+IGRvZXMgaXQgaGF2 ZSB0byB1c2UgcmF3IHdyaXRlL3JlYWQgb24gc3RlcCAxKSBhbmQgNCk/Cj4gPj4+ICAgICAKPiA+ Pgo+ID4+IElmIGknbSB1c2luZyBub24gcmF3IGFjY2VzcyB0byBPT0IsIGZvciBleGFtcGxlIHdy aXRlIE9PQiAodXNlciBieXRlcykgaW4gRUNDIG1vZGUsIHRoZW4KPiA+PiBzdGVwcyAxKSBhbmQg NCkgYW5kIDUpIHBhc3NlcyBvaywgYnV0IHdyaXRlIHRvIHRoaXMgcGFnZSB3aWxsIGJlIGltcG9z c2libGUgKGZvciBleGFtcGxlIEpGRlMyCj4gPj4gd3JpdGVzIHRvIHN1Y2ggcGFnZXMgbGF0ZXIp IC0gd2UgY2FuJ3QgdXBkYXRlIEVDQyBjb2RlcyBwcm9wZXJseSB3aXRob3V0IGVyYXNpbmcgd2hv bGUgcGFnZS4KPiA+PiBXcml0ZSBvcGVyYXRpb24gd2lsbCBiZSBkb25lIHdpdGhvdXQgcHJvYmxl bSwgYnV0IHJlYWQgd2lsbCB0cmlnZ2VyIEVDQyBlcnJvcnMgZHVlIHRvIGJyb2tlbgo+ID4+IEVD QyBjb2Rlcy4KPiA+Pgo+ID4+IEluIGdlbmVyYWwgcHJvYmxlbSB0aGF0IHdlIGRpc2N1c3MgaXMg dGhhdCBpbiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGRhdGEgYW5kIE9PQiBjb25mbGljdHMKPiA+ PiB3aXRoIGVhY2ggb3RoZXIgYnkgc2hhcmluZyBzYW1lIEVDQyBjb2RlcywgdGhlc2UgRUNDIGNv ZGVzIGNvdWxkIGJlIHdyaXR0ZW4gb25seSBvbmNlICh3aXRob3V0Cj4gPj4gZXJhc2luZyksIHdo aWxlIGRhdGEgYW5kIE9PQiBoYXMgZGlmZmVyZW50IGNhbGxiYWNrcyB0byBhY2Nlc3MgYW5kIHRo dXMgc3VwcG9zZWQgdG8gd29yawo+ID4+IHNlcGFyYXRlbHkuICAKPiA+IAo+ID4gVGhlIGZhY3Qg dGhhdCB0aGVyZSBtaWdodCBiZSBoZWxwZXJzIGp1c3QgZm9yIHdyaXRpbmcgT09CIGFyZWFzIG9y IGp1c3QKPiA+IGluLWJhbmQgYXJlYXMgYXJlIG9wdGltaXphdGlvbnMuIE5BTkQgcGFnZXMgYXJl IG1lYW50IHRvIGJlIHdyaXR0ZW4gYQo+ID4gc2luZ2xlIHRpbWUsIG5vIG1hdHRlciB3aGF0IHBv cnRpb24geW91IHdyaXRlLiBJbiBzb21lIGNhc2VzLCBpdCBpcwo+ID4gcG9zc2libGUgdG8gcGVy Zm9ybSBzdWJwYWdlIHdyaXRlcyBpZiB0aGUgY2hpcCBzdXBwb3J0cyBpdC4gUGFnZXMgbWF5Cj4g PiBiZSBzcGxpdCBpbnRvIHNldmVyYWwgYXJlYXMgd2hpY2ggY292ZXIgYSBwYXJ0aWFsIGluLWJh bmQgYXJlYSAqYW5kKiBhCj4gPiBwYXJ0aWFsIE9PQiBhcmVhLiBJZiB5b3Ugd3JpdGUgaW50byB0 aGUgaW4tYmFuZCAqb3IqIG91dC1vZi1iYW5kIGFyZWFzCj4gPiBvZiBhIGdpdmVuIHN1YnBhZ2Us IHlvdSAqY2Fubm90KiB3cml0ZSB0aGUgb3RoZXIgcGFydCBsYXRlciB3aXRob3V0ICAKPiAKPiBU aGFua3MgZm9yIGRldGFpbHMhIFNvIGluIGNhc2Ugb2YgSkZGUzIgaXQgbG9va3MgbGlrZSBzdHJh bmdlLCB0aGF0IGl0IHRyaWVzCj4gdG8gd3JpdGUgcGFnZSBhZnRlciB3cml0aW5nIGNsZWFuIG1h cmtlcnMgdG8gaXQgYmVmb3JlPyBJbiB0aGUgb2xkIHZlbmRvcidzCj4gZHJpdmVyIE9PQiB3cml0 ZSBjYWxsYmFjayBpcyBzdXBwcmVzc2VkIGJ5IHJldHVybiAwIGFsd2F5cyBhbmQgSkZGUzIgd29y a3MKPiBjb3JyZWN0bHkuCgpDYW4geW91IHBvaW50IHRoZSBjb2RlIHlvdSdyZSBtZW50aW9uaW5n PyAoYm90aCB3aGF0IEpGRlMyIHdoaWNoIGxvb2tzCnN0cmFuZ2UgdG8geW91IGFuZCB0aGUgb2xk IHZlbmRvciBoYWNrKQoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dpYyBtYWlsaW5nIGxpc3QKbGludXgt YW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo= 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 C6C9FC77B73 for ; Tue, 2 May 2023 11:28:32 +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=XYhHrX2wMQoy0U+SnmwbnOdcEwGwec1RTLjQAcJZCDg=; b=w93xuZTNke16Cd J+306vMhm2ArGlQ6H2QKwdjN437GqllH0GdCZ2FTymxzXLUjnyAK8CCTjcrfrWRq4h2iileNnT2XF QRvzXlD6bOlS7QkILP2wlJwzUPG+6Uga6KbbjoroyU/JoZ9LyoagMiWMcFB28mAbKJZU188c6BdkG iPXxFdg1xsgyCKtCPJwf3Mw6/vrMx4LtDAEa+0V8XPtM4NDgta8n/cmIBqeScla/mDOMUcuSJ0WRN ZH+4mvjtVj0fYOPj3wgMrMA2x8rD3fwXpEpJVkSx/qy743+E2DxcfmAdbtahhQz2vFoEdYFwYl0Kp 3A4I60nmtKULjXxM7ZKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAn-001EDH-2O; Tue, 02 May 2023 11:27:57 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAi-001EBU-2V; Tue, 02 May 2023 11:27:55 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 1A031C0008; Tue, 2 May 2023 11:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1683026868; 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=v5uZzLTFj4JCdpkIdpRTcXSLdigmmlJ0kUKE2R8/0Y0=; b=QUn/PyRfXaOFOdB4jIFGk9BmWbv6JBk7SNDTzb1WIjTDj6KPPex59UjoQvArhtTWZoftiV y0AOLzuljE7TG/nOJo6aW5+70z36bzIrh3DnbsxExIsL5Ob6X0dcRpi7JKzFIiWoXvQWyS E/VSAcxUDjLbW+hFmfhQ6esIjgwwY6BKR7m33nPgxuJ99TxoS1ME6FJY+lsv7pVVMwuJtC TbRbedMCT6GI0cvG/ZawyPo0Dq4wi9NPDJolhy1UT5xNIZRZCyB3LqcxFYkCgXdko+Ruo/ 55HVunOgyeqCkxst4o9KeFEnegBarXONo8JO2bK8arEGuvu9Ir4P3DIzmOcweQ== Date: Tue, 2 May 2023 13:27:45 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , , "yonghui.yu" Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230502132745.14349770@xps-13> In-Reply-To: <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <7520e512-8a19-ff04-364c-b5be0a579ef0@sberdevices.ru> <20230413102200.309fbe9c@xps-13> <20230413122252.0a8efcd8@xps-13> <569a948e-654a-b21f-8a4f-55dc4b295387@sberdevices.ru> <60fa656e-bda1-1de6-a79e-3e3041cd69a8@sberdevices.ru> <780c0cae-18b6-2652-1c2c-6d398ea60451@amlogic.com> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> <20230502115913.78012d98@xps-13> <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230502_042753_083287_3FC70BCD X-CRM114-Status: GOOD ( 44.90 ) 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 SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDIgTWF5 IDIwMjMgMTM6MTE6MzggKzAzMDA6Cgo+IE9uIDAyLjA1LjIwMjMgMTI6NTksIE1pcXVlbCBSYXlu YWwgd3JvdGU6Cj4gPiBIaSBBcnNlbml5LAo+ID4gCj4gPiBhdmtyYXNub3ZAc2JlcmRldmljZXMu cnUgd3JvdGUgb24gV2VkLCAyNiBBcHIgMjAyMyAxNzo0NjoxOSArMDMwMDoKPiA+ICAgCj4gPj4g T24gMjYuMDQuMjAyMyAxNjo1MSwgTGlhbmcgWWFuZyB3cm90ZTogIAo+ID4+PiBIaSBBcnNlbml5 LAo+ID4+Pgo+ID4+PiBPbiAyMDIzLzQvMjAgMTc6MzcsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTog ICAgCj4gPj4+PiBbIEVYVEVSTkFMIEVNQUlMIF0KPiA+Pj4+Cj4gPj4+PiBPbiAxOS4wNC4yMDIz IDA5OjQxLCBBcnNlbml5IEtyYXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+ PiBPbiAxOS4wNC4yMDIzIDA2OjA1LCBMaWFuZyBZYW5nIHdyb3RlOiAgICAKPiA+Pj4+Pj4gSGkg QXJzZW5peSwKPiA+Pj4+Pj4KPiA+Pj4+Pj4gT24gMjAyMy80LzE4IDIyOjU3LCBBcnNlbml5IEty YXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pj4+Pgo+ ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiAxOC4wNC4yMDIzIDE2OjI1LCBNaXF1ZWwg UmF5bmFsIHdyb3RlOiAgICAKPiA+Pj4+Pj4+PiBIaSBBcnNlbml5LAo+ID4+Pj4+Pj4+ICAgIAo+ ID4+Pj4+Pj4+Pj4+IEhlbGxvIGFnYWluIEBMaWFuZyBATWlxdWVsIQo+ID4+Pj4+Pj4+Pj4+Cj4g Pj4+Pj4+Pj4+Pj4gT25lIG1vcmUgcXVlc3Rpb24gYWJvdXQgT09CIGFjY2VzcywgYXMgSSBjYW4g c2VlIGN1cnJlbnQgZHJpdmVyIHVzZXMgdGhlIGZvbGxvd2luZwo+ID4+Pj4+Pj4+Pj4+IGNhbGxi YWNrczoKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgbmFuZC0+ZWNjLndy aXRlX29vYl9yYXcgPSBuYW5kX3dyaXRlX29vYl9zdGQ7Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDC oCBuYW5kLT5lY2Mud3JpdGVfb29iID0gbmFuZF93cml0ZV9vb2Jfc3RkOwo+ID4+Pj4+Pj4+Pj4+ Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBGdW5jdGlvbiAnbmFuZF93cml0ZV9vb2Jfc3Rk KCknIHdyaXRlcyBkYXRhIHRvIHRoZSBlbmQgb2YgdGhlIHBhZ2UuIEJ1dCBhcyBJCj4gPj4+Pj4+ Pj4+Pj4gY2FuIHNlZSBieSBkdW1waW5nICdkYXRhX2J1ZicgZHVyaW5nIHJlYWQsIHBoeXNpY2Fs IGxheW91dCBvZiBlYWNoIHBhZ2UgaXMgdGhlCj4gPj4+Pj4+Pj4+Pj4gZm9sbG93aW5nICgxS0Ig RUNDKToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwOiBbwqDCoMKgwqDCoMKgwqDC oCAxIEtCIG9mIGRhdGHCoMKgwqDCoMKgwqDCoCBdCj4gPj4+Pj4+Pj4+Pj4gMHg0MDA6IFsgMkIg dXNlciBkYXRhXSBbIDE0QiBFQ0MgY29kZV0KPiA+Pj4+Pj4+Pj4+PiAweDQxMDogW8KgwqDCoMKg wqDCoMKgwqAgMSBLQiBvZiBkYXRhwqDCoMKgwqDCoMKgwqAgXcKgwqDCoCAoQSkKPiA+Pj4+Pj4+ Pj4+PiAweDgxMDogWyAyQiB1c2VyIGRhdGFdIFsgMTRCIEVDQyBjb2RlXQo+ID4+Pj4+Pj4+Pj4+ IDB4ODIwOiBbwqDCoMKgwqDCoMKgwqAgMzJCIHVudXNlZMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0K PiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBT bywgYWZ0ZXIgJ25hbmRfd3JpdGVfb29iX3N0ZCgpJyAobGV0IGRhdGEgYmUgc2VxdWVuY2UgZnJv bSBbMHgwIC4uLiAweDNmXSksCj4gPj4+Pj4+Pj4+Pj4gcGFnZSB3aWxsIGxvb2sgbGlrZSB0aGlz Ogo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMHgwMDA6IFvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMHhGRsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+Pj4+Pj4+IDB4NDAwOiBb wqDCoMKgwqDCoMKgwqDCoMKgwqAgLi4uLi4uLi7CoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+ Pj4+Pj4+IDB4N2YwOiBbwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4RkbCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgwMDogWyAwMCAuLi4uLi4uLi4uLi4uLi4uLi4u Li4uLsKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgzMDogWyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4g M2YgXQo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gSGVyZSB3ZSBoYXZlIHR3byBwcm9ibGVt czoKPiA+Pj4+Pj4+Pj4+PiAxKSBBdHRlbXB0IHRvIGRpc3BsYXkgcmF3IGRhdGEgYnkgJ25hbmRk dW1wJyB1dGlsaXR5IHByb2R1Y2VzIGEgbGl0dGxlIGJpdAo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKg wqAgaW52YWxpZCBvdXRwdXQsIGFzIGRyaXZlciByZWxpZXMgb24gbGF5b3V0IChBKSBmcm9tIGFi b3ZlLiBFLmcuIE9PQiBkYXRhCj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDCoCBpcyBhdCAweDQwMCBh bmQgMHg4MTAuIEhlcmUgaXMgYW4gZXhhbXBsZSAoYXR0ZW1wdCB0byB3cml0ZSAweDExIDB4MjIg MHgzMyAweDQ0KToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwMDA3ZjA6IDExIDIy IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4iLi4uLi4uLi4u Li4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+ Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IDMzIDQ0IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmwqAgfDNELi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDC oMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERh dGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4u Li4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gICAgCj4gPj4+Pj4+Pj4+PiBIaSBBcnNlbml5 LAo+ID4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+IEkgcmVhbGl6ZWQgdGhlIHdyaXRlX29vYl9yYXco KSBhbmQgd3JpdGVfb29iKCkgYXJlIHdyb25nIGluIG1lc29uX25hbmQuYy4gSSBzdWdnZXN0IGJv dGggb2YgdGhlbSBzaG91bGQgYmUgcmV3b3JrZWQgYW5kIGZvbGxvdyB0aGUgZm9ybWF0IG9mIG1l c29uIG5hbmQgY29udHJvbGxlci4gaS5lLiBmaXJzdGx5IGZvcm1hdCB0aGUgZGF0YSBpbiBMYXlv dXQgKEEpIGFuZCB0aGVuIHdyaXRlLiByZWFkaW5nIGlzIGZpcnN0bHkgcmVhZGluZyB0aGUgZGF0 YSBvZiBsYXlvdXQgKEEpIGFuZCB0aGVuIGNvbXBvc3QgdGhlIGxheW91dCAoQikuICAgIAo+ID4+ Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBJSVVDIGFmdGVyIHN1Y2ggd3JpdGluZyBvbmx5IE9PQiAoZS5n LiB1c2VyIGJ5dGVzKSBhY2NvcmRpbmcgbGF5b3V0IChBKSwgaHcgd2lsbCBhbHNvIHdyaXRlIEVD QyBjb2Rlcywgc28KPiA+Pj4+Pj4+Pj4gaXQgd2lsbCBiZSBpbXBvc3NpYmxlIHRvIHdyaXRlIGRh dGEgdG8gdGhpcyBwYWdlIGxhdGVyLCBiZWNhdXNlIHdlIGNhbm5vdCB1cGRhdGUgRUNDIGNvZGVz IHByb3Blcmx5IGZvciB0aGUgbmV3bHkKPiA+Pj4+Pj4+Pj4gd3JpdHRlbiBkYXRhICh3ZSBjYW4n dCB1cGRhdGUgYml0cyBmcm9tIDAgdG8gMSkuCj4gPj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4K PiA+Pj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMikgQXR0ZW1wdCB0 byByZWFkIGRhdGEgaW4gRUNDIG1vZGUgd2lsbCBmYWlsLCBiZWNhdXNlIElJVUMgcGFnZSBpcyBp biBkaXJ0eQo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgc3RhdGUgKEkgbWVhbiB3YXMgd3JpdHRl biBhdCBsZWFzdCBvbmNlKSBhbmQgTkFORCBjb250cm9sbGVyIHRyaWVzIHRvIHVzZQo+ID4+Pj4+ Pj4+Pj4+IMKgwqDCoMKgwqAgRUNDIGNvZGVzIGF0IDB4NDAwIGFuZCAweDgxMCwgd2hpY2ggYXJl IG9idmlvdXNseSBicm9rZW4gaW4gdGhpcyBjYXNlLiBUaHVzICAgIAo+ID4+Pj4+Pj4+Pj4KPiA+ Pj4+Pj4+Pj4+IEFzIGkgc2FpZCBhYm92ZSwgd3JpdGVfb29iX3JhdygpIGFuZCB3cml0ZV9vb2Io KSBzaG91bGQgYmUgcmV3b3JrZWQuCj4gPj4+Pj4+Pj4+PiBpIGRvbid0IGtub3cgd2hhdCBkbyB5 b3UgbWVhbiBwYWdlIHdhcyB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIGFueXdheSB0aGUgcGFnZSBz aG91bGQgYmUgd3JpdHRlbiBvbmNlLCBldmVuIGp1c3Qgd3JpdGVfb29iX3JhdygpLiAgICAKPiA+ Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gU29ycnksIFlvdSBtZWFuIHRoYXQgYWZ0ZXIgT09CIHdyaXRl LCB3ZSBjYW5ub3Qgd3JpdGUgdG8gdGhlIGRhdGEgYXJlYSAoZS5nLiAweDAgLi4gMHg4MTApIHVu dGlsIHBhZ2Ugd2lsbCBiZSBlcmFzZWQ/IEZvciBleGFtcGxlCj4gPj4+Pj4+Pj4+IEpGRlMyIHdy aXRlcyB0byBPT0Igb3duIG1hcmtlcnMsIHRoZW4gaXQgdHJpZXMgdG8gd3JpdGUgdG8gdGhlIGRh dGEgYXJlYSBvZiBzdWNoIHBhZ2UuICAgIAo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IEBMaWFuZywgSSds bCBkZXNjcmliZSBjdXJyZW50IHRlc3QgY2FzZSBpbiBkZXRhaWxzOgo+ID4+Pj4+Pj4gMSkgSSBo YXZlIGVyYXNlZCBwYWdlLCBJIGNhbiByZWFkIGl0IGluwqAgYm90aCByYXcgYW5kIGVjYyBtb2Rl cyAtIG5vIHByb2JsZW0gKGl0IGlzIGZ1bGwgb2YgMHhGRikuCj4gPj4+Pj4+PiAyKSBJIChKRkZT MiBmb3IgZXhhbXBsZSkgd2FudCB0byB3cml0ZSBvbmx5IE9PQiAtIGxldCBpdCBiZSBjbGVhbiBt YXJrZXJzLgo+ID4+Pj4+Pj4gMykgSSB1c2UgcmF3IHdyaXRlIHRvIHRoZSBuZWVkZWQgcGFnZSAo cGxlYXNlIGNvcnJlY3QgbWUgaWYgaSdtIHdyb25nKS4gRm91ciBieXRlcwo+ID4+Pj4+Pj4gwqDC oMKgwqAgYXQgMHg0MDAgYW5kIDB4ODEwIGFyZSB1cGRhdGVkLiBBbGwgb3RoZXIgYnl0ZXMgc3Rp bGwgMHhmZi4KPiA+Pj4+Pj4+IDQpIE5vdywgd2hlbiBpJ20gdHJ5aW5nIHRvIHJlYWQgdGhpcyBw YWdlIGluIEVDQyBtb2RlLCBJIGdldCBFQ0MgZXJyb3JzOiBJSVVDIHRoaXMKPiA+Pj4+Pj4+IMKg wqDCoMKgIGhhcHBlbnMgYmVjYXVzZSBmcm9tIGNvbnRyb2xsZXIgcG9pbnQgb2YgdmlldyBFQ0Mg Y29kZXMgYXJlIGludmFsaWQgZm9yIGN1cnJlbnQKPiA+Pj4+Pj4+IMKgwqDCoMKgIGRhdGEgKGFs bCBFQ0NzIGFyZSAweGZmKS4gSXMgdGhpcyBiZWhhdmlvdXIgaXMgb2s/ICAgIAo+ID4+Pj4+Pgo+ ID4+Pj4+PiBZZXMsIGl0IGlzIGV4YWN0bHkgcmVwb3J0ZWQgRUNDIGVycm9ycy4gICAgCj4gPj4+ Pj4KPiA+Pj4+PiBJIHNlZSwgc28gaWYgd2Ugd3JpdGUgT09CIChlLmcuIHVzaW5nIHJhdyBtb2Rl KSwgdGhlcmUgaXMgbm8gd2F5IHRvIHJlYWQgdGhpcyBwYWdlIGluIEVDQyBtb2RlIGxhdGVyPyBB bmQgdGhlICAgIAo+ID4+Pgo+ID4+PiBPZiBjb3Vyc2UsIHRoZXJlIGlzIG5vIEVDQyBwYXJpdHkg Ynl0ZXMgaW4gaXQ7IG9yIHJhdyB3cml0ZSB0aGUgZGF0YSB3aXRoIHRoZSBFQ0MgcGFyaXR5IGJ5 dGVzIHBlciB0aGUgbGF5b3V0IChBKSB5b3UgZGVzY3JpYmUgYWJvdmUuCj4gPj4+ICAgICAKPiA+ Pgo+ID4+IEJ1dCBkb24ndCBpdCBsb29rcyBsaWtlIHN0cmFuZ2U/IEp1c3Qgd3JpdGluZyBPT0Ig bWFrZXMgcGFnZSB1bnJlYWRhYmxlPyBNYXkgYmUgaXQgaXMgYmV0dGVyIHRvIG1vdmUgT09CIGRh dGEKPiA+PiBvdXQgb2YgRUNDIGFyZWEgYXMgSSBzdWdnZXN0ZWQgaW4gdjI/Cj4gPj4gIAo+ID4+ Pj4+IG9ubHkgd2F5IHRvIG1ha2UgaXQgcmVhZGFibGUgaXMgdG8gd3JpdGUgaXQgaW4gRUNDIG1v ZGUsIGJ1dCBiZWZvcmUgdGhpcyB3cml0ZSwgd2UgbmVlZCB0byByZWFkIGl0J3MKPiA+Pj4+PiB1 c2VyJ3MgYnl0ZSAoZnJvbSBwcmV2aW91cyBPT0Igd3JpdGUpIGluIHJhdyBtb2RlLCBwdXQgaXQg dG8gaW5mbyBidWYgKGFzIHVzZXIncyBieXRlcykgYW5kIHdyaXRlIHRoaXMgcGFnZS4gSW4gdGhp cwo+ID4+Pj4+IGNhc2UgTkFORCBjb250cm9sbGVyIHdpbGwgZ2VuZXJhdGUgRUNDIGNvZGVzIGlu Y2x1ZGluZyB1c2VyJ3MgYnl0ZSBhbmQgcGFnZSBiZWNvbWUgcmVhZGFibGUgaW4gRUNDIG1vZGUK PiA+Pj4+PiBhZ2Fpbi4gICAgCj4gPj4+Cj4gPj4+IHllcywgeW91IGFyZSByaWdodC4KPiA+Pj4g ICAgIAo+ID4+Pj4+ICAgIAo+ID4+Pj4+PiAgICAKPiA+Pj4+Pj4+IDUpIE9rLCBkb24ndCBjYXJl IG9uIHRoZXNlIEVDQyBlcnJvcnMsIGxldCdzIGdvIGZ1cnRoZXIuCj4gPj4+Pj4+PiA2KSBJJ20g Z29pbmcgdG8gd3JpdGUgc2FtZSBwYWdlIGluIEVDQyBtb2RlIC0gaG93IHRvIGRvIGl0IGNvcnJl Y3RseT8gVGhlcmUgaXMgYWxyZWFkeQo+ID4+Pj4+Pj4gwqDCoMKgwqAgNCBPT0IgYnl0ZXMsIGNv bnNpZGVyZWQgdG8gYmUgY292ZXJlZCBieSBFQ0MgKGJ1dCBpbiBmYWN0IG5vdyAtIEVDQyBhcmVh IGlzIEZGZWQpLiAgICAKPiA+Pj4+Pj4KPiA+Pj4+Pj4gSWYgc3RlcCA0IGhhcyBleGN1dGVkICJw cm9ncmFtIiBjb21tYW5kIGF0IHRoZSBwYWdlIChuYW5kX3dyaXRlX29vYl9zdGQoKSBkb2VzKSwg aXQgY2FuJ3QgYmUgd3JpdHRlbiBhZ2FpbiBiZWZvcmUgZXJhc2luZyB0aGUgcGFnZShibG9jayku IHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgd2hvbGUgcGFnZSBpbiB0aGUgZGRyIGFuZCBjaGFuZ2Ug dGhlIGNvbnRlbnQsIGVyYXNlIGJsb2NrLCB3cml0ZSBpdCBhZ2Fpbi4KPiA+Pj4+Pj4KPiA+Pj4+ Pj4gSSBkb24ndCB0aGluayBKZmZzMiBoYXMgdGhlIHNhbWUgc3RlcHMgKDEtNikgYXMgeW91IHNh aWQgYWJvdmUuIGFyZSB5b3Ugc3VyZSB0aGF0IGhhcHBlcyBvbiBKZmZzMiBvciBqdXN0IGFuIGV4 YW1wbGU/ICAgIAo+ID4+Pj4KPiA+Pj4+ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4gSSBqdXN0IGNoZWNr ZWQgSkZGUzIgbW91bnQvdW1vdW50IGFnYWluLCBoZXJlIGlzIHdoYXQgaSBzZWU6Cj4gPj4+Pj4g MCkgRmlyc3QgYXR0ZW1wdCB0byBtb3VudCBKRkZTMi4KPiA+Pj4+PiAxKSBJdCB3cml0ZXMgT09C IHRvIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyB3cml0ZSkuIEl0IGlzIGNsZWFubWFya2VyIHZhbHVl IDB4ODUgMHgxOSAweDAzIDB4MjAuIE1vdW50IGlzIGRvbmUuCj4gPj4+Pj4gMikgVW1vdW50IEpG RlMyLiBEb25lLgo+ID4+Pj4+IDMpIFNlY29uZCBhdHRlbXB0IHRvIG1vdW50IEpGRlMyLgo+ID4+ Pj4+IDQpIEl0IHJlYWRzIE9PQiBmcm9tIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyByZWFkKS4gVmFs dWUgaXMgMHg4NSAweDE5IDB4MDMgMHgyMC4gRG9uZS4KPiA+Pj4+PiA1KSBJdCByZWFkcyBwYWdl IE4gaW4gRUNDIG1vZGUsIGFuZCBpIGdldDoKPiA+Pj4+PiDCoMKgwqDCoCBqZmZzMjogbXRkLT5y ZWFkKDB4MTAwIGJ5dGVzIGZyb20gTikgcmV0dXJuZWQgRUNDIGVycm9yCj4gPj4+Pj4gNikgTW91 bnQgZmFpbGVkLgo+ID4+Pj4+Cj4gPj4+Pj4gV2UgYWxyZWFkeSBoYWQgcHJvYmxlbSB3aGljaCBs b29rcyBsaWtlIHRoaXMgb24gYW5vdGhlciBkZXZpY2UuIFNvbHV0aW9uIHdhcyB0byB1c2UgT09C IGFyZWEgd2hpY2ggaXMKPiA+Pj4+PiBub3QgY292ZXJlZCBieSBFQ0MgZm9yIEpGRlMyIGNsZWFu bWFya2Vycy4gICAgCj4gPj4+Cj4gPj4+IG9rLCBzbyB0aGVyZSBpcyBub3QgRUNDIHBhcml0eSBi eXRlcyBhbmQgbXRkLT5yZWFkKCkgcmV0dXJucyBFQ0MgZXJyb3IuCj4gPj4+IGRvZXMgaXQgaGF2 ZSB0byB1c2UgcmF3IHdyaXRlL3JlYWQgb24gc3RlcCAxKSBhbmQgNCk/Cj4gPj4+ICAgICAKPiA+ Pgo+ID4+IElmIGknbSB1c2luZyBub24gcmF3IGFjY2VzcyB0byBPT0IsIGZvciBleGFtcGxlIHdy aXRlIE9PQiAodXNlciBieXRlcykgaW4gRUNDIG1vZGUsIHRoZW4KPiA+PiBzdGVwcyAxKSBhbmQg NCkgYW5kIDUpIHBhc3NlcyBvaywgYnV0IHdyaXRlIHRvIHRoaXMgcGFnZSB3aWxsIGJlIGltcG9z c2libGUgKGZvciBleGFtcGxlIEpGRlMyCj4gPj4gd3JpdGVzIHRvIHN1Y2ggcGFnZXMgbGF0ZXIp IC0gd2UgY2FuJ3QgdXBkYXRlIEVDQyBjb2RlcyBwcm9wZXJseSB3aXRob3V0IGVyYXNpbmcgd2hv bGUgcGFnZS4KPiA+PiBXcml0ZSBvcGVyYXRpb24gd2lsbCBiZSBkb25lIHdpdGhvdXQgcHJvYmxl bSwgYnV0IHJlYWQgd2lsbCB0cmlnZ2VyIEVDQyBlcnJvcnMgZHVlIHRvIGJyb2tlbgo+ID4+IEVD QyBjb2Rlcy4KPiA+Pgo+ID4+IEluIGdlbmVyYWwgcHJvYmxlbSB0aGF0IHdlIGRpc2N1c3MgaXMg dGhhdCBpbiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGRhdGEgYW5kIE9PQiBjb25mbGljdHMKPiA+ PiB3aXRoIGVhY2ggb3RoZXIgYnkgc2hhcmluZyBzYW1lIEVDQyBjb2RlcywgdGhlc2UgRUNDIGNv ZGVzIGNvdWxkIGJlIHdyaXR0ZW4gb25seSBvbmNlICh3aXRob3V0Cj4gPj4gZXJhc2luZyksIHdo aWxlIGRhdGEgYW5kIE9PQiBoYXMgZGlmZmVyZW50IGNhbGxiYWNrcyB0byBhY2Nlc3MgYW5kIHRo dXMgc3VwcG9zZWQgdG8gd29yawo+ID4+IHNlcGFyYXRlbHkuICAKPiA+IAo+ID4gVGhlIGZhY3Qg dGhhdCB0aGVyZSBtaWdodCBiZSBoZWxwZXJzIGp1c3QgZm9yIHdyaXRpbmcgT09CIGFyZWFzIG9y IGp1c3QKPiA+IGluLWJhbmQgYXJlYXMgYXJlIG9wdGltaXphdGlvbnMuIE5BTkQgcGFnZXMgYXJl IG1lYW50IHRvIGJlIHdyaXR0ZW4gYQo+ID4gc2luZ2xlIHRpbWUsIG5vIG1hdHRlciB3aGF0IHBv cnRpb24geW91IHdyaXRlLiBJbiBzb21lIGNhc2VzLCBpdCBpcwo+ID4gcG9zc2libGUgdG8gcGVy Zm9ybSBzdWJwYWdlIHdyaXRlcyBpZiB0aGUgY2hpcCBzdXBwb3J0cyBpdC4gUGFnZXMgbWF5Cj4g PiBiZSBzcGxpdCBpbnRvIHNldmVyYWwgYXJlYXMgd2hpY2ggY292ZXIgYSBwYXJ0aWFsIGluLWJh bmQgYXJlYSAqYW5kKiBhCj4gPiBwYXJ0aWFsIE9PQiBhcmVhLiBJZiB5b3Ugd3JpdGUgaW50byB0 aGUgaW4tYmFuZCAqb3IqIG91dC1vZi1iYW5kIGFyZWFzCj4gPiBvZiBhIGdpdmVuIHN1YnBhZ2Us IHlvdSAqY2Fubm90KiB3cml0ZSB0aGUgb3RoZXIgcGFydCBsYXRlciB3aXRob3V0ICAKPiAKPiBU aGFua3MgZm9yIGRldGFpbHMhIFNvIGluIGNhc2Ugb2YgSkZGUzIgaXQgbG9va3MgbGlrZSBzdHJh bmdlLCB0aGF0IGl0IHRyaWVzCj4gdG8gd3JpdGUgcGFnZSBhZnRlciB3cml0aW5nIGNsZWFuIG1h cmtlcnMgdG8gaXQgYmVmb3JlPyBJbiB0aGUgb2xkIHZlbmRvcidzCj4gZHJpdmVyIE9PQiB3cml0 ZSBjYWxsYmFjayBpcyBzdXBwcmVzc2VkIGJ5IHJldHVybiAwIGFsd2F5cyBhbmQgSkZGUzIgd29y a3MKPiBjb3JyZWN0bHkuCgpDYW4geW91IHBvaW50IHRoZSBjb2RlIHlvdSdyZSBtZW50aW9uaW5n PyAoYm90aCB3aGF0IEpGRlMyIHdoaWNoIGxvb2tzCnN0cmFuZ2UgdG8geW91IGFuZCB0aGUgb2xk IHZlbmRvciBoYWNrKQoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxp bmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LW10ZC8K 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 644EFC77B7E for ; Tue, 2 May 2023 11:28:56 +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=k9jhECYlVtKdt0kq48GtkO95i0EcTX19Wy9zWuQAsRw=; b=3Mnvw8yboXwoRc mZCn/m0JyUypD429kVH5P+CREf9Q01ACjBgGu2UUvyGxxE7XDhF9oOL2JOl/AUi/Vp6ooq4xUy6rJ flha1SQSgnj6ZbVPr0j4JQnQ6GWN9d0mnhtsMn9zTlhssKtlmY1/bHb25/0clu/bJEb0AeEzwISsB gXsITOl0ZWlwGg4ccIs2Ct7a1B+Oz2szlqaQG0+Ebuu8XBAfuhq0gFxlG5TIREexAJ+vI7MgUxfx5 BnYBoh3gIdwxbnI7CQ/Dws4LO1fSnK4Vo2dV39chWpHYG1HeYxiqmB0scUQNs+ZuV7AV8LGSUP2r5 lx9PNqIKoxAPcl9DzWZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAm-001ED2-2Y; Tue, 02 May 2023 11:27:56 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ptoAi-001EBU-2V; Tue, 02 May 2023 11:27:55 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 1A031C0008; Tue, 2 May 2023 11:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1683026868; 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=v5uZzLTFj4JCdpkIdpRTcXSLdigmmlJ0kUKE2R8/0Y0=; b=QUn/PyRfXaOFOdB4jIFGk9BmWbv6JBk7SNDTzb1WIjTDj6KPPex59UjoQvArhtTWZoftiV y0AOLzuljE7TG/nOJo6aW5+70z36bzIrh3DnbsxExIsL5Ob6X0dcRpi7JKzFIiWoXvQWyS E/VSAcxUDjLbW+hFmfhQ6esIjgwwY6BKR7m33nPgxuJ99TxoS1ME6FJY+lsv7pVVMwuJtC TbRbedMCT6GI0cvG/ZawyPo0Dq4wi9NPDJolhy1UT5xNIZRZCyB3LqcxFYkCgXdko+Ruo/ 55HVunOgyeqCkxst4o9KeFEnegBarXONo8JO2bK8arEGuvu9Ir4P3DIzmOcweQ== Date: Tue, 2 May 2023 13:27:45 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , , "yonghui.yu" Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230502132745.14349770@xps-13> In-Reply-To: <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <7520e512-8a19-ff04-364c-b5be0a579ef0@sberdevices.ru> <20230413102200.309fbe9c@xps-13> <20230413122252.0a8efcd8@xps-13> <569a948e-654a-b21f-8a4f-55dc4b295387@sberdevices.ru> <60fa656e-bda1-1de6-a79e-3e3041cd69a8@sberdevices.ru> <780c0cae-18b6-2652-1c2c-6d398ea60451@amlogic.com> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> <20230502115913.78012d98@xps-13> <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230502_042753_083287_3FC70BCD X-CRM114-Status: GOOD ( 44.90 ) 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 SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDIgTWF5 IDIwMjMgMTM6MTE6MzggKzAzMDA6Cgo+IE9uIDAyLjA1LjIwMjMgMTI6NTksIE1pcXVlbCBSYXlu YWwgd3JvdGU6Cj4gPiBIaSBBcnNlbml5LAo+ID4gCj4gPiBhdmtyYXNub3ZAc2JlcmRldmljZXMu cnUgd3JvdGUgb24gV2VkLCAyNiBBcHIgMjAyMyAxNzo0NjoxOSArMDMwMDoKPiA+ICAgCj4gPj4g T24gMjYuMDQuMjAyMyAxNjo1MSwgTGlhbmcgWWFuZyB3cm90ZTogIAo+ID4+PiBIaSBBcnNlbml5 LAo+ID4+Pgo+ID4+PiBPbiAyMDIzLzQvMjAgMTc6MzcsIEFyc2VuaXkgS3Jhc25vdiB3cm90ZTog ICAgCj4gPj4+PiBbIEVYVEVSTkFMIEVNQUlMIF0KPiA+Pj4+Cj4gPj4+PiBPbiAxOS4wNC4yMDIz IDA5OjQxLCBBcnNlbml5IEtyYXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+ PiBPbiAxOS4wNC4yMDIzIDA2OjA1LCBMaWFuZyBZYW5nIHdyb3RlOiAgICAKPiA+Pj4+Pj4gSGkg QXJzZW5peSwKPiA+Pj4+Pj4KPiA+Pj4+Pj4gT24gMjAyMy80LzE4IDIyOjU3LCBBcnNlbml5IEty YXNub3Ygd3JvdGU6ICAgIAo+ID4+Pj4+Pj4gWyBFWFRFUk5BTCBFTUFJTCBdCj4gPj4+Pj4+Pgo+ ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBPbiAxOC4wNC4yMDIzIDE2OjI1LCBNaXF1ZWwg UmF5bmFsIHdyb3RlOiAgICAKPiA+Pj4+Pj4+PiBIaSBBcnNlbml5LAo+ID4+Pj4+Pj4+ICAgIAo+ ID4+Pj4+Pj4+Pj4+IEhlbGxvIGFnYWluIEBMaWFuZyBATWlxdWVsIQo+ID4+Pj4+Pj4+Pj4+Cj4g Pj4+Pj4+Pj4+Pj4gT25lIG1vcmUgcXVlc3Rpb24gYWJvdXQgT09CIGFjY2VzcywgYXMgSSBjYW4g c2VlIGN1cnJlbnQgZHJpdmVyIHVzZXMgdGhlIGZvbGxvd2luZwo+ID4+Pj4+Pj4+Pj4+IGNhbGxi YWNrczoKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgbmFuZC0+ZWNjLndy aXRlX29vYl9yYXcgPSBuYW5kX3dyaXRlX29vYl9zdGQ7Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDC oCBuYW5kLT5lY2Mud3JpdGVfb29iID0gbmFuZF93cml0ZV9vb2Jfc3RkOwo+ID4+Pj4+Pj4+Pj4+ Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBGdW5jdGlvbiAnbmFuZF93cml0ZV9vb2Jfc3Rk KCknIHdyaXRlcyBkYXRhIHRvIHRoZSBlbmQgb2YgdGhlIHBhZ2UuIEJ1dCBhcyBJCj4gPj4+Pj4+ Pj4+Pj4gY2FuIHNlZSBieSBkdW1waW5nICdkYXRhX2J1ZicgZHVyaW5nIHJlYWQsIHBoeXNpY2Fs IGxheW91dCBvZiBlYWNoIHBhZ2UgaXMgdGhlCj4gPj4+Pj4+Pj4+Pj4gZm9sbG93aW5nICgxS0Ig RUNDKToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwOiBbwqDCoMKgwqDCoMKgwqDC oCAxIEtCIG9mIGRhdGHCoMKgwqDCoMKgwqDCoCBdCj4gPj4+Pj4+Pj4+Pj4gMHg0MDA6IFsgMkIg dXNlciBkYXRhXSBbIDE0QiBFQ0MgY29kZV0KPiA+Pj4+Pj4+Pj4+PiAweDQxMDogW8KgwqDCoMKg wqDCoMKgwqAgMSBLQiBvZiBkYXRhwqDCoMKgwqDCoMKgwqAgXcKgwqDCoCAoQSkKPiA+Pj4+Pj4+ Pj4+PiAweDgxMDogWyAyQiB1c2VyIGRhdGFdIFsgMTRCIEVDQyBjb2RlXQo+ID4+Pj4+Pj4+Pj4+ IDB4ODIwOiBbwqDCoMKgwqDCoMKgwqAgMzJCIHVudXNlZMKgwqDCoMKgwqDCoMKgwqDCoMKgIF0K PiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiBT bywgYWZ0ZXIgJ25hbmRfd3JpdGVfb29iX3N0ZCgpJyAobGV0IGRhdGEgYmUgc2VxdWVuY2UgZnJv bSBbMHgwIC4uLiAweDNmXSksCj4gPj4+Pj4+Pj4+Pj4gcGFnZSB3aWxsIGxvb2sgbGlrZSB0aGlz Ogo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMHgwMDA6IFvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMHhGRsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+Pj4+Pj4+IDB4NDAwOiBb wqDCoMKgwqDCoMKgwqDCoMKgwqAgLi4uLi4uLi7CoMKgwqDCoMKgwqDCoMKgwqAgXQo+ID4+Pj4+ Pj4+Pj4+IDB4N2YwOiBbwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDB4RkbCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgwMDogWyAwMCAuLi4uLi4uLi4uLi4uLi4uLi4u Li4uLsKgIF0KPiA+Pj4+Pj4+Pj4+PiAweDgzMDogWyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4g M2YgXQo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gSGVyZSB3ZSBoYXZlIHR3byBwcm9ibGVt czoKPiA+Pj4+Pj4+Pj4+PiAxKSBBdHRlbXB0IHRvIGRpc3BsYXkgcmF3IGRhdGEgYnkgJ25hbmRk dW1wJyB1dGlsaXR5IHByb2R1Y2VzIGEgbGl0dGxlIGJpdAo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKg wqAgaW52YWxpZCBvdXRwdXQsIGFzIGRyaXZlciByZWxpZXMgb24gbGF5b3V0IChBKSBmcm9tIGFi b3ZlLiBFLmcuIE9PQiBkYXRhCj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDCoCBpcyBhdCAweDQwMCBh bmQgMHg4MTAuIEhlcmUgaXMgYW4gZXhhbXBsZSAoYXR0ZW1wdCB0byB3cml0ZSAweDExIDB4MjIg MHgzMyAweDQ0KToKPiA+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+IDB4MDAwMDA3ZjA6IDExIDIy IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4iLi4uLi4uLi4u Li4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+ Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERhdGE6IDMzIDQ0IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmIGZmIGZmIGZmIGZmwqAgfDNELi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDC oMKgwqAgT09CIERhdGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IGZmIGZmwqAgfC4uLi4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gwqDCoMKgwqAgT09CIERh dGE6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmwqAgfC4u Li4uLi4uLi4uLi4uLi58Cj4gPj4+Pj4+Pj4+Pj4gICAgCj4gPj4+Pj4+Pj4+PiBIaSBBcnNlbml5 LAo+ID4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+IEkgcmVhbGl6ZWQgdGhlIHdyaXRlX29vYl9yYXco KSBhbmQgd3JpdGVfb29iKCkgYXJlIHdyb25nIGluIG1lc29uX25hbmQuYy4gSSBzdWdnZXN0IGJv dGggb2YgdGhlbSBzaG91bGQgYmUgcmV3b3JrZWQgYW5kIGZvbGxvdyB0aGUgZm9ybWF0IG9mIG1l c29uIG5hbmQgY29udHJvbGxlci4gaS5lLiBmaXJzdGx5IGZvcm1hdCB0aGUgZGF0YSBpbiBMYXlv dXQgKEEpIGFuZCB0aGVuIHdyaXRlLiByZWFkaW5nIGlzIGZpcnN0bHkgcmVhZGluZyB0aGUgZGF0 YSBvZiBsYXlvdXQgKEEpIGFuZCB0aGVuIGNvbXBvc3QgdGhlIGxheW91dCAoQikuICAgIAo+ID4+ Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBJSVVDIGFmdGVyIHN1Y2ggd3JpdGluZyBvbmx5IE9PQiAoZS5n LiB1c2VyIGJ5dGVzKSBhY2NvcmRpbmcgbGF5b3V0IChBKSwgaHcgd2lsbCBhbHNvIHdyaXRlIEVD QyBjb2Rlcywgc28KPiA+Pj4+Pj4+Pj4gaXQgd2lsbCBiZSBpbXBvc3NpYmxlIHRvIHdyaXRlIGRh dGEgdG8gdGhpcyBwYWdlIGxhdGVyLCBiZWNhdXNlIHdlIGNhbm5vdCB1cGRhdGUgRUNDIGNvZGVz IHByb3Blcmx5IGZvciB0aGUgbmV3bHkKPiA+Pj4+Pj4+Pj4gd3JpdHRlbiBkYXRhICh3ZSBjYW4n dCB1cGRhdGUgYml0cyBmcm9tIDAgdG8gMSkuCj4gPj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4K PiA+Pj4+Pj4+Pj4+ICAgIAo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gMikgQXR0ZW1wdCB0 byByZWFkIGRhdGEgaW4gRUNDIG1vZGUgd2lsbCBmYWlsLCBiZWNhdXNlIElJVUMgcGFnZSBpcyBp biBkaXJ0eQo+ID4+Pj4+Pj4+Pj4+IMKgwqDCoMKgwqAgc3RhdGUgKEkgbWVhbiB3YXMgd3JpdHRl biBhdCBsZWFzdCBvbmNlKSBhbmQgTkFORCBjb250cm9sbGVyIHRyaWVzIHRvIHVzZQo+ID4+Pj4+ Pj4+Pj4+IMKgwqDCoMKgwqAgRUNDIGNvZGVzIGF0IDB4NDAwIGFuZCAweDgxMCwgd2hpY2ggYXJl IG9idmlvdXNseSBicm9rZW4gaW4gdGhpcyBjYXNlLiBUaHVzICAgIAo+ID4+Pj4+Pj4+Pj4KPiA+ Pj4+Pj4+Pj4+IEFzIGkgc2FpZCBhYm92ZSwgd3JpdGVfb29iX3JhdygpIGFuZCB3cml0ZV9vb2Io KSBzaG91bGQgYmUgcmV3b3JrZWQuCj4gPj4+Pj4+Pj4+PiBpIGRvbid0IGtub3cgd2hhdCBkbyB5 b3UgbWVhbiBwYWdlIHdhcyB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIGFueXdheSB0aGUgcGFnZSBz aG91bGQgYmUgd3JpdHRlbiBvbmNlLCBldmVuIGp1c3Qgd3JpdGVfb29iX3JhdygpLiAgICAKPiA+ Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gU29ycnksIFlvdSBtZWFuIHRoYXQgYWZ0ZXIgT09CIHdyaXRl LCB3ZSBjYW5ub3Qgd3JpdGUgdG8gdGhlIGRhdGEgYXJlYSAoZS5nLiAweDAgLi4gMHg4MTApIHVu dGlsIHBhZ2Ugd2lsbCBiZSBlcmFzZWQ/IEZvciBleGFtcGxlCj4gPj4+Pj4+Pj4+IEpGRlMyIHdy aXRlcyB0byBPT0Igb3duIG1hcmtlcnMsIHRoZW4gaXQgdHJpZXMgdG8gd3JpdGUgdG8gdGhlIGRh dGEgYXJlYSBvZiBzdWNoIHBhZ2UuICAgIAo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IEBMaWFuZywgSSds bCBkZXNjcmliZSBjdXJyZW50IHRlc3QgY2FzZSBpbiBkZXRhaWxzOgo+ID4+Pj4+Pj4gMSkgSSBo YXZlIGVyYXNlZCBwYWdlLCBJIGNhbiByZWFkIGl0IGluwqAgYm90aCByYXcgYW5kIGVjYyBtb2Rl cyAtIG5vIHByb2JsZW0gKGl0IGlzIGZ1bGwgb2YgMHhGRikuCj4gPj4+Pj4+PiAyKSBJIChKRkZT MiBmb3IgZXhhbXBsZSkgd2FudCB0byB3cml0ZSBvbmx5IE9PQiAtIGxldCBpdCBiZSBjbGVhbiBt YXJrZXJzLgo+ID4+Pj4+Pj4gMykgSSB1c2UgcmF3IHdyaXRlIHRvIHRoZSBuZWVkZWQgcGFnZSAo cGxlYXNlIGNvcnJlY3QgbWUgaWYgaSdtIHdyb25nKS4gRm91ciBieXRlcwo+ID4+Pj4+Pj4gwqDC oMKgwqAgYXQgMHg0MDAgYW5kIDB4ODEwIGFyZSB1cGRhdGVkLiBBbGwgb3RoZXIgYnl0ZXMgc3Rp bGwgMHhmZi4KPiA+Pj4+Pj4+IDQpIE5vdywgd2hlbiBpJ20gdHJ5aW5nIHRvIHJlYWQgdGhpcyBw YWdlIGluIEVDQyBtb2RlLCBJIGdldCBFQ0MgZXJyb3JzOiBJSVVDIHRoaXMKPiA+Pj4+Pj4+IMKg wqDCoMKgIGhhcHBlbnMgYmVjYXVzZSBmcm9tIGNvbnRyb2xsZXIgcG9pbnQgb2YgdmlldyBFQ0Mg Y29kZXMgYXJlIGludmFsaWQgZm9yIGN1cnJlbnQKPiA+Pj4+Pj4+IMKgwqDCoMKgIGRhdGEgKGFs bCBFQ0NzIGFyZSAweGZmKS4gSXMgdGhpcyBiZWhhdmlvdXIgaXMgb2s/ICAgIAo+ID4+Pj4+Pgo+ ID4+Pj4+PiBZZXMsIGl0IGlzIGV4YWN0bHkgcmVwb3J0ZWQgRUNDIGVycm9ycy4gICAgCj4gPj4+ Pj4KPiA+Pj4+PiBJIHNlZSwgc28gaWYgd2Ugd3JpdGUgT09CIChlLmcuIHVzaW5nIHJhdyBtb2Rl KSwgdGhlcmUgaXMgbm8gd2F5IHRvIHJlYWQgdGhpcyBwYWdlIGluIEVDQyBtb2RlIGxhdGVyPyBB bmQgdGhlICAgIAo+ID4+Pgo+ID4+PiBPZiBjb3Vyc2UsIHRoZXJlIGlzIG5vIEVDQyBwYXJpdHkg Ynl0ZXMgaW4gaXQ7IG9yIHJhdyB3cml0ZSB0aGUgZGF0YSB3aXRoIHRoZSBFQ0MgcGFyaXR5IGJ5 dGVzIHBlciB0aGUgbGF5b3V0IChBKSB5b3UgZGVzY3JpYmUgYWJvdmUuCj4gPj4+ICAgICAKPiA+ Pgo+ID4+IEJ1dCBkb24ndCBpdCBsb29rcyBsaWtlIHN0cmFuZ2U/IEp1c3Qgd3JpdGluZyBPT0Ig bWFrZXMgcGFnZSB1bnJlYWRhYmxlPyBNYXkgYmUgaXQgaXMgYmV0dGVyIHRvIG1vdmUgT09CIGRh dGEKPiA+PiBvdXQgb2YgRUNDIGFyZWEgYXMgSSBzdWdnZXN0ZWQgaW4gdjI/Cj4gPj4gIAo+ID4+ Pj4+IG9ubHkgd2F5IHRvIG1ha2UgaXQgcmVhZGFibGUgaXMgdG8gd3JpdGUgaXQgaW4gRUNDIG1v ZGUsIGJ1dCBiZWZvcmUgdGhpcyB3cml0ZSwgd2UgbmVlZCB0byByZWFkIGl0J3MKPiA+Pj4+PiB1 c2VyJ3MgYnl0ZSAoZnJvbSBwcmV2aW91cyBPT0Igd3JpdGUpIGluIHJhdyBtb2RlLCBwdXQgaXQg dG8gaW5mbyBidWYgKGFzIHVzZXIncyBieXRlcykgYW5kIHdyaXRlIHRoaXMgcGFnZS4gSW4gdGhp cwo+ID4+Pj4+IGNhc2UgTkFORCBjb250cm9sbGVyIHdpbGwgZ2VuZXJhdGUgRUNDIGNvZGVzIGlu Y2x1ZGluZyB1c2VyJ3MgYnl0ZSBhbmQgcGFnZSBiZWNvbWUgcmVhZGFibGUgaW4gRUNDIG1vZGUK PiA+Pj4+PiBhZ2Fpbi4gICAgCj4gPj4+Cj4gPj4+IHllcywgeW91IGFyZSByaWdodC4KPiA+Pj4g ICAgIAo+ID4+Pj4+ICAgIAo+ID4+Pj4+PiAgICAKPiA+Pj4+Pj4+IDUpIE9rLCBkb24ndCBjYXJl IG9uIHRoZXNlIEVDQyBlcnJvcnMsIGxldCdzIGdvIGZ1cnRoZXIuCj4gPj4+Pj4+PiA2KSBJJ20g Z29pbmcgdG8gd3JpdGUgc2FtZSBwYWdlIGluIEVDQyBtb2RlIC0gaG93IHRvIGRvIGl0IGNvcnJl Y3RseT8gVGhlcmUgaXMgYWxyZWFkeQo+ID4+Pj4+Pj4gwqDCoMKgwqAgNCBPT0IgYnl0ZXMsIGNv bnNpZGVyZWQgdG8gYmUgY292ZXJlZCBieSBFQ0MgKGJ1dCBpbiBmYWN0IG5vdyAtIEVDQyBhcmVh IGlzIEZGZWQpLiAgICAKPiA+Pj4+Pj4KPiA+Pj4+Pj4gSWYgc3RlcCA0IGhhcyBleGN1dGVkICJw cm9ncmFtIiBjb21tYW5kIGF0IHRoZSBwYWdlIChuYW5kX3dyaXRlX29vYl9zdGQoKSBkb2VzKSwg aXQgY2FuJ3QgYmUgd3JpdHRlbiBhZ2FpbiBiZWZvcmUgZXJhc2luZyB0aGUgcGFnZShibG9jayku IHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgd2hvbGUgcGFnZSBpbiB0aGUgZGRyIGFuZCBjaGFuZ2Ug dGhlIGNvbnRlbnQsIGVyYXNlIGJsb2NrLCB3cml0ZSBpdCBhZ2Fpbi4KPiA+Pj4+Pj4KPiA+Pj4+ Pj4gSSBkb24ndCB0aGluayBKZmZzMiBoYXMgdGhlIHNhbWUgc3RlcHMgKDEtNikgYXMgeW91IHNh aWQgYWJvdmUuIGFyZSB5b3Ugc3VyZSB0aGF0IGhhcHBlcyBvbiBKZmZzMiBvciBqdXN0IGFuIGV4 YW1wbGU/ICAgIAo+ID4+Pj4KPiA+Pj4+ICAgIAo+ID4+Pj4+Cj4gPj4+Pj4gSSBqdXN0IGNoZWNr ZWQgSkZGUzIgbW91bnQvdW1vdW50IGFnYWluLCBoZXJlIGlzIHdoYXQgaSBzZWU6Cj4gPj4+Pj4g MCkgRmlyc3QgYXR0ZW1wdCB0byBtb3VudCBKRkZTMi4KPiA+Pj4+PiAxKSBJdCB3cml0ZXMgT09C IHRvIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyB3cml0ZSkuIEl0IGlzIGNsZWFubWFya2VyIHZhbHVl IDB4ODUgMHgxOSAweDAzIDB4MjAuIE1vdW50IGlzIGRvbmUuCj4gPj4+Pj4gMikgVW1vdW50IEpG RlMyLiBEb25lLgo+ID4+Pj4+IDMpIFNlY29uZCBhdHRlbXB0IHRvIG1vdW50IEpGRlMyLgo+ID4+ Pj4+IDQpIEl0IHJlYWRzIE9PQiBmcm9tIHBhZ2UgTiAoaSdtIHVzaW5nIHJhdyByZWFkKS4gVmFs dWUgaXMgMHg4NSAweDE5IDB4MDMgMHgyMC4gRG9uZS4KPiA+Pj4+PiA1KSBJdCByZWFkcyBwYWdl IE4gaW4gRUNDIG1vZGUsIGFuZCBpIGdldDoKPiA+Pj4+PiDCoMKgwqDCoCBqZmZzMjogbXRkLT5y ZWFkKDB4MTAwIGJ5dGVzIGZyb20gTikgcmV0dXJuZWQgRUNDIGVycm9yCj4gPj4+Pj4gNikgTW91 bnQgZmFpbGVkLgo+ID4+Pj4+Cj4gPj4+Pj4gV2UgYWxyZWFkeSBoYWQgcHJvYmxlbSB3aGljaCBs b29rcyBsaWtlIHRoaXMgb24gYW5vdGhlciBkZXZpY2UuIFNvbHV0aW9uIHdhcyB0byB1c2UgT09C IGFyZWEgd2hpY2ggaXMKPiA+Pj4+PiBub3QgY292ZXJlZCBieSBFQ0MgZm9yIEpGRlMyIGNsZWFu bWFya2Vycy4gICAgCj4gPj4+Cj4gPj4+IG9rLCBzbyB0aGVyZSBpcyBub3QgRUNDIHBhcml0eSBi eXRlcyBhbmQgbXRkLT5yZWFkKCkgcmV0dXJucyBFQ0MgZXJyb3IuCj4gPj4+IGRvZXMgaXQgaGF2 ZSB0byB1c2UgcmF3IHdyaXRlL3JlYWQgb24gc3RlcCAxKSBhbmQgNCk/Cj4gPj4+ICAgICAKPiA+ Pgo+ID4+IElmIGknbSB1c2luZyBub24gcmF3IGFjY2VzcyB0byBPT0IsIGZvciBleGFtcGxlIHdy aXRlIE9PQiAodXNlciBieXRlcykgaW4gRUNDIG1vZGUsIHRoZW4KPiA+PiBzdGVwcyAxKSBhbmQg NCkgYW5kIDUpIHBhc3NlcyBvaywgYnV0IHdyaXRlIHRvIHRoaXMgcGFnZSB3aWxsIGJlIGltcG9z c2libGUgKGZvciBleGFtcGxlIEpGRlMyCj4gPj4gd3JpdGVzIHRvIHN1Y2ggcGFnZXMgbGF0ZXIp IC0gd2UgY2FuJ3QgdXBkYXRlIEVDQyBjb2RlcyBwcm9wZXJseSB3aXRob3V0IGVyYXNpbmcgd2hv bGUgcGFnZS4KPiA+PiBXcml0ZSBvcGVyYXRpb24gd2lsbCBiZSBkb25lIHdpdGhvdXQgcHJvYmxl bSwgYnV0IHJlYWQgd2lsbCB0cmlnZ2VyIEVDQyBlcnJvcnMgZHVlIHRvIGJyb2tlbgo+ID4+IEVD QyBjb2Rlcy4KPiA+Pgo+ID4+IEluIGdlbmVyYWwgcHJvYmxlbSB0aGF0IHdlIGRpc2N1c3MgaXMg dGhhdCBpbiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGRhdGEgYW5kIE9PQiBjb25mbGljdHMKPiA+ PiB3aXRoIGVhY2ggb3RoZXIgYnkgc2hhcmluZyBzYW1lIEVDQyBjb2RlcywgdGhlc2UgRUNDIGNv ZGVzIGNvdWxkIGJlIHdyaXR0ZW4gb25seSBvbmNlICh3aXRob3V0Cj4gPj4gZXJhc2luZyksIHdo aWxlIGRhdGEgYW5kIE9PQiBoYXMgZGlmZmVyZW50IGNhbGxiYWNrcyB0byBhY2Nlc3MgYW5kIHRo dXMgc3VwcG9zZWQgdG8gd29yawo+ID4+IHNlcGFyYXRlbHkuICAKPiA+IAo+ID4gVGhlIGZhY3Qg dGhhdCB0aGVyZSBtaWdodCBiZSBoZWxwZXJzIGp1c3QgZm9yIHdyaXRpbmcgT09CIGFyZWFzIG9y IGp1c3QKPiA+IGluLWJhbmQgYXJlYXMgYXJlIG9wdGltaXphdGlvbnMuIE5BTkQgcGFnZXMgYXJl IG1lYW50IHRvIGJlIHdyaXR0ZW4gYQo+ID4gc2luZ2xlIHRpbWUsIG5vIG1hdHRlciB3aGF0IHBv cnRpb24geW91IHdyaXRlLiBJbiBzb21lIGNhc2VzLCBpdCBpcwo+ID4gcG9zc2libGUgdG8gcGVy Zm9ybSBzdWJwYWdlIHdyaXRlcyBpZiB0aGUgY2hpcCBzdXBwb3J0cyBpdC4gUGFnZXMgbWF5Cj4g PiBiZSBzcGxpdCBpbnRvIHNldmVyYWwgYXJlYXMgd2hpY2ggY292ZXIgYSBwYXJ0aWFsIGluLWJh bmQgYXJlYSAqYW5kKiBhCj4gPiBwYXJ0aWFsIE9PQiBhcmVhLiBJZiB5b3Ugd3JpdGUgaW50byB0 aGUgaW4tYmFuZCAqb3IqIG91dC1vZi1iYW5kIGFyZWFzCj4gPiBvZiBhIGdpdmVuIHN1YnBhZ2Us IHlvdSAqY2Fubm90KiB3cml0ZSB0aGUgb3RoZXIgcGFydCBsYXRlciB3aXRob3V0ICAKPiAKPiBU aGFua3MgZm9yIGRldGFpbHMhIFNvIGluIGNhc2Ugb2YgSkZGUzIgaXQgbG9va3MgbGlrZSBzdHJh bmdlLCB0aGF0IGl0IHRyaWVzCj4gdG8gd3JpdGUgcGFnZSBhZnRlciB3cml0aW5nIGNsZWFuIG1h cmtlcnMgdG8gaXQgYmVmb3JlPyBJbiB0aGUgb2xkIHZlbmRvcidzCj4gZHJpdmVyIE9PQiB3cml0 ZSBjYWxsYmFjayBpcyBzdXBwcmVzc2VkIGJ5IHJldHVybiAwIGFsd2F5cyBhbmQgSkZGUzIgd29y a3MKPiBjb3JyZWN0bHkuCgpDYW4geW91IHBvaW50IHRoZSBjb2RlIHlvdSdyZSBtZW50aW9uaW5n PyAoYm90aCB3aGF0IEpGRlMyIHdoaWNoIGxvb2tzCnN0cmFuZ2UgdG8geW91IGFuZCB0aGUgb2xk IHZlbmRvciBoYWNrKQoKClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= 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 0CB25C77B73 for ; Tue, 2 May 2023 11:28:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233773AbjEBL2n (ORCPT ); Tue, 2 May 2023 07:28:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233001AbjEBL2k (ORCPT ); Tue, 2 May 2023 07:28:40 -0400 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::226]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 073695BBD for ; Tue, 2 May 2023 04:28:01 -0700 (PDT) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 1A031C0008; Tue, 2 May 2023 11:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1683026868; 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=v5uZzLTFj4JCdpkIdpRTcXSLdigmmlJ0kUKE2R8/0Y0=; b=QUn/PyRfXaOFOdB4jIFGk9BmWbv6JBk7SNDTzb1WIjTDj6KPPex59UjoQvArhtTWZoftiV y0AOLzuljE7TG/nOJo6aW5+70z36bzIrh3DnbsxExIsL5Ob6X0dcRpi7JKzFIiWoXvQWyS E/VSAcxUDjLbW+hFmfhQ6esIjgwwY6BKR7m33nPgxuJ99TxoS1ME6FJY+lsv7pVVMwuJtC TbRbedMCT6GI0cvG/ZawyPo0Dq4wi9NPDJolhy1UT5xNIZRZCyB3LqcxFYkCgXdko+Ruo/ 55HVunOgyeqCkxst4o9KeFEnegBarXONo8JO2bK8arEGuvu9Ir4P3DIzmOcweQ== Date: Tue, 2 May 2023 13:27:45 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jianxin Pan , Yixun Lan , , , , , , , "yonghui.yu" Subject: Re: [PATCH v1 4/5] mtd: rawnand: meson: clear OOB buffer before read Message-ID: <20230502132745.14349770@xps-13> In-Reply-To: <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> References: <20230412061700.1492474-1-AVKrasnov@sberdevices.ru> <7520e512-8a19-ff04-364c-b5be0a579ef0@sberdevices.ru> <20230413102200.309fbe9c@xps-13> <20230413122252.0a8efcd8@xps-13> <569a948e-654a-b21f-8a4f-55dc4b295387@sberdevices.ru> <60fa656e-bda1-1de6-a79e-3e3041cd69a8@sberdevices.ru> <780c0cae-18b6-2652-1c2c-6d398ea60451@amlogic.com> <20230418152505.72fc16da@xps-13> <15a6e415-1489-a81f-fc8f-2372678ad2cb@sberdevices.ru> <5e4b395e-bf9d-0123-a0f2-2b378d950b29@sberdevices.ru> <20230502115913.78012d98@xps-13> <2274b432-d1a9-b3cf-4f7b-08c4a4c580b5@sberdevices.ru> 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arseniy, avkrasnov@sberdevices.ru wrote on Tue, 2 May 2023 13:11:38 +0300: > On 02.05.2023 12:59, Miquel Raynal wrote: > > Hi Arseniy, > >=20 > > avkrasnov@sberdevices.ru wrote on Wed, 26 Apr 2023 17:46:19 +0300: > > =20 > >> On 26.04.2023 16:51, Liang Yang wrote: =20 > >>> Hi Arseniy, > >>> > >>> On 2023/4/20 17:37, Arseniy Krasnov wrote: =20 > >>>> [ EXTERNAL EMAIL ] > >>>> > >>>> On 19.04.2023 09:41, Arseniy Krasnov wrote: =20 > >>>>> > >>>>> > >>>>> On 19.04.2023 06:05, Liang Yang wrote: =20 > >>>>>> Hi Arseniy, > >>>>>> > >>>>>> On 2023/4/18 22:57, Arseniy Krasnov wrote: =20 > >>>>>>> [ EXTERNAL EMAIL ] > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On 18.04.2023 16:25, Miquel Raynal wrote: =20 > >>>>>>>> Hi Arseniy, > >>>>>>>> =20 > >>>>>>>>>>> Hello again @Liang @Miquel! > >>>>>>>>>>> > >>>>>>>>>>> One more question about OOB access, as I can see current driv= er uses the following > >>>>>>>>>>> callbacks: > >>>>>>>>>>> > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand->ecc.write_oob_raw =3D na= nd_write_oob_std; > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand->ecc.write_oob =3D nand_w= rite_oob_std; > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> Function 'nand_write_oob_std()' writes data to the end of the= page. But as I > >>>>>>>>>>> can see by dumping 'data_buf' during read, physical layout of= each page is the > >>>>>>>>>>> following (1KB ECC): > >>>>>>>>>>> > >>>>>>>>>>> 0x000: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 KB= of data=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ] > >>>>>>>>>>> 0x400: [ 2B user data] [ 14B ECC code] > >>>>>>>>>>> 0x410: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 KB= of data=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ]=C2=A0=C2=A0=C2=A0 (A) > >>>>>>>>>>> 0x810: [ 2B user data] [ 14B ECC code] > >>>>>>>>>>> 0x820: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 32B unused= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ] > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> So, after 'nand_write_oob_std()' (let data be sequence from [= 0x0 ... 0x3f]), > >>>>>>>>>>> page will look like this: > >>>>>>>>>>> > >>>>>>>>>>> 0x000: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 0xFF=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 ] > >>>>>>>>>>> 0x400: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ........=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ] > >>>>>>>>>>> 0x7f0: [=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 0xFF=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 ] > >>>>>>>>>>> 0x800: [ 00 .......................=C2=A0 ] > >>>>>>>>>>> 0x830: [ ........................ 3f ] > >>>>>>>>>>> > >>>>>>>>>>> Here we have two problems: > >>>>>>>>>>> 1) Attempt to display raw data by 'nanddump' utility produces= a little bit > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 invalid output, as driver reli= es on layout (A) from above. E.g. OOB data > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 is at 0x400 and 0x810. Here is= an example (attempt to write 0x11 0x22 0x33 0x44): > >>>>>>>>>>> > >>>>>>>>>>> 0x000007f0: 11 22 ff ff ff ff ff ff ff ff ff ff ff ff ff ff= =C2=A0 |."..............| > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 OOB Data: ff ff ff ff ff ff ff ff ff= ff ff ff ff ff ff ff=C2=A0 |................| > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 OOB Data: 33 44 ff ff ff ff ff ff ff= ff ff ff ff ff ff ff=C2=A0 |3D..............| > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 OOB Data: ff ff ff ff ff ff ff ff ff= ff ff ff ff ff ff ff=C2=A0 |................| > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 OOB Data: ff ff ff ff ff ff ff ff ff= ff ff ff ff ff ff ff=C2=A0 |................| > >>>>>>>>>>> =20 > >>>>>>>>>> Hi Arseniy, > >>>>>>>>>> > >>>>>>>>>> I realized the write_oob_raw() and write_oob() are wrong in me= son_nand.c. I suggest both of them should be reworked and follow the format= of meson nand controller. i.e. firstly format the data in Layout (A) and t= hen write. reading is firstly reading the data of layout (A) and then compo= st the layout (B). =20 > >>>>>>>>> > >>>>>>>>> IIUC after such writing only OOB (e.g. user bytes) according la= yout (A), hw will also write ECC codes, so > >>>>>>>>> it will be impossible to write data to this page later, because= we cannot update ECC codes properly for the newly > >>>>>>>>> written data (we can't update bits from 0 to 1). > >>>>>>>>> =20 > >>>>>>>>>> > >>>>>>>>>> =20 > >>>>>>>>>>> > >>>>>>>>>>> 2) Attempt to read data in ECC mode will fail, because IIUC p= age is in dirty > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 state (I mean was written at l= east once) and NAND controller tries to use > >>>>>>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ECC codes at 0x400 and 0x810, = which are obviously broken in this case. Thus =20 > >>>>>>>>>> > >>>>>>>>>> As i said above, write_oob_raw() and write_oob() should be rew= orked. > >>>>>>>>>> i don't know what do you mean page was written at least once. = anyway the page should be written once, even just write_oob_raw(). =20 > >>>>>>>>> > >>>>>>>>> Sorry, You mean that after OOB write, we cannot write to the da= ta area (e.g. 0x0 .. 0x810) until page will be erased? For example > >>>>>>>>> JFFS2 writes to OOB own markers, then it tries to write to the = data area of such page. =20 > >>>>>>> > >>>>>>> @Liang, I'll describe current test case in details: > >>>>>>> 1) I have erased page, I can read it in=C2=A0 both raw and ecc mo= des - no problem (it is full of 0xFF). > >>>>>>> 2) I (JFFS2 for example) want to write only OOB - let it be clean= markers. > >>>>>>> 3) I use raw write to the needed page (please correct me if i'm w= rong). Four bytes > >>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 at 0x400 and 0x810 are updated. All othe= r bytes still 0xff. > >>>>>>> 4) Now, when i'm trying to read this page in ECC mode, I get ECC = errors: IIUC this > >>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 happens because from controller point of= view ECC codes are invalid for current > >>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 data (all ECCs are 0xff). Is this behavi= our is ok? =20 > >>>>>> > >>>>>> Yes, it is exactly reported ECC errors. =20 > >>>>> > >>>>> I see, so if we write OOB (e.g. using raw mode), there is no way to= read this page in ECC mode later? And the =20 > >>> > >>> Of course, there is no ECC parity bytes in it; or raw write the data = with the ECC parity bytes per the layout (A) you describe above. > >>> =20 > >> > >> But don't it looks like strange? Just writing OOB makes page unreadabl= e? May be it is better to move OOB data > >> out of ECC area as I suggested in v2? > >> =20 > >>>>> only way to make it readable is to write it in ECC mode, but before= this write, we need to read it's > >>>>> user's byte (from previous OOB write) in raw mode, put it to info b= uf (as user's bytes) and write this page. In this > >>>>> case NAND controller will generate ECC codes including user's byte = and page become readable in ECC mode > >>>>> again. =20 > >>> > >>> yes, you are right. > >>> =20 > >>>>> =20 > >>>>>> =20 > >>>>>>> 5) Ok, don't care on these ECC errors, let's go further. > >>>>>>> 6) I'm going to write same page in ECC mode - how to do it correc= tly? There is already > >>>>>>> =C2=A0=C2=A0=C2=A0=C2=A0 4 OOB bytes, considered to be covered by= ECC (but in fact now - ECC area is FFed). =20 > >>>>>> > >>>>>> If step 4 has excuted "program" command at the page (nand_write_oo= b_std() does), it can't be written again before erasing the page(block). so= we have to read the whole page in the ddr and change the content, erase bl= ock, write it again. > >>>>>> > >>>>>> I don't think Jffs2 has the same steps (1-6) as you said above. ar= e you sure that happes on Jffs2 or just an example? =20 > >>>> > >>>> =20 > >>>>> > >>>>> I just checked JFFS2 mount/umount again, here is what i see: > >>>>> 0) First attempt to mount JFFS2. > >>>>> 1) It writes OOB to page N (i'm using raw write). It is cleanmarker= value 0x85 0x19 0x03 0x20. Mount is done. > >>>>> 2) Umount JFFS2. Done. > >>>>> 3) Second attempt to mount JFFS2. > >>>>> 4) It reads OOB from page N (i'm using raw read). Value is 0x85 0x1= 9 0x03 0x20. Done. > >>>>> 5) It reads page N in ECC mode, and i get: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0 jffs2: mtd->read(0x100 bytes from N) retur= ned ECC error > >>>>> 6) Mount failed. > >>>>> > >>>>> We already had problem which looks like this on another device. Sol= ution was to use OOB area which is > >>>>> not covered by ECC for JFFS2 cleanmarkers. =20 > >>> > >>> ok, so there is not ECC parity bytes and mtd->read() returns ECC erro= r. > >>> does it have to use raw write/read on step 1) and 4)? > >>> =20 > >> > >> If i'm using non raw access to OOB, for example write OOB (user bytes)= in ECC mode, then > >> steps 1) and 4) and 5) passes ok, but write to this page will be impos= sible (for example JFFS2 > >> writes to such pages later) - we can't update ECC codes properly witho= ut erasing whole page. > >> Write operation will be done without problem, but read will trigger EC= C errors due to broken > >> ECC codes. > >> > >> In general problem that we discuss is that in current implementation d= ata and OOB conflicts > >> with each other by sharing same ECC codes, these ECC codes could be wr= itten only once (without > >> erasing), while data and OOB has different callbacks to access and thu= s supposed to work > >> separately. =20 > >=20 > > The fact that there might be helpers just for writing OOB areas or just > > in-band areas are optimizations. NAND pages are meant to be written a > > single time, no matter what portion you write. In some cases, it is > > possible to perform subpage writes if the chip supports it. Pages may > > be split into several areas which cover a partial in-band area *and* a > > partial OOB area. If you write into the in-band *or* out-of-band areas > > of a given subpage, you *cannot* write the other part later without =20 >=20 > Thanks for details! So in case of JFFS2 it looks like strange, that it tr= ies > to write page after writing clean markers to it before? In the old vendor= 's > driver OOB write callback is suppressed by return 0 always and JFFS2 works > correctly. Can you point the code you're mentioning? (both what JFFS2 which looks strange to you and the old vendor hack) Thanks, Miqu=C3=A8l