From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Wenyou" Subject: RE: [RFC PATCH 3/4] mtd: atmel_nand: Support 32-bit ECC strength Date: Wed, 13 Jan 2016 06:12:27 +0000 Message-ID: References: <1452609223-14790-1-git-send-email-romain.izard.pro@gmail.com> <1452609223-14790-4-git-send-email-romain.izard.pro@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1452609223-14790-4-git-send-email-romain.izard.pro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Content-Language: en-US Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Romain Izard , "linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "rainyfeeling-1ViLX0X+lBJBDgjK7y7TUQ@public.gmane.org" Cc: "Ferre, Nicolas" List-Id: devicetree@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgtbXRkIFttYWls dG86bGludXgtbXRkLWJvdW5jZXNAbGlzdHMuaW5mcmFkZWFkLm9yZ10gT24gQmVoYWxmIE9mDQo+ IFJvbWFpbiBJemFyZA0KPiBTZW50OiAyMDE2xOox1MIxMsjVIDIyOjM0DQo+IFRvOiBsaW51eC1t dGRAbGlzdHMuaW5mcmFkZWFkLm9yZzsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6 IFd1LCBKb3NoIDxKb3NoLnd1QGF0bWVsLmNvbT47IFJvbWFpbiBJemFyZA0KPiA8cm9tYWluLml6 YXJkLnByb0BnbWFpbC5jb20+OyBGZXJyZSwgTmljb2xhcyA8Tmljb2xhcy5GRVJSRUBhdG1lbC5j b20+DQo+IFN1YmplY3Q6IFtSRkMgUEFUQ0ggMy80XSBtdGQ6IGF0bWVsX25hbmQ6IFN1cHBvcnQg MzItYml0IEVDQyBzdHJlbmd0aA0KPiANCj4gU3RhcnRpbmcgd2l0aCB0aGUgU0FNQTVEMiwgdGhl cmUgaXMgYSBuZXcgcmV2aXNpb24gb2YgdGhlIEF0bWVsIFBNRUNDDQo+IGNvbnRyb2xsZXIgdGhh dCBjYW4gY29ycmVjdCAzMiBiaXRzIGluIGVhY2ggc2VjdG9yLiBUaGlzIGNvbnRyb2xsZXIgaXMg bm90IDEwMCUNCj4gY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyByZXZpc2lvbiB0aGF0IGNv cnJlY3RlZCBhIG1heGltdW0gb2YgMjQgYml0cyBieQ0KPiBzZWN0b3IsIGFzIHNvbWUgcmVnaXN0 ZXIgYWRkcmVzc2VzIG92ZXJsYXAuDQo+IA0KPiBVc2luZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBk ZXZpY2UgdHJlZSwgd2UgY2FuIGNvbmZpZ3VyZSB0aGUgZHJpdmVyIHRvIHdvcmsgd2l0aA0KPiBi b3RoIHZlcnNpb25zLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogUm9tYWluIEl6YXJkIDxyb21haW4u aXphcmQucHJvQGdtYWlsLmNvbT4NCg0KRmlyc3QgdGhpcyBwYXRjaCBjb250YWlucyBvbmUgbW9y ZSB0b3BpYywgMzItRUNDLCBlcnJvci1sb2NhdGlvbi4gaXQgc2hvdWxkIGJlIHNwbGl0Lg0KDQoN Cj4gLS0tDQo+ICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwtbmFuZC50eHQgICAg ICAgICB8IDEwICsrKy0tDQo+ICBkcml2ZXJzL210ZC9uYW5kL2F0bWVsX25hbmQuYyAgICAgICAg ICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKystLS0NCj4gIGRyaXZlcnMvbXRk L25hbmQvYXRtZWxfbmFuZF9lY2MuaCAgICAgICAgICAgICAgICAgIHwgIDkgKysrKy0NCj4gIDMg ZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQo+IA0KPiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9hdG1lbC1u YW5kLnR4dA0KPiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwt bmFuZC50eHQNCj4gaW5kZXggODliMGRiOTgwMWIwLi5lZjBkYjhlMmEwZmQgMTAwNjQ0DQo+IC0t LSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwtbmFuZC50eHQN Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9hdG1lbC1uYW5k LnR4dA0KPiBAQCAtMSw3ICsxLDEwIEBADQo+ICBBdG1lbCBOQU5EIGZsYXNoDQo+IA0KPiAgUmVx dWlyZWQgcHJvcGVydGllczoNCj4gLS0gY29tcGF0aWJsZSA6IHNob3VsZCBiZSAiYXRtZWwsYXQ5 MXJtOTIwMC1uYW5kIiBvciAiYXRtZWwsc2FtYTVkNC1uYW5kIi4NCj4gKy0gY29tcGF0aWJsZTog VGhlIHBvc3NpYmxlIHZhbHVlcyBhcmU6DQo+ICsJImF0bWVsLGF0OTFybTkyMDAtbmFuZCINCj4g KwkiYXRtZWwsc2FtYTVkMi1uYW5kIg0KPiArCSJhdG1lbCxzYW1hNWQ0LW5hbmQiDQo+ICAtIHJl ZyA6IHNob3VsZCBzcGVjaWZ5IGxvY2FsYnVzIGFkZHJlc3MgYW5kIHNpemUgdXNlZCBmb3IgdGhl IGNoaXAsDQo+ICAJYW5kIGhhcmR3YXJlIEVDQyBjb250cm9sbGVyIGlmIGF2YWlsYWJsZS4NCj4g IAlJZiB0aGUgaGFyZHdhcmUgRUNDIGlzIFBNRUNDLCBpdCBzaG91bGQgY29udGFpbiBhZGRyZXNz IGFuZCBzaXplIGZvcg0KPiBAQCAtMjIsOSArMjUsMTAgQEAgT3B0aW9uYWwgcHJvcGVydGllczoN Cj4gICAgU3VwcG9ydGVkIHZhbHVlcyBhcmU6ICJub25lIiwgInNvZnQiLCAiaHciLCAiaHdfc3lu ZHJvbWUiLCAiaHdfb29iX2ZpcnN0IiwNCj4gICAgInNvZnRfYmNoIi4NCj4gIC0gYXRtZWwsaGFz LXBtZWNjIDogYm9vbGVhbiB0byBlbmFibGUgUHJvZ3JhbW1hYmxlIE11bHRpYml0IEVDQyBoYXJk d2FyZS4NCj4gLSAgT25seSBzdXBwb3J0ZWQgYnkgYXQ5MXNhbTl4NSBvciBsYXRlciBzYW05IHBy b2R1Y3QuDQo+ICsgIFN1cHBvcnRlZCBieSBBVDkxU0FNOXg1IG9yIGxhdGVyIFNBTTkgY2hpcHMs IGFuZCBTQU1BNSBjaGlwcy4NCj4gIC0gYXRtZWwscG1lY2MtY2FwIDogZXJyb3IgY29ycmVjdCBj YXBhYmlsaXR5IGZvciBQcm9ncmFtbWFibGUgTXVsdGliaXQgRUNDDQo+IC0gIENvbnRyb2xsZXIu IFN1cHBvcnRlZCB2YWx1ZXMgYXJlOiAyLCA0LCA4LCAxMiwgMjQuDQo+ICsgIENvbnRyb2xsZXIu IFN1cHBvcnRlZCB2YWx1ZXMgYXJlOiAyLCA0LCA4LCAxMiwgMjQuIFNBTUE1RDIgYWxzbw0KPiAr IHN1cHBvcnRzICAzMi4NCj4gIC0gYXRtZWwscG1lY2Mtc2VjdG9yLXNpemUgOiBzZWN0b3Igc2l6 ZSBmb3IgRUNDIGNvbXB1dGF0aW9uLiBTdXBwb3J0ZWQgdmFsdWVzDQo+ICAgIGFyZTogNTEyLCAx MDI0Lg0KPiAgLSBhdG1lbCxwbWVjYy1sb29rdXAtdGFibGUtb2Zmc2V0IDogaW5jbHVkZXMgdHdv IG9mZnNldHMgb2YgbG9va3VwIHRhYmxlIGluIFJPTQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t dGQvbmFuZC9hdG1lbF9uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL2F0bWVsX25hbmQuYyBpbmRl eA0KPiBlNWQ3ZTdlNjNmNDkuLmNkNTVkNTRhOWE3ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9t dGQvbmFuZC9hdG1lbF9uYW5kLmMNCj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9hdG1lbF9uYW5k LmMNCj4gQEAgLTY1LDYgKzY1LDcgQEAgbW9kdWxlX3BhcmFtKG9uX2ZsYXNoX2JidCwgaW50LCAw KTsNCj4gDQo+ICBzdHJ1Y3QgYXRtZWxfbmFuZF9jYXBzIHsNCj4gIAlib29sIHBtZWNjX2NvcnJl Y3RfZXJhc2VfcGFnZTsNCj4gKwl1aW50OF90IHBtZWNjX21heF9jb3JyZWN0aW9uOw0KPiAgfTsN Cj4gDQo+ICBzdHJ1Y3QgYXRtZWxfbmFuZF9uZmNfcHJpdiB7DQo+IEBAIC0xNDYsNiArMTQ3LDcg QEAgc3RydWN0IGF0bWVsX25hbmRfaG9zdCB7DQo+ICAJaW50CQkJcG1lY2NfY3dfbGVuOwkvKiBM ZW5ndGggb2YgY29kZXdvcmQgKi8NCj4gDQo+ICAJdm9pZCBfX2lvbWVtCQkqcG1lcnJsb2NfYmFz ZTsNCj4gKwl2b2lkIF9faW9tZW0JCSpwbWVycmxvY19lbF9iYXNlOw0KPiAgCXZvaWQgX19pb21l bQkJKnBtZWNjX3JvbV9iYXNlOw0KPiANCj4gIAkvKiBsb29rdXAgdGFibGUgZm9yIGFscGhhX3Rv IGFuZCBpbmRleF9vZiAqLyBAQCAtNDcyLDYgKzQ3NCw3IEBAIHN0YXRpYw0KPiB2b2lkIGF0bWVs X3dyaXRlX2J1ZihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgY29uc3QgdTggKmJ1ZiwgaW50IGxlbikN Cj4gICAqICAgICAgICAgICAgICAgIDgtYml0cyAgICAgICAgICAgICAgICAxMy1ieXRlcyAgICAg ICAgICAgICAgICAgMTQtYnl0ZXMNCj4gICAqICAgICAgICAgICAgICAgMTItYml0cyAgICAgICAg ICAgICAgICAyMC1ieXRlcyAgICAgICAgICAgICAgICAgMjEtYnl0ZXMNCj4gICAqICAgICAgICAg ICAgICAgMjQtYml0cyAgICAgICAgICAgICAgICAzOS1ieXRlcyAgICAgICAgICAgICAgICAgNDIt Ynl0ZXMNCj4gKyAqICAgICAgICAgICAgICAgMzItYml0cyAgICAgICAgICAgICAgICA1Mi1ieXRl cyAgICAgICAgICAgICAgICAgNTYtYnl0ZXMNCj4gICAqLw0KDQpJdCBzZWVtcywgc29tZXRoaW5n IG1pc3NlZCBhZnRlcg0KICAgICAgICAgY2FzZSAyNDoNCiAgICAgICAgICAgICAgICAgdmFsID0g UE1FQ0NfQ0ZHX0JDSF9FUlIyNDsNCiAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCnN1Y2ggYXMs DQoNCiAgICAgICAgIGNhc2UgMzI6DQogICAgICAgICAgICAgICAgIHZhbCA9IFBNRUNDX0NGR19C Q0hfRVJSMzI7DQogICAgICAgICAgICAgICAgIGJyZWFrDQoNCg0KDQo+ICBzdGF0aWMgaW50IHBt ZWNjX2dldF9lY2NfYnl0ZXMoaW50IGNhcCwgaW50IHNlY3Rvcl9zaXplKSAgeyBAQCAtODE3LDcg KzgyMCw3DQo+IEBAIHN0YXRpYyB2b2lkIHBtZWNjX2NvcnJlY3RfZGF0YShzdHJ1Y3QgbXRkX2lu Zm8gKm10ZCwgdWludDhfdCAqYnVmLCB1aW50OF90DQo+ICplY2MsDQo+ICAJc2VjdG9yX3NpemUg PSBob3N0LT5wbWVjY19zZWN0b3Jfc2l6ZTsNCj4gDQo+ICAJd2hpbGUgKGVycl9uYnIpIHsNCj4g LQkJdG1wID0gcG1lcnJsb2NfcmVhZGxfZWxfcmVsYXhlZChob3N0LT5wbWVycmxvY19iYXNlLCBp KSAtIDE7DQo+ICsJCXRtcCA9IHBtZXJybG9jX3JlYWRsX2VsX3JlbGF4ZWQoaG9zdC0+cG1lcnJs b2NfZWxfYmFzZSwgaSkgLSAxOw0KPiAgCQlieXRlX3BvcyA9IHRtcCAvIDg7DQo+ICAJCWJpdF9w b3MgID0gdG1wICUgODsNCj4gDQo+IEBAIC0xMDgxLDYgKzEwODQsOSBAQCBzdGF0aWMgaW50IHBt ZWNjX2Nob29zZV9lY2Moc3RydWN0IGF0bWVsX25hbmRfaG9zdA0KPiAqaG9zdCwNCj4gDQo+ICAJ LyogSWYgZGV2aWNlIHRyZWUgZG9lc24ndCBzcGVjaWZ5LCB1c2UgTkFORCdzIG1pbmltdW0gRUND IHBhcmFtZXRlcnMgKi8NCj4gIAlpZiAoaG9zdC0+cG1lY2NfY29ycl9jYXAgPT0gMCkgew0KPiAr CQlpZiAoKmNhcCA+IGhvc3QtPmNhcHMtPnBtZWNjX21heF9jb3JyZWN0aW9uKQ0KPiArCQkJcmV0 dXJuIC1FSU5WQUw7DQo+ICsNCj4gIAkJLyogdXNlIHRoZSBtb3N0IGZpdGFibGUgZWNjIGJpdHMg KHRoZSBuZWFyIGJpZ2dlciBvbmUgKSAqLw0KPiAgCQlpZiAoKmNhcCA8PSAyKQ0KPiAgCQkJaG9z dC0+cG1lY2NfY29ycl9jYXAgPSAyOw0KPiBAQCAtMTA5Miw2ICsxMDk4LDggQEAgc3RhdGljIGlu dCBwbWVjY19jaG9vc2VfZWNjKHN0cnVjdCBhdG1lbF9uYW5kX2hvc3QNCj4gKmhvc3QsDQo+ICAJ CQlob3N0LT5wbWVjY19jb3JyX2NhcCA9IDEyOw0KPiAgCQllbHNlIGlmICgqY2FwIDw9IDI0KQ0K PiAgCQkJaG9zdC0+cG1lY2NfY29ycl9jYXAgPSAyNDsNCj4gKwkJZWxzZSBpZiAoKmNhcCA8PSAz MikNCj4gKwkJCWhvc3QtPnBtZWNjX2NvcnJfY2FwID0gMzI7DQo+ICAJCWVsc2UNCj4gIAkJCXJl dHVybiAtRUlOVkFMOw0KPiAgCX0NCj4gQEAgLTEyMDgsNiArMTIxNiw4IEBAIHN0YXRpYyBpbnQg YXRtZWxfcG1lY2NfbmFuZF9pbml0X3BhcmFtcyhzdHJ1Y3QNCj4gcGxhdGZvcm1fZGV2aWNlICpw ZGV2LA0KPiAgCQllcnJfbm8gPSBQVFJfRVJSKGhvc3QtPnBtZXJybG9jX2Jhc2UpOw0KPiAgCQln b3RvIGVycjsNCj4gIAl9DQo+ICsJaG9zdC0+cG1lcnJsb2NfZWxfYmFzZSA9IGhvc3QtPnBtZXJy bG9jX2Jhc2UgKw0KPiBBVE1FTF9QTUVSUkxPQ19TSUdNQXggKw0KPiArCQkoaG9zdC0+Y2Fwcy0+ cG1lY2NfbWF4X2NvcnJlY3Rpb24gKyAxKSAqIDQ7DQo+IA0KPiAgCWlmICghaG9zdC0+aGFzX25v X2xvb2t1cF90YWJsZSkgew0KPiAgCQlyZWdzX3JvbSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShw ZGV2LCBJT1JFU09VUkNFX01FTSwNCj4gMyk7IEBAIC0xNTUwLDEwICsxNTYwLDE2IEBAIHN0YXRp YyBpbnQgYXRtZWxfb2ZfaW5pdF9wb3J0KHN0cnVjdA0KPiBhdG1lbF9uYW5kX2hvc3QgKmhvc3Qs DQo+ICAJICogdGhlbSBmcm9tIE5BTkQgT05GSSBwYXJhbWV0ZXJzLg0KPiAgCSAqLw0KPiAgCWlm IChvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgImF0bWVsLHBtZWNjLWNhcCIsICZ2YWwpID09IDAp IHsNCj4gLQkJaWYgKCh2YWwgIT0gMikgJiYgKHZhbCAhPSA0KSAmJiAodmFsICE9IDgpICYmICh2 YWwgIT0gMTIpICYmDQo+IC0JCQkJKHZhbCAhPSAyNCkpIHsNCj4gKwkJaWYgKHZhbCA+IGhvc3Qt PmNhcHMtPnBtZWNjX21heF9jb3JyZWN0aW9uKSB7DQo+ICsJCQlkZXZfZXJyKGhvc3QtPmRldiwN Cj4gKwkJCQkiUmVxdWlyZWQgRUNDIHN0cmVuZ3RoIHRvbyBoaWdoOiAldSBtYXggJXVcbiIsDQo+ ICsJCQkJdmFsLCBob3N0LT5jYXBzLT5wbWVjY19tYXhfY29ycmVjdGlvbik7DQo+ICsJCQlyZXR1 cm4gLUVJTlZBTDsNCj4gKwkJfQ0KPiArCQlpZiAoKHZhbCAhPSAyKSAgJiYgKHZhbCAhPSA0KSAg JiYgKHZhbCAhPSA4KSAmJg0KPiArCQkgICAgKHZhbCAhPSAxMikgJiYgKHZhbCAhPSAyNCkgJiYg KHZhbCAhPSAzMikpIHsNCj4gIAkJCWRldl9lcnIoaG9zdC0+ZGV2LA0KPiAtCQkJCSJVbnN1cHBv cnRlZCBQTUVDQyBjb3JyZWN0aW9uIGNhcGFiaWxpdHk6ICVkOw0KPiBzaG91bGQgYmUgMiwgNCwg OCwgMTIgb3IgMjRcbiIsDQo+ICsJCQkJIlJlcXVpcmVkIEVDQyBzdHJlbmd0aCBub3Qgc3VwcG9y dGVkOiAldVxuIiwNCj4gIAkJCQl2YWwpOw0KPiAgCQkJcmV0dXJuIC1FSU5WQUw7DQo+ICAJCX0N Cj4gQEAgLTE1NjMsNyArMTU3OSw3IEBAIHN0YXRpYyBpbnQgYXRtZWxfb2ZfaW5pdF9wb3J0KHN0 cnVjdCBhdG1lbF9uYW5kX2hvc3QNCj4gKmhvc3QsDQo+ICAJaWYgKG9mX3Byb3BlcnR5X3JlYWRf dTMyKG5wLCAiYXRtZWwscG1lY2Mtc2VjdG9yLXNpemUiLCAmdmFsKSA9PSAwKSB7DQo+ICAJCWlm ICgodmFsICE9IDUxMikgJiYgKHZhbCAhPSAxMDI0KSkgew0KPiAgCQkJZGV2X2Vycihob3N0LT5k ZXYsDQo+IC0JCQkJIlVuc3VwcG9ydGVkIFBNRUNDIHNlY3RvciBzaXplOiAlZDsgc2hvdWxkIGJl DQo+IDUxMiBvciAxMDI0IGJ5dGVzXG4iLA0KPiArCQkJCSJSZXF1aXJlZCBFQ0Mgc2VjdG9yIHNp emUgbm90IHN1cHBvcnRlZDogJXVcbiIsDQo+ICAJCQkJdmFsKTsNCj4gIAkJCXJldHVybiAtRUlO VkFMOw0KPiAgCQl9DQo+IEBAIC0yMzA3LDE3ICsyMzIzLDM0IEBAIHN0YXRpYyBpbnQgYXRtZWxf bmFuZF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiAqcGRldikNCj4gIAlyZXR1cm4g MDsNCj4gIH0NCj4gDQo+ICsvKg0KPiArICogQVQ5MVJNOTIwMCBkb2VzIG5vdCBoYXZlIFBNRUND IG9yIFBNRUNDIEVycmxvYyBwZXJpcGhlcmFscyBmb3INCj4gKyAqIEJDSCBFQ0MuIENvbWJpbmVk IHdpdGggdGhlICJhdG1lbCxoYXMtcG1lY2MiLCBpdCBpcyB1c2VkIHRvIGRlc2NyaWJlDQo+ICsg KiBkZXZpY2VzIGZyb20gdGhlIFNBTTkgZmFtaWx5IHRoYXQgaGF2ZSB0aG9zZS4NCj4gKyAqLw0K PiAgc3RhdGljIHN0cnVjdCBhdG1lbF9uYW5kX2NhcHMgYXQ5MXJtOTIwMF9jYXBzID0gew0KPiAg CS5wbWVjY19jb3JyZWN0X2VyYXNlX3BhZ2UgPSBmYWxzZSwNCj4gKwkucG1lY2NfbWF4X2NvcnJl Y3Rpb24gPSAyNCwNCj4gIH07DQo+IA0KPiAgc3RhdGljIHN0cnVjdCBhdG1lbF9uYW5kX2NhcHMg c2FtYTVkNF9jYXBzID0gew0KPiAgCS5wbWVjY19jb3JyZWN0X2VyYXNlX3BhZ2UgPSB0cnVlLA0K PiArCS5wbWVjY19tYXhfY29ycmVjdGlvbiA9IDI0LA0KPiArfTsNCj4gKw0KPiArLyoNCj4gKyAq IFRoZSBQTUVDQyBFcnJsb2MgY29udHJvbGxlciBzdGFydGluZyBpbiBTQU1BNUQyIGlzIG5vdCBj b21wYXRpYmxlLA0KPiArICogYXMgdGhlIGluY3JlYXNlZCBjb3JyZWN0aW9uIHN0cmVuZ3RoIHJl cXVpcmVzIG1vcmUgcmVnaXN0ZXJzLg0KPiArICovDQo+ICtzdGF0aWMgc3RydWN0IGF0bWVsX25h bmRfY2FwcyBzYW1hNWQyX2NhcHMgPSB7DQo+ICsJLnBtZWNjX2NvcnJlY3RfZXJhc2VfcGFnZSA9 IHRydWUsDQo+ICsJLnBtZWNjX21heF9jb3JyZWN0aW9uID0gMzIsDQo+ICB9Ow0KPiANCj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGF0bWVsX25hbmRfZHRfaWRzW10gPSB7DQo+ ICAJeyAuY29tcGF0aWJsZSA9ICJhdG1lbCxhdDkxcm05MjAwLW5hbmQiLCAuZGF0YSA9ICZhdDkx cm05MjAwX2NhcHMgfSwNCj4gIAl7IC5jb21wYXRpYmxlID0gImF0bWVsLHNhbWE1ZDQtbmFuZCIs IC5kYXRhID0gJnNhbWE1ZDRfY2FwcyB9LA0KPiArCXsgLmNvbXBhdGlibGUgPSAiYXRtZWwsc2Ft YTVkMi1uYW5kIiwgLmRhdGEgPSAmc2FtYTVkMl9jYXBzIH0sDQo+ICAJeyAvKiBzZW50aW5lbCAq LyB9DQo+ICB9Ow0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFu ZF9lY2MuaA0KPiBiL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFuZF9lY2MuaA0KPiBpbmRleCA2 NjhlNzM1OGYxOWIuLmIxZDQzNmQ4YmI3YSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9tdGQvbmFu ZC9hdG1lbF9uYW5kX2VjYy5oDQo+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFuZF9l Y2MuaA0KPiBAQCAtNDMsNiArNDMsNyBAQA0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX0JDSF9FUlI4 CQkoMiA8PCAwKQ0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX0JDSF9FUlIxMgkJKDMgPDwgMCkNCj4g ICNkZWZpbmUJCVBNRUNDX0NGR19CQ0hfRVJSMjQJCSg0IDw8IDApDQo+ICsjZGVmaW5lCQlQTUVD Q19DRkdfQkNIX0VSUjI1CQkoNSA8PCAwKQ0KDQpzLyBQTUVDQ19DRkdfQkNIX0VSUjI1LyBQTUVD Q19DRkdfQkNIX0VSUjMyDQoNCj4gDQo+ICAjZGVmaW5lCQlQTUVDQ19DRkdfU0VDVE9SNTEyCQko MCA8PCA0KQ0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX1NFQ1RPUjEwMjQJCSgxIDw8IDQpDQo+IEBA IC0xMDgsNyArMTA5LDExIEBADQo+ICAjZGVmaW5lCQlQTUVSUkxPQ19FUlJfTlVNX01BU0sJCSgw eDFmIDw8IDgpDQo+ICAjZGVmaW5lCQlQTUVSUkxPQ19DQUxDX0RPTkUJCSgxIDw8IDApDQo+ICAj ZGVmaW5lIEFUTUVMX1BNRVJSTE9DX1NJR01BeAkJMHgwMjgJLyogRXJyb3IgbG9jYXRpb24gU0lH TUEgeA0KPiAqLw0KPiAtI2RlZmluZSBBVE1FTF9QTUVSUkxPQ19FTHgJCTB4MDhjCS8qIEVycm9y IGxvY2F0aW9uIHggKi8NCj4gKw0KPiArLyoNCj4gKyAqIFRoZSBBVE1FTF9QTUVSUkxPQ19FTHgg cmVnaXN0ZXIgbG9jYXRpb24gZGVwZW5kcyBmcm9tIHRoZSBudW1iZXIgb2YNCj4gKyAqIGJpdHMg Y29ycmVjdGVkIGJ5IHRoZSBQTUVDQyBjb250cm9sbGVyLiBEbyBub3QgdXNlIGl0Lg0KPiArICov DQo+IA0KPiAgLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyBmb3IgUE1FQ0MgKi8NCj4gICNkZWZp bmUgcG1lY2NfcmVhZGxfcmVsYXhlZChhZGRyLCByZWcpIFwgQEAgLTEzNiw3ICsxNDEsNyBAQA0K PiAgCXJlYWRsX3JlbGF4ZWQoKGFkZHIpICsgQVRNRUxfUE1FUlJMT0NfU0lHTUF4ICsgKChuKSAq IDQpKQ0KPiANCj4gICNkZWZpbmUgcG1lcnJsb2NfcmVhZGxfZWxfcmVsYXhlZChhZGRyLCBuKSBc DQo+IC0JcmVhZGxfcmVsYXhlZCgoYWRkcikgKyBBVE1FTF9QTUVSUkxPQ19FTHggKyAoKG4pICog NCkpDQo+ICsJcmVhZGxfcmVsYXhlZCgoYWRkcikgKyAoKG4pICogNCkpDQo+IA0KPiAgLyogR2Fs b2lzIGZpZWxkIGRpbWVuc2lvbiAqLw0KPiAgI2RlZmluZSBQTUVDQ19HRl9ESU1FTlNJT05fMTMJ CQkxMw0KPiAtLQ0KPiAyLjUuMA0KPiANCj4gDQoNCkJlc3QgUmVnYXJkcywNCldlbnlvdSBZYW5n DQoNCg== -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from nasmtp02.atmel.com ([204.2.163.16] helo=SJOEDG01.corp.atmel.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aJEfz-0004xp-2m for linux-mtd@lists.infradead.org; Wed, 13 Jan 2016 06:13:00 +0000 From: "Yang, Wenyou" To: Romain Izard , "linux-mtd@lists.infradead.org" , "devicetree@vger.kernel.org" , "rainyfeeling@outlook.com" CC: "Ferre, Nicolas" Subject: RE: [RFC PATCH 3/4] mtd: atmel_nand: Support 32-bit ECC strength Date: Wed, 13 Jan 2016 06:12:27 +0000 Message-ID: References: <1452609223-14790-1-git-send-email-romain.izard.pro@gmail.com> <1452609223-14790-4-git-send-email-romain.izard.pro@gmail.com> In-Reply-To: <1452609223-14790-4-git-send-email-romain.izard.pro@gmail.com> Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgtbXRkIFttYWls dG86bGludXgtbXRkLWJvdW5jZXNAbGlzdHMuaW5mcmFkZWFkLm9yZ10gT24gQmVoYWxmIE9mDQo+ IFJvbWFpbiBJemFyZA0KPiBTZW50OiAyMDE2xOox1MIxMsjVIDIyOjM0DQo+IFRvOiBsaW51eC1t dGRAbGlzdHMuaW5mcmFkZWFkLm9yZzsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6 IFd1LCBKb3NoIDxKb3NoLnd1QGF0bWVsLmNvbT47IFJvbWFpbiBJemFyZA0KPiA8cm9tYWluLml6 YXJkLnByb0BnbWFpbC5jb20+OyBGZXJyZSwgTmljb2xhcyA8Tmljb2xhcy5GRVJSRUBhdG1lbC5j b20+DQo+IFN1YmplY3Q6IFtSRkMgUEFUQ0ggMy80XSBtdGQ6IGF0bWVsX25hbmQ6IFN1cHBvcnQg MzItYml0IEVDQyBzdHJlbmd0aA0KPiANCj4gU3RhcnRpbmcgd2l0aCB0aGUgU0FNQTVEMiwgdGhl cmUgaXMgYSBuZXcgcmV2aXNpb24gb2YgdGhlIEF0bWVsIFBNRUNDDQo+IGNvbnRyb2xsZXIgdGhh dCBjYW4gY29ycmVjdCAzMiBiaXRzIGluIGVhY2ggc2VjdG9yLiBUaGlzIGNvbnRyb2xsZXIgaXMg bm90IDEwMCUNCj4gY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyByZXZpc2lvbiB0aGF0IGNv cnJlY3RlZCBhIG1heGltdW0gb2YgMjQgYml0cyBieQ0KPiBzZWN0b3IsIGFzIHNvbWUgcmVnaXN0 ZXIgYWRkcmVzc2VzIG92ZXJsYXAuDQo+IA0KPiBVc2luZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBk ZXZpY2UgdHJlZSwgd2UgY2FuIGNvbmZpZ3VyZSB0aGUgZHJpdmVyIHRvIHdvcmsgd2l0aA0KPiBi b3RoIHZlcnNpb25zLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogUm9tYWluIEl6YXJkIDxyb21haW4u aXphcmQucHJvQGdtYWlsLmNvbT4NCg0KRmlyc3QgdGhpcyBwYXRjaCBjb250YWlucyBvbmUgbW9y ZSB0b3BpYywgMzItRUNDLCBlcnJvci1sb2NhdGlvbi4gaXQgc2hvdWxkIGJlIHNwbGl0Lg0KDQoN Cj4gLS0tDQo+ICAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwtbmFuZC50eHQgICAg ICAgICB8IDEwICsrKy0tDQo+ICBkcml2ZXJzL210ZC9uYW5kL2F0bWVsX25hbmQuYyAgICAgICAg ICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKystLS0NCj4gIGRyaXZlcnMvbXRk L25hbmQvYXRtZWxfbmFuZF9lY2MuaCAgICAgICAgICAgICAgICAgIHwgIDkgKysrKy0NCj4gIDMg ZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQo+IA0KPiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9hdG1lbC1u YW5kLnR4dA0KPiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwt bmFuZC50eHQNCj4gaW5kZXggODliMGRiOTgwMWIwLi5lZjBkYjhlMmEwZmQgMTAwNjQ0DQo+IC0t LSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tdGQvYXRtZWwtbmFuZC50eHQN Cj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL210ZC9hdG1lbC1uYW5k LnR4dA0KPiBAQCAtMSw3ICsxLDEwIEBADQo+ICBBdG1lbCBOQU5EIGZsYXNoDQo+IA0KPiAgUmVx dWlyZWQgcHJvcGVydGllczoNCj4gLS0gY29tcGF0aWJsZSA6IHNob3VsZCBiZSAiYXRtZWwsYXQ5 MXJtOTIwMC1uYW5kIiBvciAiYXRtZWwsc2FtYTVkNC1uYW5kIi4NCj4gKy0gY29tcGF0aWJsZTog VGhlIHBvc3NpYmxlIHZhbHVlcyBhcmU6DQo+ICsJImF0bWVsLGF0OTFybTkyMDAtbmFuZCINCj4g KwkiYXRtZWwsc2FtYTVkMi1uYW5kIg0KPiArCSJhdG1lbCxzYW1hNWQ0LW5hbmQiDQo+ICAtIHJl ZyA6IHNob3VsZCBzcGVjaWZ5IGxvY2FsYnVzIGFkZHJlc3MgYW5kIHNpemUgdXNlZCBmb3IgdGhl IGNoaXAsDQo+ICAJYW5kIGhhcmR3YXJlIEVDQyBjb250cm9sbGVyIGlmIGF2YWlsYWJsZS4NCj4g IAlJZiB0aGUgaGFyZHdhcmUgRUNDIGlzIFBNRUNDLCBpdCBzaG91bGQgY29udGFpbiBhZGRyZXNz IGFuZCBzaXplIGZvcg0KPiBAQCAtMjIsOSArMjUsMTAgQEAgT3B0aW9uYWwgcHJvcGVydGllczoN Cj4gICAgU3VwcG9ydGVkIHZhbHVlcyBhcmU6ICJub25lIiwgInNvZnQiLCAiaHciLCAiaHdfc3lu ZHJvbWUiLCAiaHdfb29iX2ZpcnN0IiwNCj4gICAgInNvZnRfYmNoIi4NCj4gIC0gYXRtZWwsaGFz LXBtZWNjIDogYm9vbGVhbiB0byBlbmFibGUgUHJvZ3JhbW1hYmxlIE11bHRpYml0IEVDQyBoYXJk d2FyZS4NCj4gLSAgT25seSBzdXBwb3J0ZWQgYnkgYXQ5MXNhbTl4NSBvciBsYXRlciBzYW05IHBy b2R1Y3QuDQo+ICsgIFN1cHBvcnRlZCBieSBBVDkxU0FNOXg1IG9yIGxhdGVyIFNBTTkgY2hpcHMs IGFuZCBTQU1BNSBjaGlwcy4NCj4gIC0gYXRtZWwscG1lY2MtY2FwIDogZXJyb3IgY29ycmVjdCBj YXBhYmlsaXR5IGZvciBQcm9ncmFtbWFibGUgTXVsdGliaXQgRUNDDQo+IC0gIENvbnRyb2xsZXIu IFN1cHBvcnRlZCB2YWx1ZXMgYXJlOiAyLCA0LCA4LCAxMiwgMjQuDQo+ICsgIENvbnRyb2xsZXIu IFN1cHBvcnRlZCB2YWx1ZXMgYXJlOiAyLCA0LCA4LCAxMiwgMjQuIFNBTUE1RDIgYWxzbw0KPiAr IHN1cHBvcnRzICAzMi4NCj4gIC0gYXRtZWwscG1lY2Mtc2VjdG9yLXNpemUgOiBzZWN0b3Igc2l6 ZSBmb3IgRUNDIGNvbXB1dGF0aW9uLiBTdXBwb3J0ZWQgdmFsdWVzDQo+ICAgIGFyZTogNTEyLCAx MDI0Lg0KPiAgLSBhdG1lbCxwbWVjYy1sb29rdXAtdGFibGUtb2Zmc2V0IDogaW5jbHVkZXMgdHdv IG9mZnNldHMgb2YgbG9va3VwIHRhYmxlIGluIFJPTQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t dGQvbmFuZC9hdG1lbF9uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL2F0bWVsX25hbmQuYyBpbmRl eA0KPiBlNWQ3ZTdlNjNmNDkuLmNkNTVkNTRhOWE3ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9t dGQvbmFuZC9hdG1lbF9uYW5kLmMNCj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9hdG1lbF9uYW5k LmMNCj4gQEAgLTY1LDYgKzY1LDcgQEAgbW9kdWxlX3BhcmFtKG9uX2ZsYXNoX2JidCwgaW50LCAw KTsNCj4gDQo+ICBzdHJ1Y3QgYXRtZWxfbmFuZF9jYXBzIHsNCj4gIAlib29sIHBtZWNjX2NvcnJl Y3RfZXJhc2VfcGFnZTsNCj4gKwl1aW50OF90IHBtZWNjX21heF9jb3JyZWN0aW9uOw0KPiAgfTsN Cj4gDQo+ICBzdHJ1Y3QgYXRtZWxfbmFuZF9uZmNfcHJpdiB7DQo+IEBAIC0xNDYsNiArMTQ3LDcg QEAgc3RydWN0IGF0bWVsX25hbmRfaG9zdCB7DQo+ICAJaW50CQkJcG1lY2NfY3dfbGVuOwkvKiBM ZW5ndGggb2YgY29kZXdvcmQgKi8NCj4gDQo+ICAJdm9pZCBfX2lvbWVtCQkqcG1lcnJsb2NfYmFz ZTsNCj4gKwl2b2lkIF9faW9tZW0JCSpwbWVycmxvY19lbF9iYXNlOw0KPiAgCXZvaWQgX19pb21l bQkJKnBtZWNjX3JvbV9iYXNlOw0KPiANCj4gIAkvKiBsb29rdXAgdGFibGUgZm9yIGFscGhhX3Rv IGFuZCBpbmRleF9vZiAqLyBAQCAtNDcyLDYgKzQ3NCw3IEBAIHN0YXRpYw0KPiB2b2lkIGF0bWVs X3dyaXRlX2J1ZihzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgY29uc3QgdTggKmJ1ZiwgaW50IGxlbikN Cj4gICAqICAgICAgICAgICAgICAgIDgtYml0cyAgICAgICAgICAgICAgICAxMy1ieXRlcyAgICAg ICAgICAgICAgICAgMTQtYnl0ZXMNCj4gICAqICAgICAgICAgICAgICAgMTItYml0cyAgICAgICAg ICAgICAgICAyMC1ieXRlcyAgICAgICAgICAgICAgICAgMjEtYnl0ZXMNCj4gICAqICAgICAgICAg ICAgICAgMjQtYml0cyAgICAgICAgICAgICAgICAzOS1ieXRlcyAgICAgICAgICAgICAgICAgNDIt Ynl0ZXMNCj4gKyAqICAgICAgICAgICAgICAgMzItYml0cyAgICAgICAgICAgICAgICA1Mi1ieXRl cyAgICAgICAgICAgICAgICAgNTYtYnl0ZXMNCj4gICAqLw0KDQpJdCBzZWVtcywgc29tZXRoaW5n IG1pc3NlZCBhZnRlcg0KICAgICAgICAgY2FzZSAyNDoNCiAgICAgICAgICAgICAgICAgdmFsID0g UE1FQ0NfQ0ZHX0JDSF9FUlIyNDsNCiAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCnN1Y2ggYXMs DQoNCiAgICAgICAgIGNhc2UgMzI6DQogICAgICAgICAgICAgICAgIHZhbCA9IFBNRUNDX0NGR19C Q0hfRVJSMzI7DQogICAgICAgICAgICAgICAgIGJyZWFrDQoNCg0KDQo+ICBzdGF0aWMgaW50IHBt ZWNjX2dldF9lY2NfYnl0ZXMoaW50IGNhcCwgaW50IHNlY3Rvcl9zaXplKSAgeyBAQCAtODE3LDcg KzgyMCw3DQo+IEBAIHN0YXRpYyB2b2lkIHBtZWNjX2NvcnJlY3RfZGF0YShzdHJ1Y3QgbXRkX2lu Zm8gKm10ZCwgdWludDhfdCAqYnVmLCB1aW50OF90DQo+ICplY2MsDQo+ICAJc2VjdG9yX3NpemUg PSBob3N0LT5wbWVjY19zZWN0b3Jfc2l6ZTsNCj4gDQo+ICAJd2hpbGUgKGVycl9uYnIpIHsNCj4g LQkJdG1wID0gcG1lcnJsb2NfcmVhZGxfZWxfcmVsYXhlZChob3N0LT5wbWVycmxvY19iYXNlLCBp KSAtIDE7DQo+ICsJCXRtcCA9IHBtZXJybG9jX3JlYWRsX2VsX3JlbGF4ZWQoaG9zdC0+cG1lcnJs b2NfZWxfYmFzZSwgaSkgLSAxOw0KPiAgCQlieXRlX3BvcyA9IHRtcCAvIDg7DQo+ICAJCWJpdF9w b3MgID0gdG1wICUgODsNCj4gDQo+IEBAIC0xMDgxLDYgKzEwODQsOSBAQCBzdGF0aWMgaW50IHBt ZWNjX2Nob29zZV9lY2Moc3RydWN0IGF0bWVsX25hbmRfaG9zdA0KPiAqaG9zdCwNCj4gDQo+ICAJ LyogSWYgZGV2aWNlIHRyZWUgZG9lc24ndCBzcGVjaWZ5LCB1c2UgTkFORCdzIG1pbmltdW0gRUND IHBhcmFtZXRlcnMgKi8NCj4gIAlpZiAoaG9zdC0+cG1lY2NfY29ycl9jYXAgPT0gMCkgew0KPiAr CQlpZiAoKmNhcCA+IGhvc3QtPmNhcHMtPnBtZWNjX21heF9jb3JyZWN0aW9uKQ0KPiArCQkJcmV0 dXJuIC1FSU5WQUw7DQo+ICsNCj4gIAkJLyogdXNlIHRoZSBtb3N0IGZpdGFibGUgZWNjIGJpdHMg KHRoZSBuZWFyIGJpZ2dlciBvbmUgKSAqLw0KPiAgCQlpZiAoKmNhcCA8PSAyKQ0KPiAgCQkJaG9z dC0+cG1lY2NfY29ycl9jYXAgPSAyOw0KPiBAQCAtMTA5Miw2ICsxMDk4LDggQEAgc3RhdGljIGlu dCBwbWVjY19jaG9vc2VfZWNjKHN0cnVjdCBhdG1lbF9uYW5kX2hvc3QNCj4gKmhvc3QsDQo+ICAJ CQlob3N0LT5wbWVjY19jb3JyX2NhcCA9IDEyOw0KPiAgCQllbHNlIGlmICgqY2FwIDw9IDI0KQ0K PiAgCQkJaG9zdC0+cG1lY2NfY29ycl9jYXAgPSAyNDsNCj4gKwkJZWxzZSBpZiAoKmNhcCA8PSAz MikNCj4gKwkJCWhvc3QtPnBtZWNjX2NvcnJfY2FwID0gMzI7DQo+ICAJCWVsc2UNCj4gIAkJCXJl dHVybiAtRUlOVkFMOw0KPiAgCX0NCj4gQEAgLTEyMDgsNiArMTIxNiw4IEBAIHN0YXRpYyBpbnQg YXRtZWxfcG1lY2NfbmFuZF9pbml0X3BhcmFtcyhzdHJ1Y3QNCj4gcGxhdGZvcm1fZGV2aWNlICpw ZGV2LA0KPiAgCQllcnJfbm8gPSBQVFJfRVJSKGhvc3QtPnBtZXJybG9jX2Jhc2UpOw0KPiAgCQln b3RvIGVycjsNCj4gIAl9DQo+ICsJaG9zdC0+cG1lcnJsb2NfZWxfYmFzZSA9IGhvc3QtPnBtZXJy bG9jX2Jhc2UgKw0KPiBBVE1FTF9QTUVSUkxPQ19TSUdNQXggKw0KPiArCQkoaG9zdC0+Y2Fwcy0+ cG1lY2NfbWF4X2NvcnJlY3Rpb24gKyAxKSAqIDQ7DQo+IA0KPiAgCWlmICghaG9zdC0+aGFzX25v X2xvb2t1cF90YWJsZSkgew0KPiAgCQlyZWdzX3JvbSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShw ZGV2LCBJT1JFU09VUkNFX01FTSwNCj4gMyk7IEBAIC0xNTUwLDEwICsxNTYwLDE2IEBAIHN0YXRp YyBpbnQgYXRtZWxfb2ZfaW5pdF9wb3J0KHN0cnVjdA0KPiBhdG1lbF9uYW5kX2hvc3QgKmhvc3Qs DQo+ICAJICogdGhlbSBmcm9tIE5BTkQgT05GSSBwYXJhbWV0ZXJzLg0KPiAgCSAqLw0KPiAgCWlm IChvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgImF0bWVsLHBtZWNjLWNhcCIsICZ2YWwpID09IDAp IHsNCj4gLQkJaWYgKCh2YWwgIT0gMikgJiYgKHZhbCAhPSA0KSAmJiAodmFsICE9IDgpICYmICh2 YWwgIT0gMTIpICYmDQo+IC0JCQkJKHZhbCAhPSAyNCkpIHsNCj4gKwkJaWYgKHZhbCA+IGhvc3Qt PmNhcHMtPnBtZWNjX21heF9jb3JyZWN0aW9uKSB7DQo+ICsJCQlkZXZfZXJyKGhvc3QtPmRldiwN Cj4gKwkJCQkiUmVxdWlyZWQgRUNDIHN0cmVuZ3RoIHRvbyBoaWdoOiAldSBtYXggJXVcbiIsDQo+ ICsJCQkJdmFsLCBob3N0LT5jYXBzLT5wbWVjY19tYXhfY29ycmVjdGlvbik7DQo+ICsJCQlyZXR1 cm4gLUVJTlZBTDsNCj4gKwkJfQ0KPiArCQlpZiAoKHZhbCAhPSAyKSAgJiYgKHZhbCAhPSA0KSAg JiYgKHZhbCAhPSA4KSAmJg0KPiArCQkgICAgKHZhbCAhPSAxMikgJiYgKHZhbCAhPSAyNCkgJiYg KHZhbCAhPSAzMikpIHsNCj4gIAkJCWRldl9lcnIoaG9zdC0+ZGV2LA0KPiAtCQkJCSJVbnN1cHBv cnRlZCBQTUVDQyBjb3JyZWN0aW9uIGNhcGFiaWxpdHk6ICVkOw0KPiBzaG91bGQgYmUgMiwgNCwg OCwgMTIgb3IgMjRcbiIsDQo+ICsJCQkJIlJlcXVpcmVkIEVDQyBzdHJlbmd0aCBub3Qgc3VwcG9y dGVkOiAldVxuIiwNCj4gIAkJCQl2YWwpOw0KPiAgCQkJcmV0dXJuIC1FSU5WQUw7DQo+ICAJCX0N Cj4gQEAgLTE1NjMsNyArMTU3OSw3IEBAIHN0YXRpYyBpbnQgYXRtZWxfb2ZfaW5pdF9wb3J0KHN0 cnVjdCBhdG1lbF9uYW5kX2hvc3QNCj4gKmhvc3QsDQo+ICAJaWYgKG9mX3Byb3BlcnR5X3JlYWRf dTMyKG5wLCAiYXRtZWwscG1lY2Mtc2VjdG9yLXNpemUiLCAmdmFsKSA9PSAwKSB7DQo+ICAJCWlm ICgodmFsICE9IDUxMikgJiYgKHZhbCAhPSAxMDI0KSkgew0KPiAgCQkJZGV2X2Vycihob3N0LT5k ZXYsDQo+IC0JCQkJIlVuc3VwcG9ydGVkIFBNRUNDIHNlY3RvciBzaXplOiAlZDsgc2hvdWxkIGJl DQo+IDUxMiBvciAxMDI0IGJ5dGVzXG4iLA0KPiArCQkJCSJSZXF1aXJlZCBFQ0Mgc2VjdG9yIHNp emUgbm90IHN1cHBvcnRlZDogJXVcbiIsDQo+ICAJCQkJdmFsKTsNCj4gIAkJCXJldHVybiAtRUlO VkFMOw0KPiAgCQl9DQo+IEBAIC0yMzA3LDE3ICsyMzIzLDM0IEBAIHN0YXRpYyBpbnQgYXRtZWxf bmFuZF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiAqcGRldikNCj4gIAlyZXR1cm4g MDsNCj4gIH0NCj4gDQo+ICsvKg0KPiArICogQVQ5MVJNOTIwMCBkb2VzIG5vdCBoYXZlIFBNRUND IG9yIFBNRUNDIEVycmxvYyBwZXJpcGhlcmFscyBmb3INCj4gKyAqIEJDSCBFQ0MuIENvbWJpbmVk IHdpdGggdGhlICJhdG1lbCxoYXMtcG1lY2MiLCBpdCBpcyB1c2VkIHRvIGRlc2NyaWJlDQo+ICsg KiBkZXZpY2VzIGZyb20gdGhlIFNBTTkgZmFtaWx5IHRoYXQgaGF2ZSB0aG9zZS4NCj4gKyAqLw0K PiAgc3RhdGljIHN0cnVjdCBhdG1lbF9uYW5kX2NhcHMgYXQ5MXJtOTIwMF9jYXBzID0gew0KPiAg CS5wbWVjY19jb3JyZWN0X2VyYXNlX3BhZ2UgPSBmYWxzZSwNCj4gKwkucG1lY2NfbWF4X2NvcnJl Y3Rpb24gPSAyNCwNCj4gIH07DQo+IA0KPiAgc3RhdGljIHN0cnVjdCBhdG1lbF9uYW5kX2NhcHMg c2FtYTVkNF9jYXBzID0gew0KPiAgCS5wbWVjY19jb3JyZWN0X2VyYXNlX3BhZ2UgPSB0cnVlLA0K PiArCS5wbWVjY19tYXhfY29ycmVjdGlvbiA9IDI0LA0KPiArfTsNCj4gKw0KPiArLyoNCj4gKyAq IFRoZSBQTUVDQyBFcnJsb2MgY29udHJvbGxlciBzdGFydGluZyBpbiBTQU1BNUQyIGlzIG5vdCBj b21wYXRpYmxlLA0KPiArICogYXMgdGhlIGluY3JlYXNlZCBjb3JyZWN0aW9uIHN0cmVuZ3RoIHJl cXVpcmVzIG1vcmUgcmVnaXN0ZXJzLg0KPiArICovDQo+ICtzdGF0aWMgc3RydWN0IGF0bWVsX25h bmRfY2FwcyBzYW1hNWQyX2NhcHMgPSB7DQo+ICsJLnBtZWNjX2NvcnJlY3RfZXJhc2VfcGFnZSA9 IHRydWUsDQo+ICsJLnBtZWNjX21heF9jb3JyZWN0aW9uID0gMzIsDQo+ICB9Ow0KPiANCj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGF0bWVsX25hbmRfZHRfaWRzW10gPSB7DQo+ ICAJeyAuY29tcGF0aWJsZSA9ICJhdG1lbCxhdDkxcm05MjAwLW5hbmQiLCAuZGF0YSA9ICZhdDkx cm05MjAwX2NhcHMgfSwNCj4gIAl7IC5jb21wYXRpYmxlID0gImF0bWVsLHNhbWE1ZDQtbmFuZCIs IC5kYXRhID0gJnNhbWE1ZDRfY2FwcyB9LA0KPiArCXsgLmNvbXBhdGlibGUgPSAiYXRtZWwsc2Ft YTVkMi1uYW5kIiwgLmRhdGEgPSAmc2FtYTVkMl9jYXBzIH0sDQo+ICAJeyAvKiBzZW50aW5lbCAq LyB9DQo+ICB9Ow0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFu ZF9lY2MuaA0KPiBiL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFuZF9lY2MuaA0KPiBpbmRleCA2 NjhlNzM1OGYxOWIuLmIxZDQzNmQ4YmI3YSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9tdGQvbmFu ZC9hdG1lbF9uYW5kX2VjYy5oDQo+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQvYXRtZWxfbmFuZF9l Y2MuaA0KPiBAQCAtNDMsNiArNDMsNyBAQA0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX0JDSF9FUlI4 CQkoMiA8PCAwKQ0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX0JDSF9FUlIxMgkJKDMgPDwgMCkNCj4g ICNkZWZpbmUJCVBNRUNDX0NGR19CQ0hfRVJSMjQJCSg0IDw8IDApDQo+ICsjZGVmaW5lCQlQTUVD Q19DRkdfQkNIX0VSUjI1CQkoNSA8PCAwKQ0KDQpzLyBQTUVDQ19DRkdfQkNIX0VSUjI1LyBQTUVD Q19DRkdfQkNIX0VSUjMyDQoNCj4gDQo+ICAjZGVmaW5lCQlQTUVDQ19DRkdfU0VDVE9SNTEyCQko MCA8PCA0KQ0KPiAgI2RlZmluZQkJUE1FQ0NfQ0ZHX1NFQ1RPUjEwMjQJCSgxIDw8IDQpDQo+IEBA IC0xMDgsNyArMTA5LDExIEBADQo+ICAjZGVmaW5lCQlQTUVSUkxPQ19FUlJfTlVNX01BU0sJCSgw eDFmIDw8IDgpDQo+ICAjZGVmaW5lCQlQTUVSUkxPQ19DQUxDX0RPTkUJCSgxIDw8IDApDQo+ICAj ZGVmaW5lIEFUTUVMX1BNRVJSTE9DX1NJR01BeAkJMHgwMjgJLyogRXJyb3IgbG9jYXRpb24gU0lH TUEgeA0KPiAqLw0KPiAtI2RlZmluZSBBVE1FTF9QTUVSUkxPQ19FTHgJCTB4MDhjCS8qIEVycm9y IGxvY2F0aW9uIHggKi8NCj4gKw0KPiArLyoNCj4gKyAqIFRoZSBBVE1FTF9QTUVSUkxPQ19FTHgg cmVnaXN0ZXIgbG9jYXRpb24gZGVwZW5kcyBmcm9tIHRoZSBudW1iZXIgb2YNCj4gKyAqIGJpdHMg Y29ycmVjdGVkIGJ5IHRoZSBQTUVDQyBjb250cm9sbGVyLiBEbyBub3QgdXNlIGl0Lg0KPiArICov DQo+IA0KPiAgLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyBmb3IgUE1FQ0MgKi8NCj4gICNkZWZp bmUgcG1lY2NfcmVhZGxfcmVsYXhlZChhZGRyLCByZWcpIFwgQEAgLTEzNiw3ICsxNDEsNyBAQA0K PiAgCXJlYWRsX3JlbGF4ZWQoKGFkZHIpICsgQVRNRUxfUE1FUlJMT0NfU0lHTUF4ICsgKChuKSAq IDQpKQ0KPiANCj4gICNkZWZpbmUgcG1lcnJsb2NfcmVhZGxfZWxfcmVsYXhlZChhZGRyLCBuKSBc DQo+IC0JcmVhZGxfcmVsYXhlZCgoYWRkcikgKyBBVE1FTF9QTUVSUkxPQ19FTHggKyAoKG4pICog NCkpDQo+ICsJcmVhZGxfcmVsYXhlZCgoYWRkcikgKyAoKG4pICogNCkpDQo+IA0KPiAgLyogR2Fs b2lzIGZpZWxkIGRpbWVuc2lvbiAqLw0KPiAgI2RlZmluZSBQTUVDQ19HRl9ESU1FTlNJT05fMTMJ CQkxMw0KPiAtLQ0KPiAyLjUuMA0KPiANCj4gDQoNCkJlc3QgUmVnYXJkcywNCldlbnlvdSBZYW5n DQoNCg==