From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Make ips_enabled a property depending on whether IPS is enabled, v3. Date: Wed, 22 Nov 2017 17:34:56 +0200 Message-ID: <20171122153456.GP10981@intel.com> References: <20171120140144.GV10981@intel.com> <20171122150717.14162-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D5AF66E673 for ; Wed, 22 Nov 2017 15:34:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171122150717.14162-1-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBOb3YgMjIsIDIwMTcgYXQgMDQ6MDc6MTdQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gaXBzX2VuYWJsZWQgd2FzIHVzZWQgYXMgYSB2YXJpYWJsZSBvZiB3aGV0aGVy IElQUyBjYW4gYmUgZW5hYmxlZCBvciBub3QsCj4gYnV0IHNob3VsZCBiZSB1c2VkIHRvIHRlc3Qg d2hldGhlciBJUFMgaXMgYWN0dWFsbHkgZW5hYmxlZC4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ IC0gQ2FsbCBuZWVkc19tb2Rlc2V0IG9uIG5ldyBjcnRjIHN0YXRlLiAoVmlsbGUpCj4gLSBJUFMg Y2FuIGJlIGVuYWJsZWQgd2l0aCBzcHJpdGUgcGxhbmUgZW5hYmxlZCB0b28uIChWaWxsZSkKPiAt IEZpeCBDRENMSyB2cyBJUFMgd29ya2Fyb3VuZC4gKFZpbGxlKQo+IENoYW5nZXMgc2luY2UgdjI6 Cj4gLSBPbmx5IHJlLWVuYWJsZSBmYXN0c2V0IHdoZW4gaW5oZXJpdGluZyBtb2RlLiAoVmlsbGUp Cj4gLSBQdXQgdGhlIGNvbmRpdGlvbnMgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgSVBTIGlu IGEgaGVscGVyLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NkY2xrLmMgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jICB8IDE1MSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jIHwgICAyIC0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA5 OCBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NkY2xrLmMKPiBpbmRleCBlODg4NGMyYWRlOTguLjMwYWZmYTc5MDNkNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IEBAIC0xODk2LDcgKzE4OTYsNyBAQCBpbnQgaW50ZWxf Y3J0Y19jb21wdXRlX21pbl9jZGNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiAgCW1pbl9jZGNsayA9IGludGVsX3BpeGVsX3JhdGVfdG9fY2RjbGsoZGV2X3By aXYsIGNydGNfc3RhdGUtPnBpeGVsX3JhdGUpOwo+ICAKPiAgCS8qIHBpeGVsIHJhdGUgbXVzdG4n dCBleGNlZWQgOTUlIG9mIGNkY2xrIHdpdGggSVBTIG9uIEJEVyAqLwo+IC0JaWYgKElTX0JST0FE V0VMTChkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+aXBzX2VuYWJsZWQpCj4gKwlpZiAoSVNfQlJP QURXRUxMKGRldl9wcml2KSAmJiBoc3dfcGlwZV9jb25maWdfaXBzX2NhcGFibGUoY3J0Y19zdGF0 ZSkpCj4gIAkJbWluX2NkY2xrID0gRElWX1JPVU5EX1VQKG1pbl9jZGNsayAqIDEwMCwgOTUpOwo+ ICAKPiAgCS8qIEJTcGVjIHNheXMgIkRvIG5vdCB1c2UgRGlzcGxheVBvcnQgd2l0aCBDRENMSyBs ZXNzIHRoYW4gNDMyIE1IeiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5k ZXggMjAwN2M2OTQ2OGI5Li5iNjJjYjZlOTA2NjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gQEAgLTQ4OSw3ICs0ODksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2xpbWl0IGludGVsX2xpbWl0c19ieHQgPSB7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgYm9vbAo+ IC1uZWVkc19tb2Rlc2V0KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gK25lZWRzX21v ZGVzZXQoY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiAgewo+ICAJcmV0dXJu IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KHN0YXRlKTsKPiAgfQo+IEBAIC00ODcwLDcg KzQ4NzAsNyBAQCB2b2lkIGhzd19lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2Uu ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+ICAKPiAtCWlmICghY3J0Yy0+Y29uZmlnLT5pcHNfZW5hYmxlZCkKPiArCWlmICghY3J0Y19z dGF0ZS0+aXBzX2VuYWJsZWQpCj4gIAkJcmV0dXJuOwo+ICAKPiAgCS8qCj4gQEAgLTQ5NjYsMTQg KzQ5NjYsNiBAQCBpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj KTsKPiAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgCj4gLQkvKgo+IC0JICogRklY TUUgSVBTIHNob3VsZCBiZSBmaW5lIGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCj4gLQkgKiBlbmFi bGVkLCBidXQgaW4gcHJhY3RpY2UgaXQgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcwo+IC0JICogd2hl biBnb2luZyBmcm9tIHByaW1hcnkgb25seSB0byBzcHJpdGUgb25seSBhbmQgdmljZQo+IC0JICog dmVyc2EuCj4gLQkgKi8KPiAtCWhzd19lbmFibGVfaXBzKG5ld19jcnRjX3N0YXRlKTsKPiAtCj4g IAkvKgo+ICAJICogR2VuMiByZXBvcnRzIHBpcGUgdW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFu ZXMgYXJlIGRpc2FibGVkLgo+ICAJICogU28gZG9uJ3QgZW5hYmxlIHVuZGVycnVuIHJlcG9ydGlu ZyBiZWZvcmUgYXQgbGVhc3Qgc29tZSBwbGFuZXMKPiBAQCAtNDk4OSwxMCArNDk4MSw5IEBAIGlu dGVsX3Bvc3RfZW5hYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJaW50ZWxf Y2hlY2tfcGNoX2ZpZm9fdW5kZXJydW5zKGRldl9wcml2KTsKPiAgfQo+ICAKPiAtLyogRklYTUUg bW92ZSBhbGwgdGhpcyB0byBwcmVfcGxhbmVfdXBkYXRlKCkgd2l0aCBwcm9wZXIgc3RhdGUgdHJh Y2tpbmcgKi8KPiArLyogRklYTUUgZ2V0IHJpZCBvZiB0aGlzIGFuZCB1c2UgcHJlX3BsYW5lX3Vw ZGF0ZSAqLwo+ICBzdGF0aWMgdm9pZAo+IC1pbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKPiAtCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq b2xkX2NydGNfc3RhdGUpCj4gK2ludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnlfbm9hdG9taWMoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwo+IEBAIC01MDAxLDMyICs0OTkyLDEyIEBAIGludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnko c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgCS8qCj4gIAkgKiBHZW4yIHJlcG9ydHMgcGlw ZSB1bmRlcnJ1bnMgd2hlbmV2ZXIgYWxsIHBsYW5lcyBhcmUgZGlzYWJsZWQuCj4gLQkgKiBTbyBk aWFzYmxlIHVuZGVycnVuIHJlcG9ydGluZyBiZWZvcmUgYWxsIHRoZSBwbGFuZXMgZ2V0IGRpc2Fi bGVkLgo+IC0JICogRklYTUU6IE5lZWQgdG8gZml4IHRoZSBsb2dpYyB0byB3b3JrIHdoZW4gd2Ug dHVybiBvZmYgYWxsIHBsYW5lcwo+IC0JICogYnV0IGxlYXZlIHRoZSBwaXBlIHJ1bm5pbmcuCj4g KwkgKiBTbyBkaXNhYmxlIHVuZGVycnVuIHJlcG9ydGluZyBiZWZvcmUgYWxsIHRoZSBwbGFuZXMg Z2V0IGRpc2FibGVkLgo+ICAJICovCj4gIAlpZiAoSVNfR0VOMihkZXZfcHJpdikpCj4gIAkJaW50 ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgZmFsc2Up Owo+ICAKPiAtCS8qCj4gLQkgKiBGSVhNRSBJUFMgc2hvdWxkIGJlIGZpbmUgYXMgbG9uZyBhcyBv bmUgcGxhbmUgaXMKPiAtCSAqIGVuYWJsZWQsIGJ1dCBpbiBwcmFjdGljZSBpdCBzZWVtcyB0byBo YXZlIHByb2JsZW1zCj4gLQkgKiB3aGVuIGdvaW5nIGZyb20gcHJpbWFyeSBvbmx5IHRvIHNwcml0 ZSBvbmx5IGFuZCB2aWNlCj4gLQkgKiB2ZXJzYS4KPiAtCSAqLwo+IC0JaHN3X2Rpc2FibGVfaXBz KG9sZF9jcnRjX3N0YXRlKTsKPiAtfQo+IC0KPiAtLyogRklYTUUgZ2V0IHJpZCBvZiB0aGlzIGFu ZCB1c2UgcHJlX3BsYW5lX3VwZGF0ZSAqLwo+IC1zdGF0aWMgdm9pZAo+IC1pbnRlbF9wcmVfZGlz YWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAtewo+IC0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRl bF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiAtCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+ cGlwZTsKPiAtCj4gLQlpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KGNydGMsIHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpKTsKPiArCWhzd19kaXNhYmxlX2lwcyh0b19pbnRlbF9jcnRj X3N0YXRlKGNydGMtPnN0YXRlKSk7Cj4gIAo+ICAJLyoKPiAgCSAqIFZibGFuayB0aW1lIHVwZGF0 ZXMgZnJvbSB0aGUgc2hhZG93IHRvIGxpdmUgcGxhbmUgY29udHJvbCByZWdpc3Rlcgo+IEBAIC01 MDQyLDYgKzUwMTMsMzggQEAgaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeV9ub2F0b21pYyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldl9wcml2LCBw aXBlKTsKPiAgfQo+ICAKPiArc3RhdGljIGJvb2wgaHN3X3ByZV91cGRhdGVfZGlzYWJsZV9pcHMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICsJCQkJICAg ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiArewo+ ICsJaWYgKCFvbGRfY3J0Y19zdGF0ZS0+aXBzX2VuYWJsZWQpCj4gKwkJcmV0dXJuIGZhbHNlOwo+ ICsKPiArCWlmIChuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0ZS0+YmFzZSkpCj4gKwkJcmV0 dXJuIHRydWU7Cj4gKwo+ICsJcmV0dXJuICFuZXdfY3J0Y19zdGF0ZS0+aXBzX2VuYWJsZWQ7Cj4g K30KPiArCj4gK3N0YXRpYyBib29sIGhzd19wb3N0X3VwZGF0ZV9lbmFibGVfaXBzKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiArCQkJCSAgICAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCj4gK3sKPiArCWlmICgh bmV3X2NydGNfc3RhdGUtPmlwc19lbmFibGVkKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlp ZiAobmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpKQo+ICsJCXJldHVybiB0cnVl Owo+ICsKPiArCS8qCj4gKwkgKiBXZSBjYW4ndCByZWFkIG91dCBJUFMgb24gYnJvYWR3ZWxsLCBh c3N1bWUgdGhlIHdvcnN0IGFuZAo+ICsJICogZm9yY2libHkgZW5hYmxlIElQUyBvbiB0aGUgZmly c3QgZmFzdHNldC4KPiArCSAqLwo+ICsJaWYgKG5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSAm Jgo+ICsJICAgIG9sZF9jcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUucHJpdmF0ZV9mbGFn cyAmIEk5MTVfTU9ERV9GTEFHX0lOSEVSSVRFRCkKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwly ZXR1cm4gIW9sZF9jcnRjX3N0YXRlLT5pcHNfZW5hYmxlZDsKPiArfQo+ICsKPiAgc3RhdGljIHZv aWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gQEAgLTUwNTgsNiArNTA2MSw5IEBAIHN0 YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpvbGRfY3J0Y19zdGF0ZSkKPiAgCWlmIChwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3Bvc3QgJiYg cGlwZV9jb25maWctPmJhc2UuYWN0aXZlKQo+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNy dGMpOwo+ICAKPiArCWlmIChoc3dfcG9zdF91cGRhdGVfZW5hYmxlX2lwcyhvbGRfY3J0Y19zdGF0 ZSwgcGlwZV9jb25maWcpKQo+ICsJCWhzd19lbmFibGVfaXBzKHBpcGVfY29uZmlnKTsKPiArCj4g IAlpZiAob2xkX3ByaV9zdGF0ZSkgewo+ICAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHJp bWFyeV9zdGF0ZSA9Cj4gIAkJCWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHRvX2lu dGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUpLAo+IEBAIC01MDg4LDYgKzUwOTQsOSBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGF0ZSwKPiAgCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKm9sZF9pbnRlbF9z dGF0ZSA9Cj4gIAkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSk7Cj4gIAo+ICsJaWYg KGhzd19wcmVfdXBkYXRlX2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlLCBwaXBlX2NvbmZpZykp Cj4gKwkJaHN3X2Rpc2FibGVfaXBzKG9sZF9jcnRjX3N0YXRlKTsKPiArCj4gIAlpZiAob2xkX3By aV9zdGF0ZSkgewo+ICAJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHJpbWFyeV9zdGF0ZSA9 Cj4gIAkJCWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKG9sZF9pbnRlbF9zdGF0ZSwK PiBAQCAtNTA5NiwxMCArNTEwNSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBk YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAgCQkJdG9faW50 ZWxfcGxhbmVfc3RhdGUob2xkX3ByaV9zdGF0ZSk7Cj4gIAo+ICAJCWludGVsX2ZiY19wcmVfdXBk YXRlKGNydGMsIHBpcGVfY29uZmlnLCBwcmltYXJ5X3N0YXRlKTsKPiAtCj4gLQkJaWYgKG9sZF9w cmltYXJ5X3N0YXRlLT5iYXNlLnZpc2libGUgJiYKPiArCQkvKgo+ICsJCSAqIEdlbjIgcmVwb3J0 cyBwaXBlIHVuZGVycnVucyB3aGVuZXZlciBhbGwgcGxhbmVzIGFyZSBkaXNhYmxlZC4KPiArCQkg KiBTbyBkaXNhYmxlIHVuZGVycnVuIHJlcG9ydGluZyBiZWZvcmUgYWxsIHRoZSBwbGFuZXMgZ2V0 IGRpc2FibGVkLgo+ICsJCSAqLwo+ICsJCWlmIChJU19HRU4yKGRldl9wcml2KSAmJiBvbGRfcHJp bWFyeV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCj4gIAkJICAgIChtb2Rlc2V0IHx8ICFwcmltYXJ5 X3N0YXRlLT5iYXNlLnZpc2libGUpKQo+IC0JCQlpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KCZj cnRjLT5iYXNlLCBvbGRfY3J0Y19zdGF0ZSk7Cj4gKwkJCWludGVsX3NldF9jcHVfZmlmb191bmRl cnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIGNydGMtPnBpcGUsIGZhbHNlKTsKPiAgCX0KPiAgCj4g IAkvKgo+IEBAIC02MjI4LDE1ICs2MjQwLDQyIEBAIHN0YXRpYyBpbnQgaXJvbmxha2VfZmRpX2Nv bXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJcmV0dXJuIHJl dDsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgcGlwZV9jb25maWdfc3VwcG9ydHNfaXBzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJCSAgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICtib29sIGhzd19waXBlX2NvbmZpZ19pcHNfY2FwYWJs ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCj4gIHsKPiAtCWlm IChwaXBlX2NvbmZpZy0+aXBzX2ZvcmNlX2Rpc2FibGUpCj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7Cj4gKwo+ICsJLyog SVBTIG9ubHkgZXhpc3RzIG9uIFVMVCBtYWNoaW5lcyBhbmQgaXMgdGllZCB0byBwaXBlIEEuICov Cj4gKwlpZiAoIWhzd19jcnRjX3N1cHBvcnRzX2lwcyhjcnRjKSkKPiArCQlyZXR1cm4gZmFsc2U7 Cj4gKwo+ICsJaWYgKCFpOTE1X21vZHBhcmFtcy5lbmFibGVfaXBzKQo+ICAJCXJldHVybiBmYWxz ZTsKPiAgCj4gIAlpZiAocGlwZV9jb25maWctPnBpcGVfYnBwID4gMjQpCj4gIAkJcmV0dXJuIGZh bHNlOwo+ICAKPiArCXJldHVybiB0cnVlOwoKVGhlIG1heF9jZGNsayBjaGVjayBzaG91bGQgYmUg aGVyZS4KCk90aGVyd2lzZSB0aGlzIGxvb2tzIHF1aXRlIG5pY2UuCgpNYXliZSBhbHNvIHJlLWFk ZCB0aGUgaXBzX2VuYWJsZWQgdnMuIGh3IHN0YXRlIGFzc2VydCBvbiBIU1c/CkkgZ3Vlc3MgaW50 ZWxfdmVyaWZ5X3BsYW5lcygpIG1pZ3RoIGJlIGEgbmljZSBwbGFjZSBmb3IgaXQsIGluCmNhc2Ug d2UgZXZlciBkZWNpZGUgdG8gc3RhcnQgZG9pbmcgdGhlc2UgY2hlY2tzIGZvciBwdXJlIHBsYW5l CnVwZGF0ZXMgYXMgd2VsbC4uLgoKCj4gK30KPiArCj4gK3N0YXRpYyBib29sIGhzd19jb21wdXRl X2lwc19jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICt7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHBpcGVfY29uZmln LT5iYXNlLmNydGMtPmRldik7Cj4gKwo+ICsJaWYgKCFoc3dfcGlwZV9jb25maWdfaXBzX2NhcGFi bGUocGlwZV9jb25maWcpKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAocGlwZV9jb25m aWctPmlwc19mb3JjZV9kaXNhYmxlKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwkvKgo+ICsJ ICogRklYTUUgSVBTIHNob3VsZCBiZSBmaW5lIGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCj4gKwkg KiBlbmFibGVkLCBidXQgaW4gcHJhY3RpY2UgaXQgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcwo+ICsJ ICogd2hlbiBnb2luZyBmcm9tIHByaW1hcnkgb25seSB0byBzcHJpdGUgb25seSBhbmQgdmljZQo+ ICsJICogdmVyc2EuCj4gKwkgKi8KPiArCWlmICghKHBpcGVfY29uZmlnLT5hY3RpdmVfcGxhbmVz ICYgQklUKFBMQU5FX1BSSU1BUlkpKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICAJLyogSFNX IGNhbiBoYW5kbGUgcGl4ZWwgcmF0ZSB1cCB0byBjZGNsaz8gKi8KPiAgCWlmIChJU19IQVNXRUxM KGRldl9wcml2KSkKPiAgCQlyZXR1cm4gdHJ1ZTsKPiBAQCAtNjI1MiwxNyArNjI5MSw2IEBAIHN0 YXRpYyBib29sIHBpcGVfY29uZmlnX3N1cHBvcnRzX2lwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAkJZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxICogOTUgLyAxMDA7Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIGhzd19jb21wdXRlX2lwc19jb25maWcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCj4g LQlwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQgPSBpOTE1X21vZHBhcmFtcy5lbmFibGVfaXBzICYm Cj4gLQkJaHN3X2NydGNfc3VwcG9ydHNfaXBzKGNydGMpICYmCj4gLQkJcGlwZV9jb25maWdfc3Vw cG9ydHNfaXBzKGRldl9wcml2LCBwaXBlX2NvbmZpZyk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBib29s IGludGVsX2NydGNfc3VwcG9ydHNfZG91YmxlX3dpZGUoY29uc3Qgc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIHsKPiAgCWNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+IEBAIC02Mzc4LDkgKzY0MDYsNiBAQCBzdGF0aWMg aW50IGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4g IAo+ICAJaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUocGlwZV9jb25maWcpOwo+ICAKPiAt CWlmIChIQVNfSVBTKGRldl9wcml2KSkKPiAtCQloc3dfY29tcHV0ZV9pcHNfY29uZmlnKGNydGMs IHBpcGVfY29uZmlnKTsKPiAtCj4gIAlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikK PiAgCQlyZXR1cm4gaXJvbmxha2VfZmRpX2NvbXB1dGVfY29uZmlnKGNydGMsIHBpcGVfY29uZmln KTsKPiAgCj4gQEAgLTkyNzUsNiArOTMwMCwxOSBAQCBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9w aXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQkJaXJvbmxha2VfZ2V0X3Bm aXRfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnKTsKPiAgCX0KPiAgCj4gKwlpZiAoaHN3X2NydGNf c3VwcG9ydHNfaXBzKGNydGMpKSB7Cj4gKwkJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+ICsJ CQlwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQgPSBJOTE1X1JFQUQoSVBTX0NUTCkgJiBJUFNfRU5B QkxFOwo+ICsJCWVsc2Ugewo+ICsJCQkvKgo+ICsJCQkgKiBXZSBjYW5ub3QgcmVhZG91dCBJUFMg c3RhdGUgb24gYnJvYWR3ZWxsLCBzZXQgdG8KPiArCQkJICogdHJ1ZSBzbyB3ZSBjYW4gc2V0IGl0 IHRvIGEgZGVmaW5lZCBzdGF0ZSBvbiBmaXJzdAo+ICsJCQkgKiBjb21taXQuCj4gKwkJCSAqLwo+ ICsJCQlwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQgPSB0cnVlOwo+ICsJCX0KPiArCX0KPiArCj4g IAlpZiAocGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVyICE9IFRSQU5TQ09ERVJfRURQICYmCj4g IAkgICAgIXRyYW5zY29kZXJfaXNfZHNpKHBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlcikpIHsK PiAgCQlwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciA9Cj4gQEAgLTEwNDg5LDYgKzEwNTI3 LDkgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4gIAkJCQkJCQkgcGlwZV9jb25maWcpOwo+ICAJfQo+ICAKPiArCWlmIChIQVNfSVBT KGRldl9wcml2KSkKPiArCQlwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQgPSBoc3dfY29tcHV0ZV9p cHNfY29uZmlnKHBpcGVfY29uZmlnKTsKPiArCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNjlhYWIzMjRhYWExLi40MDQxN2IyMDg0NGUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xNDg1LDYgKzE0ODUsNyBAQCBi b29sIGJ4dF9maW5kX2Jlc3RfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwgaW50IHRhcmdldF9jbG9jaywKPiAgaW50IGNodl9jYWxjX2RwbGxfcGFyYW1zKGludCByZWZj bGssIHN0cnVjdCBkcGxsICpwbGxfY2xvY2spOwo+ICAKPiAgYm9vbCBpbnRlbF9jcnRjX2FjdGl2 ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gK2Jvb2wgaHN3X3BpcGVfY29uZmlnX2lwc19j YXBhYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gIHZv aWQgaHN3X2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpOwo+ICB2b2lkIGhzd19kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSk7Cj4gIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gaW50ZWxf cG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcGlwZV9jcmMuYwo+IGluZGV4IDYxNjQxZDQ3OWI5My4uMWY1Y2Q1NzJhN2ZmIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gQEAgLTU0MSw4ICs1NDEsNiBA QCBzdGF0aWMgdm9pZCBoc3dfcGlwZV9BX2NyY193YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAkJICogY29tcGxldGVseSBkaXNhYmxlIGl0Lgo+ICAJCSAqLwo+ICAJCXBp cGVfY29uZmlnLT5pcHNfZm9yY2VfZGlzYWJsZSA9IGVuYWJsZTsKPiAtCQlpZiAocGlwZV9jb25m aWctPmlwc19lbmFibGVkID09IGVuYWJsZSkKPiAtCQkJcGlwZV9jb25maWctPmJhc2UuY29ubmVj dG9yc19jaGFuZ2VkID0gdHJ1ZTsKPiAgCX0KPiAgCj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJp dikpIHsKPiAtLSAKPiAyLjE1LjAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=