From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jun Nie Subject: Re: [PATCH v2] serial: amba-pl011: complete support to ZTE uart Date: Tue, 12 Apr 2016 21:01:39 +0800 Message-ID: <570CF1B3.8080305@linaro.org> References: <1458717126-20814-1-git-send-email-jun.nie@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Timur Tabi , Russell King - ARM Linux , linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org Cc: Jason Liu , Andre Przywara , Shawn Guo , Peter Hurley , G Gregory List-Id: linux-serial@vger.kernel.org T24gMjAxNuW5tDA05pyIMDHml6UgMTc6NTMsIEp1biBOaWUgd3JvdGU6Cj4gMjAxNi0wMy0yMyAx NToxMiBHTVQrMDg6MDAgSnVuIE5pZSA8anVuLm5pZUBsaW5hcm8ub3JnPjoKPj4gQ29tcGxldGUg c3VwcG9ydCB0byBaVEUgdWFydCB3aXRoIGFkZGluZyBzcGVjaWZpYyByZWdpc3RlcnMKPj4gbWFz ay4KPj4gV2UgdXNlIGEgbWFnaWMgYW1iYSBwZXJpcGhpZCB2YWx1ZSBhcyBwbDAxMSBkZXZpY2Ug b24gWlRFCj4+IGRvZXMgbm90IGhhdmUgYSBwZXJpcGhpZCB2YWx1ZSBpbiByZWdpc3Rlci4gVGhl IG1hZ2ljIHZhbHVlCj4+IHNob3VsZCBhbHNvIGJlIGZlZWQgdmlhIGRldmljZSB0cmVlICJhcm0s cHJpbWVjZWxsLXBlcmlwaGlkIgo+PiBwcm9wZXJ0eSB0byBtYXRjaCBwbDAxMSBkcml2ZXIgYW5k IGdldCBaVEUgdWFydCBkYXRhLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKdW4gTmllIDxqdW4ubmll QGxpbmFyby5vcmc+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvdHR5L3NlcmlhbC9hbWJhLXBsMDExLmMg fCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQo+PiAgIGluY2x1 ZGUvbGludXgvYW1iYS9zZXJpYWwuaCAgICAgfCAgNCArKysKPj4gICAyIGZpbGVzIGNoYW5nZWQs IDY0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy90dHkvc2VyaWFsL2FtYmEtcGwwMTEuYyBiL2RyaXZlcnMvdHR5L3NlcmlhbC9hbWJhLXBs MDExLmMKPj4gaW5kZXggN2MxOThlMC4uNjk2ZWUwYyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy90 dHkvc2VyaWFsL2FtYmEtcGwwMTEuYwo+PiArKysgYi9kcml2ZXJzL3R0eS9zZXJpYWwvYW1iYS1w bDAxMS5jCj4+IEBAIC05Myw2ICs5MywxMCBAQCBzdGF0aWMgdTE2IHBsMDExX3N0ZF9vZmZzZXRz W1JFR19BUlJBWV9TSVpFXSA9IHsKPj4gICBzdHJ1Y3QgdmVuZG9yX2RhdGEgewo+PiAgICAgICAg ICBjb25zdCB1MTYgICAgICAgICAgICAgICAqcmVnX29mZnNldDsKPj4gICAgICAgICAgdW5zaWdu ZWQgaW50ICAgICAgICAgICAgaWZsczsKPj4gKyAgICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAg ICBmcl9idXN5Owo+PiArICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgIGZyX2RzcjsKPj4g KyAgICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICBmcl9jdHM7Cj4+ICsgICAgICAgdW5zaWdu ZWQgaW50ICAgICAgICAgICAgZnJfcmk7Cj4+ICAgICAgICAgIGJvb2wgICAgICAgICAgICAgICAg ICAgIGFjY2Vzc18zMmI7Cj4+ICAgICAgICAgIGJvb2wgICAgICAgICAgICAgICAgICAgIG92ZXJz YW1wbGluZzsKPj4gICAgICAgICAgYm9vbCAgICAgICAgICAgICAgICAgICAgZG1hX3RocmVzaG9s ZDsKPj4gQEAgLTExMSw2ICsxMTUsMTAgQEAgc3RhdGljIHVuc2lnbmVkIGludCBnZXRfZmlmb3Np emVfYXJtKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2KQo+PiAgIHN0YXRpYyBzdHJ1Y3QgdmVuZG9y X2RhdGEgdmVuZG9yX2FybSA9IHsKPj4gICAgICAgICAgLnJlZ19vZmZzZXQgICAgICAgICAgICAg PSBwbDAxMV9zdGRfb2Zmc2V0cywKPj4gICAgICAgICAgLmlmbHMgICAgICAgICAgICAgICAgICAg PSBVQVJUMDExX0lGTFNfUlg0Xzh8VUFSVDAxMV9JRkxTX1RYNF84LAo+PiArICAgICAgIC5mcl9i dXN5ICAgICAgICAgICAgICAgID0gVUFSVDAxeF9GUl9CVVNZLAo+PiArICAgICAgIC5mcl9kc3Ig ICAgICAgICAgICAgICAgID0gVUFSVDAxeF9GUl9EU1IsCj4+ICsgICAgICAgLmZyX2N0cyAgICAg ICAgICAgICAgICAgPSBVQVJUMDF4X0ZSX0NUUywKPj4gKyAgICAgICAuZnJfcmkgICAgICAgICAg ICAgICAgICA9IFVBUlQwMTFfRlJfUkksCj4+ICAgICAgICAgIC5vdmVyc2FtcGxpbmcgICAgICAg ICAgID0gZmFsc2UsCj4+ICAgICAgICAgIC5kbWFfdGhyZXNob2xkICAgICAgICAgID0gZmFsc2Us Cj4+ICAgICAgICAgIC5jdHNfZXZlbnRfd29ya2Fyb3VuZCAgID0gZmFsc2UsCj4+IEBAIC0xMjEs NiArMTI5LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdmVuZG9yX2RhdGEgdmVuZG9yX2FybSA9IHsKPj4K Pj4gICBzdGF0aWMgc3RydWN0IHZlbmRvcl9kYXRhIHZlbmRvcl9zYnNhID0gewo+PiAgICAgICAg ICAucmVnX29mZnNldCAgICAgICAgICAgICA9IHBsMDExX3N0ZF9vZmZzZXRzLAo+PiArICAgICAg IC5mcl9idXN5ICAgICAgICAgICAgICAgID0gVUFSVDAxeF9GUl9CVVNZLAo+PiArICAgICAgIC5m cl9kc3IgICAgICAgICAgICAgICAgID0gVUFSVDAxeF9GUl9EU1IsCj4+ICsgICAgICAgLmZyX2N0 cyAgICAgICAgICAgICAgICAgPSBVQVJUMDF4X0ZSX0NUUywKPj4gKyAgICAgICAuZnJfcmkgICAg ICAgICAgICAgICAgICA9IFVBUlQwMTFfRlJfUkksCj4+ICAgICAgICAgIC5vdmVyc2FtcGxpbmcg ICAgICAgICAgID0gZmFsc2UsCj4+ICAgICAgICAgIC5kbWFfdGhyZXNob2xkICAgICAgICAgID0g ZmFsc2UsCj4+ICAgICAgICAgIC5jdHNfZXZlbnRfd29ya2Fyb3VuZCAgID0gZmFsc2UsCj4+IEBA IC0xNjMsNiArMTc1LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X2ZpZm9zaXplX3N0KHN0 cnVjdCBhbWJhX2RldmljZSAqZGV2KQo+PiAgIHN0YXRpYyBzdHJ1Y3QgdmVuZG9yX2RhdGEgdmVu ZG9yX3N0ID0gewo+PiAgICAgICAgICAucmVnX29mZnNldCAgICAgICAgICAgICA9IHBsMDExX3N0 X29mZnNldHMsCj4+ICAgICAgICAgIC5pZmxzICAgICAgICAgICAgICAgICAgID0gVUFSVDAxMV9J RkxTX1JYX0hBTEZ8VUFSVDAxMV9JRkxTX1RYX0hBTEYsCj4+ICsgICAgICAgLmZyX2J1c3kgICAg ICAgICAgICAgICAgPSBVQVJUMDF4X0ZSX0JVU1ksCj4+ICsgICAgICAgLmZyX2RzciAgICAgICAg ICAgICAgICAgPSBVQVJUMDF4X0ZSX0RTUiwKPj4gKyAgICAgICAuZnJfY3RzICAgICAgICAgICAg ICAgICA9IFVBUlQwMXhfRlJfQ1RTLAo+PiArICAgICAgIC5mcl9yaSAgICAgICAgICAgICAgICAg ID0gVUFSVDAxMV9GUl9SSSwKPj4gICAgICAgICAgLm92ZXJzYW1wbGluZyAgICAgICAgICAgPSB0 cnVlLAo+PiAgICAgICAgICAuZG1hX3RocmVzaG9sZCAgICAgICAgICA9IHRydWUsCj4+ICAgICAg ICAgIC5jdHNfZXZlbnRfd29ya2Fyb3VuZCAgID0gdHJ1ZSwKPj4gQEAgLTE4NywxMSArMjAzLDI1 IEBAIHN0YXRpYyBjb25zdCB1MTYgcGwwMTFfenRlX29mZnNldHNbUkVHX0FSUkFZX1NJWkVdID0g ewo+PiAgICAgICAgICBbUkVHX0RNQUNSXSA9IFpYX1VBUlQwMTFfRE1BQ1IsCj4+ICAgfTsKPj4K Pj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X2ZpZm9zaXplX3p0ZShzdHJ1Y3QgYW1iYV9kZXZp Y2UgKmRldikKPj4gK3sKPj4gKyAgICAgICByZXR1cm4gMTY7Cj4+ICt9Cj4+ICsKPj4gICBzdGF0 aWMgc3RydWN0IHZlbmRvcl9kYXRhIHZlbmRvcl96dGUgX19tYXliZV91bnVzZWQgPSB7Cj4+ICAg ICAgICAgIC5yZWdfb2Zmc2V0ICAgICAgICAgICAgID0gcGwwMTFfenRlX29mZnNldHMsCj4+ICAg ICAgICAgIC5hY2Nlc3NfMzJiICAgICAgICAgICAgID0gdHJ1ZSwKPj4gICAgICAgICAgLmlmbHMg ICAgICAgICAgICAgICAgICAgPSBVQVJUMDExX0lGTFNfUlg0Xzh8VUFSVDAxMV9JRkxTX1RYNF84 LAo+PiAtICAgICAgIC5nZXRfZmlmb3NpemUgICAgICAgICAgID0gZ2V0X2ZpZm9zaXplX2FybSwK Pj4gKyAgICAgICAuZnJfYnVzeSAgICAgICAgICAgICAgICA9IFpYX1VBUlQwMXhfRlJfQlVTWSwK Pj4gKyAgICAgICAuZnJfZHNyICAgICAgICAgICAgICAgICA9IFpYX1VBUlQwMXhfRlJfRFNSLAo+ PiArICAgICAgIC5mcl9jdHMgICAgICAgICAgICAgICAgID0gWlhfVUFSVDAxeF9GUl9DVFMsCj4+ ICsgICAgICAgLmZyX3JpICAgICAgICAgICAgICAgICAgPSBaWF9VQVJUMDExX0ZSX1JJLAo+PiAr ICAgICAgIC5vdmVyc2FtcGxpbmcgICAgICAgICAgID0gZmFsc2UsCj4+ICsgICAgICAgLmRtYV90 aHJlc2hvbGQgICAgICAgICAgPSBmYWxzZSwKPj4gKyAgICAgICAuY3RzX2V2ZW50X3dvcmthcm91 bmQgICA9IGZhbHNlLAo+PiArICAgICAgIC5hbHdheXNfZW5hYmxlZCAgICAgICAgID0gZmFsc2Us Cj4+ICsgICAgICAgLmZpeGVkX29wdGlvbnMgICAgICAgICAgPSBmYWxzZSwKPj4gKyAgICAgICAu Z2V0X2ZpZm9zaXplICAgICAgICAgICA9IGdldF9maWZvc2l6ZV96dGUsCj4+ICAgfTsKPj4KPj4g ICAvKiBEZWFscyB3aXRoIERNQSB0cmFuc2FjdGlvbnMgKi8KPj4gQEAgLTIzNiw2ICsyNjYsMTAg QEAgc3RydWN0IHVhcnRfYW1iYV9wb3J0IHsKPj4gICAgICAgICAgdW5zaWduZWQgaW50ICAgICAg ICAgICAgaW07ICAgICAgICAgICAgIC8qIGludGVycnVwdCBtYXNrICovCj4+ICAgICAgICAgIHVu c2lnbmVkIGludCAgICAgICAgICAgIG9sZF9zdGF0dXM7Cj4+ICAgICAgICAgIHVuc2lnbmVkIGlu dCAgICAgICAgICAgIGZpZm9zaXplOyAgICAgICAvKiB2ZW5kb3Itc3BlY2lmaWMgKi8KPj4gKyAg ICAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICBmcl9idXN5OyAgICAgICAgLyogdmVuZG9yLXNw ZWNpZmljICovCj4+ICsgICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgZnJfZHNyOyAgICAg ICAgIC8qIHZlbmRvci1zcGVjaWZpYyAqLwo+PiArICAgICAgIHVuc2lnbmVkIGludCAgICAgICAg ICAgIGZyX2N0czsgICAgICAgICAvKiB2ZW5kb3Itc3BlY2lmaWMgKi8KPj4gKyAgICAgICB1bnNp Z25lZCBpbnQgICAgICAgICAgICBmcl9yaTsgICAgICAgICAgLyogdmVuZG9yLXNwZWNpZmljICov Cj4+ICAgICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgIG9sZF9jcjsgICAgICAgICAvKiBz dGF0ZSBkdXJpbmcgc2h1dGRvd24gKi8KPj4gICAgICAgICAgYm9vbCAgICAgICAgICAgICAgICAg ICAgYXV0b3J0czsKPj4gICAgICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgZml4ZWRfYmF1 ZDsgICAgIC8qIHZlbmRvci1zZXQgZml4ZWQgYmF1ZCByYXRlICovCj4+IEBAIC0xMTY2LDcgKzEy MDAsNyBAQCBzdGF0aWMgdm9pZCBwbDAxMV9kbWFfc2h1dGRvd24oc3RydWN0IHVhcnRfYW1iYV9w b3J0ICp1YXApCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Pgo+PiAgICAgICAgICAvKiBE aXNhYmxlIFJYIGFuZCBUWCBETUEgKi8KPj4gLSAgICAgICB3aGlsZSAocGwwMTFfcmVhZCh1YXAs IFJFR19GUikgJiBVQVJUMDF4X0ZSX0JVU1kpCj4+ICsgICAgICAgd2hpbGUgKHBsMDExX3JlYWQo dWFwLCBSRUdfRlIpICYgdWFwLT5mcl9idXN5KQo+PiAgICAgICAgICAgICAgICAgIGNwdV9yZWxh eCgpOwo+Pgo+PiAgICAgICAgICBzcGluX2xvY2tfaXJxKCZ1YXAtPnBvcnQubG9jayk7Cj4+IEBA IC0xNDE1LDExICsxNDQ5LDExIEBAIHN0YXRpYyB2b2lkIHBsMDExX21vZGVtX3N0YXR1cyhzdHJ1 Y3QgdWFydF9hbWJhX3BvcnQgKnVhcCkKPj4gICAgICAgICAgaWYgKGRlbHRhICYgVUFSVDAxeF9G Ul9EQ0QpCj4+ICAgICAgICAgICAgICAgICAgdWFydF9oYW5kbGVfZGNkX2NoYW5nZSgmdWFwLT5w b3J0LCBzdGF0dXMgJiBVQVJUMDF4X0ZSX0RDRCk7Cj4+Cj4+IC0gICAgICAgaWYgKGRlbHRhICYg VUFSVDAxeF9GUl9EU1IpCj4+ICsgICAgICAgaWYgKGRlbHRhICYgdWFwLT5mcl9kc3IpCj4+ICAg ICAgICAgICAgICAgICAgdWFwLT5wb3J0Lmljb3VudC5kc3IrKzsKPj4KPj4gLSAgICAgICBpZiAo ZGVsdGEgJiBVQVJUMDF4X0ZSX0NUUykKPj4gLSAgICAgICAgICAgICAgIHVhcnRfaGFuZGxlX2N0 c19jaGFuZ2UoJnVhcC0+cG9ydCwgc3RhdHVzICYgVUFSVDAxeF9GUl9DVFMpOwo+PiArICAgICAg IGlmIChkZWx0YSAmIHVhcC0+ZnJfY3RzKQo+PiArICAgICAgICAgICAgICAgdWFydF9oYW5kbGVf Y3RzX2NoYW5nZSgmdWFwLT5wb3J0LCBzdGF0dXMgJiB1YXAtPmZyX2N0cyk7Cj4+Cj4+ICAgICAg ICAgIHdha2VfdXBfaW50ZXJydXB0aWJsZSgmdWFwLT5wb3J0LnN0YXRlLT5wb3J0LmRlbHRhX21z cl93YWl0KTsKPj4gICB9Cj4+IEBAIC0xNDkyLDcgKzE1MjYsNyBAQCBzdGF0aWMgdW5zaWduZWQg aW50IHBsMDExX3R4X2VtcHR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCj4+ICAgICAgICAgIHN0 cnVjdCB1YXJ0X2FtYmFfcG9ydCAqdWFwID0KPj4gICAgICAgICAgICAgIGNvbnRhaW5lcl9vZihw b3J0LCBzdHJ1Y3QgdWFydF9hbWJhX3BvcnQsIHBvcnQpOwo+PiAgICAgICAgICB1bnNpZ25lZCBp bnQgc3RhdHVzID0gcGwwMTFfcmVhZCh1YXAsIFJFR19GUik7Cj4+IC0gICAgICAgcmV0dXJuIHN0 YXR1cyAmIChVQVJUMDF4X0ZSX0JVU1l8VUFSVDAxeF9GUl9UWEZGKSA/IDAgOiBUSU9DU0VSX1RF TVQ7Cj4+ICsgICAgICAgcmV0dXJuIHN0YXR1cyAmICh1YXAtPmZyX2J1c3kgfCBVQVJUMDF4X0ZS X1RYRkYpID8gMCA6IFRJT0NTRVJfVEVNVDsKPj4gICB9Cj4+Cj4+ICAgc3RhdGljIHVuc2lnbmVk IGludCBwbDAxMV9nZXRfbWN0cmwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKPj4gQEAgLTE1MDcs OSArMTU0MSw5IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcGwwMTFfZ2V0X21jdHJsKHN0cnVjdCB1 YXJ0X3BvcnQgKnBvcnQpCj4+ICAgICAgICAgICAgICAgICAgcmVzdWx0IHw9IHRpb2NtYml0Cj4+ Cj4+ICAgICAgICAgIFRJT0NNQklUKFVBUlQwMXhfRlJfRENELCBUSU9DTV9DQVIpOwo+PiAtICAg ICAgIFRJT0NNQklUKFVBUlQwMXhfRlJfRFNSLCBUSU9DTV9EU1IpOwo+PiAtICAgICAgIFRJT0NN QklUKFVBUlQwMXhfRlJfQ1RTLCBUSU9DTV9DVFMpOwo+PiAtICAgICAgIFRJT0NNQklUKFVBUlQw MTFfRlJfUkksIFRJT0NNX1JORyk7Cj4+ICsgICAgICAgVElPQ01CSVQodWFwLT5mcl9kc3IsIFRJ T0NNX0RTUik7Cj4+ICsgICAgICAgVElPQ01CSVQodWFwLT5mcl9jdHMsIFRJT0NNX0NUUyk7Cj4+ ICsgICAgICAgVElPQ01CSVQodWFwLT5mcl9yaSwgVElPQ01fUk5HKTsKPj4gICAjdW5kZWYgVElP Q01CSVQKPj4gICAgICAgICAgcmV0dXJuIHJlc3VsdDsKPj4gICB9Cj4+IEBAIC0yMDg2LDcgKzIx MjAsNyBAQCBzdGF0aWMgaW50IHBsMDExX3ZlcmlmeV9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBv cnQsIHN0cnVjdCBzZXJpYWxfc3RydWN0ICpzZXIpCj4+ICAgICAgICAgIHJldHVybiByZXQ7Cj4+ ICAgfQo+Pgo+PiAtc3RhdGljIHN0cnVjdCB1YXJ0X29wcyBhbWJhX3BsMDExX3BvcHMgPSB7Cj4+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IHVhcnRfb3BzIGFtYmFfcGwwMTFfcG9wcyA9IHsKPj4gICAg ICAgICAgLnR4X2VtcHR5ICAgICAgID0gcGwwMTFfdHhfZW1wdHksCj4+ICAgICAgICAgIC5zZXRf bWN0cmwgICAgICA9IHBsMDExX3NldF9tY3RybCwKPj4gICAgICAgICAgLmdldF9tY3RybCAgICAg ID0gcGwwMTFfZ2V0X21jdHJsLAo+PiBAQCAtMjE5MCw3ICsyMjI0LDcgQEAgcGwwMTFfY29uc29s ZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sIGNvbnN0IGNoYXIgKnMsIHVuc2lnbmVkIGludCBj b3VudCkKPj4gICAgICAgICAgICogICAgICBGaW5hbGx5LCB3YWl0IGZvciB0cmFuc21pdHRlciB0 byBiZWNvbWUgZW1wdHkKPj4gICAgICAgICAgICogICAgICBhbmQgcmVzdG9yZSB0aGUgVENSCj4+ ICAgICAgICAgICAqLwo+PiAtICAgICAgIHdoaWxlIChwbDAxMV9yZWFkKHVhcCwgUkVHX0ZSKSAm IFVBUlQwMXhfRlJfQlVTWSkKPj4gKyAgICAgICB3aGlsZSAocGwwMTFfcmVhZCh1YXAsIFJFR19G UikgJiB1YXAtPmZyX2J1c3kpCj4+ICAgICAgICAgICAgICAgICAgY3B1X3JlbGF4KCk7Cj4+ICAg ICAgICAgIGlmICghdWFwLT52ZW5kb3ItPmFsd2F5c19lbmFibGVkKQo+PiAgICAgICAgICAgICAg ICAgIHBsMDExX3dyaXRlKG9sZF9jciwgdWFwLCBSRUdfQ1IpOwo+PiBAQCAtMjQ3Miw4ICsyNTA2 LDEyIEBAIHN0YXRpYyBpbnQgcGwwMTFfcHJvYmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsIGNv bnN0IHN0cnVjdCBhbWJhX2lkICppZCkKPj4gICAgICAgICAgICAgICAgICByZXR1cm4gUFRSX0VS Uih1YXAtPmNsayk7Cj4+Cj4+ICAgICAgICAgIHVhcC0+cmVnX29mZnNldCA9IHZlbmRvci0+cmVn X29mZnNldDsKPj4gLSAgICAgICB1YXAtPnZlbmRvciA9IHZlbmRvcjsKPj4gLSAgICAgICB1YXAt PmZpZm9zaXplID0gdmVuZG9yLT5nZXRfZmlmb3NpemUoZGV2KTsKPj4gKyAgICAgICB1YXAtPnZl bmRvciAgICAgPSB2ZW5kb3I7Cj4+ICsgICAgICAgdWFwLT5maWZvc2l6ZSAgID0gdmVuZG9yLT5n ZXRfZmlmb3NpemUoZGV2KTsKPj4gKyAgICAgICB1YXAtPmZyX2J1c3kgICAgPSB2ZW5kb3ItPmZy X2J1c3k7Cj4+ICsgICAgICAgdWFwLT5mcl9kc3IgICAgID0gdmVuZG9yLT5mcl9kc3I7Cj4+ICsg ICAgICAgdWFwLT5mcl9jdHMgICAgID0gdmVuZG9yLT5mcl9jdHM7Cj4+ICsgICAgICAgdWFwLT5m cl9yaSAgICAgID0gdmVuZG9yLT5mcl9yaTsKPj4gICAgICAgICAgdWFwLT5wb3J0LmlvdHlwZSA9 IHZlbmRvci0+YWNjZXNzXzMyYiA/IFVQSU9fTUVNMzIgOiBVUElPX01FTTsKPj4gICAgICAgICAg dWFwLT5wb3J0LmlycSA9IGRldi0+aXJxWzBdOwo+PiAgICAgICAgICB1YXAtPnBvcnQub3BzID0g JmFtYmFfcGwwMTFfcG9wczsKPj4gQEAgLTI1NTUsNiArMjU5MywxMCBAQCBzdGF0aWMgaW50IHNi c2FfdWFydF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+PiAgICAgICAgICB1 YXAtPnJlZ19vZmZzZXQgPSB2ZW5kb3Jfc2JzYS5yZWdfb2Zmc2V0Owo+PiAgICAgICAgICB1YXAt PnZlbmRvciAgICAgPSAmdmVuZG9yX3Nic2E7Cj4+ICAgICAgICAgIHVhcC0+Zmlmb3NpemUgICA9 IDMyOwo+PiArICAgICAgIHVhcC0+ZnJfYnVzeSAgICA9IHZlbmRvcl9zYnNhLmZyX2J1c3k7Cj4+ ICsgICAgICAgdWFwLT5mcl9kc3IgICAgID0gdmVuZG9yX3Nic2EuZnJfZHNyOwo+PiArICAgICAg IHVhcC0+ZnJfY3RzICAgICA9IHZlbmRvcl9zYnNhLmZyX2N0czsKPj4gKyAgICAgICB1YXAtPmZy X3JpICAgICAgPSB2ZW5kb3Jfc2JzYS5mcl9yaTsKPj4gICAgICAgICAgdWFwLT5wb3J0LmlvdHlw ZSA9IHZlbmRvcl9zYnNhLmFjY2Vzc18zMmIgPyBVUElPX01FTTMyIDogVVBJT19NRU07Cj4+ICAg ICAgICAgIHVhcC0+cG9ydC5pcnEgICA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Cj4+ICAg ICAgICAgIHVhcC0+cG9ydC5vcHMgICA9ICZzYnNhX3VhcnRfcG9wczsKPj4gQEAgLTI2MTUsNiAr MjY1NywxMSBAQCBzdGF0aWMgc3RydWN0IGFtYmFfaWQgcGwwMTFfaWRzW10gPSB7Cj4+ICAgICAg ICAgICAgICAgICAgLm1hc2sgICA9IDB4MDBmZmZmZmYsCj4+ICAgICAgICAgICAgICAgICAgLmRh dGEgICA9ICZ2ZW5kb3Jfc3QsCj4+ICAgICAgICAgIH0sCj4+ICsgICAgICAgewo+PiArICAgICAg ICAgICAgICAgLmlkICAgICA9IDB4ZmVmZWZlLAo+PiArICAgICAgICAgICAgICAgLm1hc2sgICA9 IDB4ZmZmZmZmLAo+PiArICAgICAgICAgICAgICAgLmRhdGEgICA9ICZ2ZW5kb3JfenRlLAo+PiAr ICAgICAgIH0sCj4+ICAgICAgICAgIHsgMCwgMCB9LAo+PiAgIH07Cj4+Cj4+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L2FtYmEvc2VyaWFsLmggYi9pbmNsdWRlL2xpbnV4L2FtYmEvc2VyaWFs LmgKPj4gaW5kZXggZDc2YTE5Yi4uNzUwZjJlZiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9saW51 eC9hbWJhL3NlcmlhbC5oCj4+ICsrKyBiL2luY2x1ZGUvbGludXgvYW1iYS9zZXJpYWwuaAo+PiBA QCAtMTAzLDYgKzEwMywxMCBAQAo+PiAgICNkZWZpbmUgVUFSVDAxeF9GUl9EU1IgICAgICAgICAg ICAgICAgIDB4MDAyCj4+ICAgI2RlZmluZSBVQVJUMDF4X0ZSX0NUUyAgICAgICAgICAgICAgICAg MHgwMDEKPj4gICAjZGVmaW5lIFVBUlQwMXhfRlJfVE1TSyAgICAgICAgICAgICAgICAoVUFSVDAx eF9GUl9UWEZGICsgVUFSVDAxeF9GUl9CVVNZKQo+PiArI2RlZmluZSBaWF9VQVJUMDF4X0ZSX0JV U1kgICAgIDB4MzAwCj4+ICsjZGVmaW5lIFpYX1VBUlQwMXhfRlJfRFNSICAgICAgMHgwMDgKPj4g KyNkZWZpbmUgWlhfVUFSVDAxeF9GUl9DVFMgICAgICAweDAwMgo+PiArI2RlZmluZSBaWF9VQVJU MDExX0ZSX1JJICAgICAgIDB4MDAxCj4+Cj4+ICAgI2RlZmluZSBVQVJUMDExX0NSX0NUU0VOICAg ICAgIDB4ODAwMCAgLyogQ1RTIGhhcmR3YXJlIGZsb3cgY29udHJvbCAqLwo+PiAgICNkZWZpbmUg VUFSVDAxMV9DUl9SVFNFTiAgICAgICAweDQwMDAgIC8qIFJUUyBoYXJkd2FyZSBmbG93IGNvbnRy b2wgKi8KPj4gLS0KPj4gMS45LjEKPj4KClJ1c3NlbGwsCgpEbyB5b3UgaGF2ZSBhbnkgY29tbWVu dHMgdG8gdGhlc2UgY2hhbmdlPwoKSnVuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==