From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 3/6] drm/i915/psr: Make intel_psr_set_debugfs_mode() only handle PSR mode Date: Mon, 7 Jan 2019 11:53:55 +0100 Message-ID: <1def38cb-1dbd-9506-ccad-3525996f52d1@linux.intel.com> References: <20190103142107.18304-1-jose.souza@intel.com> <20190103142107.18304-3-jose.souza@intel.com> <3702a2a4-06c5-f963-6882-37fe1a915411@linux.intel.com> <5735b5d6023030708546f909c37703ed1666ae7f.camel@intel.com> <030cad5d-991a-2ff7-fa86-a56af092e6b2@linux.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 ESMTPS id 542926E46B for ; Mon, 7 Jan 2019 10:53:58 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" , "intel-gfx@lists.freedesktop.org" Cc: "Pandiyan, Dhinakaran" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org T3AgMDQtMDEtMjAxOSBvbSAxNjo1MiBzY2hyZWVmIFNvdXphLCBKb3NlOgo+IE9uIEZyaSwgMjAx OS0wMS0wNCBhdCAxNTozNSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4+IE9wIDA0 LTAxLTIwMTkgb20gMTQ6Mjggc2NocmVlZiBTb3V6YSwgSm9zZToKPj4+IE9uIEZyaSwgMjAxOS0w MS0wNCBhdCAwNzo1MyArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4+Pj4gT3AgMDMt MDEtMjAxOSBvbSAxNToyMSBzY2hyZWVmIEpvc8OpIFJvYmVydG8gZGUgU291emE6Cj4+Pj4+IGlu dGVsX3Bzcl9zZXRfZGVidWdmc19tb2RlKCkgZG9uJ3QganVzdCBoYW5kbGUgdGhlIFBTUiBtb2Rl IGJ1dAo+Pj4+PiBpdAo+Pj4+PiBpcwo+Pj4+PiBhbHNvIGhhbmRsaW5nIGlucHV0IHZhbGlkYXRp b24sIHNldHRpbmcgdGhlIG5ldyBkZWJ1ZyB2YWx1ZSBhbmQKPj4+Pj4gY2hhbmdpbmcgUFNSIElS USBtYXNrcy4KPj4+Pj4gTGV0cyBtb3ZlIHRoZSByb2xlcyBsaXN0ZWQgYWJvdmUgdG8gdGhlIGNh bGxlciB0byBtYWtlIHRoZQo+Pj4+PiBmdW5jdGlvbgo+Pj4+PiBuYW1lIGFuZCB3aGF0IGl0IGRv ZXMgYWNjdXJhdGUuCj4+Pj4+Cj4+Pj4+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWth cmFuLnBhbmRpeWFuQGludGVsLmNvbT4KPj4+Pj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52 aXZpQGludGVsLmNvbT4KPj4+Pj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8g ZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+Pj4+PiAtLS0KPj4+Pj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgMjIgKysrKysrKysrKysrKysrKysrKystCj4+ Pj4+IC0KPj4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgIHwgIDIgKy0K Pj4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgIHwgMjYgKysrKysrKysr Ky0tLS0tLS0tLS0tCj4+Pj4+IC0tLS0KPj4+Pj4gLQo+Pj4+PiAgMyBmaWxlcyBjaGFuZ2VkLCAz MSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+Pj4+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4+Pj4gaW5kZXggMWEzMTkyMTU5OGU3Li43N2IwOTdi NTBmZDUgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+Pj4+ IEBAIC0yNjM5LDE5ICsyNjM5LDI5IEBAIGk5MTVfZWRwX3Bzcl9kZWJ1Z19zZXQodm9pZCAqZGF0 YSwgdTY0Cj4+Pj4+IHZhbCkKPj4+Pj4gIHsKPj4+Pj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkYXRhOwo+Pj4+PiAgCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0 eCBjdHg7Cj4+Pj4+IC0JaW50IHJldDsKPj4+Pj4gKwljb25zdCB1MzIgbW9kZSA9IHZhbCAmIEk5 MTVfUFNSX0RFQlVHX01PREVfTUFTSzsKPj4+Pj4gKwlpbnQgcmV0ID0gMDsKPj4+Pj4gIAo+Pj4+ PiAgCWlmICghQ0FOX1BTUihkZXZfcHJpdikpCj4+Pj4+ICAJCXJldHVybiAtRU5PREVWOwo+Pj4+ PiAgCj4+Pj4+ICAJRFJNX0RFQlVHX0tNUygiU2V0dGluZyBQU1IgZGVidWcgdG8gJWxseFxuIiwg dmFsKTsKPj4+Pj4gIAo+Pj4+PiArCWlmICh2YWwgJiB+KEk5MTVfUFNSX0RFQlVHX0lSUSB8Cj4+ Pj4+IEk5MTVfUFNSX0RFQlVHX01PREVfTUFTSykgfHwKPj4+Pj4gKwkgICAgbW9kZSA+IEk5MTVf UFNSX0RFQlVHX0ZPUkNFX1BTUjEpIHsKPj4+Pj4gKwkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCBk ZWJ1ZyBtYXNrICVsbHhcbiIsCj4+Pj4+IHZhbCk7Cj4+Pj4+ICsJCXJldHVybiAtRUlOVkFMOwo+ Pj4+PiArCX0KPj4+PiBUaGlzIHdvdWxkIG9ubHkgd29yayBmb3IgKHBzci5kZWJ1ZyAmIE1BU0sp ID09ICh2YWwgJiBNQVNLKS4KPj4+Pgo+Pj4+IFNvIHlvdSBuZWVkIHRvIHRha2UgdGhlIGxvY2sg YmVmb3JlIHlvdSBjYW4gYmUgc3VyZS4KPj4+Pgo+Pj4+IFdoaWxlIGF0IGl0LCB5b3UgcHJvYmFi bHkgYWxzbyBuZWVkIHRoZSBpbnRlbF9ydW50aW1lX3BtX2dldCgpCj4+Pj4gcmVmZXJlbmNlLi4g c28geW91IHJlYWxseSBkb24ndCBjb21wbGljYXRlIGxvY2tpbmcgbXVjaC4KPj4+Pgo+Pj4+IEkg d291bGQgaG9uZXN0bHkganVzdCBncmFiIHRoZSBleHRyYSBsb2NrcyB1bm5lY2Vzc2FyaWx5IGZv cgo+Pj4+IHNpbXBsaWNpdHkuIEl0J3Mgb25seSB1c2VkIGZyb20gZGVidWdmcyBhZnRlciBhbGwu Cj4+PiBUaGFua3MgZm9yIHRoZSBjYXRjaC4KPj4+Cj4+PiBTb21ldGhpbmcgbGlrZSB0aGlzPwo+ Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+Pj4gaW5kZXggOTM4YWQy MTA3ZWFkLi4zYTZjY2Y4MTVlZTEgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPj4+IEBAIC0yNjU2LDExICsyNjU2LDEzIEBAIGk5MTVfZWRwX3Bzcl9kZWJ1Z19zZXQo dm9pZCAqZGF0YSwgdTY0IHZhbCkKPj4+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsK Pj4+ICAgICAgICAgfQo+Pj4KPj4+IC0gICAgICAgaWYgKCFtb2RlKQo+Pj4gLSAgICAgICAgICAg ICAgIGdvdG8gc2tpcF9tb2RlOwo+Pj4gLQo+Pj4gICAgICAgICBpbnRlbF9ydW50aW1lX3BtX2dl dChkZXZfcHJpdik7Cj4+Pgo+Pj4gKyAgICAgICBtdXRleF9sb2NrKCZkZXZfcHJpdi0+cHNyLmxv Y2spOwo+Pj4gKyAgICAgICBpZiAobW9kZSA9PSAoZGV2X3ByaXYtPnBzci5kZWJ1ZyAmCj4+PiBJ OTE1X1BTUl9ERUJVR19NT0RFX01BU0spKQo+Pj4gKyAgICAgICAgICAgICAgIGdvdG8gc2tpcF9t b2RlOwo+Pj4gKyAgICAgICBtdXRleF91bmxvY2soJmRldl9wcml2LT5wc3IubG9jayk7Cj4+PiAr Cj4+PiAgICAgICAgIGRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LAo+Pj4gRFJNX01PREVT RVRfQUNRVUlSRV9JTlRFUlJVUFRJQkxFKTsKPj4+Cj4+PiAgcmV0cnk6Cj4+PiBAQCAtMjY3NCw4 ICsyNjc2LDYgQEAgaTkxNV9lZHBfcHNyX2RlYnVnX3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQo+ Pj4gICAgICAgICBkcm1fbW9kZXNldF9kcm9wX2xvY2tzKCZjdHgpOwo+Pj4gICAgICAgICBkcm1f bW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7Cj4+Pgo+Pj4gLSAgICAgICBpbnRlbF9ydW50aW1l X3BtX3B1dChkZXZfcHJpdik7Cj4+PiAtCj4+PiAgc2tpcF9tb2RlOgo+Pj4gICAgICAgICBpZiAo IXJldCkgewo+Pj4gICAgICAgICAgICAgICAgIG11dGV4X2xvY2soJmRldl9wcml2LT5wc3IubG9j ayk7Cj4+PiBAQCAtMjY4NCw2ICsyNjg0LDggQEAgaTkxNV9lZHBfcHNyX2RlYnVnX3NldCh2b2lk ICpkYXRhLCB1NjQgdmFsKQo+Pj4gICAgICAgICAgICAgICAgIG11dGV4X3VubG9jaygmZGV2X3By aXYtPnBzci5sb2NrKTsKPj4+ICAgICAgICAgfQo+Pj4KPj4+ICsgICAgICAgaW50ZWxfcnVudGlt ZV9wbV9wdXQoZGV2X3ByaXYpOwo+Pj4gKwo+Pj4gICAgICAgICByZXR1cm4gcmV0Owo+Pj4gIH0K Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pj4+ICsKPj4+Pj4gKwlpZiAoIW1vZGUpCj4+Pj4+ICsJCWdvdG8g c2tpcF9tb2RlOwo+Pj4+PiArCj4+Pj4+ICAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYp Owo+Pj4+PiAgCj4+Pj4+ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsCj4+Pj4+IERS TV9NT0RFU0VUX0FDUVVJUkVfSU5URVJSVVBUSUJMRSk7Cj4+Pj4+ICAKPj4+Pj4gIHJldHJ5Ogo+ Pj4+PiAtCXJldCA9IGludGVsX3Bzcl9zZXRfZGVidWdmc19tb2RlKGRldl9wcml2LCAmY3R4LCB2 YWwpOwo+Pj4+PiArCXJldCA9IGludGVsX3Bzcl9zZXRfZGVidWdmc19tb2RlKGRldl9wcml2LCAm Y3R4LCBtb2RlKTsKPj4+Pj4gIAlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4+Pj4+ICAJCXJldCA9 IGRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4+Pj4+ICAJCWlmICghcmV0KQo+Pj4+PiBAQCAt MjY2Myw2ICsyNjczLDE0IEBAIGk5MTVfZWRwX3Bzcl9kZWJ1Z19zZXQodm9pZCAqZGF0YSwgdTY0 Cj4+Pj4+IHZhbCkKPj4+Pj4gIAo+Pj4+PiAgCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2 KTsKPj4+Pj4gIAo+Pj4+PiArc2tpcF9tb2RlOgo+Pj4+PiArCWlmICghcmV0KSB7Cj4+Pj4+ICsJ CW11dGV4X2xvY2soJmRldl9wcml2LT5wc3IubG9jayk7Cj4+Pj4+ICsJCWRldl9wcml2LT5wc3Iu ZGVidWcgPSB2YWw7Cj4+Pj4+ICsJCWludGVsX3Bzcl9pcnFfY29udHJvbChkZXZfcHJpdiwgZGV2 X3ByaXYtCj4+Pj4+PiBwc3IuZGVidWcpOwo+Pj4+PiArCQltdXRleF91bmxvY2soJmRldl9wcml2 LT5wc3IubG9jayk7Cj4+Pj4+ICsJfQo+Pj4+PiArCj4+Pj4+ICAJcmV0dXJuIHJldDsKPj4+Pj4g IH0KPj4+Pj4gIAo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4+PiBpbmRl eCAxYTExYzJiZWI3ZjMuLjIzNjdmMDdiYTI5ZSAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPj4+Pj4gQEAgLTIwNjMsNyArMjA2Myw3IEBAIHZvaWQgaW50ZWxfcHNyX2Rp c2FibGUoc3RydWN0IGludGVsX2RwCj4+Pj4+ICppbnRlbF9kcCwKPj4+Pj4gIAkJICAgICAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPj4+Pj4gKm9sZF9jcnRjX3N0YXRlKTsKPj4+Pj4g IGludCBpbnRlbF9wc3Jfc2V0X2RlYnVnZnNfbW9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ Pj4+PiAqZGV2X3ByaXYsCj4+Pj4+ICAJCQkgICAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVp cmVfY3R4Cj4+Pj4+ICpjdHgsCj4+Pj4+IC0JCQkgICAgICAgdTY0IHZhbHVlKTsKPj4+Pj4gKwkJ CSAgICAgICB1MzIgbW9kZSk7Cj4+Pj4+ICB2b2lkIGludGVsX3Bzcl9pbnZhbGlkYXRlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4+Pj4gIAkJCSAgdW5zaWduZWQgZnJvbnRi dWZmZXJfYml0cywKPj4+Pj4gIAkJCSAgZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKTsKPj4+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4+Pj4+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPj4+Pj4gaW5kZXggMGVmNmM1ZjhjMjk4Li5i YmE0ZjdkYTY4YjMgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4+Pj4+ IEBAIC02OSwxMyArNjksMTQgQEAgc3RhdGljIGJvb2wgcHNyX2dsb2JhbF9lbmFibGVkKHUzMiBk ZWJ1ZykKPj4+Pj4gIH0KPj4+Pj4gIAo+Pj4+PiAgc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9lbmFi bGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4+Pj4+ICpkZXZfcHJpdiwKPj4+Pj4gLQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+Pj4+PiAqY3J0Y19zdGF0ZSkKPj4+ Pj4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZQo+Pj4+PiAqY3J0Y19z dGF0ZSwKPj4+Pj4gKwkJCSAgICAgICB1MzIgZGVidWcpCj4+Pj4+ICB7Cj4+Pj4+ICAJLyogQ2Fu bm90IGVuYWJsZSBEU0MgYW5kIFBTUjIgc2ltdWx0YW5lb3VzbHkgKi8KPj4+Pj4gIAlXQVJOX09O KGNydGNfc3RhdGUtPmRzY19wYXJhbXMuY29tcHJlc3Npb25fZW5hYmxlICYmCj4+Pj4+ICAJCWNy dGNfc3RhdGUtPmhhc19wc3IyKTsKPj4+Pj4gIAo+Pj4+PiAtCXN3aXRjaCAoZGV2X3ByaXYtPnBz ci5kZWJ1ZyAmIEk5MTVfUFNSX0RFQlVHX01PREVfTUFTSykKPj4+Pj4gewo+Pj4+PiArCXN3aXRj aCAoZGVidWcgJiBJOTE1X1BTUl9ERUJVR19NT0RFX01BU0spIHsKPj4+Pj4gIAljYXNlIEk5MTVf UFNSX0RFQlVHX0RJU0FCTEU6Cj4+Pj4+ICAJY2FzZSBJOTE1X1BTUl9ERUJVR19GT1JDRV9QU1Ix Ogo+Pj4+PiAgCQlyZXR1cm4gZmFsc2U7Cj4+Pj4+IEBAIC03NTgsNyArNzU5LDggQEAgdm9pZCBp bnRlbF9wc3JfZW5hYmxlKHN0cnVjdCBpbnRlbF9kcAo+Pj4+PiAqaW50ZWxfZHAsCj4+Pj4+ICAJ CWdvdG8gdW5sb2NrOwo+Pj4+PiAgCX0KPj4+Pj4gIAo+Pj4+PiAtCWRldl9wcml2LT5wc3IucHNy Ml9lbmFibGVkID0KPj4+Pj4gaW50ZWxfcHNyMl9lbmFibGVkKGRldl9wcml2LAo+Pj4+PiBjcnRj X3N0YXRlKTsKPj4+Pj4gKwlkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCA9Cj4+Pj4+IGludGVs X3BzcjJfZW5hYmxlZChkZXZfcHJpdiwKPj4+Pj4gY3J0Y19zdGF0ZSwKPj4+Pj4gKwkJCQkJCQlk ZXZfcHJpCj4+Pj4+IHYtCj4+Pj4+PiBwc3IuZGVidWcpOwo+Pj4+PiAgCWRldl9wcml2LT5wc3Iu YnVzeV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKPj4+Pj4gIAlkZXZfcHJpdi0+cHNyLnByZXBhcmVk ID0gdHJ1ZTsKPj4+Pj4gIAlkZXZfcHJpdi0+cHNyLnBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtCj4+Pj4+PiBiYXNlLmNydGMpLQo+Pj4+Pj4gcGlwZTsKPj4+Pj4gQEAgLTk0NCw3ICs5 NDYsNyBAQCBzdGF0aWMgYm9vbCBzd2l0Y2hpbmdfcHNyKHN0cnVjdAo+Pj4+PiBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPj4+Pj4gIAo+Pj4+PiAgaW50IGludGVsX3Bzcl9zZXRfZGVidWdm c19tb2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4+Pj4+ICpkZXZfcHJpdiwKPj4+Pj4gIAkJ CSAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHgKPj4+Pj4gKmN0eCwKPj4+Pj4g LQkJCSAgICAgICB1NjQgdmFsKQo+Pj4+PiArCQkJICAgICAgIHUzMiBtb2RlKQo+Pj4+PiAgewo+ Pj4+PiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKPj4+Pj4gIAlz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKPj4+Pj4gQEAgLTk1NCwxMyAr OTU2LDYgQEAgaW50IGludGVsX3Bzcl9zZXRfZGVidWdmc19tb2RlKHN0cnVjdAo+Pj4+PiBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4+Pj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmRwOwo+Pj4+ PiAgCWludCByZXQ7Cj4+Pj4+ICAJYm9vbCBlbmFibGU7Cj4+Pj4+IC0JdTMyIG1vZGUgPSB2YWwg JiBJOTE1X1BTUl9ERUJVR19NT0RFX01BU0s7Cj4+Pj4+IC0KPj4+Pj4gLQlpZiAodmFsICYgfihJ OTE1X1BTUl9ERUJVR19JUlEgfAo+Pj4+PiBJOTE1X1BTUl9ERUJVR19NT0RFX01BU0spIHx8Cj4+ Pj4+IC0JICAgIG1vZGUgPiBJOTE1X1BTUl9ERUJVR19GT1JDRV9QU1IxKSB7Cj4+Pj4+IC0JCURS TV9ERUJVR19LTVMoIkludmFsaWQgZGVidWcgbWFzayAlbGx4XG4iLAo+Pj4+PiB2YWwpOwo+Pj4+ PiAtCQlyZXR1cm4gLUVJTlZBTDsKPj4+Pj4gLQl9Cj4+Pj4+ICAKPj4+Pj4gIAlyZXQgPSBkcm1f bW9kZXNldF9sb2NrKCZkZXYtCj4+Pj4+PiBtb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4LAo+ Pj4+PiBjdHgpOwo+Pj4+PiAgCWlmIChyZXQpCj4+Pj4+IEBAIC05OTAsMTYgKzk4NSwxNSBAQCBp bnQgaW50ZWxfcHNyX3NldF9kZWJ1Z2ZzX21vZGUoc3RydWN0Cj4+Pj4+IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+Pj4+PiAgCWlmIChyZXQpCj4+Pj4+ICAJCXJldHVybiByZXQ7Cj4+Pj4+ ICAKPj4+Pj4gLQllbmFibGUgPSBwc3JfZ2xvYmFsX2VuYWJsZWQodmFsKTsKPj4+Pj4gKwllbmFi bGUgPSBwc3JfZ2xvYmFsX2VuYWJsZWQobW9kZSk7Cj4+Pj4+ICAKPj4+Pj4gIAlpZiAoIWVuYWJs ZSB8fCBzd2l0Y2hpbmdfcHNyKGRldl9wcml2LCBjcnRjX3N0YXRlLAo+Pj4+PiBtb2RlKSkKPj4+ Pj4gIAkJaW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKGRldl9wcml2LT5wc3IuZHApOwo+Pj4+PiAg Cj4+Pj4+IC0JZGV2X3ByaXYtPnBzci5kZWJ1ZyA9IHZhbDsKPj4+Pj4gIAlpZiAoY3J0YykKPj4+ Pj4gLQkJZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQgPQo+Pj4+PiBpbnRlbF9wc3IyX2VuYWJs ZWQoZGV2X3ByaXYsIGNydGNfc3RhdGUpOwo+Pj4+PiAtCj4+Pj4+IC0JaW50ZWxfcHNyX2lycV9j b250cm9sKGRldl9wcml2LCBkZXZfcHJpdi0+cHNyLmRlYnVnKTsKPj4+Pj4gKwkJZGV2X3ByaXYt PnBzci5wc3IyX2VuYWJsZWQgPQo+Pj4+PiBpbnRlbF9wc3IyX2VuYWJsZWQoZGV2X3ByaXYsCj4+ Pj4+ICsJCQkJCQkJCQo+Pj4+PiBjcnRjX3N0Cj4+Pj4+IGF0ZSwKPj4+Pj4gKwkJCQkJCQkJCj4+ Pj4+IG1vZGUpOwo+Pj4+PiAgCj4+Pj4+ICAJaWYgKGRldl9wcml2LT5wc3IucHJlcGFyZWQgJiYg ZW5hYmxlKQo+Pj4+PiAgCQlpbnRlbF9wc3JfZW5hYmxlX2xvY2tlZChkZXZfcHJpdiwgY3J0Y19z dGF0ZSk7Cj4+IEhtIEkgd291bGQgY2hhbmdlIHRoZSBwc3IgaXJxIGluc2lkZSB0aGUgbG9jaywg dGhlbiBqdW1wIHRvIHBtX3B1dCB0bwo+PiBmaW5pc2ggYW5kIGNhbGwgdGhhdCBsYWJlbCBvdXQu IE1vc3QgcmFjZS1mcmVlIHdheSB0byBkbyBzby4gOikKPj4KPiBXZWxsIGRvaW5nIHRoYXQgd2ls bCBrZWVwIGludGVsX3Bzcl9zZXRfZGVidWdmc19tb2RlKCkgZG9pbmcgbW9yZSBzdHVmZgo+IHRo YW4gaXQgaXMgc3VwcG9zZWQgdG8gYnV0IHllYWggaXQgaXMgdGFraW5nIHRoZSBsb2NrIDMgdGlt ZXMgdGhyb3VnaAo+IGk5MTVfZWRwX3Bzcl9kZWJ1Z19zZXQoKSwgSSdtIG5vdCBzbyBjb25jZXJu ZWQgYWJvdXQgcmFjZSBjb25kaXRpb25zCj4gYmVjYXVzZSB0aGUgdXNlIGNhc2VzIHRoYXQgd2Ug aGF2ZSB3b3VsZCBub3QgY2F1c2UgaXQuCj4KTWVoIHdlIHNob3VsZCBtYWtlIGZhc3Rib290IGRl ZmF1bHQsIHRoZW4gd2UgY2FuIHRlc3QgYSByZWFsIHBhdGguLgoKQ3JlYXRlIGEgY29tbWl0IHdp dGggY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkIHRvIHRydWUuLgoKaGFzX2RycnMgYW5kIGhhc19w c3IoMikgY2FuIGJlIHVwZGF0ZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gYWN0dWFsIHZhbHVlcy4K CnRoZSBlbmNvZGVyLT51cGRhdGVfcGlwZSgpIGNhbGxiYWNrIGNhbiBlbi9kaXNhYmxlIHBzci9k cnJzIGFzIG5lZWRlZC4KCn5NYWFydGVuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK