From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 07/13] drm/i915: Populate gamma_mode for all platforms Date: Thu, 7 Feb 2019 19:27:47 +0200 Message-ID: <20190207172747.GL20097@intel.com> References: <20190205160848.24662-1-ville.syrjala@linux.intel.com> <20190205160848.24662-8-ville.syrjala@linux.intel.com> <33e1a3be-da7d-8f4f-d3dc-b461759dfbbe@linux.intel.com> <20190207162719.GI20097@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 533B96EC9A for ; Thu, 7 Feb 2019 17:27:51 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190207162719.GI20097@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 T24gVGh1LCBGZWIgMDcsIDIwMTkgYXQgMDY6Mjc6MTlQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgRmViIDA3LCAyMDE5IGF0IDA0OjQ5OjQ3UE0gKzAxMDAsIE1hYXJ0 ZW4gTGFua2hvcnN0IHdyb3RlOgo+ID4gT3AgMDUtMDItMjAxOSBvbSAxNzowOCBzY2hyZWVmIFZp bGxlIFN5cmphbGE6Cj4gPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4gPiA+Cj4gPiA+IE9uIHByZS1IU1cgZ2FtbWEgbW9kZSBpcyBjb25m aWd1cmVkIHZpYSBQSVBFQ09ORi4gVGhlIGJpdHMgYXJlCj4gPiA+IHRoZSBzYW1lIGV4Y2VwdCBz aGlmdGVkIHVwLCBzbyB3ZSBjYW4gcmV1c2UganVzdCBzdG9yZSB0aGVtIGluCj4gPiA+IGNydGNf c3RhdGUtPmdhbW1hX21vZGUgaW4gdGhlIEhTVysgd2F5LCBhbGxvd2luZyB1cyB0byBzaGFyZQo+ ID4gPiBzb21lIGNvZGUgbGF0ZXIuCj4gPiA+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IC0tLQo+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgMTAgKysrKy0KPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDYwICsrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8 IDE0ICsrKysrKy0KPiA+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMTgg ZGVsZXRpb25zKC0pCj4gPiA+Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiBpbmRl eCBlZGU1NGZkYzE2NzYuLjQxMTExYTE3ZTUxOSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCj4gPiA+IEBAIC01NTkwLDkgKzU1OTAsMTUgQEAgZW51bSB7Cj4gPiA+ICAjZGVm aW5lICAgUElQRUNPTkZfU0lOR0xFX1dJREUJMAo+ID4gPiAgI2RlZmluZSAgIFBJUEVDT05GX1BJ UEVfVU5MT0NLRUQgMAo+ID4gPiAgI2RlZmluZSAgIFBJUEVDT05GX1BJUEVfTE9DS0VECSgxIDw8 IDI1KQo+ID4gPiAtI2RlZmluZSAgIFBJUEVDT05GX1BBTEVUVEUJMAo+ID4gPiAtI2RlZmluZSAg IFBJUEVDT05GX0dBTU1BCQkoMSA8PCAyNCkKPiA+ID4gICNkZWZpbmUgICBQSVBFQ09ORl9GT1JD RV9CT1JERVIJKDEgPDwgMjUpCj4gPiA+ICsjZGVmaW5lICAgUElQRUNPTkZfR0FNTUFfTU9ERV9N QVNLX0k5WFgJKDEgPDwgMjQpIC8qIGdtY2ggKi8KPiA+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9H QU1NQV9NT0RFX01BU0tfSUxLCSgzIDw8IDI0KSAvKiBpbGstaXZiICovCj4gPiA+ICsjZGVmaW5l ICAgUElQRUNPTkZfR0FNTUFfTU9ERV84QklUCSgwIDw8IDI0KSAvKiBnbWNoLGlsay1pdmIgKi8K PiA+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RFXzEwQklUCSgxIDw8IDI0KSAvKiBn bWNoLGlsay1pdmIgKi8KPiA+ID4gKyNkZWZpbmUgICBQSVBFQ09ORl9HQU1NQV9NT0RFXzEyQklU CSgyIDw8IDI0KSAvKiBpbGstaXZiICovCj4gPiA+ICsjZGVmaW5lICAgUElQRUNPTkZfR0FNTUFf TU9ERV9TUExJVAkoMyA8PCAyNCkgLyogaXZiICovCj4gPiA+ICsjZGVmaW5lICAgUElQRUNPTkZf R0FNTUFfTU9ERSh4KQkoKHgpPDwyNCkgLyogcGFzcyBpbiBHQU1NQV9NT0RFX01PREVfKiAqLwo+ ID4gPiArI2RlZmluZSAgIFBJUEVDT05GX0dBTU1BX01PREVfU0hJRlQJMjQKPiA+ID4gICNkZWZp bmUgICBQSVBFQ09ORl9JTlRFUkxBQ0VfTUFTSwkoNyA8PCAyMSkKPiA+ID4gICNkZWZpbmUgICBQ SVBFQ09ORl9JTlRFUkxBQ0VfTUFTS19IU1cJKDMgPDwgMjEpCj4gPiA+ICAvKiBOb3RlIHRoYXQg cHJlLWdlbjMgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcmxhY2VkIGRpc3BsYXkgZGlyZWN0bHkuIFBh bmVsCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gPiBpbmRleCAyYTM3MWVl ZDgwNjEuLmU3ZGQwNzQ5MGM2OCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jCj4gPiA+IEBAIC0zNTEsNiArMzUxLDMyIEBAIHN0YXRpYyB2b2lkIGk5eHhfbG9hZF9s dXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gPiAgCWk5 eHhfbG9hZF9sdXRzX2ludGVybmFsKGNydGNfc3RhdGUsIGNydGNfc3RhdGUtPmJhc2UuZ2FtbWFf bHV0KTsKPiA+ID4gIH0KPiA+ID4gIAo+ID4gPiArc3RhdGljIHZvaWQgaTl4eF9jb2xvcl9jb21t aXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ICt7Cj4g PiA+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7Cj4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPiA+ICsJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwo+ID4gPiArCXUzMiB2YWw7Cj4gPiA+ICsKPiA+ID4gKwl2YWwgPSBJOTE1X1JFQUQoUElQ RUNPTkYocGlwZSkpOwo+ID4gPiArCXZhbCAmPSB+UElQRUNPTkZfR0FNTUFfTU9ERV9NQVNLX0k5 WFg7Cj4gPiA+ICsJdmFsIHw9IFBJUEVDT05GX0dBTU1BX01PREUoY3J0Y19zdGF0ZS0+Z2FtbWFf bW9kZSk7Cj4gPiA+ICsJSTkxNV9XUklURShQSVBFQ09ORihwaXBlKSwgdmFsKTsKPiA+ID4gK30K PiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgaWxrX2NvbG9yX2NvbW1pdChjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiA+ ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKPiA+ID4gKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gPiA+ICsJdTMy IHZhbDsKPiA+ID4gKwo+ID4gPiArCXZhbCA9IEk5MTVfUkVBRChQSVBFQ09ORihwaXBlKSk7Cj4g PiA+ICsJdmFsICY9IH5QSVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSUxLOwo+ID4gPiArCXZhbCB8 PSBQSVBFQ09ORl9HQU1NQV9NT0RFKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOwo+ID4gPiArCUk5 MTVfV1JJVEUoUElQRUNPTkYocGlwZSksIHZhbCk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gIHN0 YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gPiA+IEBAIC01ODUsOCArNjEx LDcgQEAgdm9pZCBpbnRlbF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Cj4gPiA+ICAK PiA+ID4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0KQo+ID4gPiAtCQlkZXZf cHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQoY3J0Y19zdGF0ZSk7Cj4gPiA+ICsJZGV2X3ByaXYt PmRpc3BsYXkuY29sb3JfY29tbWl0KGNydGNfc3RhdGUpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ ICBzdGF0aWMgaW50IGNoZWNrX2x1dF9zaXplKGNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxv YiAqbHV0LCBpbnQgZXhwZWN0ZWQpCj4gPiA+IEBAIC02NDksMjAgKzY3NCwyNSBAQCB2b2lkIGlu dGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiA+ICAKPiA+ID4gIAlk cm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKCZjcnRjLT5iYXNlLCAyNTYpOwo+ID4gPiAgCj4g PiA+IC0JaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4gPiA+IC0JCWRldl9wcml2LT5k aXNwbGF5LmxvYWRfbHV0cyA9IGNoZXJyeXZpZXdfbG9hZF9sdXRzOwo+ID4gPiAtCX0gZWxzZSBp ZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKPiA+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9h ZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmNvbG9y X2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gPiA+IC0JfSBlbHNlIGlmIChJU19CUk9BRFdF TEwoZGV2X3ByaXYpIHx8IElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8Cj4gPiA+IC0JCSAgIElTX0JS T1hUT04oZGV2X3ByaXYpKSB7Cj4gPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9 IGJyb2Fkd2VsbF9sb2FkX2x1dHM7Cj4gPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2Nv bW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gPiA+IC0JfSBlbHNlIGlmIChJU19HRU1JTklMQUtF KGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgewo+ID4gPiAtCQlkZXZfcHJp di0+ZGlzcGxheS5sb2FkX2x1dHMgPSBnbGtfbG9hZF9sdXRzOwo+ID4gPiAtCQlkZXZfcHJpdi0+ ZGlzcGxheS5jb2xvcl9jb21taXQgPSBoc3dfY29sb3JfY29tbWl0Owo+ID4gPiArCWlmIChIQVNf R01DSF9ESVNQTEFZKGRldl9wcml2KSkgewo+ID4gPiArCQlpZiAoSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpCj4gPiA+ICsJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBjaGVycnl2aWV3 X2xvYWRfbHV0czsKPiA+ID4gKwkJZWxzZQo+ID4gPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9h ZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiA+ICsKPiA+ID4gKwkJZGV2X3ByaXYtPmRpc3Bs YXkuY29sb3JfY29tbWl0ID0gaTl4eF9jb2xvcl9jb21taXQ7Cj4gPiA+ICAJfSBlbHNlIHsKPiA+ ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiA+ ICsJCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2 KSkKPiA+ID4gKwkJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGdsa19sb2FkX2x1dHM7 Cj4gPiA+ICsJCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSB8fCBJU19CUk9BRFdF TEwoZGV2X3ByaXYpKQo+ID4gPiArCQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gYnJv YWR3ZWxsX2xvYWRfbHV0czsKPiA+ID4gKwkJZWxzZQo+ID4gPiArCQkJZGV2X3ByaXYtPmRpc3Bs YXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7Cj4gPiA+ICsKPiA+ID4gKwkJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPj0gOCB8fCBJU19IQVNXRUxMKGRldl9wcml2KSkKPiA+ID4gKwkJCWRl dl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gPiA+ICsJ CWVsc2UKPiA+ID4gKwkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1pdCA9IGlsa19jb2xv cl9jb21taXQ7Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICAJLyogRW5hYmxlIGNvbG9yIG1hbmFn ZW1lbnQgc3VwcG9ydCB3aGVuIHdlIGhhdmUgZGVnYW1tYSAmIGdhbW1hIExVVHMuICovCj4gPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gaW5kZXggYWQ1ZDM5ZDgxZDZl Li44ZTkzNDU5ZjMxMmYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiA+ID4gQEAgLTM0NTAsNyArMzQ1MCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfZGlzYWJs ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAo+ID4gPiAgCSAqCj4gPiA+ICAJICog T24gcHJlLWc0eCB0aGVyZSBpcyBubyB3YXkgdG8gZ2FtbWEgY29ycmVjdCB0aGUKPiA+ID4gIAkg KiBwaXBlIGJvdHRvbSBjb2xvciBidXQgd2UnbGwga2VlcCBvbiBkb2luZyB0aGlzCj4gPiA+IC0J ICogYW55d2F5Lgo+ID4gPiArCSAqIGFueXdheSBzbyB0aGF0IHRoZSBjcnRjIHN0YXRlIHJlYWRv dXQgd29ya3MgY29ycmVjdGx5Lgo+ID4gPiAgCSAqLwo+ID4gPiAgCWRzcGNudHIgPSBpOXh4X3Bs YW5lX2N0bF9jcnRjKGNydGNfc3RhdGUpOwo+ID4gPiAgCj4gPiA+IEBAIC03Njc0LDYgKzc2NzQs OCBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9waXBlY29uZihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ID4gIAkgICAgIGNydGNfc3RhdGUtPmxpbWl0ZWRfY29s b3JfcmFuZ2UpCj4gPiA+ICAJCXBpcGVjb25mIHw9IFBJUEVDT05GX0NPTE9SX1JBTkdFX1NFTEVD VDsKPiA+ID4gIAo+ID4gPiArCXBpcGVjb25mIHw9IFBJUEVDT05GX0dBTU1BX01PREUoY3J0Y19z dGF0ZS0+Z2FtbWFfbW9kZSk7Cj4gPiA+ICsKPiA+ID4gIAlJOTE1X1dSSVRFKFBJUEVDT05GKGNy dGMtPnBpcGUpLCBwaXBlY29uZik7Cj4gPiA+ICAJUE9TVElOR19SRUFEKFBJUEVDT05GKGNydGMt PnBpcGUpKTsKPiA+ID4gIH0KPiA+ID4gQEAgLTgxMjYsNiArODEyOCw5IEBAIHN0YXRpYyBib29s IGk5eHhfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gPiAgCSAg ICAodG1wICYgUElQRUNPTkZfQ09MT1JfUkFOR0VfU0VMRUNUKSkKPiA+ID4gIAkJcGlwZV9jb25m aWctPmxpbWl0ZWRfY29sb3JfcmFuZ2UgPSB0cnVlOwo+ID4gPiAgCj4gPiA+ICsJcGlwZV9jb25m aWctPmdhbW1hX21vZGUgPSAodG1wICYgUElQRUNPTkZfR0FNTUFfTU9ERV9NQVNLX0k5WFgpID4+ Cj4gPiA+ICsJCVBJUEVDT05GX0dBTU1BX01PREVfU0hJRlQ7Cj4gPiA+ICsKPiA+ID4gIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA8IDQpCj4gPiA+ICAJCXBpcGVfY29uZmlnLT5kb3VibGVfd2lk ZSA9IHRtcCAmIFBJUEVDT05GX0RPVUJMRV9XSURFOwo+ID4gPiAgCj4gPiA+IEBAIC04NjY1LDYg Kzg2NzAsOCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9zZXRfcGlwZWNvbmYoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ICAJaWYgKGNydGNfc3RhdGUtPmxp bWl0ZWRfY29sb3JfcmFuZ2UpCj4gPiA+ICAJCXZhbCB8PSBQSVBFQ09ORl9DT0xPUl9SQU5HRV9T RUxFQ1Q7Cj4gPiA+ICAKPiA+ID4gKwl2YWwgfD0gUElQRUNPTkZfR0FNTUFfTU9ERShjcnRjX3N0 YXRlLT5nYW1tYV9tb2RlKTsKPiA+ID4gKwo+ID4gPiAgCUk5MTVfV1JJVEUoUElQRUNPTkYocGlw ZSksIHZhbCk7Cj4gPiA+ICAJUE9TVElOR19SRUFEKFBJUEVDT05GKHBpcGUpKTsKPiA+ID4gIH0K PiA+ID4gQEAgLTkxOTksNiArOTIwNiw5IEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2dldF9waXBl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ID4gIAlpZiAodG1wICYgUElQRUNP TkZfQ09MT1JfUkFOR0VfU0VMRUNUKQo+ID4gPiAgCQlwaXBlX2NvbmZpZy0+bGltaXRlZF9jb2xv cl9yYW5nZSA9IHRydWU7Cj4gPiA+ICAKPiA+ID4gKwlwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSA9 ICh0bXAgJiBQSVBFQ09ORl9HQU1NQV9NT0RFX01BU0tfSUxLKSA+Pgo+ID4gPiArCQlQSVBFQ09O Rl9HQU1NQV9NT0RFX1NISUZUOwo+ID4gPiArCj4gPiA+ICAJaWYgKEk5MTVfUkVBRChQQ0hfVFJB TlNDT05GKGNydGMtPnBpcGUpKSAmIFRSQU5TX0VOQUJMRSkgewo+ID4gPiAgCQlzdHJ1Y3QgaW50 ZWxfc2hhcmVkX2RwbGwgKnBsbDsKPiA+ID4gIAkJZW51bSBpbnRlbF9kcGxsX2lkIHBsbF9pZDsK PiA+ID4gQEAgLTEyMDY5LDYgKzEyMDc5LDggQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICAKPiA+ID4gIAlQSVBFX0NP TkZfQ0hFQ0tfQk9PTChkb3VibGVfd2lkZSk7Cj4gPiA+ICAKPiA+ID4gKwlQSVBFX0NPTkZfQ0hF Q0tfWChnYW1tYV9tb2RlKTsKPiA+IAo+ID4gSG1tLi4uwqAgV2Ugc2hvdWxkIG9ubHkgY2hlY2sg dGhpcyBpZiBhZGp1c3QgaXMgdW5zZXQsIG9yIHdlIHdpbGwgc3RhcnQgc2tpcHBpbmcgZmFzdHNl dCBvbiBhIGxvdCBvZiBwbGF0Zm9ybXMuCj4gCj4gVGhlcmUncyBubyBzYW5lIG1hY3JvcyBmb3Ig dGhpcyBzb3J0IG9mIHN0dWZmIEFGQUlDUy4gTWF5YmUgc29tZW9uZQo+IHNob3VsZCBhZGQgdGhv c2UgZmlyc3Q/IEhlY2ssIEkgZG9uJ3QgZXZlbiBrbm93IHdoYXQgJ2FkanVzdCcKPiByZWFsbHkg bWVhbnMgaW4gdGhpcyBjb250ZXh0LgoKSSBndWVzcyBpdCBtZWFucyAiaWdub3JlIHRoZSBtaXNt YXRjaCBmb3Igc2VsZWN0IHBpZWNlcyBvZiBzdGF0ZSIuCkhtbS4gTG9va3MgbGlrZSB3ZSd2ZSBq dXN0IGFkZGVkIGEgYnVuY2ggb2YgdGhpbmdzIHRvIHRoZQonaWYgKCFhZGp1c3QpJyBibG9jay4g SSBndWVzcyBJIGNhbiBtb3ZlIHRoZXNlIHRoaW5ncyB0aGVyZS4KCj4gCj4gQWxzbyBvbiBhIHJl bGF0ZWQgbm90ZSwgdGhpcyBmYXN0Ym9vdCB0aGluZyBoYXMgbWFkZSB0aGUgbG9ncyByYXRoZXIK PiBjb25mdXNpbmcuIEl0J3Mgbm90IGF0IGFsbCBvYnZpb3VzIHRoYXQgYWxsIHRoZSBzdGF0ZSBt aXNtYXRjaCBwcmludHMKPiBhcmUgaGFybWxlc3MgKGVzcGVjaWFsbHkgd2hlbiB0aGUgZnVuY3Rp b24gaXMgY2FsbGVkIHNvbWV0aGluZ19lcnIoKSkuCj4gU29tZSBwZW9wbGUgKG15c2VsZiBpbmNs dWRlZCkgd2VyZSBhbHJlYWR5IGxlYWQgYXN0cmF5IGJ5IHRoZXNlCj4gYXBwYXJlbnQgImVycm9y cyIuCj4gCj4gPiAKPiA+IFdpdGggdGhhdCBmaXhlZDoKPiA+IAo+ID4gUmV2aWV3ZWQtYnk6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPiAK PiA+IH5NYWFydGVuCj4gCj4gLS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==