From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH 1/3] drm/i915: Make ips_enabled a property depending on whether IPS is enabled. Date: Mon, 20 Nov 2017 11:48:22 +0100 Message-ID: References: <20171117153756.33558-1-maarten.lankhorst@linux.intel.com> <20171117153756.33558-2-maarten.lankhorst@linux.intel.com> <20171117155257.GM10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 882A189E2B for ; Mon, 20 Nov 2017 10:48:24 +0000 (UTC) In-Reply-To: <20171117155257.GM10981@intel.com> 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: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMTctMTEtMTcgb20gMTY6NTIgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gRnJpLCBO b3YgMTcsIDIwMTcgYXQgMDQ6Mzc6NTRQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IGlwc19lbmFibGVkIHdhcyB1c2VkIGFzIGEgdmFyaWFibGUgb2Ygd2hldGhlciBJUFMgY2Fu IGJlIGVuYWJsZWQgb3Igbm90LAo+PiBidXQgc2hvdWxkIGJlIHVzZWQgdG8gdGVzdCB3aGV0aGVy IElQUyBpcyBhY3R1YWxseSBlbmFibGVkLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExh bmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0KPj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgfCA3NSArKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9j cmMuYyB8ICAyIC0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgNDIgZGVs ZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXgg M2IzZGVjMWU2NjQwLi44MjgzZTgwNTk3YmQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPj4gQEAgLTQ4NzAsNyArNDg3MCw3IEBAIHZvaWQgaHN3X2VuYWJsZV9pcHMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPj4gIAo+PiAtCWlmICghY3J0Yy0+Y29uZmln LT5pcHNfZW5hYmxlZCkKPj4gKwlpZiAoIWNydGNfc3RhdGUtPmlwc19lbmFibGVkKQo+PiAgCQly ZXR1cm47Cj4+ICAKPj4gIAkvKgo+PiBAQCAtNDk2NiwxNCArNDk2Niw2IEBAIGludGVsX3Bvc3Rf ZW5hYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCXN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPj4gIAlpbnQgcGlwZSA9IGlu dGVsX2NydGMtPnBpcGU7Cj4+ICAKPj4gLQkvKgo+PiAtCSAqIEZJWE1FIElQUyBzaG91bGQgYmUg ZmluZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBpcwo+PiAtCSAqIGVuYWJsZWQsIGJ1dCBpbiBwcmFj dGljZSBpdCBzZWVtcyB0byBoYXZlIHByb2JsZW1zCj4+IC0JICogd2hlbiBnb2luZyBmcm9tIHBy aW1hcnkgb25seSB0byBzcHJpdGUgb25seSBhbmQgdmljZQo+PiAtCSAqIHZlcnNhLgo+PiAtCSAq Lwo+PiAtCWhzd19lbmFibGVfaXBzKG5ld19jcnRjX3N0YXRlKTsKPj4gLQo+PiAgCS8qCj4+ICAJ ICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFuZXMgYXJlIGRp c2FibGVkLgo+PiAgCSAqIFNvIGRvbid0IGVuYWJsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3Jl IGF0IGxlYXN0IHNvbWUgcGxhbmVzCj4+IEBAIC00OTg5LDEwICs0OTgxLDkgQEAgaW50ZWxfcG9z dF9lbmFibGVfcHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJaW50ZWxfY2hlY2tf cGNoX2ZpZm9fdW5kZXJydW5zKGRldl9wcml2KTsKPj4gIH0KPj4gIAo+PiAtLyogRklYTUUgbW92 ZSBhbGwgdGhpcyB0byBwcmVfcGxhbmVfdXBkYXRlKCkgd2l0aCBwcm9wZXIgc3RhdGUgdHJhY2tp bmcgKi8KPj4gKy8qIEZJWE1FIGdldCByaWQgb2YgdGhpcyBhbmQgdXNlIHByZV9wbGFuZV91cGRh dGUgKi8KPj4gIHN0YXRpYyB2b2lkCj4+IC1pbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPj4gLQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km9sZF9jcnRjX3N0YXRlKQo+PiAraW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeV9ub2F0b21pYyhz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ICB7Cj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNydGMtPmRldjsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Cj4+IEBAIC01MDAxLDMyICs0OTkyLDEyIEBAIGludGVsX3ByZV9kaXNhYmxlX3By aW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgCj4+ICAJLyoKPj4gIAkgKiBHZW4yIHJl cG9ydHMgcGlwZSB1bmRlcnJ1bnMgd2hlbmV2ZXIgYWxsIHBsYW5lcyBhcmUgZGlzYWJsZWQuCj4+ IC0JICogU28gZGlhc2JsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGFsbCB0aGUgcGxhbmVz IGdldCBkaXNhYmxlZC4KPj4gLQkgKiBGSVhNRTogTmVlZCB0byBmaXggdGhlIGxvZ2ljIHRvIHdv cmsgd2hlbiB3ZSB0dXJuIG9mZiBhbGwgcGxhbmVzCj4+IC0JICogYnV0IGxlYXZlIHRoZSBwaXBl IHJ1bm5pbmcuCj4+ICsJICogU28gZGlzYWJsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGFs bCB0aGUgcGxhbmVzIGdldCBkaXNhYmxlZC4KPj4gIAkgKi8KPj4gIAlpZiAoSVNfR0VOMihkZXZf cHJpdikpCj4+ICAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3By aXYsIHBpcGUsIGZhbHNlKTsKPj4gIAo+PiAtCS8qCj4+IC0JICogRklYTUUgSVBTIHNob3VsZCBi ZSBmaW5lIGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCj4+IC0JICogZW5hYmxlZCwgYnV0IGluIHBy YWN0aWNlIGl0IHNlZW1zIHRvIGhhdmUgcHJvYmxlbXMKPj4gLQkgKiB3aGVuIGdvaW5nIGZyb20g cHJpbWFyeSBvbmx5IHRvIHNwcml0ZSBvbmx5IGFuZCB2aWNlCj4+IC0JICogdmVyc2EuCj4+IC0J ICovCj4+IC0JaHN3X2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlKTsKPj4gLX0KPj4gLQo+PiAt LyogRklYTUUgZ2V0IHJpZCBvZiB0aGlzIGFuZCB1c2UgcHJlX3BsYW5lX3VwZGF0ZSAqLwo+PiAt c3RhdGljIHZvaWQKPj4gLWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnlfbm9hdG9taWMoc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+PiAtewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRj LT5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwo+PiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjKTsKPj4gLQlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4+IC0KPj4gLQlpbnRlbF9w cmVfZGlzYWJsZV9wcmltYXJ5KGNydGMsIHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUp KTsKPj4gKwloc3dfZGlzYWJsZV9pcHModG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSkp Owo+IEJUVyB0aGlua2luZyBhYm91dCB0aGUgbGFjayBvZiByZWFkb3V0IG9uIEJEVy4gSW4gY2Fz ZSB0aGUgQklPUyBldmVyCj4gZW5hYmxlcyBJUFMsIEkgdGhpbmsgd2Ugc2hvdWxkIHNhbml0aXpl IGlwc19lbmFibGVkIHRvIHRydWUgb24gQkRXLgo+IE9yIG1heWJlIGp1c3QgaGF2ZSB0aGUgcmVk YW91dCBjb2RlIGFsd2F5cyBzZXQgaXBzX2VuYWJsZWQ9dHJ1ZSBvbiBCRFc/Cj4gVGhhdCB3YXkg dGhlIGZpcnN0IG1vZGVzZXQgd2lsbCB0cnkgdG8gdHVybiBpdCBvZmYgcmVnYXJkbGVzcyBvZiB3 aGV0aGVyIGl0Cj4gd2FzIGVuYWJsZWQgb3Igbm90LgpZZXMsIGdvb2QgaWRlYS4gOikKPj4gIAo+ PiAgCS8qCj4+ICAJICogVmJsYW5rIHRpbWUgdXBkYXRlcyBmcm9tIHRoZSBzaGFkb3cgdG8gbGl2 ZSBwbGFuZSBjb250cm9sIHJlZ2lzdGVyCj4+IEBAIC01MDU4LDYgKzUwMjksMTEgQEAgc3RhdGlj IHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlKQo+PiAgCWlmIChwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3Bvc3QgJiYgcGlw ZV9jb25maWctPmJhc2UuYWN0aXZlKQo+PiAgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRj KTsKPj4gIAo+PiArCWlmICghb2xkX2NydGNfc3RhdGUtPmlwc19lbmFibGVkIHx8Cj4+ICsJICAg IG5lZWRzX21vZGVzZXQoJm9sZF9jcnRjX3N0YXRlLT5iYXNlKSB8fAo+IFNob3VkbGRuJ3QgdGhh dCBiZSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKT8KWWVzLCBvb3BzLi4KPj4gKwkgICAg cGlwZV9jb25maWctPnVwZGF0ZV9waXBlKQo+IFdoeSBkbyB3ZSBoYXZlIHRvIGNoZWNrIHRoYXQ/ CkluIGNhc2Ugd2UgdGFrZSBvdmVyIHRoZSBodyBzdGF0ZSBmcm9tIGJpb3MuLgoKSWYgd2UgZGVm YXVsdCBpcHNfZW5hYmxlZCB0byB0cnVlIG9uIEJEVyBhbmQgcmVhZCBvdXQgb24gSFNXIGFnYWlu LCB0aGVuIHRoaXMKY2hlY2sgd2lsbCBtYWtlIElQUyB3b3JrLCByZWdhcmRsZXNzIG9mIGJpb3Mg c2V0dGluZy4uCgo+PiArCQloc3dfZW5hYmxlX2lwcyhwaXBlX2NvbmZpZyk7Cj4+ICsKPj4gIAlp ZiAob2xkX3ByaV9zdGF0ZSkgewo+PiAgCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnByaW1h cnlfc3RhdGUgPQo+PiAgCQkJaW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUodG9faW50 ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSksCj4+IEBAIC01MDg4LDYgKzUwNjQsOSBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGF0ZSwKPj4gIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpvbGRfaW50ZWxf c3RhdGUgPQo+PiAgCQl0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKTsKPj4gIAo+PiAr CWlmIChuZWVkc19tb2Rlc2V0KCZwaXBlX2NvbmZpZy0+YmFzZSkgfHwgIXBpcGVfY29uZmlnLT5p cHNfZW5hYmxlZCkKPj4gKwkJaHN3X2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlKTsKPj4gKwo+ PiAgCWlmIChvbGRfcHJpX3N0YXRlKSB7Cj4+ICAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cHJpbWFyeV9zdGF0ZSA9Cj4+ICAJCQlpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZShv bGRfaW50ZWxfc3RhdGUsCj4+IEBAIC01MDk2LDEwICs1MDc1LDEzIEBAIHN0YXRpYyB2b2lkIGlu dGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0 YXRlLAo+PiAgCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUob2xkX3ByaV9zdGF0ZSk7Cj4+ICAKPj4g IAkJaW50ZWxfZmJjX3ByZV91cGRhdGUoY3J0YywgcGlwZV9jb25maWcsIHByaW1hcnlfc3RhdGUp Owo+PiAtCj4+IC0JCWlmIChvbGRfcHJpbWFyeV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCj4+ICsJ CS8qCj4+ICsJCSAqIEdlbjIgcmVwb3J0cyBwaXBlIHVuZGVycnVucyB3aGVuZXZlciBhbGwgcGxh bmVzIGFyZSBkaXNhYmxlZC4KPj4gKwkJICogU28gZGlzYWJsZSB1bmRlcnJ1biByZXBvcnRpbmcg YmVmb3JlIGFsbCB0aGUgcGxhbmVzIGdldCBkaXNhYmxlZC4KPj4gKwkJICovCj4+ICsJCWlmIChJ U19HRU4yKGRldl9wcml2KSAmJiBvbGRfcHJpbWFyeV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCj4+ ICAJCSAgICAobW9kZXNldCB8fCAhcHJpbWFyeV9zdGF0ZS0+YmFzZS52aXNpYmxlKSkKPj4gLQkJ CWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoJmNydGMtPmJhc2UsIG9sZF9jcnRjX3N0YXRlKTsK Pj4gKwkJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIGNy dGMtPnBpcGUsIGZhbHNlKTsKPj4gIAl9Cj4+ICAKPj4gIAkvKgo+PiBAQCAtNjIzMSwxMiArNjIx MywyNSBAQCBzdGF0aWMgaW50IGlyb25sYWtlX2ZkaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YywKPj4gIHN0YXRpYyBib29sIHBpcGVfY29uZmlnX3N1cHBvcnRz X2lwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJCQkJICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4+ICB7Cj4+ICsJdTggdmlzaWJsZV9w bGFuZXM7Cj4+ICsKPj4gIAlpZiAocGlwZV9jb25maWctPmlwc19mb3JjZV9kaXNhYmxlKQo+PiAg CQlyZXR1cm4gZmFsc2U7Cj4+ICAKPj4gIAlpZiAocGlwZV9jb25maWctPnBpcGVfYnBwID4gMjQp Cj4+ICAJCXJldHVybiBmYWxzZTsKPj4gIAo+PiArCXZpc2libGVfcGxhbmVzID0gcGlwZV9jb25m aWctPmFjdGl2ZV9wbGFuZXMgJiB+QklUKFBMQU5FX0NVUlNPUik7Cj4+ICsKPj4gKwkvKgo+PiAr CSAqIEZJWE1FIElQUyBzaG91bGQgYmUgZmluZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBpcwo+PiAr CSAqIGVuYWJsZWQsIGJ1dCBpbiBwcmFjdGljZSBpdCBzZWVtcyB0byBoYXZlIHByb2JsZW1zCj4+ ICsJICogd2hlbiBnb2luZyBmcm9tIHByaW1hcnkgb25seSB0byBzcHJpdGUgb25seSBhbmQgdmlj ZQo+PiArCSAqIHZlcnNhLgo+PiArCSAqLwo+PiArCWlmICh2aXNpYmxlX3BsYW5lcyAhPSBCSVQo UExBTkVfUFJJTUFSWSkpCj4+ICsJCXJldHVybiBmYWxzZTsKPiBJIHRoaW5rIHRoYXQgc2hvdWxk IGJlICcoYWN0aXZlX3BsYW5lcyAmIFBSSU1BUlkpID09IDAnLiBBcyBpbiB3ZSBkb24ndAo+IGNh cmUgd2hhdCB0aGUgb3RoZXIgcGxhbmVzIGFyZSBkb2luZywgSVBTIGp1c3QgdHJhY2tzIHRoZSBw cmltYXJ5IHN0YXRlCj4gKGZvciB0aGUgdGltZSBiZWluZykuCk9vcHMsIGZhdWx0aWx5IGFzc3Vt ZWQgZnJvbSB0aGUgY29tbWVudCB0aGF0IElQUyBvbmx5IHdvcmtlZCB3aXRoIHRoZSBwcmltYXJ5 IHBsYW5lCm9yIHNwcml0ZSBwbGFuZSwgbm90IGJvdGguIEknbGwgY29ycmVjdCBpdC4KPiBXaGF0 J3MgbWlzc2luZyBmcm9tIHRoaXMgcGF0Y2ggaXMgY2hhbmdpbmcgdGhlIGNkY2xrIHZzLiBpcHMg d29ya2Fyb3VuZAo+IHRvIG5vdCBhc3N1bWUgdGhhdCBjZGNsayBjYW4gYmUgaW5jcmVhc2VkIHRv IGFjY29tb2RhdGUgaXBzLgpIbSB0cnVlLCBJIG1pc3NlZCB0aGF0Li4KCldpbGwgc2VuZCBhIG5l dyB2ZXJzaW9uIGluIGEgYml0Lgo+PiArCj4+ICAJLyogSFNXIGNhbiBoYW5kbGUgcGl4ZWwgcmF0 ZSB1cCB0byBjZGNsaz8gKi8KPj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4+ICAJCXJl dHVybiB0cnVlOwo+PiBAQCAtNjM3OCw5ICs2MzczLDYgQEAgc3RhdGljIGludCBpbnRlbF9jcnRj X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgCj4+ICAJaW50ZWxf Y3J0Y19jb21wdXRlX3BpeGVsX3JhdGUocGlwZV9jb25maWcpOwo+PiAgCj4+IC0JaWYgKEhBU19J UFMoZGV2X3ByaXYpKQo+PiAtCQloc3dfY29tcHV0ZV9pcHNfY29uZmlnKGNydGMsIHBpcGVfY29u ZmlnKTsKPj4gLQo+PiAgCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQo+PiAgCQly ZXR1cm4gaXJvbmxha2VfZmRpX2NvbXB1dGVfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsKPj4g IAo+PiBAQCAtMTA0ODgsNiArMTA0ODAsOSBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfYXRvbWlj X2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPj4gIAkJCQkJCQkgcGlwZV9jb25maWcpOwo+ PiAgCX0KPj4gIAo+PiArCWlmIChIQVNfSVBTKGRldl9wcml2KSkKPj4gKwkJaHN3X2NvbXB1dGVf aXBzX2NvbmZpZyhpbnRlbF9jcnRjLCBwaXBlX2NvbmZpZyk7Cj4+ICsKPj4gIAlyZXR1cm4gcmV0 Owo+PiAgfQo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w aXBlX2NyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwo+PiBpbmRl eCA2MTY0MWQ0NzliOTMuLjFmNWNkNTcyYTdmZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9waXBlX2NyYy5jCj4+IEBAIC01NDEsOCArNTQxLDYgQEAgc3RhdGljIHZvaWQgaHN3X3Bp cGVfQV9jcmNfd2Eoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCQkgKiBj b21wbGV0ZWx5IGRpc2FibGUgaXQuCj4+ICAJCSAqLwo+PiAgCQlwaXBlX2NvbmZpZy0+aXBzX2Zv cmNlX2Rpc2FibGUgPSBlbmFibGU7Cj4+IC0JCWlmIChwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQg PT0gZW5hYmxlKQo+PiAtCQkJcGlwZV9jb25maWctPmJhc2UuY29ubmVjdG9yc19jaGFuZ2VkID0g dHJ1ZTsKPj4gIAl9Cj4+ICAKPj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKPj4gLS0g Cj4+IDIuMTUuMAo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK