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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 81F87C3F2D1 for ; Mon, 2 Mar 2020 08:03:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4A8E9246B4 for ; Mon, 2 Mar 2020 08:03:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727305AbgCBIDQ (ORCPT ); Mon, 2 Mar 2020 03:03:16 -0500 Received: from skedge03.snt-world.com ([91.208.41.68]:40250 "EHLO skedge03.snt-world.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725446AbgCBIDP (ORCPT ); Mon, 2 Mar 2020 03:03:15 -0500 Received: from sntmail12r.snt-is.com (unknown [10.203.32.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by skedge03.snt-world.com (Postfix) with ESMTPS id EFB4A67A7C0; Mon, 2 Mar 2020 09:03:11 +0100 (CET) Received: from sntmail12r.snt-is.com (10.203.32.182) by sntmail12r.snt-is.com (10.203.32.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Mon, 2 Mar 2020 09:03:11 +0100 Received: from sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305]) by sntmail12r.snt-is.com ([fe80::e551:8750:7bba:3305%3]) with mapi id 15.01.1913.005; Mon, 2 Mar 2020 09:03:11 +0100 From: Schrempf Frieder To: Yoshio Furuyama , "miquel.raynal@bootlin.com" , "vigneshr@ti.com" CC: "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 2/2] mtd: spinand: toshiba: Support for new Kioxia Serial NAND Thread-Topic: [PATCH v2 2/2] mtd: spinand: toshiba: Support for new Kioxia Serial NAND Thread-Index: AQHV7eTvkI1f5o4CokC7e4BcEaxQtKg05XkA Date: Mon, 2 Mar 2020 08:03:11 +0000 Message-ID: <2dd7f6e4-f5d7-f28e-f4cb-9bb2bef0949b@kontron.de> References: <9080db5a16d0fae0b0e04245e8aacc774107222c.1582603241.git.ytc-mb-yfuruyama7@kioxia.com> In-Reply-To: <9080db5a16d0fae0b0e04245e8aacc774107222c.1582603241.git.ytc-mb-yfuruyama7@kioxia.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.9.193] x-c2processedorg: 51b406b7-48a2-4d03-b652-521f56ac89f3 Content-Type: text/plain; charset="utf-8" Content-ID: <4E79C54295FB13428777C3CDE1FA30B7@snt-world.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SnT-MailScanner-Information: Please contact the ISP for more information X-SnT-MailScanner-ID: EFB4A67A7C0.A2DE0 X-SnT-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details X-SnT-MailScanner-SpamCheck: X-SnT-MailScanner-From: frieder.schrempf@kontron.de X-SnT-MailScanner-To: linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, miquel.raynal@bootlin.com, vigneshr@ti.com, ytc-mb-yfuruyama7@kioxia.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMjguMDIuMjAgMDQ6MTIsIFlvc2hpbyBGdXJ1eWFtYSB3cm90ZToNCj4gQWRkIHN1cHBvcnQg Zm9yIG5ldyBLaW94aWEgcHJvZHVjdHMuDQo+IFRoZSBuZXcgS2lveGlhIHByb2R1Y3RzIHN1cHBv cnQgcHJvZ3JhbSBsb2FkIHg0IGNvbW1hbmQsIGFuZCBoYXZlDQo+IEhPTERfRCBiaXQgd2hpY2gg aXMgZXF1aXZhbGVudCB0byBRRSBiaXQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBZb3NoaW8gRnVy dXlhbWEgPHl0Yy1tYi15ZnVydXlhbWE3QGtpb3hpYS5jb20+DQoNClJldmlld2VkLWJ5OiBGcmll ZGVyIFNjaHJlbXBmIDxmcmllZGVyLnNjaHJlbXBmQGtvbnRyb24uZGU+DQoNCj4gLS0tDQo+IGNo YW5nZWxvZ1t2Ml06U3BsaXQgMiBwYXRjaGVzLg0KPiANCj4gICBkcml2ZXJzL210ZC9uYW5kL3Nw aS90b3NoaWJhLmMgfCAxMTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygt KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvc3BpL3Rvc2hpYmEuYyBiL2Ry aXZlcnMvbXRkL25hbmQvc3BpL3Rvc2hpYmEuYw0KPiBpbmRleCA3MDBkODZmLi41MDVmOWY1IDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL210ZC9uYW5kL3NwaS90b3NoaWJhLmMNCj4gKysrIGIvZHJp dmVycy9tdGQvbmFuZC9zcGkvdG9zaGliYS5jDQo+IEBAIC0xOSw2ICsxOSwxOCBAQCBzdGF0aWMg U1BJTkFORF9PUF9WQVJJQU5UUyhyZWFkX2NhY2hlX3ZhcmlhbnRzLA0KPiAgIAkJU1BJTkFORF9Q QUdFX1JFQURfRlJPTV9DQUNIRV9PUCh0cnVlLCAwLCAxLCBOVUxMLCAwKSwNCj4gICAJCVNQSU5B TkRfUEFHRV9SRUFEX0ZST01fQ0FDSEVfT1AoZmFsc2UsIDAsIDEsIE5VTEwsIDApKTsNCj4gICAN Cj4gK3N0YXRpYyBTUElOQU5EX09QX1ZBUklBTlRTKHdyaXRlX2NhY2hlX3g0X3ZhcmlhbnRzLA0K PiArCQlTUElOQU5EX1BST0dfTE9BRF9YNCh0cnVlLCAwLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFO RF9QUk9HX0xPQUQodHJ1ZSwgMCwgTlVMTCwgMCkpOw0KPiArDQo+ICtzdGF0aWMgU1BJTkFORF9P UF9WQVJJQU5UUyh1cGRhdGVfY2FjaGVfeDRfdmFyaWFudHMsDQo+ICsJCVNQSU5BTkRfUFJPR19M T0FEX1g0KGZhbHNlLCAwLCBOVUxMLCAwKSwNCj4gKwkJU1BJTkFORF9QUk9HX0xPQUQoZmFsc2Us IDAsIE5VTEwsIDApKTsNCj4gKw0KPiArLyoqDQo+ICsgKiBCYWNrd2FyZCBjb21wYXRpYmlsaXR5 IGZvciAxc3QgZ2VuZXJhdGlvbiBTZXJpYWwgTkFORCBkZXZpY2VzDQo+ICsgKiB3aGljaCBkb24n dCBzdXBwb3J0IFF1YWQgUHJvZ3JhbSBMb2FkIG9wZXJhdGlvbi4NCj4gKyAqLw0KPiAgIHN0YXRp YyBTUElOQU5EX09QX1ZBUklBTlRTKHdyaXRlX2NhY2hlX3ZhcmlhbnRzLA0KPiAgIAkJU1BJTkFO RF9QUk9HX0xPQUQodHJ1ZSwgMCwgTlVMTCwgMCkpOw0KPiAgIA0KPiBAQCAtOTQsNyArMTA2LDcg QEAgc3RhdGljIGludCB0eDU4Y3hneHN4cmFpeF9lY2NfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3BpbmFu ZF9kZXZpY2UgKnNwaW5hbmQsDQo+ICAgfQ0KPiAgIA0KPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c3BpbmFuZF9pbmZvIHRvc2hpYmFfc3BpbmFuZF90YWJsZVtdID0gew0KPiAtCS8qIDMuM1YgMUdi ICovDQo+ICsJLyogMy4zViAxR2IgKDFzdCBnZW5lcmF0aW9uKSAqLw0KPiAgIAlTUElOQU5EX0lO Rk8oIlRDNThDVkcwUzNIUkFJRyIsIDB4QzIsDQo+ICAgCQkgICAgIE5BTkRfTUVNT1JHKDEsIDIw NDgsIDEyOCwgNjQsIDEwMjQsIDIwLCAxLCAxLCAxKSwNCj4gICAJCSAgICAgTkFORF9FQ0NSRVEo OCwgNTEyKSwNCj4gQEAgLTEwNCw3ICsxMTYsNyBAQCBzdGF0aWMgaW50IHR4NThjeGd4c3hyYWl4 X2VjY19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCSAg ICAgMCwNCj4gICAJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZ0eDU4Y3hneHN4cmFpeF9vb2JsYXlv dXQsDQo+ICAgCQkJCSAgICAgdHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0dXMpKSwNCj4gLQkv KiAzLjNWIDJHYiAqLw0KPiArCS8qIDMuM1YgMkdiICgxc3QgZ2VuZXJhdGlvbikgKi8NCj4gICAJ U1BJTkFORF9JTkZPKCJUQzU4Q1ZHMVMzSFJBSUciLCAweENCLA0KPiAgIAkJICAgICBOQU5EX01F TU9SRygxLCAyMDQ4LCAxMjgsIDY0LCAyMDQ4LCA0MCwgMSwgMSwgMSksDQo+ICAgCQkgICAgIE5B TkRfRUNDUkVRKDgsIDUxMiksDQo+IEBAIC0xMTQsNyArMTI2LDcgQEAgc3RhdGljIGludCB0eDU4 Y3hneHN4cmFpeF9lY2NfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3BpbmFuZF9kZXZpY2UgKnNwaW5hbmQs DQo+ICAgCQkgICAgIDAsDQo+ICAgCQkgICAgIFNQSU5BTkRfRUNDSU5GTygmdHg1OGN4Z3hzeHJh aXhfb29ibGF5b3V0LA0KPiAgIAkJCQkgICAgIHR4NThjeGd4c3hyYWl4X2VjY19nZXRfc3RhdHVz KSksDQo+IC0JLyogMy4zViA0R2IgKi8NCj4gKwkvKiAzLjNWIDRHYiAoMXN0IGdlbmVyYXRpb24p ICovDQo+ICAgCVNQSU5BTkRfSU5GTygiVEM1OENWRzJTMEhSQUlHIiwgMHhDRCwNCj4gICAJCSAg ICAgTkFORF9NRU1PUkcoMSwgNDA5NiwgMjU2LCA2NCwgMjA0OCwgNDAsIDEsIDEsIDEpLA0KPiAg IAkJICAgICBOQU5EX0VDQ1JFUSg4LCA1MTIpLA0KPiBAQCAtMTI0LDE3ICsxMzYsNyBAQCBzdGF0 aWMgaW50IHR4NThjeGd4c3hyYWl4X2VjY19nZXRfc3RhdHVzKHN0cnVjdCBzcGluYW5kX2Rldmlj ZSAqc3BpbmFuZCwNCj4gICAJCSAgICAgMCwNCj4gICAJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZ0 eDU4Y3hneHN4cmFpeF9vb2JsYXlvdXQsDQo+ICAgCQkJCSAgICAgdHg1OGN4Z3hzeHJhaXhfZWNj X2dldF9zdGF0dXMpKSwNCj4gLQkvKiAzLjNWIDRHYiAqLw0KPiAtCVNQSU5BTkRfSU5GTygiVEM1 OENWRzJTMEhSQUlKIiwgMHhFRCwNCj4gLQkJICAgICBOQU5EX01FTU9SRygxLCA0MDk2LCAyNTYs IDY0LCAyMDQ4LCA0MCwgMSwgMSwgMSksDQo+IC0JCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwN Cj4gLQkJICAgICBTUElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJlYWRfY2FjaGVfdmFyaWFudHMs DQo+IC0JCQkJCSAgICAgICZ3cml0ZV9jYWNoZV92YXJpYW50cywNCj4gLQkJCQkJICAgICAgJnVw ZGF0ZV9jYWNoZV92YXJpYW50cyksDQo+IC0JCSAgICAgMCwNCj4gLQkJICAgICBTUElOQU5EX0VD Q0lORk8oJnR4NThjeGd4c3hyYWl4X29vYmxheW91dCwNCj4gLQkJCQkgICAgIHR4NThjeGd4c3hy YWl4X2VjY19nZXRfc3RhdHVzKSksDQo+IC0JLyogMS44ViAxR2IgKi8NCj4gKwkvKiAxLjhWIDFH YiAoMXN0IGdlbmVyYXRpb24pICovDQo+ICAgCVNQSU5BTkRfSU5GTygiVEM1OENZRzBTM0hSQUlH IiwgMHhCMiwNCj4gICAJCSAgICAgTkFORF9NRU1PUkcoMSwgMjA0OCwgMTI4LCA2NCwgMTAyNCwg MjAsIDEsIDEsIDEpLA0KPiAgIAkJICAgICBOQU5EX0VDQ1JFUSg4LCA1MTIpLA0KPiBAQCAtMTQ0 LDcgKzE0Niw3IEBAIHN0YXRpYyBpbnQgdHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0dXMoc3Ry dWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kLA0KPiAgIAkJICAgICAwLA0KPiAgIAkJICAgICBT UElOQU5EX0VDQ0lORk8oJnR4NThjeGd4c3hyYWl4X29vYmxheW91dCwNCj4gICAJCQkJICAgICB0 eDU4Y3hneHN4cmFpeF9lY2NfZ2V0X3N0YXR1cykpLA0KPiAtCS8qIDEuOFYgMkdiICovDQo+ICsJ LyogMS44ViAyR2IgKDFzdCBnZW5lcmF0aW9uKSAqLw0KPiAgIAlTUElOQU5EX0lORk8oIlRDNThD WUcxUzNIUkFJRyIsIDB4QkIsDQo+ICAgCQkgICAgIE5BTkRfTUVNT1JHKDEsIDIwNDgsIDEyOCwg NjQsIDIwNDgsIDQwLCAxLCAxLCAxKSwNCj4gICAJCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwN Cj4gQEAgLTE1NCw3ICsxNTYsNyBAQCBzdGF0aWMgaW50IHR4NThjeGd4c3hyYWl4X2VjY19nZXRf c3RhdHVzKHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCwNCj4gICAJCSAgICAgMCwNCj4g ICAJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZ0eDU4Y3hneHN4cmFpeF9vb2JsYXlvdXQsDQo+ICAg CQkJCSAgICAgdHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0dXMpKSwNCj4gLQkvKiAxLjhWIDRH YiAqLw0KPiArCS8qIDEuOFYgNEdiICgxc3QgZ2VuZXJhdGlvbikgKi8NCj4gICAJU1BJTkFORF9J TkZPKCJUQzU4Q1lHMlMwSFJBSUciLCAweEJELA0KPiAgIAkJICAgICBOQU5EX01FTU9SRygxLCA0 MDk2LCAyNTYsIDY0LCAyMDQ4LCA0MCwgMSwgMSwgMSksDQo+ICAgCQkgICAgIE5BTkRfRUNDUkVR KDgsIDUxMiksDQo+IEBAIC0xNjQsNiArMTY2LDkxIEBAIHN0YXRpYyBpbnQgdHg1OGN4Z3hzeHJh aXhfZWNjX2dldF9zdGF0dXMoc3RydWN0IHNwaW5hbmRfZGV2aWNlICpzcGluYW5kLA0KPiAgIAkJ ICAgICAwLA0KPiAgIAkJICAgICBTUElOQU5EX0VDQ0lORk8oJnR4NThjeGd4c3hyYWl4X29vYmxh eW91dCwNCj4gICAJCQkJICAgICB0eDU4Y3hneHN4cmFpeF9lY2NfZ2V0X3N0YXR1cykpLA0KPiAr DQo+ICsJLyoNCj4gKwkgKiAybmQgZ2VuZXJhdGlvbiBzZXJpYWwgbmFuZCBoYXMgSE9MRF9EIHdo aWNoIGlzIGVxdWl2YWxlbnQgdG8NCj4gKwkgKiBRRV9CSVQuDQo+ICsJICovDQo+ICsJLyogMy4z ViAxR2IgKDJuZCBnZW5lcmF0aW9uKSAqLw0KPiArCVNQSU5BTkRfSU5GTygiVEM1OENWRzBTM0hS QUlKIiwgMHhFMiwNCj4gKwkJICAgICBOQU5EX01FTU9SRygxLCAyMDQ4LCAxMjgsIDY0LCAxMDI0 LCAyMCwgMSwgMSwgMSksDQo+ICsJCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwNCj4gKwkJICAg ICBTUElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJlYWRfY2FjaGVfdmFyaWFudHMsDQo+ICsJCQkJ CSAgICAgICZ3cml0ZV9jYWNoZV94NF92YXJpYW50cywNCj4gKwkJCQkJICAgICAgJnVwZGF0ZV9j YWNoZV94NF92YXJpYW50cyksDQo+ICsJCSAgICAgU1BJTkFORF9IQVNfUUVfQklULA0KPiArCQkg ICAgIFNQSU5BTkRfRUNDSU5GTygmdHg1OGN4Z3hzeHJhaXhfb29ibGF5b3V0LA0KPiArCQkJCSAg ICAgdHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0dXMpKSwNCj4gKwkvKiAzLjNWIDJHYiAoMm5k IGdlbmVyYXRpb24pICovDQo+ICsJU1BJTkFORF9JTkZPKCJUQzU4Q1ZHMVMzSFJBSUoiLCAweEVC LA0KPiArCQkgICAgIE5BTkRfTUVNT1JHKDEsIDIwNDgsIDEyOCwgNjQsIDIwNDgsIDQwLCAxLCAx LCAxKSwNCj4gKwkJICAgICBOQU5EX0VDQ1JFUSg4LCA1MTIpLA0KPiArCQkgICAgIFNQSU5BTkRf SU5GT19PUF9WQVJJQU5UUygmcmVhZF9jYWNoZV92YXJpYW50cywNCj4gKwkJCQkJICAgICAgJndy aXRlX2NhY2hlX3g0X3ZhcmlhbnRzLA0KPiArCQkJCQkgICAgICAmdXBkYXRlX2NhY2hlX3g0X3Zh cmlhbnRzKSwNCj4gKwkJICAgICBTUElOQU5EX0hBU19RRV9CSVQsDQo+ICsJCSAgICAgU1BJTkFO RF9FQ0NJTkZPKCZ0eDU4Y3hneHN4cmFpeF9vb2JsYXlvdXQsDQo+ICsJCQkJICAgICB0eDU4Y3hn eHN4cmFpeF9lY2NfZ2V0X3N0YXR1cykpLA0KPiArCS8qIDMuM1YgNEdiICgybmQgZ2VuZXJhdGlv bikgKi8NCj4gKwlTUElOQU5EX0lORk8oIlRDNThDVkcyUzBIUkFJSiIsIDB4RUQsDQo+ICsJCSAg ICAgTkFORF9NRU1PUkcoMSwgNDA5NiwgMjU2LCA2NCwgMjA0OCwgNDAsIDEsIDEsIDEpLA0KPiAr CQkgICAgIE5BTkRfRUNDUkVRKDgsIDUxMiksDQo+ICsJCSAgICAgU1BJTkFORF9JTkZPX09QX1ZB UklBTlRTKCZyZWFkX2NhY2hlX3ZhcmlhbnRzLA0KPiArCQkJCQkgICAgICAmd3JpdGVfY2FjaGVf eDRfdmFyaWFudHMsDQo+ICsJCQkJCSAgICAgICZ1cGRhdGVfY2FjaGVfeDRfdmFyaWFudHMpLA0K PiArCQkgICAgIFNQSU5BTkRfSEFTX1FFX0JJVCwNCj4gKwkJICAgICBTUElOQU5EX0VDQ0lORk8o JnR4NThjeGd4c3hyYWl4X29vYmxheW91dCwNCj4gKwkJCQkgICAgIHR4NThjeGd4c3hyYWl4X2Vj Y19nZXRfc3RhdHVzKSksDQo+ICsJLyogMy4zViA4R2IgKDJuZCBnZW5lcmF0aW9uKSAqLw0KPiAr CVNQSU5BTkRfSU5GTygiVEg1OENWRzNTMEhSQUlKIiwgMHhFNCwNCj4gKwkJICAgICBOQU5EX01F TU9SRygxLCA0MDk2LCAyNTYsIDY0LCA0MDk2LCA4MCwgMSwgMSwgMSksDQo+ICsJCSAgICAgTkFO RF9FQ0NSRVEoOCwgNTEyKSwNCj4gKwkJICAgICBTUElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJl YWRfY2FjaGVfdmFyaWFudHMsDQo+ICsJCQkJCSAgICAgICZ3cml0ZV9jYWNoZV94NF92YXJpYW50 cywNCj4gKwkJCQkJICAgICAgJnVwZGF0ZV9jYWNoZV94NF92YXJpYW50cyksDQo+ICsJCSAgICAg U1BJTkFORF9IQVNfUUVfQklULA0KPiArCQkgICAgIFNQSU5BTkRfRUNDSU5GTygmdHg1OGN4Z3hz eHJhaXhfb29ibGF5b3V0LA0KPiArCQkJCSAgICAgdHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0 dXMpKSwNCj4gKwkvKiAxLjhWIDFHYiAoMm5kIGdlbmVyYXRpb24pICovDQo+ICsJU1BJTkFORF9J TkZPKCJUQzU4Q1lHMFMzSFJBSUoiLCAweEQyLA0KPiArCQkgICAgIE5BTkRfTUVNT1JHKDEsIDIw NDgsIDEyOCwgNjQsIDEwMjQsIDIwLCAxLCAxLCAxKSwNCj4gKwkJICAgICBOQU5EX0VDQ1JFUSg4 LCA1MTIpLA0KPiArCQkgICAgIFNQSU5BTkRfSU5GT19PUF9WQVJJQU5UUygmcmVhZF9jYWNoZV92 YXJpYW50cywNCj4gKwkJCQkJICAgICAgJndyaXRlX2NhY2hlX3g0X3ZhcmlhbnRzLA0KPiArCQkJ CQkgICAgICAmdXBkYXRlX2NhY2hlX3g0X3ZhcmlhbnRzKSwNCj4gKwkJICAgICBTUElOQU5EX0hB U19RRV9CSVQsDQo+ICsJCSAgICAgU1BJTkFORF9FQ0NJTkZPKCZ0eDU4Y3hneHN4cmFpeF9vb2Js YXlvdXQsDQo+ICsJCQkJICAgICB0eDU4Y3hneHN4cmFpeF9lY2NfZ2V0X3N0YXR1cykpLA0KPiAr CS8qIDEuOFYgMkdiICgybmQgZ2VuZXJhdGlvbikgKi8NCj4gKwlTUElOQU5EX0lORk8oIlRDNThD WUcxUzNIUkFJSiIsIDB4REIsDQo+ICsJCSAgICAgTkFORF9NRU1PUkcoMSwgMjA0OCwgMTI4LCA2 NCwgMjA0OCwgNDAsIDEsIDEsIDEpLA0KPiArCQkgICAgIE5BTkRfRUNDUkVRKDgsIDUxMiksDQo+ ICsJCSAgICAgU1BJTkFORF9JTkZPX09QX1ZBUklBTlRTKCZyZWFkX2NhY2hlX3ZhcmlhbnRzLA0K PiArCQkJCQkgICAgICAmd3JpdGVfY2FjaGVfeDRfdmFyaWFudHMsDQo+ICsJCQkJCSAgICAgICZ1 cGRhdGVfY2FjaGVfeDRfdmFyaWFudHMpLA0KPiArCQkgICAgIFNQSU5BTkRfSEFTX1FFX0JJVCwN Cj4gKwkJICAgICBTUElOQU5EX0VDQ0lORk8oJnR4NThjeGd4c3hyYWl4X29vYmxheW91dCwNCj4g KwkJCQkgICAgIHR4NThjeGd4c3hyYWl4X2VjY19nZXRfc3RhdHVzKSksDQo+ICsJLyogMS44ViA0 R2IgKDJuZCBnZW5lcmF0aW9uKSAqLw0KPiArCVNQSU5BTkRfSU5GTygiVEM1OENZRzJTMEhSQUlK IiwgMHhERCwNCj4gKwkJICAgICBOQU5EX01FTU9SRygxLCA0MDk2LCAyNTYsIDY0LCAyMDQ4LCA0 MCwgMSwgMSwgMSksDQo+ICsJCSAgICAgTkFORF9FQ0NSRVEoOCwgNTEyKSwNCj4gKwkJICAgICBT UElOQU5EX0lORk9fT1BfVkFSSUFOVFMoJnJlYWRfY2FjaGVfdmFyaWFudHMsDQo+ICsJCQkJCSAg ICAgICZ3cml0ZV9jYWNoZV94NF92YXJpYW50cywNCj4gKwkJCQkJICAgICAgJnVwZGF0ZV9jYWNo ZV94NF92YXJpYW50cyksDQo+ICsJCSAgICAgU1BJTkFORF9IQVNfUUVfQklULA0KPiArCQkgICAg IFNQSU5BTkRfRUNDSU5GTygmdHg1OGN4Z3hzeHJhaXhfb29ibGF5b3V0LA0KPiArCQkJCSAgICAg dHg1OGN4Z3hzeHJhaXhfZWNjX2dldF9zdGF0dXMpKSwNCj4gKwkvKiAxLjhWIDhHYiAoMm5kIGdl bmVyYXRpb24pICovDQo+ICsJU1BJTkFORF9JTkZPKCJUSDU4Q1lHM1MwSFJBSUoiLCAweEQ0LA0K PiArCQkgICAgIE5BTkRfTUVNT1JHKDEsIDQwOTYsIDI1NiwgNjQsIDQwOTYsIDgwLCAxLCAxLCAx KSwNCj4gKwkJICAgICBOQU5EX0VDQ1JFUSg4LCA1MTIpLA0KPiArCQkgICAgIFNQSU5BTkRfSU5G T19PUF9WQVJJQU5UUygmcmVhZF9jYWNoZV92YXJpYW50cywNCj4gKwkJCQkJICAgICAgJndyaXRl X2NhY2hlX3g0X3ZhcmlhbnRzLA0KPiArCQkJCQkgICAgICAmdXBkYXRlX2NhY2hlX3g0X3Zhcmlh bnRzKSwNCj4gKwkJICAgICBTUElOQU5EX0hBU19RRV9CSVQsDQo+ICsJCSAgICAgU1BJTkFORF9F Q0NJTkZPKCZ0eDU4Y3hneHN4cmFpeF9vb2JsYXlvdXQsDQo+ICsJCQkJICAgICB0eDU4Y3hneHN4 cmFpeF9lY2NfZ2V0X3N0YXR1cykpLA0KPiAgIH07DQo+ICAgDQo+ICAgc3RhdGljIGludCB0b3No aWJhX3NwaW5hbmRfZGV0ZWN0KHN0cnVjdCBzcGluYW5kX2RldmljZSAqc3BpbmFuZCkNCj4g