From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH v3 14/16] drm/i915/bxt: Add HW state verification for DDI PHY and CDCLK Date: Tue, 12 Apr 2016 18:21:33 +0300 Message-ID: <20160412152133.GE18193@boom> References: <1459520897-8869-1-git-send-email-imre.deak@intel.com> <1459780030-15781-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 9D1C66E3A3 for ; Tue, 12 Apr 2016 15:21:29 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1459780030-15781-1-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBBcHIgMDQsIDIwMTYgYXQgMDU6Mjc6MTBQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IEkgY2F1Z2h0IGEgZmV3IGVycm9ycyBpbiBvdXIgY3VycmVudCBQSFkvQ0RDTEsgcHJvZ3Jh bW1pbmcgYnkgc2FuaXR5Cj4gY2hlY2tpbmcgdGhlIGFjdHVhbCBwcm9ncmFtbWVkIHN0YXRlLCBz byBJIHRob3VnaHQgaXQgd291bGQgYmUgYWxzbwo+IHVzZWZ1bCBmb3IgdGhlIGZ1dHVyZS4gSW4g YWRkaXRpb24gdG8gdmVyaWZ5aW5nIHRoZSBzdGF0ZSBhZnRlcgo+IHByb2dyYW1taW5nIGl0IGFs c28gdmVyaWZ5IGl0IGFmdGVyIGV4aXRpbmcgREM1LCB0byBtYWtlIHN1cmUgRE1DCj4gcmVzdG9y ZWQva2VwdCBpbnRhY3QgZXZlcnl0aGluZyByZWxhdGVkLgo+IAo+IHYyOgo+IC0gSW5saW5pbmcg X19waHlfcmVnX3ZlcmlmeV9zdGF0ZSgpIGRvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgYWxzbwo+ICAg aW5jb3JyZWN0LCBzbyBkb24ndCBkbyBpdCAoUFcvQ0kgZ2NjKQo+IHYzOgo+IC0gUmViYXNlIG9u IGxhdGVzdCAtbmlnaHRseQo+IAo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KClJldmlld2VkLWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFs bEBpbnRlbC5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgICAg fCAxMjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgICA1ICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICAgICB8ICAgMiArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYyB8ICAgOCArKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMzggaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCBk ZDE4NzcyLi42ZjRhNzIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE5MDgs NiArMTkwOCw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAgCSAqIGNyYXBwaW5lc3Mg KGNhbid0IHJlYWQgb3V0IERQTExfTUQgZm9yIHBpcGVzIEIgJiBDKS4KPiAgCSAqLwo+ICAJdTMy IGNodl9kcGxsX21kW0k5MTVfTUFYX1BJUEVTXTsKPiArCXUzMiBieHRfcGh5X2dyYzsKPiAgCj4g IAl1MzIgc3VzcGVuZF9jb3VudDsKPiAgCWJvb2wgc3VzcGVuZGVkX3RvX2lkbGU7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCBkOTQ0YmZmLi5mZDIwMTE5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTc1Myw2ICsxNzUzLDEzIEBAIHN0YXRpYyBib29sIGJy b3h0b25fcGh5X2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gK3N0YXRpYyB1MzIgYnJveHRvbl9nZXRfZ3JjKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBkcGlvX3BoeSBwaHkpCj4gK3sK PiArCXUzMiB2YWwgPSBJOTE1X1JFQUQoQlhUX1BPUlRfUkVGX0RXNihwaHkpKTsKPiArCj4gKwly ZXR1cm4gKHZhbCAmIEdSQ19DT0RFX01BU0spID4+IEdSQ19DT0RFX1NISUZUOwo+ICt9Cj4gKwo+ ICBzdGF0aWMgdm9pZCBicm94dG9uX3BoeV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgCQkJICAgICBlbnVtIGRwaW9fcGh5IHBoeSkKPiAgewo+IEBAIC0xNzYyLDYg KzE3NjksOSBAQCBzdGF0aWMgdm9pZCBicm94dG9uX3BoeV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCWlmIChicm94dG9uX3BoeV9pc19lbmFibGVkKGRldl9wcml2 LCBwaHkpKSB7Cj4gIAkJRFJNX0RFQlVHX0RSSVZFUigiRERJIFBIWSAlZCBhbHJlYWR5IGVuYWJs ZWQsICIKPiAgCQkJCSAid29uJ3QgcmVwcm9ncmFtIGl0XG4iLCBwaHkpOwo+ICsJCS8qIFN0aWxs IHJlYWQgb3V0IHRoZSBHUkMgdmFsdWUgZm9yIHN0YXRlIHZlcmlmaWNhdGlvbiAqLwo+ICsJCWlm IChwaHkgPT0gRFBJT19QSFkxKQo+ICsJCQlkZXZfcHJpdi0+Ynh0X3BoeV9ncmMgPSBicm94dG9u X2dldF9ncmMoZGV2X3ByaXYsIHBoeSk7Cj4gIAo+ICAJCXJldHVybjsKPiAgCX0KPiBAQCAtMTg1 Nyw4ICsxODY3LDggQEAgc3RhdGljIHZvaWQgYnJveHRvbl9waHlfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgICAgMTApKQo+ICAJCQlEUk1fRVJST1IoInRp bWVvdXQgd2FpdGluZyBmb3IgUEhZMSBHUkNcbiIpOwo+ICAKPiAtCQl2YWwgPSBJOTE1X1JFQUQo QlhUX1BPUlRfUkVGX0RXNihEUElPX1BIWTEpKTsKPiAtCQl2YWwgPSAodmFsICYgR1JDX0NPREVf TUFTSykgPj4gR1JDX0NPREVfU0hJRlQ7Cj4gKwkJdmFsID0gZGV2X3ByaXYtPmJ4dF9waHlfZ3Jj ID0gYnJveHRvbl9nZXRfZ3JjKGRldl9wcml2LAo+ICsJCQkJCQkJICAgICAgRFBJT19QSFkxKTsK PiAgCQlncmNfY29kZSA9IHZhbCA8PCBHUkNfQ09ERV9GQVNUX1NISUZUIHwKPiAgCQkJICAgdmFs IDw8IEdSQ19DT0RFX1NMT1dfU0hJRlQgfAo+ICAJCQkgICB2YWw7Cj4gQEAgLTE5MDEsNiArMTkx MSwxMTYgQEAgdm9pZCBicm94dG9uX2RkaV9waHlfdW5pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgCWJyb3h0b25fcGh5X3VuaW5pdChkZXZfcHJpdiwgRFBJT19QSFkw KTsKPiAgfQo+ICAKPiArc3RhdGljIGJvb2wgX19wcmludGYoNiwgNykKPiArX19waHlfcmVnX3Zl cmlmeV9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gZHBpb19w aHkgcGh5LAo+ICsJCSAgICAgICBpOTE1X3JlZ190IHJlZywgdTMyIG1hc2ssIHUzMiBleHBlY3Rl ZCwKPiArCQkgICAgICAgY29uc3QgY2hhciAqcmVnX2ZtdCwgLi4uKQo+ICt7Cj4gKwlzdHJ1Y3Qg dmFfZm9ybWF0IHZhZjsKPiArCXZhX2xpc3QgYXJnczsKPiArCXUzMiB2YWw7Cj4gKwo+ICsJdmFs ID0gSTkxNV9SRUFEKHJlZyk7Cj4gKwlpZiAoKHZhbCAmIG1hc2spID09IGV4cGVjdGVkKQo+ICsJ CXJldHVybiB0cnVlOwo+ICsKPiArCXZhX3N0YXJ0KGFyZ3MsIHJlZ19mbXQpOwo+ICsJdmFmLmZt dCA9IHJlZ19mbXQ7Cj4gKwl2YWYudmEgPSAmYXJnczsKPiArCj4gKwlEUk1fREVCVUdfRFJJVkVS KCJEREkgUEhZICVkIHJlZyAlcFYgWyUwOHhdIHN0YXRlIG1pc21hdGNoOiAiCj4gKwkJCSAiY3Vy cmVudCAlMDh4LCBleHBlY3RlZCAlMDh4IChtYXNrICUwOHgpXG4iLAo+ICsJCQkgcGh5LCAmdmFm LCByZWcucmVnLCB2YWwsICh2YWwgJiB+bWFzaykgfCBleHBlY3RlZCwKPiArCQkJIG1hc2spOwo+ ICsKPiArCXZhX2VuZChhcmdzKTsKPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gK3N0 YXRpYyBib29sIGJyb3h0b25fcGh5X3ZlcmlmeV9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gKwkJCQkgICAgIGVudW0gZHBpb19waHkgcGh5KQo+ICt7Cj4gKwllbnVt IHBvcnQgcG9ydDsKPiArCXUzMiBwb3J0czsKPiArCXVpbnQzMl90IG1hc2s7Cj4gKwlib29sIG9r Owo+ICsKPiArI2RlZmluZSBfQ0hLKHJlZywgbWFzaywgZXhwLCBmbXQsIC4uLikJCQkJCVwKPiAr CV9fcGh5X3JlZ192ZXJpZnlfc3RhdGUoZGV2X3ByaXYsIHBoeSwgcmVnLCBtYXNrLCBleHAsIGZt dCwJXAo+ICsJCQkgICAgICAgIyMgX19WQV9BUkdTX18pCj4gKwo+ICsJLyogV2UgZXhwZWN0IHRo ZSBQSFkgdG8gYmUgYWx3YXlzIGVuYWJsZWQgKi8KPiArCWlmICghYnJveHRvbl9waHlfaXNfZW5h YmxlZChkZXZfcHJpdiwgcGh5KSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJb2sgPSB0cnVl Owo+ICsKPiArCWlmIChwaHkgPT0gRFBJT19QSFkwKQo+ICsJCXBvcnRzID0gQklUKFBPUlRfQikg fCBCSVQoUE9SVF9DKTsKPiArCWVsc2UKPiArCQlwb3J0cyA9IEJJVChQT1JUX0EpOwo+ICsKPiAr CWZvcl9lYWNoX3BvcnRfbWFza2VkKHBvcnQsIHBvcnRzKSB7Cj4gKwkJaW50IGxhbmU7Cj4gKwo+ ICsJCWZvciAobGFuZSA9IDA7IGxhbmUgPCA0OyBsYW5lKyspCj4gKwkJCW9rICY9IF9DSEsoQlhU X1BPUlRfVFhfRFcxNF9MTihwb3J0LCBsYW5lKSwKPiArCQkJCSAgICBMQVRFTkNZX09QVElNLAo+ ICsJCQkJICAgIGxhbmUgIT0gMSA/IExBVEVOQ1lfT1BUSU0gOiAwLAo+ICsJCQkJICAgICJCWFRf UE9SVF9UWF9EVzE0X0xOKCVkLCAlZCkiLCBwb3J0LCBsYW5lKTsKPiArCX0KPiArCj4gKwkvKiBQ TEwgUmNvbXAgY29kZSBvZmZzZXQgKi8KPiArCW9rICY9IF9DSEsoQlhUX1BPUlRfQ0wxQ01fRFc5 KHBoeSksCj4gKwkJICAgIElSRUYwUkNfT0ZGU0VUX01BU0ssIDB4ZTQgPDwgSVJFRjBSQ19PRkZT RVRfU0hJRlQsCj4gKwkJICAgICJCWFRfUE9SVF9DTDFDTV9EVzkoJWQpIiwgcGh5KTsKPiArCW9r ICY9IF9DSEsoQlhUX1BPUlRfQ0wxQ01fRFcxMChwaHkpLAo+ICsJCSAgICBJUkVGMVJDX09GRlNF VF9NQVNLLCAweGU0IDw8IElSRUYxUkNfT0ZGU0VUX1NISUZULAo+ICsJCSAgICAiQlhUX1BPUlRf Q0wxQ01fRFcxMCglZCkiLCBwaHkpOwo+ICsKPiArCS8qIFBvd2VyIGdhdGluZyAqLwo+ICsJbWFz ayA9IE9DTDFfUE9XRVJfRE9XTl9FTiB8IERXMjhfT0xET19EWU5fUFdSX0RPV05fRU4gfCBTVVNf Q0xLX0NPTkZJRzsKPiArCW9rICY9IF9DSEsoQlhUX1BPUlRfQ0wxQ01fRFcyOChwaHkpLCBtYXNr LCBtYXNrLAo+ICsJCSAgICAiQlhUX1BPUlRfQ0wxQ01fRFcyOCglZCkiLCBwaHkpOwo+ICsKPiAr CWlmIChwaHkgPT0gRFBJT19QSFkwKQo+ICsJCW9rICY9IF9DSEsoQlhUX1BPUlRfQ0wyQ01fRFc2 X0JDLAo+ICsJCQkgICBEVzZfT0xET19EWU5fUFdSX0RPV05fRU4sIERXNl9PTERPX0RZTl9QV1Jf RE9XTl9FTiwKPiArCQkJICAgIkJYVF9QT1JUX0NMMkNNX0RXNl9CQyIpOwo+ICsKPiArCS8qCj4g KwkgKiBUT0RPOiBWZXJpZnkgQlhUX1BPUlRfQ0wxQ01fRFczMCBiaXQgT0NMMl9MRE9GVVNFX1BX Ul9ESVMsCj4gKwkgKiBhdCBsZWFzdCBvbiBzdGVwcGluZyBBIHRoaXMgYml0IGlzIHJlYWQtb25s eSBhbmQgZml4ZWQgYXQgMC4KPiArCSAqLwo+ICsKPiArCWlmIChwaHkgPT0gRFBJT19QSFkwKSB7 Cj4gKwkJdTMyIGdyY19jb2RlID0gZGV2X3ByaXYtPmJ4dF9waHlfZ3JjOwo+ICsKPiArCQlncmNf Y29kZSA9IGdyY19jb2RlIDw8IEdSQ19DT0RFX0ZBU1RfU0hJRlQgfAo+ICsJCSAgICAgICAgICAg Z3JjX2NvZGUgPDwgR1JDX0NPREVfU0xPV19TSElGVCB8Cj4gKwkJCSAgIGdyY19jb2RlOwo+ICsJ CW1hc2sgPSBHUkNfQ09ERV9GQVNUX01BU0sgfCBHUkNfQ09ERV9TTE9XX01BU0sgfAo+ICsJCSAg ICAgICBHUkNfQ09ERV9OT01fTUFTSzsKPiArCQlvayAmPSBfQ0hLKEJYVF9QT1JUX1JFRl9EVzYo RFBJT19QSFkwKSwgbWFzaywgZ3JjX2NvZGUsCj4gKwkJCSAgICAiQlhUX1BPUlRfUkVGX0RXNigl ZCkiLCBEUElPX1BIWTApOwo+ICsKPiArCQltYXNrID0gR1JDX0RJUyB8IEdSQ19SRFlfT1ZSRDsK PiArCQlvayAmPSBfQ0hLKEJYVF9QT1JUX1JFRl9EVzgoRFBJT19QSFkwKSwgbWFzaywgbWFzaywK PiArCQkJICAgICJCWFRfUE9SVF9SRUZfRFc4KCVkKSIsIERQSU9fUEhZMCk7Cj4gKwl9Cj4gKwo+ ICsJcmV0dXJuIG9rOwo+ICsjdW5kZWYgX0NISwo+ICt9Cj4gKwo+ICt2b2lkIGJyb3h0b25fZGRp X3BoeV92ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7 Cj4gKwlpZiAoIWJyb3h0b25fcGh5X3ZlcmlmeV9zdGF0ZShkZXZfcHJpdiwgRFBJT19QSFkwKSB8 fAo+ICsJICAgICFicm94dG9uX3BoeV92ZXJpZnlfc3RhdGUoZGV2X3ByaXYsIERQSU9fUEhZMSkp Cj4gKwkJaTkxNV9yZXBvcnRfZXJyb3IoZGV2X3ByaXYsICJEREkgUEhZIHN0YXRlIG1pc21hdGNo XG4iKTsKPiArfQo+ICsKPiAgdm9pZCBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgewo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDg5OTlmZTguLjg0MmNhNWQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTU0NjAsNiArNTQ2MCwxMSBAQCBz dGF0aWMgYm9vbCBicm94dG9uX2NkY2xrX2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gK2Jvb2wgYnJveHRvbl9j ZGNsa192ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7 Cj4gKwlyZXR1cm4gYnJveHRvbl9jZGNsa19pc19lbmFibGVkKGRldl9wcml2KTsKPiArfQo+ICsK PiAgdm9pZCBicm94dG9uX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICB7Cj4gIAkvKiBjaGVjayBpZiBjZCBjbG9jayBpcyBlbmFibGVkICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA0YzIwODNkLi40NzA4YzQ5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTIyNCw4ICsxMjI0LDEwIEBAIHZvaWQgaHN3X2VuYWJs ZV9wYzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBoc3dfZGlz YWJsZV9wYzgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBicm94 dG9uX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9p ZCBicm94dG9uX3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+ICtib29sIGJyb3h0b25fY2RjbGtfdmVyaWZ5X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgYnJveHRvbl9kZGlfcGh5X2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBicm94dG9uX2RkaV9waHlfdW5pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgYnJveHRvbl9kZGlfcGh5 X3ZlcmlmeV9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lk IGJ4dF9lbmFibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZv aWQgYnh0X2Rpc2FibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4g IHZvaWQgc2tsX2luaXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggZTYwYjAyZS4u NTliMzBjOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBA QCAtNzk3LDYgKzc5NywxMSBAQCBzdGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2Vu YWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJICBzdHJ1Y3Qg aTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQo+ICB7Cj4gIAlnZW45X3NldF9kY19zdGF0ZShk ZXZfcHJpdiwgRENfU1RBVEVfRElTQUJMRSk7Cj4gKwo+ICsJaWYgKElTX0JST1hUT04oZGV2X3By aXYpKSB7Cj4gKwkJYnJveHRvbl9jZGNsa192ZXJpZnlfc3RhdGUoZGV2X3ByaXYpOwo+ICsJCWJy b3h0b25fZGRpX3BoeV92ZXJpZnlfc3RhdGUoZGV2X3ByaXYpOwo+ICsJfQo+ICB9Cj4gIAo+ICBz dGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+IEBAIC0yMTg0LDYgKzIxODksOSBAQCB2b2lkIGJ4dF9kaXNw bGF5X2NvcmVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlicm94 dG9uX2luaXRfY2RjbGsoZGV2X3ByaXYpOwo+ICAJYnJveHRvbl9kZGlfcGh5X2luaXQoZGV2X3By aXYpOwo+ICAKPiArCWJyb3h0b25fY2RjbGtfdmVyaWZ5X3N0YXRlKGRldl9wcml2KTsKPiArCWJy b3h0b25fZGRpX3BoeV92ZXJpZnlfc3RhdGUoZGV2X3ByaXYpOwo+ICsKPiAgCWlmIChyZXN1bWUg JiYgZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCkKPiAgCQlpbnRlbF9jc3JfbG9hZF9wcm9ncmFt KGRldl9wcml2KTsKPiAgfQo+IC0tIAo+IDIuNS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=