From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/3] drm/i915: Make ips_enabled a property depending on whether IPS is enabled, v2. Date: Mon, 20 Nov 2017 16:01:44 +0200 Message-ID: <20171120140144.GV10981@intel.com> References: <20171120122337.1587-1-maarten.lankhorst@linux.intel.com> <20171120122337.1587-2-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F5476E195 for ; Mon, 20 Nov 2017 14:01:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20171120122337.1587-2-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 T24gTW9uLCBOb3YgMjAsIDIwMTcgYXQgMDE6MjM6MzVQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gaXBzX2VuYWJsZWQgd2FzIHVzZWQgYXMgYSB2YXJpYWJsZSBvZiB3aGV0aGVy IElQUyBjYW4gYmUgZW5hYmxlZCBvciBub3QsCj4gYnV0IHNob3VsZCBiZSB1c2VkIHRvIHRlc3Qg d2hldGhlciBJUFMgaXMgYWN0dWFsbHkgZW5hYmxlZC4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ IC0gQ2FsbCBuZWVkc19tb2Rlc2V0IG9uIG5ldyBjcnRjIHN0YXRlLiAoVmlsbGUpCj4gLSBJUFMg Y2FuIGJlIGVuYWJsZWQgd2l0aCBzcHJpdGUgcGxhbmUgZW5hYmxlZCB0b28uIChWaWxsZSkKPiAt IEZpeCBDRENMSyB2cyBJUFMgd29ya2Fyb3VuZC4gKFZpbGxlKQo+IAo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgICAgfCAgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICB8IDExOSArKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jIHwg ICAyIC0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiBpbmRleCBlODg4NGMyYWRlOTgu LjMwYWZmYTc5MDNkNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j ZGNsay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+IEBAIC0x ODk2LDcgKzE4OTYsNyBAQCBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX21pbl9jZGNsayhjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCW1pbl9jZGNsayA9IGludGVs X3BpeGVsX3JhdGVfdG9fY2RjbGsoZGV2X3ByaXYsIGNydGNfc3RhdGUtPnBpeGVsX3JhdGUpOwo+ ICAKPiAgCS8qIHBpeGVsIHJhdGUgbXVzdG4ndCBleGNlZWQgOTUlIG9mIGNkY2xrIHdpdGggSVBT IG9uIEJEVyAqLwo+IC0JaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+ aXBzX2VuYWJsZWQpCj4gKwlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSAmJiBoc3dfcGlwZV9j b25maWdfaXBzX2NhcGFibGUoY3J0Y19zdGF0ZSkpCj4gIAkJbWluX2NkY2xrID0gRElWX1JPVU5E X1VQKG1pbl9jZGNsayAqIDEwMCwgOTUpOwoKSSB0aGluayBlaXRoZXIgd2Ugc2hvdWxkIGRyb3Ag dGhpcyBlbnRpcmVseSBhbmQgbWFrZSB0aGUKaXBzX2NvbXB1dGVfY29uZmlnKCkgY2hlY2sgbG9n aWNhbC5jZGNsayBpbnN0ZWFkIG9mIG1heF9jZGNsaywKb3Igd2Ugc3RpY2sgdG8gdGhlIG1heF9j ZGNsayBiYXNlZCBjaGVjayBidXQgbW92ZSBpdCBpbnRvIApoc3dfcGlwZV9jb25maWdfaXBzX2Nh cGFibGUoKS4gT3RoZXJ3aXNlIHdlIHdvdWxkIGVuZCB1cApyZWplY3RpbmcgYW55IG1vZGUgd2hv c2UgcGl4ZWwgcmF0ZSBleGNlZWQgdGhlIDk1JSBjZGNsawpsaW1pdC4KCj4gIAo+ICAJLyogQlNw ZWMgc2F5cyAiRG8gbm90IHVzZSBEaXNwbGF5UG9ydCB3aXRoIENEQ0xLIGxlc3MgdGhhbiA0MzIg TUh6LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAzYjNkZWMxZTY2 NDAuLjBiOWJhNDE1ODM5YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBAQCAtNDg3MCw3ICs0ODcwLDcgQEAgdm9pZCBoc3dfZW5hYmxlX2lwcyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKPiAgCj4gLQlpZiAoIWNydGMtPmNvbmZpZy0+aXBzX2VuYWJsZWQpCj4g KwlpZiAoIWNydGNfc3RhdGUtPmlwc19lbmFibGVkKQo+ICAJCXJldHVybjsKPiAgCj4gIAkvKgo+ IEBAIC00OTY2LDE0ICs0OTY2LDYgQEAgaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7Cj4gIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gIAo+IC0J LyoKPiAtCSAqIEZJWE1FIElQUyBzaG91bGQgYmUgZmluZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBp cwo+IC0JICogZW5hYmxlZCwgYnV0IGluIHByYWN0aWNlIGl0IHNlZW1zIHRvIGhhdmUgcHJvYmxl bXMKPiAtCSAqIHdoZW4gZ29pbmcgZnJvbSBwcmltYXJ5IG9ubHkgdG8gc3ByaXRlIG9ubHkgYW5k IHZpY2UKPiAtCSAqIHZlcnNhLgo+IC0JICovCj4gLQloc3dfZW5hYmxlX2lwcyhuZXdfY3J0Y19z dGF0ZSk7Cj4gLQo+ICAJLyoKPiAgCSAqIEdlbjIgcmVwb3J0cyBwaXBlIHVuZGVycnVucyB3aGVu ZXZlciBhbGwgcGxhbmVzIGFyZSBkaXNhYmxlZC4KPiAgCSAqIFNvIGRvbid0IGVuYWJsZSB1bmRl cnJ1biByZXBvcnRpbmcgYmVmb3JlIGF0IGxlYXN0IHNvbWUgcGxhbmVzCj4gQEAgLTQ5ODksMTAg KzQ5ODEsOSBAQCBpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKPiAgCWludGVsX2NoZWNrX3BjaF9maWZvX3VuZGVycnVucyhkZXZfcHJpdik7Cj4gIH0KPiAg Cj4gLS8qIEZJWE1FIG1vdmUgYWxsIHRoaXMgdG8gcHJlX3BsYW5lX3VwZGF0ZSgpIHdpdGggcHJv cGVyIHN0YXRlIHRyYWNraW5nICovCj4gKy8qIEZJWE1FIGdldCByaWQgb2YgdGhpcyBhbmQgdXNl IHByZV9wbGFuZV91cGRhdGUgKi8KPiAgc3RhdGljIHZvaWQKPiAtaW50ZWxfcHJlX2Rpc2FibGVf cHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJCSAgY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ICtpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5 X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiBAQCAtNTAwMSwzMiArNDk5MiwxMiBAQCBpbnRlbF9wcmVfZGlz YWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIAkvKgo+ICAJICogR2Vu MiByZXBvcnRzIHBpcGUgdW5kZXJydW5zIHdoZW5ldmVyIGFsbCBwbGFuZXMgYXJlIGRpc2FibGVk Lgo+IC0JICogU28gZGlhc2JsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGFsbCB0aGUgcGxh bmVzIGdldCBkaXNhYmxlZC4KPiAtCSAqIEZJWE1FOiBOZWVkIHRvIGZpeCB0aGUgbG9naWMgdG8g d29yayB3aGVuIHdlIHR1cm4gb2ZmIGFsbCBwbGFuZXMKPiAtCSAqIGJ1dCBsZWF2ZSB0aGUgcGlw ZSBydW5uaW5nLgo+ICsJICogU28gZGlzYWJsZSB1bmRlcnJ1biByZXBvcnRpbmcgYmVmb3JlIGFs bCB0aGUgcGxhbmVzIGdldCBkaXNhYmxlZC4KPiAgCSAqLwo+ICAJaWYgKElTX0dFTjIoZGV2X3By aXYpKQo+ICAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYs IHBpcGUsIGZhbHNlKTsKPiAgCj4gLQkvKgo+IC0JICogRklYTUUgSVBTIHNob3VsZCBiZSBmaW5l IGFzIGxvbmcgYXMgb25lIHBsYW5lIGlzCj4gLQkgKiBlbmFibGVkLCBidXQgaW4gcHJhY3RpY2Ug aXQgc2VlbXMgdG8gaGF2ZSBwcm9ibGVtcwo+IC0JICogd2hlbiBnb2luZyBmcm9tIHByaW1hcnkg b25seSB0byBzcHJpdGUgb25seSBhbmQgdmljZQo+IC0JICogdmVyc2EuCj4gLQkgKi8KPiAtCWhz d19kaXNhYmxlX2lwcyhvbGRfY3J0Y19zdGF0ZSk7Cj4gLX0KPiAtCj4gLS8qIEZJWE1FIGdldCBy aWQgb2YgdGhpcyBhbmQgdXNlIHByZV9wbGFuZV91cGRhdGUgKi8KPiAtc3RhdGljIHZvaWQKPiAt aW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeV9ub2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlpbnQgcGlwZSA9 IGludGVsX2NydGMtPnBpcGU7Cj4gLQo+IC0JaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeShjcnRj LCB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSk7Cj4gKwloc3dfZGlzYWJsZV9pcHMo dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSkpOwo+ICAKPiAgCS8qCj4gIAkgKiBWYmxh bmsgdGltZSB1cGRhdGVzIGZyb20gdGhlIHNoYWRvdyB0byBsaXZlIHBsYW5lIGNvbnRyb2wgcmVn aXN0ZXIKPiBAQCAtNTA1OCw2ICs1MDI5LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxh bmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKPiAgCWlm IChwaXBlX2NvbmZpZy0+dXBkYXRlX3dtX3Bvc3QgJiYgcGlwZV9jb25maWctPmJhc2UuYWN0aXZl KQo+ICAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwo+ICAKPiArCWlmICghb2xkX2Ny dGNfc3RhdGUtPmlwc19lbmFibGVkIHx8Cj4gKwkgICAgbmVlZHNfbW9kZXNldCgmcGlwZV9jb25m aWctPmJhc2UpIHx8Cj4gKwkgICAgcGlwZV9jb25maWctPnVwZGF0ZV9waXBlKQoKSG1tLiBTbyB0 aGlua2luZyBtb3JlIGFib3V0IHRoaXMgSSBndWVzcyBJIGZpZ3VyZWQgb3V0IHdoeSB5b3UgcHV0 IHRoZQp1cGRhdGVfcGlwZSBjaGVjayBoZXJlLiBPbiBCRFcgdGhlIGluaXRpYWwgb2xkX2NydGNf c3RhdGUgd2lsbCBoYXZlCmlwc19lbmFibGVkPXRydWUgc2luY2UgdGhlIHJlYWRvdXQgbm93IGFs d2F5cyBtYWtlcyBpdCBzby4gVGh1cyBpZiB3ZQpza2lwIHRoZSBpbml0aWFsIG1vZGVzZXQgd2Ug d291bGQgbm90IHR1cm4gb24gSVBTIGV2ZW4gaWYgYSBzdWl0YWJsZQpzZXQgb2YgcGxhbmVzIGlz IGVuYWJsZWQuCgpJIHRoaW5rIGl0IHdvdWxkIGJlIG1vcmUgY2xlYXIgdG8gY2hlY2sgZm9yIHRo ZSBJTkhFUklURUQgdGhpbmcKc3BlY2lmaWNhbGx5LiBBbHNvIHRoYXQgd291bGQgYXZvaWQgcGF5 aW5nIHRoZSBjb3N0IG9mIHRoZSBwY29kZQphY2Nlc3MgZXZlcnkgdGltZSB3ZSBoYXZlIHVwZGF0 ZV9waXBlPT10cnVlIGFuZCBpcHNfZW5hYmxlZD09dHJ1ZS4KCj4gKwkJaHN3X2VuYWJsZV9pcHMo cGlwZV9jb25maWcpOwo+ICsKPiAgCWlmIChvbGRfcHJpX3N0YXRlKSB7Cj4gIAkJc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwcmltYXJ5X3N0YXRlID0KPiAgCQkJaW50ZWxfYXRvbWljX2dldF9u ZXdfcGxhbmVfc3RhdGUodG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9zdGF0ZSksCj4gQEAgLTUw ODgsNiArNTA2NCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqb2xkX2ludGVsX3N0YXRlID0KPiAgCQl0b19pbnRlbF9hdG9taWNfc3RhdGUob2xk X3N0YXRlKTsKPiAgCj4gKwlpZiAobmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2UpIHx8 ICFwaXBlX2NvbmZpZy0+aXBzX2VuYWJsZWQpCj4gKwkJaHN3X2Rpc2FibGVfaXBzKG9sZF9jcnRj X3N0YXRlKTsKPiArCj4gIAlpZiAob2xkX3ByaV9zdGF0ZSkgewo+ICAJCXN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqcHJpbWFyeV9zdGF0ZSA9Cj4gIAkJCWludGVsX2F0b21pY19nZXRfbmV3X3Bs YW5lX3N0YXRlKG9sZF9pbnRlbF9zdGF0ZSwKPiBAQCAtNTA5NiwxMCArNTA3NSwxMyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGF0ZSwKPiAgCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUob2xkX3ByaV9zdGF0ZSk7 Cj4gIAo+ICAJCWludGVsX2ZiY19wcmVfdXBkYXRlKGNydGMsIHBpcGVfY29uZmlnLCBwcmltYXJ5 X3N0YXRlKTsKPiAtCj4gLQkJaWYgKG9sZF9wcmltYXJ5X3N0YXRlLT5iYXNlLnZpc2libGUgJiYK PiArCQkvKgo+ICsJCSAqIEdlbjIgcmVwb3J0cyBwaXBlIHVuZGVycnVucyB3aGVuZXZlciBhbGwg cGxhbmVzIGFyZSBkaXNhYmxlZC4KPiArCQkgKiBTbyBkaXNhYmxlIHVuZGVycnVuIHJlcG9ydGlu ZyBiZWZvcmUgYWxsIHRoZSBwbGFuZXMgZ2V0IGRpc2FibGVkLgo+ICsJCSAqLwo+ICsJCWlmIChJ U19HRU4yKGRldl9wcml2KSAmJiBvbGRfcHJpbWFyeV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCj4g IAkJICAgIChtb2Rlc2V0IHx8ICFwcmltYXJ5X3N0YXRlLT5iYXNlLnZpc2libGUpKQo+IC0JCQlp bnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KCZjcnRjLT5iYXNlLCBvbGRfY3J0Y19zdGF0ZSk7Cj4g KwkJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIGNydGMt PnBpcGUsIGZhbHNlKTsKPiAgCX0KPiAgCj4gIAkvKgo+IEBAIC02MjI4LDE1ICs2MjEwLDQyIEBA IHN0YXRpYyBpbnQgaXJvbmxha2VfZmRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjLAo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgcGlw ZV9jb25maWdfc3VwcG9ydHNfaXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAtCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICtib29s IGhzd19waXBlX2NvbmZpZ19pcHNfY2FwYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcpCj4gIHsKPiAtCWlmIChwaXBlX2NvbmZpZy0+aXBzX2ZvcmNlX2Rpc2Fi bGUpCj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25m aWctPmJhc2UuY3J0Yyk7Cj4gKwo+ICsJLyogSVBTIG9ubHkgZXhpc3RzIG9uIFVMVCBtYWNoaW5l cyBhbmQgaXMgdGllZCB0byBwaXBlIEEuICovCj4gKwlpZiAoIWhzd19jcnRjX3N1cHBvcnRzX2lw cyhjcnRjKSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKCFpOTE1X21vZHBhcmFtcy5l bmFibGVfaXBzKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gIAlpZiAocGlwZV9jb25maWctPnBp cGVfYnBwID4gMjQpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiArCXJldHVybiB0cnVlOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgYm9vbCBoc3dfY29tcHV0ZV9pcHNfY29uZmlnKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZykKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShwaXBlX2NvbmZpZy0+YmFzZS5jcnRjLT5kZXYpOwo+ICsKPiAr CWlmICghaHN3X3BpcGVfY29uZmlnX2lwc19jYXBhYmxlKHBpcGVfY29uZmlnKSkKPiArCQlyZXR1 cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKHBpcGVfY29uZmlnLT5pcHNfZm9yY2VfZGlzYWJsZSkKPiAr CQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJLyoKPiArCSAqIEZJWE1FIElQUyBzaG91bGQgYmUgZmlu ZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBpcwo+ICsJICogZW5hYmxlZCwgYnV0IGluIHByYWN0aWNl IGl0IHNlZW1zIHRvIGhhdmUgcHJvYmxlbXMKPiArCSAqIHdoZW4gZ29pbmcgZnJvbSBwcmltYXJ5 IG9ubHkgdG8gc3ByaXRlIG9ubHkgYW5kIHZpY2UKPiArCSAqIHZlcnNhLgo+ICsJICovCj4gKwlp ZiAoIShwaXBlX2NvbmZpZy0+YWN0aXZlX3BsYW5lcyAmIEJJVChQTEFORV9QUklNQVJZKSkpCj4g KwkJcmV0dXJuIGZhbHNlOwo+ICsKPiAgCS8qIEhTVyBjYW4gaGFuZGxlIHBpeGVsIHJhdGUgdXAg dG8gY2RjbGs/ICovCj4gIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpCj4gIAkJcmV0dXJuIHRy dWU7Cj4gQEAgLTYyNTIsMTcgKzYyNjEsNiBAQCBzdGF0aWMgYm9vbCBwaXBlX2NvbmZpZ19zdXBw b3J0c19pcHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCWRldl9wcml2 LT5tYXhfY2RjbGtfZnJlcSAqIDk1IC8gMTAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBoc3df Y29tcHV0ZV9pcHNfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+IC0JCQkJICAgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQo+IC0JcGlwZV9jb25maWctPmlwc19lbmFibGVk ID0gaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2lwcyAmJgo+IC0JCWhzd19jcnRjX3N1cHBvcnRzX2lw cyhjcnRjKSAmJgo+IC0JCXBpcGVfY29uZmlnX3N1cHBvcnRzX2lwcyhkZXZfcHJpdiwgcGlwZV9j b25maWcpOwo+IC19Cj4gLQo+ICBzdGF0aWMgYm9vbCBpbnRlbF9jcnRjX3N1cHBvcnRzX2RvdWJs ZV93aWRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7Cj4gIAljb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK PiBAQCAtNjM3OCw5ICs2Mzc2LDYgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAKPiAgCWludGVsX2NydGNfY29tcHV0ZV9w aXhlbF9yYXRlKHBpcGVfY29uZmlnKTsKPiAgCj4gLQlpZiAoSEFTX0lQUyhkZXZfcHJpdikpCj4g LQkJaHN3X2NvbXB1dGVfaXBzX2NvbmZpZyhjcnRjLCBwaXBlX2NvbmZpZyk7Cj4gLQo+ICAJaWYg KHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCj4gIAkJcmV0dXJuIGlyb25sYWtlX2ZkaV9j b21wdXRlX2NvbmZpZyhjcnRjLCBwaXBlX2NvbmZpZyk7Cj4gIAo+IEBAIC05Mjc1LDYgKzkyNzAs MTkgQEAgc3RhdGljIGJvb2wgaGFzd2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAkJCWlyb25sYWtlX2dldF9wZml0X2NvbmZpZyhjcnRjLCBwaXBlX2NvbmZp Zyk7Cj4gIAl9Cj4gIAo+ICsJaWYgKGhzd19jcnRjX3N1cHBvcnRzX2lwcyhjcnRjKSkgewo+ICsJ CWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKPiArCQkJcGlwZV9jb25maWctPmlwc19lbmFibGVk ID0gSTkxNV9SRUFEKElQU19DVEwpICYgSVBTX0VOQUJMRTsKPiArCQllbHNlIHsKPiArCQkJLyoK PiArCQkJICogV2UgY2Fubm90IHJlYWRvdXQgSVBTIHN0YXRlIG9uIGJyb2Fkd2VsbCwgc2V0IHRv Cj4gKwkJCSAqIHRydWUgc28gd2UgY2FuIHNldCBpdCB0byBhIGRlZmluZWQgc3RhdGUgb24gZmly c3QKPiArCQkJICogY29tbWl0Lgo+ICsJCQkgKi8KPiArCQkJcGlwZV9jb25maWctPmlwc19lbmFi bGVkID0gdHJ1ZTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICAJaWYgKHBpcGVfY29uZmlnLT5jcHVfdHJh bnNjb2RlciAhPSBUUkFOU0NPREVSX0VEUCAmJgo+ICAJICAgICF0cmFuc2NvZGVyX2lzX2RzaShw aXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIpKSB7Cj4gIAkJcGlwZV9jb25maWctPnBpeGVsX211 bHRpcGxpZXIgPQo+IEBAIC0xMDQ4OCw2ICsxMDQ5Niw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0 Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkJCQkJIHBpcGVfY29u ZmlnKTsKPiAgCX0KPiAgCj4gKwlpZiAoSEFTX0lQUyhkZXZfcHJpdikpCj4gKwkJcGlwZV9jb25m aWctPmlwc19lbmFibGVkID0gaHN3X2NvbXB1dGVfaXBzX2NvbmZpZyhwaXBlX2NvbmZpZyk7Cj4g Kwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGlu ZGV4IDY5YWFiMzI0YWFhMS4uNDA0MTdiMjA4NDRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBAQCAtMTQ4NSw2ICsxNDg1LDcgQEAgYm9vbCBieHRfZmluZF9iZXN0X2RwbGwoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGludCB0YXJnZXRfY2xvY2ssCj4gIGlu dCBjaHZfY2FsY19kcGxsX3BhcmFtcyhpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqcGxsX2Nsb2Nr KTsKPiAgCj4gIGJvb2wgaW50ZWxfY3J0Y19hY3RpdmUoc3RydWN0IGludGVsX2NydGMgKmNydGMp Owo+ICtib29sIGhzd19waXBlX2NvbmZpZ19pcHNfY2FwYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ICB2b2lkIGhzd19lbmFibGVfaXBzKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgdm9pZCBoc3dfZGlzYWJsZV9p cHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICBlbnVtIGlu dGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKGVudW0g cG9ydCBwb3J0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlw ZV9jcmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiBpbmRleCA2 MTY0MWQ0NzliOTMuLjFmNWNkNTcyYTdmZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cGlwZV9jcmMuYwo+IEBAIC01NDEsOCArNTQxLDYgQEAgc3RhdGljIHZvaWQgaHN3X3BpcGVfQV9j cmNfd2Eoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCSAqIGNvbXBsZXRl bHkgZGlzYWJsZSBpdC4KPiAgCQkgKi8KPiAgCQlwaXBlX2NvbmZpZy0+aXBzX2ZvcmNlX2Rpc2Fi bGUgPSBlbmFibGU7Cj4gLQkJaWYgKHBpcGVfY29uZmlnLT5pcHNfZW5hYmxlZCA9PSBlbmFibGUp Cj4gLQkJCXBpcGVfY29uZmlnLT5iYXNlLmNvbm5lY3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gIAl9 Cj4gIAo+ICAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7Cj4gLS0gCj4gMi4xNS4wCj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAK VmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK