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 1B537C77B7A for ; Tue, 30 May 2023 08:22:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229917AbjE3IWD (ORCPT ); Tue, 30 May 2023 04:22:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230262AbjE3IVx (ORCPT ); Tue, 30 May 2023 04:21:53 -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 83E14D9 for ; Tue, 30 May 2023 01:21:47 -0700 (PDT) X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1685434906; 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=L7k/WfCxpV4Wb3Zf5dT6zrNqHZZm4+YA1ttDwgyZUUY=; b=hr0vWnFnLsrmGlwaEPeP0BZVQwmQQBY7HJ0zKb/nJ7Jh9iXFeqJpxXFjLeQHR89kaxYXrH YyjAhBfk0o8KXYQqHT5DUz9SVLYG7cWIgLCEkQBiQI4Nf2FG8oD8HW+DFn2H4Mo9Zhr1z5 G7iwIg557uEeAhSJoBBmmAjNEFjMpxq0sjbNNQZSIptstl1ZYNwqwScOEyZ5RlpWBDB25l CKDu3PaBETbpHzbbyTdjehvI3qkiUZUCfyZDMTyc+tjFpdYbSqRVgbJlfpOldlAzBa7fEm DOy8oC4s9vgRp5Gy4nOonwL9f+j6BMr3QOIOSDy0sHtfyKkDUa70DeBJy3ab5g== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 282FDC0005; Tue, 30 May 2023 08:21:43 +0000 (UTC) Date: Tue, 30 May 2023 10:21:43 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Yixun Lan , Jianxin Pan , , , , , , Subject: Re: [PATCH v4 2/5] mtd: rawnand: meson: move OOB to non-protected ECC area Message-ID: <20230530102143.6b2a199a@xps-13> In-Reply-To: <1f4c90c4-e436-c53f-bb6f-416db374ae52@sberdevices.ru> References: <20230515094440.3552094-1-AVKrasnov@sberdevices.ru> <20230515094440.3552094-3-AVKrasnov@sberdevices.ru> <20230522173334.7aa6f917@xps-13> <20230526190347.6e34a2be@xps-13> <20230530094420.06281ab5@xps-13> <1f4c90c4-e436-c53f-bb6f-416db374ae52@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, 30 May 2023 11:09:10 +0300: > Hi Miquel, >=20 > On 30.05.2023 10:44, Miquel Raynal wrote: > > Hi Arseniy, > > =20 > >>>>>> -static void meson_nfc_get_user_byte(struct nand_chip *nand, u8 *o= ob_buf) > >>>>>> -{ > >>>>>> - struct meson_nfc_nand_chip *meson_chip =3D to_meson_nand(nand); > >>>>>> - __le64 *info; > >>>>>> - int i, count; > >>>>>> + int i; > >>>>>> =20 > >>>>>> - for (i =3D 0, count =3D 0; i < nand->ecc.steps; i++, count +=3D = 2) { > >>>>>> + for (i =3D 0; i < nand->ecc.steps; i++) { > >>>>>> info =3D &meson_chip->info_buf[i]; > >>>>>> - oob_buf[count] =3D *info; > >>>>>> - oob_buf[count + 1] =3D *info >> 8; > >>>>>> + /* Always ignore user bytes programming. */ =20 > >>>>> > >>>>> Why? =20 > >>>> > >>>> I think comment message is wrong a little bit. Here "user bytes" are > >>>> user bytes protected by ECC (e.g. location of these bytes differs fr= om new > >>>> OOB layout introduced by this patch). During page write this hardware > >>>> always writes these bytes along with data. But, new OOB layout alway= s ignores > >>>> these 4 bytes, so set them to 0xFF always. =20 > >>> > >>> When performing page reads/writes, you need to take the data as it's > >>> been provided. You may move the data around in the buffer provided to > >>> the controller, so that it get the ECC data at the right location, and > >>> you need of course to reorganize the data when reading as well, so th= at > >>> the user sees XkiB of data + YB of OOB. That's all you need to do in > >>> these helpers. > >>> =20 > >> > >> I think there is some misunderstanding about these "user bytes" above:= there are 4 > >> bytes which this NAND controller always writes to page in ECC mode - i= t was free OOB > >> bytes covered by ECC. Controller grabs values from DMA buffer (second = DMA buffer which > >> doesn't contains page data) and writes it along with data and ECC code= s. Idea of this > >> change is to always suppress this write by setting them to 0xFF (may b= e there is some > >> command option to not write it, but I don't have doc), because all of = them (4 bytes) > >> become unavailable to reader/writer. =20 > >=20 > > At the NAND controller level, I would rather avoid doing things like > > that. > >=20 > > I believe you can just update the ooblayout so that protected OOB bytes > > are not exposed to the user as free bytes. Then your buffers should > > already contain 0xffffff at the problematic location. =20 >=20 > So Your idea is to continue fill DMA buffer (for these 4 bytes) from prov= ided OOB buffer, > relying on that as these bytes are unused, they will be 0xFF in OOB buffe= r so we get the same result? Yes. The problem you face is due to jffs2 using free OOB bytes to store some data. If this data is in the protected area -> BOOM. If another application wants to use all the bytes and writes them all in the same PROGRAM operation it's fine. Jffs2 accesses the free area through the OOB layouts only, so just tweaking the OOB layouts should work. Thanks, Miqu=C3=A8l 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 78058C77B7A for ; Tue, 30 May 2023 08:22: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=Y/TcAvS0R1MSbjL4gLyUDnEasw2ZYqBljQ5aF41p5rs=; b=TA9wW0wdWW4cmF mOV5WwFzpLXKk/3kuf16J/dKsSYUwvEqC/TXq6NnUKnu+53oK+29XlxLJlsJopwDMoxNn7j0Xbobw DbMaJjASoYXSaH6zWxavMU2VSVTofrefiTEzDEjoCeE6gnsl4aTRj/vHLxnsv/ycSoyRsZPK5ip8k AvPJSnDDykTIXM6197vyh3ViPT65WhSmCa7VcKKcpkEMXSxtpG9jJRwP/SuC8BXcI7Gpx4PGmeEuL mFWZ1aiENPiryK+4FxYA3rnPdnVR4VJaYha9tgf5VJBvcJoEVXQn2ICHZB8jeVabWaSy3F/vig55e crqjUZZc6Wruo/XIbE2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q3uc7-00CuS9-1h; Tue, 30 May 2023 08:21:55 +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 1q3uc2-00CuPz-2s; Tue, 30 May 2023 08:21:53 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1685434906; 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=L7k/WfCxpV4Wb3Zf5dT6zrNqHZZm4+YA1ttDwgyZUUY=; b=hr0vWnFnLsrmGlwaEPeP0BZVQwmQQBY7HJ0zKb/nJ7Jh9iXFeqJpxXFjLeQHR89kaxYXrH YyjAhBfk0o8KXYQqHT5DUz9SVLYG7cWIgLCEkQBiQI4Nf2FG8oD8HW+DFn2H4Mo9Zhr1z5 G7iwIg557uEeAhSJoBBmmAjNEFjMpxq0sjbNNQZSIptstl1ZYNwqwScOEyZ5RlpWBDB25l CKDu3PaBETbpHzbbyTdjehvI3qkiUZUCfyZDMTyc+tjFpdYbSqRVgbJlfpOldlAzBa7fEm DOy8oC4s9vgRp5Gy4nOonwL9f+j6BMr3QOIOSDy0sHtfyKkDUa70DeBJy3ab5g== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 282FDC0005; Tue, 30 May 2023 08:21:43 +0000 (UTC) Date: Tue, 30 May 2023 10:21:43 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Yixun Lan , Jianxin Pan , , , , , , Subject: Re: [PATCH v4 2/5] mtd: rawnand: meson: move OOB to non-protected ECC area Message-ID: <20230530102143.6b2a199a@xps-13> In-Reply-To: <1f4c90c4-e436-c53f-bb6f-416db374ae52@sberdevices.ru> References: <20230515094440.3552094-1-AVKrasnov@sberdevices.ru> <20230515094440.3552094-3-AVKrasnov@sberdevices.ru> <20230522173334.7aa6f917@xps-13> <20230526190347.6e34a2be@xps-13> <20230530094420.06281ab5@xps-13> <1f4c90c4-e436-c53f-bb6f-416db374ae52@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-20230530_012151_368115_89978FB4 X-CRM114-Status: GOOD ( 26.60 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDMwIE1h eSAyMDIzIDExOjA5OjEwICswMzAwOgoKPiBIaSBNaXF1ZWwsCj4gCj4gT24gMzAuMDUuMjAyMyAx MDo0NCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IEhpIEFyc2VuaXksCj4gPiAgIAo+ID4+Pj4+ PiAtc3RhdGljIHZvaWQgbWVzb25fbmZjX2dldF91c2VyX2J5dGUoc3RydWN0IG5hbmRfY2hpcCAq bmFuZCwgdTggKm9vYl9idWYpCj4gPj4+Pj4+IC17Cj4gPj4+Pj4+IC0Jc3RydWN0IG1lc29uX25m Y19uYW5kX2NoaXAgKm1lc29uX2NoaXAgPSB0b19tZXNvbl9uYW5kKG5hbmQpOwo+ID4+Pj4+PiAt CV9fbGU2NCAqaW5mbzsKPiA+Pj4+Pj4gLQlpbnQgaSwgY291bnQ7Cj4gPj4+Pj4+ICsJaW50IGk7 Cj4gPj4+Pj4+ICAKPiA+Pj4+Pj4gLQlmb3IgKGkgPSAwLCBjb3VudCA9IDA7IGkgPCBuYW5kLT5l Y2Muc3RlcHM7IGkrKywgY291bnQgKz0gMikgewo+ID4+Pj4+PiArCWZvciAoaSA9IDA7IGkgPCBu YW5kLT5lY2Muc3RlcHM7IGkrKykgewo+ID4+Pj4+PiAgCQlpbmZvID0gJm1lc29uX2NoaXAtPmlu Zm9fYnVmW2ldOwo+ID4+Pj4+PiAtCQlvb2JfYnVmW2NvdW50XSA9ICppbmZvOwo+ID4+Pj4+PiAt CQlvb2JfYnVmW2NvdW50ICsgMV0gPSAqaW5mbyA+PiA4Owo+ID4+Pj4+PiArCQkvKiBBbHdheXMg aWdub3JlIHVzZXIgYnl0ZXMgcHJvZ3JhbW1pbmcuICovICAgICAgCj4gPj4+Pj4KPiA+Pj4+PiBX aHk/ICAgICAgCj4gPj4+Pgo+ID4+Pj4gSSB0aGluayBjb21tZW50IG1lc3NhZ2UgaXMgd3Jvbmcg YSBsaXR0bGUgYml0LiBIZXJlICJ1c2VyIGJ5dGVzIiBhcmUKPiA+Pj4+IHVzZXIgYnl0ZXMgcHJv dGVjdGVkIGJ5IEVDQyAoZS5nLiBsb2NhdGlvbiBvZiB0aGVzZSBieXRlcyBkaWZmZXJzIGZyb20g bmV3Cj4gPj4+PiBPT0IgbGF5b3V0IGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCkuIER1cmluZyBw YWdlIHdyaXRlIHRoaXMgaGFyZHdhcmUKPiA+Pj4+IGFsd2F5cyB3cml0ZXMgdGhlc2UgYnl0ZXMg YWxvbmcgd2l0aCBkYXRhLiBCdXQsIG5ldyBPT0IgbGF5b3V0IGFsd2F5cyBpZ25vcmVzCj4gPj4+ PiB0aGVzZSA0IGJ5dGVzLCBzbyBzZXQgdGhlbSB0byAweEZGIGFsd2F5cy4gICAgCj4gPj4+Cj4g Pj4+IFdoZW4gcGVyZm9ybWluZyBwYWdlIHJlYWRzL3dyaXRlcywgeW91IG5lZWQgdG8gdGFrZSB0 aGUgZGF0YSBhcyBpdCdzCj4gPj4+IGJlZW4gcHJvdmlkZWQuIFlvdSBtYXkgbW92ZSB0aGUgZGF0 YSBhcm91bmQgaW4gdGhlIGJ1ZmZlciBwcm92aWRlZCB0bwo+ID4+PiB0aGUgY29udHJvbGxlciwg c28gdGhhdCBpdCBnZXQgdGhlIEVDQyBkYXRhIGF0IHRoZSByaWdodCBsb2NhdGlvbiwgYW5kCj4g Pj4+IHlvdSBuZWVkIG9mIGNvdXJzZSB0byByZW9yZ2FuaXplIHRoZSBkYXRhIHdoZW4gcmVhZGlu ZyBhcyB3ZWxsLCBzbyB0aGF0Cj4gPj4+IHRoZSB1c2VyIHNlZXMgWGtpQiBvZiBkYXRhICsgWUIg b2YgT09CLiBUaGF0J3MgYWxsIHlvdSBuZWVkIHRvIGRvIGluCj4gPj4+IHRoZXNlIGhlbHBlcnMu Cj4gPj4+ICAgICAKPiA+Pgo+ID4+IEkgdGhpbmsgdGhlcmUgaXMgc29tZSBtaXN1bmRlcnN0YW5k aW5nIGFib3V0IHRoZXNlICJ1c2VyIGJ5dGVzIiBhYm92ZTogdGhlcmUgYXJlIDQKPiA+PiBieXRl cyB3aGljaCB0aGlzIE5BTkQgY29udHJvbGxlciBhbHdheXMgd3JpdGVzIHRvIHBhZ2UgaW4gRUND IG1vZGUgLSBpdCB3YXMgZnJlZSBPT0IKPiA+PiBieXRlcyBjb3ZlcmVkIGJ5IEVDQy4gQ29udHJv bGxlciBncmFicyB2YWx1ZXMgZnJvbSBETUEgYnVmZmVyIChzZWNvbmQgRE1BIGJ1ZmZlciB3aGlj aAo+ID4+IGRvZXNuJ3QgY29udGFpbnMgcGFnZSBkYXRhKSBhbmQgd3JpdGVzIGl0IGFsb25nIHdp dGggZGF0YSBhbmQgRUNDIGNvZGVzLiBJZGVhIG9mIHRoaXMKPiA+PiBjaGFuZ2UgaXMgdG8gYWx3 YXlzIHN1cHByZXNzIHRoaXMgd3JpdGUgYnkgc2V0dGluZyB0aGVtIHRvIDB4RkYgKG1heSBiZSB0 aGVyZSBpcyBzb21lCj4gPj4gY29tbWFuZCBvcHRpb24gdG8gbm90IHdyaXRlIGl0LCBidXQgSSBk b24ndCBoYXZlIGRvYyksIGJlY2F1c2UgYWxsIG9mIHRoZW0gKDQgYnl0ZXMpCj4gPj4gYmVjb21l IHVuYXZhaWxhYmxlIHRvIHJlYWRlci93cml0ZXIuICAKPiA+IAo+ID4gQXQgdGhlIE5BTkQgY29u dHJvbGxlciBsZXZlbCwgSSB3b3VsZCByYXRoZXIgYXZvaWQgZG9pbmcgdGhpbmdzIGxpa2UKPiA+ IHRoYXQuCj4gPiAKPiA+IEkgYmVsaWV2ZSB5b3UgY2FuIGp1c3QgdXBkYXRlIHRoZSBvb2JsYXlv dXQgc28gdGhhdCBwcm90ZWN0ZWQgT09CIGJ5dGVzCj4gPiBhcmUgbm90IGV4cG9zZWQgdG8gdGhl IHVzZXIgYXMgZnJlZSBieXRlcy4gVGhlbiB5b3VyIGJ1ZmZlcnMgc2hvdWxkCj4gPiBhbHJlYWR5 IGNvbnRhaW4gMHhmZmZmZmYgYXQgdGhlIHByb2JsZW1hdGljIGxvY2F0aW9uLiAgCj4gCj4gU28g WW91ciBpZGVhIGlzIHRvIGNvbnRpbnVlIGZpbGwgRE1BIGJ1ZmZlciAoZm9yIHRoZXNlIDQgYnl0 ZXMpIGZyb20gcHJvdmlkZWQgT09CIGJ1ZmZlciwKPiByZWx5aW5nIG9uIHRoYXQgYXMgdGhlc2Ug Ynl0ZXMgYXJlIHVudXNlZCwgdGhleSB3aWxsIGJlIDB4RkYgaW4gT09CIGJ1ZmZlciBzbyB3ZSBn ZXQgdGhlIHNhbWUgcmVzdWx0PwoKWWVzLgoKVGhlIHByb2JsZW0geW91IGZhY2UgaXMgZHVlIHRv IGpmZnMyIHVzaW5nIGZyZWUgT09CIGJ5dGVzIHRvIHN0b3JlIHNvbWUKZGF0YS4gSWYgdGhpcyBk YXRhIGlzIGluIHRoZSBwcm90ZWN0ZWQgYXJlYSAtPiBCT09NLgoKSWYgYW5vdGhlciBhcHBsaWNh dGlvbiB3YW50cyB0byB1c2UgYWxsIHRoZSBieXRlcyBhbmQgd3JpdGVzIHRoZW0gYWxsCmluIHRo ZSBzYW1lIFBST0dSQU0gb3BlcmF0aW9uIGl0J3MgZmluZS4KCkpmZnMyIGFjY2Vzc2VzIHRoZSBm cmVlIGFyZWEgdGhyb3VnaCB0aGUgT09CIGxheW91dHMgb25seSwgc28ganVzdAp0d2Vha2luZyB0 aGUgT09CIGxheW91dHMgc2hvdWxkIHdvcmsuCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlz Y3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1tdGQvCg== 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 43C50C77B7A for ; Tue, 30 May 2023 08:22:15 +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=Nu3m+bcYLBPFPOzU+HdEUSOImlxJbiBrVI5azNlaGaA=; b=g2ArIHTTybZaqC iGwqoRYVgFwxVfZVBqGsiL5VEcoJQ/EzTPDN9zYcsSpkJVnZ2LQju+Z/L8FqR5EQOHzPNsUkIOnJr 6FlwMjznJoSxnglT7o7IzjBDUR0Mj5BPyZ+ld5R2y7YFzCTM+2RpGcHpS8uOziiVhqZDlBWcvjIRj OynK5Rd57lUPS51fpOVjJ3CSw0mSPm3t5D2tA06w7/fx38EA7RF6bFtvJ9dwL9ecrjkMrX5sF3CIN /kGh6pIq60TnBHFtxvAQYxmRfV8w9oXEndUn++PybEC0bdbdrr3HGxb9t62HzmEgf6I4CNMlHeAgM cwOFOA43CD6FJ4YwZaDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q3uc6-00CuRT-0W; Tue, 30 May 2023 08:21:54 +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 1q3uc2-00CuPz-2s; Tue, 30 May 2023 08:21:53 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1685434906; 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=L7k/WfCxpV4Wb3Zf5dT6zrNqHZZm4+YA1ttDwgyZUUY=; b=hr0vWnFnLsrmGlwaEPeP0BZVQwmQQBY7HJ0zKb/nJ7Jh9iXFeqJpxXFjLeQHR89kaxYXrH YyjAhBfk0o8KXYQqHT5DUz9SVLYG7cWIgLCEkQBiQI4Nf2FG8oD8HW+DFn2H4Mo9Zhr1z5 G7iwIg557uEeAhSJoBBmmAjNEFjMpxq0sjbNNQZSIptstl1ZYNwqwScOEyZ5RlpWBDB25l CKDu3PaBETbpHzbbyTdjehvI3qkiUZUCfyZDMTyc+tjFpdYbSqRVgbJlfpOldlAzBa7fEm DOy8oC4s9vgRp5Gy4nOonwL9f+j6BMr3QOIOSDy0sHtfyKkDUa70DeBJy3ab5g== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 282FDC0005; Tue, 30 May 2023 08:21:43 +0000 (UTC) Date: Tue, 30 May 2023 10:21:43 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Yixun Lan , Jianxin Pan , , , , , , Subject: Re: [PATCH v4 2/5] mtd: rawnand: meson: move OOB to non-protected ECC area Message-ID: <20230530102143.6b2a199a@xps-13> In-Reply-To: <1f4c90c4-e436-c53f-bb6f-416db374ae52@sberdevices.ru> References: <20230515094440.3552094-1-AVKrasnov@sberdevices.ru> <20230515094440.3552094-3-AVKrasnov@sberdevices.ru> <20230522173334.7aa6f917@xps-13> <20230526190347.6e34a2be@xps-13> <20230530094420.06281ab5@xps-13> <1f4c90c4-e436-c53f-bb6f-416db374ae52@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-20230530_012151_368115_89978FB4 X-CRM114-Status: GOOD ( 26.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDMwIE1h eSAyMDIzIDExOjA5OjEwICswMzAwOgoKPiBIaSBNaXF1ZWwsCj4gCj4gT24gMzAuMDUuMjAyMyAx MDo0NCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IEhpIEFyc2VuaXksCj4gPiAgIAo+ID4+Pj4+ PiAtc3RhdGljIHZvaWQgbWVzb25fbmZjX2dldF91c2VyX2J5dGUoc3RydWN0IG5hbmRfY2hpcCAq bmFuZCwgdTggKm9vYl9idWYpCj4gPj4+Pj4+IC17Cj4gPj4+Pj4+IC0Jc3RydWN0IG1lc29uX25m Y19uYW5kX2NoaXAgKm1lc29uX2NoaXAgPSB0b19tZXNvbl9uYW5kKG5hbmQpOwo+ID4+Pj4+PiAt CV9fbGU2NCAqaW5mbzsKPiA+Pj4+Pj4gLQlpbnQgaSwgY291bnQ7Cj4gPj4+Pj4+ICsJaW50IGk7 Cj4gPj4+Pj4+ICAKPiA+Pj4+Pj4gLQlmb3IgKGkgPSAwLCBjb3VudCA9IDA7IGkgPCBuYW5kLT5l Y2Muc3RlcHM7IGkrKywgY291bnQgKz0gMikgewo+ID4+Pj4+PiArCWZvciAoaSA9IDA7IGkgPCBu YW5kLT5lY2Muc3RlcHM7IGkrKykgewo+ID4+Pj4+PiAgCQlpbmZvID0gJm1lc29uX2NoaXAtPmlu Zm9fYnVmW2ldOwo+ID4+Pj4+PiAtCQlvb2JfYnVmW2NvdW50XSA9ICppbmZvOwo+ID4+Pj4+PiAt CQlvb2JfYnVmW2NvdW50ICsgMV0gPSAqaW5mbyA+PiA4Owo+ID4+Pj4+PiArCQkvKiBBbHdheXMg aWdub3JlIHVzZXIgYnl0ZXMgcHJvZ3JhbW1pbmcuICovICAgICAgCj4gPj4+Pj4KPiA+Pj4+PiBX aHk/ICAgICAgCj4gPj4+Pgo+ID4+Pj4gSSB0aGluayBjb21tZW50IG1lc3NhZ2UgaXMgd3Jvbmcg YSBsaXR0bGUgYml0LiBIZXJlICJ1c2VyIGJ5dGVzIiBhcmUKPiA+Pj4+IHVzZXIgYnl0ZXMgcHJv dGVjdGVkIGJ5IEVDQyAoZS5nLiBsb2NhdGlvbiBvZiB0aGVzZSBieXRlcyBkaWZmZXJzIGZyb20g bmV3Cj4gPj4+PiBPT0IgbGF5b3V0IGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCkuIER1cmluZyBw YWdlIHdyaXRlIHRoaXMgaGFyZHdhcmUKPiA+Pj4+IGFsd2F5cyB3cml0ZXMgdGhlc2UgYnl0ZXMg YWxvbmcgd2l0aCBkYXRhLiBCdXQsIG5ldyBPT0IgbGF5b3V0IGFsd2F5cyBpZ25vcmVzCj4gPj4+ PiB0aGVzZSA0IGJ5dGVzLCBzbyBzZXQgdGhlbSB0byAweEZGIGFsd2F5cy4gICAgCj4gPj4+Cj4g Pj4+IFdoZW4gcGVyZm9ybWluZyBwYWdlIHJlYWRzL3dyaXRlcywgeW91IG5lZWQgdG8gdGFrZSB0 aGUgZGF0YSBhcyBpdCdzCj4gPj4+IGJlZW4gcHJvdmlkZWQuIFlvdSBtYXkgbW92ZSB0aGUgZGF0 YSBhcm91bmQgaW4gdGhlIGJ1ZmZlciBwcm92aWRlZCB0bwo+ID4+PiB0aGUgY29udHJvbGxlciwg c28gdGhhdCBpdCBnZXQgdGhlIEVDQyBkYXRhIGF0IHRoZSByaWdodCBsb2NhdGlvbiwgYW5kCj4g Pj4+IHlvdSBuZWVkIG9mIGNvdXJzZSB0byByZW9yZ2FuaXplIHRoZSBkYXRhIHdoZW4gcmVhZGlu ZyBhcyB3ZWxsLCBzbyB0aGF0Cj4gPj4+IHRoZSB1c2VyIHNlZXMgWGtpQiBvZiBkYXRhICsgWUIg b2YgT09CLiBUaGF0J3MgYWxsIHlvdSBuZWVkIHRvIGRvIGluCj4gPj4+IHRoZXNlIGhlbHBlcnMu Cj4gPj4+ICAgICAKPiA+Pgo+ID4+IEkgdGhpbmsgdGhlcmUgaXMgc29tZSBtaXN1bmRlcnN0YW5k aW5nIGFib3V0IHRoZXNlICJ1c2VyIGJ5dGVzIiBhYm92ZTogdGhlcmUgYXJlIDQKPiA+PiBieXRl cyB3aGljaCB0aGlzIE5BTkQgY29udHJvbGxlciBhbHdheXMgd3JpdGVzIHRvIHBhZ2UgaW4gRUND IG1vZGUgLSBpdCB3YXMgZnJlZSBPT0IKPiA+PiBieXRlcyBjb3ZlcmVkIGJ5IEVDQy4gQ29udHJv bGxlciBncmFicyB2YWx1ZXMgZnJvbSBETUEgYnVmZmVyIChzZWNvbmQgRE1BIGJ1ZmZlciB3aGlj aAo+ID4+IGRvZXNuJ3QgY29udGFpbnMgcGFnZSBkYXRhKSBhbmQgd3JpdGVzIGl0IGFsb25nIHdp dGggZGF0YSBhbmQgRUNDIGNvZGVzLiBJZGVhIG9mIHRoaXMKPiA+PiBjaGFuZ2UgaXMgdG8gYWx3 YXlzIHN1cHByZXNzIHRoaXMgd3JpdGUgYnkgc2V0dGluZyB0aGVtIHRvIDB4RkYgKG1heSBiZSB0 aGVyZSBpcyBzb21lCj4gPj4gY29tbWFuZCBvcHRpb24gdG8gbm90IHdyaXRlIGl0LCBidXQgSSBk b24ndCBoYXZlIGRvYyksIGJlY2F1c2UgYWxsIG9mIHRoZW0gKDQgYnl0ZXMpCj4gPj4gYmVjb21l IHVuYXZhaWxhYmxlIHRvIHJlYWRlci93cml0ZXIuICAKPiA+IAo+ID4gQXQgdGhlIE5BTkQgY29u dHJvbGxlciBsZXZlbCwgSSB3b3VsZCByYXRoZXIgYXZvaWQgZG9pbmcgdGhpbmdzIGxpa2UKPiA+ IHRoYXQuCj4gPiAKPiA+IEkgYmVsaWV2ZSB5b3UgY2FuIGp1c3QgdXBkYXRlIHRoZSBvb2JsYXlv dXQgc28gdGhhdCBwcm90ZWN0ZWQgT09CIGJ5dGVzCj4gPiBhcmUgbm90IGV4cG9zZWQgdG8gdGhl IHVzZXIgYXMgZnJlZSBieXRlcy4gVGhlbiB5b3VyIGJ1ZmZlcnMgc2hvdWxkCj4gPiBhbHJlYWR5 IGNvbnRhaW4gMHhmZmZmZmYgYXQgdGhlIHByb2JsZW1hdGljIGxvY2F0aW9uLiAgCj4gCj4gU28g WW91ciBpZGVhIGlzIHRvIGNvbnRpbnVlIGZpbGwgRE1BIGJ1ZmZlciAoZm9yIHRoZXNlIDQgYnl0 ZXMpIGZyb20gcHJvdmlkZWQgT09CIGJ1ZmZlciwKPiByZWx5aW5nIG9uIHRoYXQgYXMgdGhlc2Ug Ynl0ZXMgYXJlIHVudXNlZCwgdGhleSB3aWxsIGJlIDB4RkYgaW4gT09CIGJ1ZmZlciBzbyB3ZSBn ZXQgdGhlIHNhbWUgcmVzdWx0PwoKWWVzLgoKVGhlIHByb2JsZW0geW91IGZhY2UgaXMgZHVlIHRv IGpmZnMyIHVzaW5nIGZyZWUgT09CIGJ5dGVzIHRvIHN0b3JlIHNvbWUKZGF0YS4gSWYgdGhpcyBk YXRhIGlzIGluIHRoZSBwcm90ZWN0ZWQgYXJlYSAtPiBCT09NLgoKSWYgYW5vdGhlciBhcHBsaWNh dGlvbiB3YW50cyB0byB1c2UgYWxsIHRoZSBieXRlcyBhbmQgd3JpdGVzIHRoZW0gYWxsCmluIHRo ZSBzYW1lIFBST0dSQU0gb3BlcmF0aW9uIGl0J3MgZmluZS4KCkpmZnMyIGFjY2Vzc2VzIHRoZSBm cmVlIGFyZWEgdGhyb3VnaCB0aGUgT09CIGxheW91dHMgb25seSwgc28ganVzdAp0d2Vha2luZyB0 aGUgT09CIGxheW91dHMgc2hvdWxkIHdvcmsuCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK 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 D5B4AC77B73 for ; Tue, 30 May 2023 08:22:14 +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=HGkvNBFOjnmtj8vPX2akzwPvQcDz4cOZAc4KbidbwdM=; b=wfjvau2haZV851 HYFBIRV5YjNqa5sY4gbIT9U09bI2iPstPGzjLtz2AZetV2RjlMF6LKxvTY5bxLjJSHIuPsJgUq0eb f+OmPI+U6I1joEuV/qxorLmjUCBE0i+NXFrRaE/grLIqO45ArH9OhGUzJ58iu+RNoQ+XQnIvA1Xlq Cu81iEO4KF0ZErLU/3pJthl5loTMJ98GHq2/Sy9Grt0L2X6X3psaaS28uUOHolQd3ucneYczbQm89 +asf62LsdzMpPhGS/Xjw3HFMvlJ4ap/imYJcOaSlbu0uMqBIxz38wIP+v/WzGPuabjOBtEysNgEu+ 9W5T4yk0YS7oDuOMXmYQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q3uc5-00CuRL-2V; Tue, 30 May 2023 08:21:53 +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 1q3uc2-00CuPz-2s; Tue, 30 May 2023 08:21:53 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1685434906; 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=L7k/WfCxpV4Wb3Zf5dT6zrNqHZZm4+YA1ttDwgyZUUY=; b=hr0vWnFnLsrmGlwaEPeP0BZVQwmQQBY7HJ0zKb/nJ7Jh9iXFeqJpxXFjLeQHR89kaxYXrH YyjAhBfk0o8KXYQqHT5DUz9SVLYG7cWIgLCEkQBiQI4Nf2FG8oD8HW+DFn2H4Mo9Zhr1z5 G7iwIg557uEeAhSJoBBmmAjNEFjMpxq0sjbNNQZSIptstl1ZYNwqwScOEyZ5RlpWBDB25l CKDu3PaBETbpHzbbyTdjehvI3qkiUZUCfyZDMTyc+tjFpdYbSqRVgbJlfpOldlAzBa7fEm DOy8oC4s9vgRp5Gy4nOonwL9f+j6BMr3QOIOSDy0sHtfyKkDUa70DeBJy3ab5g== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 282FDC0005; Tue, 30 May 2023 08:21:43 +0000 (UTC) Date: Tue, 30 May 2023 10:21:43 +0200 From: Miquel Raynal To: Arseniy Krasnov Cc: Liang Yang , Richard Weinberger , Vignesh Raghavendra , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Yixun Lan , Jianxin Pan , , , , , , Subject: Re: [PATCH v4 2/5] mtd: rawnand: meson: move OOB to non-protected ECC area Message-ID: <20230530102143.6b2a199a@xps-13> In-Reply-To: <1f4c90c4-e436-c53f-bb6f-416db374ae52@sberdevices.ru> References: <20230515094440.3552094-1-AVKrasnov@sberdevices.ru> <20230515094440.3552094-3-AVKrasnov@sberdevices.ru> <20230522173334.7aa6f917@xps-13> <20230526190347.6e34a2be@xps-13> <20230530094420.06281ab5@xps-13> <1f4c90c4-e436-c53f-bb6f-416db374ae52@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-20230530_012151_368115_89978FB4 X-CRM114-Status: GOOD ( 26.60 ) 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 SGkgQXJzZW5peSwKCmF2a3Jhc25vdkBzYmVyZGV2aWNlcy5ydSB3cm90ZSBvbiBUdWUsIDMwIE1h eSAyMDIzIDExOjA5OjEwICswMzAwOgoKPiBIaSBNaXF1ZWwsCj4gCj4gT24gMzAuMDUuMjAyMyAx MDo0NCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IEhpIEFyc2VuaXksCj4gPiAgIAo+ID4+Pj4+ PiAtc3RhdGljIHZvaWQgbWVzb25fbmZjX2dldF91c2VyX2J5dGUoc3RydWN0IG5hbmRfY2hpcCAq bmFuZCwgdTggKm9vYl9idWYpCj4gPj4+Pj4+IC17Cj4gPj4+Pj4+IC0Jc3RydWN0IG1lc29uX25m Y19uYW5kX2NoaXAgKm1lc29uX2NoaXAgPSB0b19tZXNvbl9uYW5kKG5hbmQpOwo+ID4+Pj4+PiAt CV9fbGU2NCAqaW5mbzsKPiA+Pj4+Pj4gLQlpbnQgaSwgY291bnQ7Cj4gPj4+Pj4+ICsJaW50IGk7 Cj4gPj4+Pj4+ICAKPiA+Pj4+Pj4gLQlmb3IgKGkgPSAwLCBjb3VudCA9IDA7IGkgPCBuYW5kLT5l Y2Muc3RlcHM7IGkrKywgY291bnQgKz0gMikgewo+ID4+Pj4+PiArCWZvciAoaSA9IDA7IGkgPCBu YW5kLT5lY2Muc3RlcHM7IGkrKykgewo+ID4+Pj4+PiAgCQlpbmZvID0gJm1lc29uX2NoaXAtPmlu Zm9fYnVmW2ldOwo+ID4+Pj4+PiAtCQlvb2JfYnVmW2NvdW50XSA9ICppbmZvOwo+ID4+Pj4+PiAt CQlvb2JfYnVmW2NvdW50ICsgMV0gPSAqaW5mbyA+PiA4Owo+ID4+Pj4+PiArCQkvKiBBbHdheXMg aWdub3JlIHVzZXIgYnl0ZXMgcHJvZ3JhbW1pbmcuICovICAgICAgCj4gPj4+Pj4KPiA+Pj4+PiBX aHk/ICAgICAgCj4gPj4+Pgo+ID4+Pj4gSSB0aGluayBjb21tZW50IG1lc3NhZ2UgaXMgd3Jvbmcg YSBsaXR0bGUgYml0LiBIZXJlICJ1c2VyIGJ5dGVzIiBhcmUKPiA+Pj4+IHVzZXIgYnl0ZXMgcHJv dGVjdGVkIGJ5IEVDQyAoZS5nLiBsb2NhdGlvbiBvZiB0aGVzZSBieXRlcyBkaWZmZXJzIGZyb20g bmV3Cj4gPj4+PiBPT0IgbGF5b3V0IGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCkuIER1cmluZyBw YWdlIHdyaXRlIHRoaXMgaGFyZHdhcmUKPiA+Pj4+IGFsd2F5cyB3cml0ZXMgdGhlc2UgYnl0ZXMg YWxvbmcgd2l0aCBkYXRhLiBCdXQsIG5ldyBPT0IgbGF5b3V0IGFsd2F5cyBpZ25vcmVzCj4gPj4+ PiB0aGVzZSA0IGJ5dGVzLCBzbyBzZXQgdGhlbSB0byAweEZGIGFsd2F5cy4gICAgCj4gPj4+Cj4g Pj4+IFdoZW4gcGVyZm9ybWluZyBwYWdlIHJlYWRzL3dyaXRlcywgeW91IG5lZWQgdG8gdGFrZSB0 aGUgZGF0YSBhcyBpdCdzCj4gPj4+IGJlZW4gcHJvdmlkZWQuIFlvdSBtYXkgbW92ZSB0aGUgZGF0 YSBhcm91bmQgaW4gdGhlIGJ1ZmZlciBwcm92aWRlZCB0bwo+ID4+PiB0aGUgY29udHJvbGxlciwg c28gdGhhdCBpdCBnZXQgdGhlIEVDQyBkYXRhIGF0IHRoZSByaWdodCBsb2NhdGlvbiwgYW5kCj4g Pj4+IHlvdSBuZWVkIG9mIGNvdXJzZSB0byByZW9yZ2FuaXplIHRoZSBkYXRhIHdoZW4gcmVhZGlu ZyBhcyB3ZWxsLCBzbyB0aGF0Cj4gPj4+IHRoZSB1c2VyIHNlZXMgWGtpQiBvZiBkYXRhICsgWUIg b2YgT09CLiBUaGF0J3MgYWxsIHlvdSBuZWVkIHRvIGRvIGluCj4gPj4+IHRoZXNlIGhlbHBlcnMu Cj4gPj4+ICAgICAKPiA+Pgo+ID4+IEkgdGhpbmsgdGhlcmUgaXMgc29tZSBtaXN1bmRlcnN0YW5k aW5nIGFib3V0IHRoZXNlICJ1c2VyIGJ5dGVzIiBhYm92ZTogdGhlcmUgYXJlIDQKPiA+PiBieXRl cyB3aGljaCB0aGlzIE5BTkQgY29udHJvbGxlciBhbHdheXMgd3JpdGVzIHRvIHBhZ2UgaW4gRUND IG1vZGUgLSBpdCB3YXMgZnJlZSBPT0IKPiA+PiBieXRlcyBjb3ZlcmVkIGJ5IEVDQy4gQ29udHJv bGxlciBncmFicyB2YWx1ZXMgZnJvbSBETUEgYnVmZmVyIChzZWNvbmQgRE1BIGJ1ZmZlciB3aGlj aAo+ID4+IGRvZXNuJ3QgY29udGFpbnMgcGFnZSBkYXRhKSBhbmQgd3JpdGVzIGl0IGFsb25nIHdp dGggZGF0YSBhbmQgRUNDIGNvZGVzLiBJZGVhIG9mIHRoaXMKPiA+PiBjaGFuZ2UgaXMgdG8gYWx3 YXlzIHN1cHByZXNzIHRoaXMgd3JpdGUgYnkgc2V0dGluZyB0aGVtIHRvIDB4RkYgKG1heSBiZSB0 aGVyZSBpcyBzb21lCj4gPj4gY29tbWFuZCBvcHRpb24gdG8gbm90IHdyaXRlIGl0LCBidXQgSSBk b24ndCBoYXZlIGRvYyksIGJlY2F1c2UgYWxsIG9mIHRoZW0gKDQgYnl0ZXMpCj4gPj4gYmVjb21l IHVuYXZhaWxhYmxlIHRvIHJlYWRlci93cml0ZXIuICAKPiA+IAo+ID4gQXQgdGhlIE5BTkQgY29u dHJvbGxlciBsZXZlbCwgSSB3b3VsZCByYXRoZXIgYXZvaWQgZG9pbmcgdGhpbmdzIGxpa2UKPiA+ IHRoYXQuCj4gPiAKPiA+IEkgYmVsaWV2ZSB5b3UgY2FuIGp1c3QgdXBkYXRlIHRoZSBvb2JsYXlv dXQgc28gdGhhdCBwcm90ZWN0ZWQgT09CIGJ5dGVzCj4gPiBhcmUgbm90IGV4cG9zZWQgdG8gdGhl IHVzZXIgYXMgZnJlZSBieXRlcy4gVGhlbiB5b3VyIGJ1ZmZlcnMgc2hvdWxkCj4gPiBhbHJlYWR5 IGNvbnRhaW4gMHhmZmZmZmYgYXQgdGhlIHByb2JsZW1hdGljIGxvY2F0aW9uLiAgCj4gCj4gU28g WW91ciBpZGVhIGlzIHRvIGNvbnRpbnVlIGZpbGwgRE1BIGJ1ZmZlciAoZm9yIHRoZXNlIDQgYnl0 ZXMpIGZyb20gcHJvdmlkZWQgT09CIGJ1ZmZlciwKPiByZWx5aW5nIG9uIHRoYXQgYXMgdGhlc2Ug Ynl0ZXMgYXJlIHVudXNlZCwgdGhleSB3aWxsIGJlIDB4RkYgaW4gT09CIGJ1ZmZlciBzbyB3ZSBn ZXQgdGhlIHNhbWUgcmVzdWx0PwoKWWVzLgoKVGhlIHByb2JsZW0geW91IGZhY2UgaXMgZHVlIHRv IGpmZnMyIHVzaW5nIGZyZWUgT09CIGJ5dGVzIHRvIHN0b3JlIHNvbWUKZGF0YS4gSWYgdGhpcyBk YXRhIGlzIGluIHRoZSBwcm90ZWN0ZWQgYXJlYSAtPiBCT09NLgoKSWYgYW5vdGhlciBhcHBsaWNh dGlvbiB3YW50cyB0byB1c2UgYWxsIHRoZSBieXRlcyBhbmQgd3JpdGVzIHRoZW0gYWxsCmluIHRo ZSBzYW1lIFBST0dSQU0gb3BlcmF0aW9uIGl0J3MgZmluZS4KCkpmZnMyIGFjY2Vzc2VzIHRoZSBm cmVlIGFyZWEgdGhyb3VnaCB0aGUgT09CIGxheW91dHMgb25seSwgc28ganVzdAp0d2Vha2luZyB0 aGUgT09CIGxheW91dHMgc2hvdWxkIHdvcmsuCgpUaGFua3MsCk1pcXXDqGwKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFtbG9naWMgbWFpbGlu ZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK