From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/8] drm/i915/psr: Remove partial PSR support on multiple transcoders Date: Thu, 21 Mar 2019 20:20:13 +0200 Message-ID: <20190321182013.GJ3888@intel.com> References: <20190321180143.22519-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 967216E167 for ; Thu, 21 Mar 2019 18:20:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190321180143.22519-1-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org, Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMjEsIDIwMTkgYXQgMTE6MDE6MzZBTSAtMDcwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBQU1IgaXMgb25seSBzdXBwb3J0IGluIGVEUCB0cmFuc2NvZGVyIGFu ZCB0aGVyZSBpcyBvbmx5IG9uZSBpbnN0YW5jZQo+IG9mIGl0LCBzbyBsZXRzIGRyb3AgYWxsIG9m IHRoaXMgY29kZS4KCk9uZSBpbnN0YW5jZT8gQXJlIHlvdSB0YWxraW5nIGFib3V0IFBTUjI/CgpB bHNvIHRoZSBFRFAgdHJhbnNjb2RlciBpcyBhbHJlYWR5IGRvb21lZCBpcyBpdCBub3Q/Cgo+IAo+ IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4K PiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYt Ynk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICAxNyArLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIHwgMTQ3ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxMjIgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggYjQ2OTEwNDUzZTYxLi5kMGNh NmVmNmQ2MzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtNDI3NywxMyArNDI3 Nyw5IEBAIGVudW0gewo+ICAvKiBCc3BlYyBjbGFpbXMgdGhvc2UgYXJlbid0IHNoaWZ0ZWQgYnV0 IHN0YXkgYXQgMHg2NDgwMCAqLwo+ICAjZGVmaW5lIEVEUF9QU1JfSU1SCQkJCV9NTUlPKDB4NjQ4 MzQpCj4gICNkZWZpbmUgRURQX1BTUl9JSVIJCQkJX01NSU8oMHg2NDgzOCkKPiAtI2RlZmluZSAg IEVEUF9QU1JfRVJST1Ioc2hpZnQpCQkJKDEgPDwgKChzaGlmdCkgKyAyKSkKPiAtI2RlZmluZSAg IEVEUF9QU1JfUE9TVF9FWElUKHNoaWZ0KQkJKDEgPDwgKChzaGlmdCkgKyAxKSkKPiAtI2RlZmlu ZSAgIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KQkJKDEgPDwgKHNoaWZ0KSkKPiAtI2RlZmluZSAg IEVEUF9QU1JfVFJBTlNDT0RFUl9DX1NISUZUCQkyNAo+IC0jZGVmaW5lICAgRURQX1BTUl9UUkFO U0NPREVSX0JfU0hJRlQJCTE2Cj4gLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfQV9TSElG VAkJOAo+IC0jZGVmaW5lICAgRURQX1BTUl9UUkFOU0NPREVSX0VEUF9TSElGVAkJMAo+ICsjZGVm aW5lICAgRURQX1BTUl9FUlJPUgkJCQkoMSA8PCAyKQo+ICsjZGVmaW5lICAgRURQX1BTUl9QT1NU X0VYSVQJCQkoMSA8PCAxKQo+ICsjZGVmaW5lICAgRURQX1BTUl9QUkVfRU5UUlkJCQkoMSA8PCAw KQo+ICAKPiAgI2RlZmluZSBFRFBfUFNSX0FVWF9DVEwJCQkJX01NSU8oZGV2X3ByaXYtPnBzcl9t bWlvX2Jhc2UgKyAweDEwKQo+ICAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX1RJTUVfT1VUX01B U0sJCSgzIDw8IDI2KQo+IEBAIC00MzQ4LDEyICs0MzQ0LDcgQEAgZW51bSB7Cj4gICNkZWZpbmUg ICBFRFBfUFNSMl9JRExFX0ZSQU1FX01BU0sJMHhmCj4gICNkZWZpbmUgICBFRFBfUFNSMl9JRExF X0ZSQU1FX1NISUZUCTAKPiAgCj4gLSNkZWZpbmUgX1BTUl9FVkVOVF9UUkFOU19BCQkJMHg2MDg0 OAo+IC0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfQgkJCTB4NjE4NDgKPiAtI2RlZmluZSBfUFNS X0VWRU5UX1RSQU5TX0MJCQkweDYyODQ4Cj4gLSNkZWZpbmUgX1BTUl9FVkVOVF9UUkFOU19ECQkJ MHg2Mzg0OAo+IC0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRURQCQkJMHg2Rjg0OAo+IC0jZGVm aW5lIFBTUl9FVkVOVCh0cmFucykJCQlfTU1JT19UUkFOUzIodHJhbnMsIF9QU1JfRVZFTlRfVFJB TlNfQSkKPiArI2RlZmluZSBQU1JfRVZFTlQJCQkJX01NSU8oMHg2Rjg0OCkKPiAgI2RlZmluZSAg UFNSX0VWRU5UX1BTUjJfV0RfVElNRVJfRVhQSVJFCQkoMSA8PCAxNykKPiAgI2RlZmluZSAgUFNS X0VWRU5UX1BTUjJfRElTQUJMRUQJCSgxIDw8IDE2KQo+ICAjZGVmaW5lICBQU1JfRVZFTlRfU1Vf RElSVFlfRklGT19VTkRFUlJVTgkoMSA8PCAxNSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ IGluZGV4IDYwNWZlOGZjODVjYy4uZGM5ZmRiNTE1YTU0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMKPiBAQCAtODQsNDYgKzg0LDEyIEBAIHN0YXRpYyBib29sIGludGVsX3BzcjJfZW5h YmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAl9Cj4gIH0KPiAgCj4g LXN0YXRpYyBpbnQgZWRwX3Bzcl9zaGlmdChlbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIp Cj4gLXsKPiAtCXN3aXRjaCAoY3B1X3RyYW5zY29kZXIpIHsKPiAtCWNhc2UgVFJBTlNDT0RFUl9B Ogo+IC0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQV9TSElGVDsKPiAtCWNhc2UgVFJBTlND T0RFUl9COgo+IC0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQl9TSElGVDsKPiAtCWNhc2Ug VFJBTlNDT0RFUl9DOgo+IC0JCXJldHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQ19TSElGVDsKPiAt CWRlZmF1bHQ6Cj4gLQkJTUlTU0lOR19DQVNFKGNwdV90cmFuc2NvZGVyKTsKPiAtCQkvKiBmYWxs dGhyb3VnaCAqLwo+IC0JY2FzZSBUUkFOU0NPREVSX0VEUDoKPiAtCQlyZXR1cm4gRURQX1BTUl9U UkFOU0NPREVSX0VEUF9TSElGVDsKPiAtCX0KPiAtfQo+IC0KPiAgdm9pZCBpbnRlbF9wc3JfaXJx X2NvbnRyb2woc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgZGVidWcpCj4g IHsKPiAtCXUzMiBkZWJ1Z19tYXNrLCBtYXNrOwo+IC0JZW51bSB0cmFuc2NvZGVyIGNwdV90cmFu c2NvZGVyOwo+IC0JdTMyIHRyYW5zY29kZXJzID0gQklUKFRSQU5TQ09ERVJfRURQKTsKPiAtCj4g LQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KQo+IC0JCXRyYW5zY29kZXJzIHw9IEJJVChU UkFOU0NPREVSX0EpIHwKPiAtCQkJICAgICAgIEJJVChUUkFOU0NPREVSX0IpIHwKPiAtCQkJICAg ICAgIEJJVChUUkFOU0NPREVSX0MpOwo+IC0KPiAtCWRlYnVnX21hc2sgPSAwOwo+IC0JbWFzayA9 IDA7Cj4gLQlmb3JfZWFjaF9jcHVfdHJhbnNjb2Rlcl9tYXNrZWQoZGV2X3ByaXYsIGNwdV90cmFu c2NvZGVyLCB0cmFuc2NvZGVycykgewo+IC0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1 X3RyYW5zY29kZXIpOwo+IC0KPiAtCQltYXNrIHw9IEVEUF9QU1JfRVJST1Ioc2hpZnQpOwo+IC0J CWRlYnVnX21hc2sgfD0gRURQX1BTUl9QT1NUX0VYSVQoc2hpZnQpIHwKPiAtCQkJICAgICAgRURQ X1BTUl9QUkVfRU5UUlkoc2hpZnQpOwo+IC0JfQo+ICsJdTMyIG1hc2sgPSBFRFBfUFNSX0VSUk9S Owo+ICAKPiAgCWlmIChkZWJ1ZyAmIEk5MTVfUFNSX0RFQlVHX0lSUSkKPiAtCQltYXNrIHw9IGRl YnVnX21hc2s7Cj4gKwkJbWFzayB8PSBFRFBfUFNSX1BPU1RfRVhJVCB8IEVEUF9QU1JfUFJFX0VO VFJZOwo+ICAKPiAgCUk5MTVfV1JJVEUoRURQX1BTUl9JTVIsIH5tYXNrKTsKPiAgfQo+IEBAIC0x NjcsNjIgKzEzMyw0NyBAQCBzdGF0aWMgdm9pZCBwc3JfZXZlbnRfcHJpbnQodTMyIHZhbCwgYm9v bCBwc3IyX2VuYWJsZWQpCj4gIAo+ICB2b2lkIGludGVsX3Bzcl9pcnFfaGFuZGxlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBwc3JfaWlyKQo+ICB7Cj4gLQl1MzIgdHJh bnNjb2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwo+IC0JZW51bSB0cmFuc2NvZGVyIGNwdV90 cmFuc2NvZGVyOwo+IC0Ja3RpbWVfdCB0aW1lX25zID0gIGt0aW1lX2dldCgpOwo+IC0JdTMyIG1h c2sgPSAwOwo+ICsJa3RpbWVfdCB0aW1lX25zID0ga3RpbWVfZ2V0KCk7Cj4gIAo+IC0JaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gOCkKPiAtCQl0cmFuc2NvZGVycyB8PSBCSVQoVFJBTlNDT0RF Ul9BKSB8Cj4gLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9CKSB8Cj4gLQkJCSAgICAgICBCSVQo VFJBTlNDT0RFUl9DKTsKPiAtCj4gLQlmb3JfZWFjaF9jcHVfdHJhbnNjb2Rlcl9tYXNrZWQoZGV2 X3ByaXYsIGNwdV90cmFuc2NvZGVyLCB0cmFuc2NvZGVycykgewo+IC0JCWludCBzaGlmdCA9IGVk cF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwo+IC0KPiAtCQlpZiAocHNyX2lpciAmIEVEUF9Q U1JfRVJST1Ioc2hpZnQpKSB7Cj4gLQkJCURSTV9XQVJOKCJbdHJhbnNjb2RlciAlc10gUFNSIGF1 eCBlcnJvclxuIiwKPiAtCQkJCSB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKPiAt Cj4gLQkJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRydWU7Cj4gLQo+IC0JCQkvKgo+ IC0JCQkgKiBJZiB0aGlzIGludGVycnVwdGlvbiBpcyBub3QgbWFza2VkIGl0IHdpbGwga2VlcAo+ IC0JCQkgKiBpbnRlcnJ1cHRpbmcgc28gZmFzdCB0aGF0IGl0IHByZXZlbnRzIHRoZSBzY2hlZHVs ZWQKPiAtCQkJICogd29yayB0byBydW4uCj4gLQkJCSAqIEFsc28gYWZ0ZXIgYSBQU1IgZXJyb3Is IHdlIGRvbid0IHdhbnQgdG8gYXJtIFBTUgo+IC0JCQkgKiBhZ2FpbiBzbyB3ZSBkb24ndCBjYXJl IGFib3V0IHVubWFzayB0aGUgaW50ZXJydXB0aW9uCj4gLQkJCSAqIG9yIHVuc2V0IGlycV9hdXhf ZXJyb3IuCj4gLQkJCSAqLwo+IC0JCQltYXNrIHw9IEVEUF9QU1JfRVJST1Ioc2hpZnQpOwo+IC0J CX0KPiArCWlmIChwc3JfaWlyICYgRURQX1BTUl9FUlJPUikgewo+ICsJCXUzMiBtYXNrOwo+ICAK PiAtCQlpZiAocHNyX2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KSkgewo+IC0JCQlkZXZf cHJpdi0+cHNyLmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVfbnM7Cj4gLQkJCURSTV9ERUJVR19L TVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFua3NcbiIsCj4g LQkJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIpKTsKPiAtCQl9Cj4gKwkJ RFJNX1dBUk4oIlt0cmFuc2NvZGVyICVzXSBQU1IgYXV4IGVycm9yXG4iLAo+ICsJCQkgdHJhbnNj b2Rlcl9uYW1lKFRSQU5TQ09ERVJfRURQKSk7Cj4gIAo+IC0JCWlmIChwc3JfaWlyICYgRURQX1BT Ul9QT1NUX0VYSVQoc2hpZnQpKSB7Cj4gLQkJCWRldl9wcml2LT5wc3IubGFzdF9leGl0ID0gdGlt ZV9uczsKPiAtCQkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBTUiBleGl0IGNvbXBs ZXRlZFxuIiwKPiAtCQkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShjcHVfdHJhbnNjb2RlcikpOwo+ ICsJCWRldl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRydWU7Cj4gIAo+IC0JCQlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gLQkJCQl1MzIgdmFsID0gSTkxNV9SRUFEKFBTUl9F VkVOVChjcHVfdHJhbnNjb2RlcikpOwo+IC0JCQkJYm9vbCBwc3IyX2VuYWJsZWQgPSBkZXZfcHJp di0+cHNyLnBzcjJfZW5hYmxlZDsKPiArCQkvKgo+ICsJCSAqIElmIHRoaXMgaW50ZXJydXB0aW9u IGlzIG5vdCBtYXNrZWQgaXQgd2lsbCBrZWVwCj4gKwkJICogaW50ZXJydXB0aW5nIHNvIGZhc3Qg dGhhdCBpdCBwcmV2ZW50cyB0aGUgc2NoZWR1bGVkCj4gKwkJICogd29yayB0byBydW4uCj4gKwkJ ICogQWxzbyBhZnRlciBhIFBTUiBlcnJvciwgd2UgZG9uJ3Qgd2FudCB0byBhcm0gUFNSCj4gKwkJ ICogYWdhaW4gc28gd2UgZG9uJ3QgY2FyZSBhYm91dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgo+ ICsJCSAqIG9yIHVuc2V0IGlycV9hdXhfZXJyb3IuCj4gKwkJICovCj4gKwkJbWFzayA9IEk5MTVf UkVBRChFRFBfUFNSX0lNUikgfCBFRFBfUFNSX0VSUk9SOwo+ICsJCUk5MTVfV1JJVEUoRURQX1BT Ul9JTVIsIG1hc2spOwo+ICAKPiAtCQkJCUk5MTVfV1JJVEUoUFNSX0VWRU5UKGNwdV90cmFuc2Nv ZGVyKSwgdmFsKTsKPiAtCQkJCXBzcl9ldmVudF9wcmludCh2YWwsIHBzcjJfZW5hYmxlZCk7Cj4g LQkJCX0KPiAtCQl9Cj4gKwkJc2NoZWR1bGVfd29yaygmZGV2X3ByaXYtPnBzci53b3JrKTsKPiAg CX0KPiAgCj4gLQlpZiAobWFzaykgewo+IC0JCW1hc2sgfD0gSTkxNV9SRUFEKEVEUF9QU1JfSU1S KTsKPiAtCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKPiArCWlmIChwc3JfaWlyICYg RURQX1BTUl9QUkVfRU5UUlkpIHsKPiArCQlkZXZfcHJpdi0+cHNyLmxhc3RfZW50cnlfYXR0ZW1w dCA9IHRpbWVfbnM7Cj4gKwkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBTUiBlbnRy eSBhdHRlbXB0IGluIDIgdmJsYW5rc1xuIiwKPiArCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKFRS QU5TQ09ERVJfRURQKSk7Cj4gKwl9Cj4gIAo+IC0JCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2LT5w c3Iud29yayk7Cj4gKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElUKSB7Cj4gKwkJRFJN X0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBTUiBleGl0IGNvbXBsZXRlZFxuIiwKPiArCQkJ ICAgICAgdHJhbnNjb2Rlcl9uYW1lKFRSQU5TQ09ERVJfRURQKSk7Cj4gKwo+ICsJCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDkpIHsKPiArCQkJdTMyIHZhbCA9IEk5MTVfUkVBRChQU1JfRVZF TlQpOwo+ICsJCQlib29sIHBzcjJfZW5hYmxlZCA9IGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk Owo+ICsKPiArCQkJSTkxNV9XUklURShQU1JfRVZFTlQsIHZhbCk7Cj4gKwkJCXBzcl9ldmVudF9w cmludCh2YWwsIHBzcjJfZW5hYmxlZCk7Cj4gKwkJfQo+ICAJfQo+ICB9Cj4gIAo+IEBAIC02NzIs MzAgKzYyMywxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCkKPiAgCWRldl9wcml2LT5wc3IuYWN0aXZlID0gdHJ1ZTsKPiAgfQo+ICAK PiAtc3RhdGljIGk5MTVfcmVnX3QgZ2VuOV9jaGlja2VuX3RyYW5zX3JlZyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkJIGVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNj b2RlcikKPiAtewo+IC0Jc3RhdGljIGNvbnN0IGk5MTVfcmVnX3QgcmVnc1tdID0gewo+IC0JCVtU UkFOU0NPREVSX0FdID0gQ0hJQ0tFTl9UUkFOU19BLAo+IC0JCVtUUkFOU0NPREVSX0JdID0gQ0hJ Q0tFTl9UUkFOU19CLAo+IC0JCVtUUkFOU0NPREVSX0NdID0gQ0hJQ0tFTl9UUkFOU19DLAo+IC0J CVtUUkFOU0NPREVSX0VEUF0gPSBDSElDS0VOX1RSQU5TX0VEUCwKPiAtCX07Cj4gLQo+IC0JV0FS Tl9PTihJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSk7Cj4gLQo+IC0JaWYgKFdBUk5fT04oY3B1X3Ry YW5zY29kZXIgPj0gQVJSQVlfU0laRShyZWdzKSB8fAo+IC0JCSAgICAhcmVnc1tjcHVfdHJhbnNj b2Rlcl0ucmVnKSkKPiAtCQljcHVfdHJhbnNjb2RlciA9IFRSQU5TQ09ERVJfQTsKPiAtCj4gLQly ZXR1cm4gcmVnc1tjcHVfdHJhbnNjb2Rlcl07Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkIGludGVs X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJCQkgICAg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwo+IC0J ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7Cj4gIAl1MzIgbWFzazsKPiAgCj4gIAkvKiBPbmx5IEhTVyBhbmQgQkRXIGhhdmUgUFNSIEFV WCByZWdpc3RlcnMgdGhhdCBuZWVkIHRvIGJlIHNldHVwLiBTS0wrCj4gQEAgLTcwNiwxMyArNjM3 LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsCj4gIAo+ICAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkICYmIChJ U19HRU4oZGV2X3ByaXYsIDkpICYmCj4gIAkJCQkJICAgIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYp KSkgewo+IC0JCWk5MTVfcmVnX3QgcmVnID0gZ2VuOV9jaGlja2VuX3RyYW5zX3JlZyhkZXZfcHJp diwKPiAtCQkJCQkJCWNwdV90cmFuc2NvZGVyKTsKPiAtCQl1MzIgY2hpY2tlbiA9IEk5MTVfUkVB RChyZWcpOwo+ICsJCXUzMiBjaGlja2VuID0gSTkxNV9SRUFEKENISUNLRU5fVFJBTlNfRURQKTsK PiAgCj4gIAkJY2hpY2tlbiB8PSBQU1IyX1ZTQ19FTkFCTEVfUFJPR19IRUFERVIgfAo+ICAJCQkg ICBQU1IyX0FERF9WRVJUSUNBTF9MSU5FX0NPVU5UOwo+IC0JCUk5MTVfV1JJVEUocmVnLCBjaGlj a2VuKTsKPiArCQlJOTE1X1dSSVRFKENISUNLRU5fVFJBTlNfRURQLCBjaGlja2VuKTsKPiAgCX0K PiAgCj4gIAkvKgo+IEBAIC0xMjI1LDcgKzExNTQsNyBAQCB2b2lkIGludGVsX3Bzcl9pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCSAqIHRvIGF2b2lkIGFueSByZW5k ZXJpbmcgcHJvYmxlbXMuCj4gIAkgKi8KPiAgCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0lJUik7 Cj4gLQl2YWwgJj0gRURQX1BTUl9FUlJPUihlZHBfcHNyX3NoaWZ0KFRSQU5TQ09ERVJfRURQKSk7 Cj4gKwl2YWwgJj0gRURQX1BTUl9FUlJPUjsKPiAgCWlmICh2YWwpIHsKPiAgCQlEUk1fREVCVUdf S01TKCJQU1IgaW50ZXJydXB0aW9uIGVycm9yIHNldFxuIik7Cj4gIAkJZGV2X3ByaXYtPnBzci5z aW5rX25vdF9yZWxpYWJsZSA9IHRydWU7Cj4gLS0gCj4gMi4yMS4wCj4gCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOk bMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==