From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v6][PATCH 03/12] drm/i915: Add intel_color_lut_equal() to compare hw and sw gamma/degamma lut values Date: Tue, 14 May 2019 19:10:24 +0300 Message-ID: <20190514161024.GC24299@intel.com> References: <1557827010-24239-1-git-send-email-swati2.sharma@intel.com> <1557827010-24239-4-git-send-email-swati2.sharma@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 5D6918914F for ; Tue, 14 May 2019 16:10:30 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1557827010-24239-4-git-send-email-swati2.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Swati Sharma Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMTQsIDIwMTkgYXQgMDM6MTM6MjFQTSArMDUzMCwgU3dhdGkgU2hhcm1hIHdy b3RlOgo+IHYzOiAtUmViYXNlCj4gdjQ6IC1SZW5hbWVkIGludGVsX2NvbXBhcmVfY29sb3JfbHV0 KCkgdG8gaW50ZWxfY29sb3JfbHV0X2VxdWFsKCkgW0phbmldCj4gICAgIC1BZGRlZCB0aGUgZGVm YXVsdCBsYWJlbCBhYm92ZSB0aGUgY29ycmVjdCBsYWJlbCBbSmFuaV0KPiAgICAgLUNvcnJlY3Rl ZCBzbWF0Y2ggd2FybiAidmFyaWFibGUgZGVyZWZlcmVuY2VkIGJlZm9yZSBjaGVjayIgW0RhbiBD YXJwZW50ZXJdCj4gdjU6IC1BZGRlZCBjb25kaXRpb24gKCFibG9iMSAmJiAhYmxvYjIpIHJldHVy biB0cnVlIFtKYW5pXQo+ICAgICAtQ2FsbGVkIFBJUEVfQ09ORl9DSEVDS19DT0xPUl9MVVQgaW5z aWRlIGlmICghYWRqdXN0KSBbSmFuaV0KPiAgICAgLUFkZGVkICN1bmRlZiBQSVBFX0NPTkZfQ0hF Q0tfQ09MT1JfTFVUIFtKYW5pXQo+IHY2OiAtQWRkZWQgZnVuYyBpbnRlbF9jb2xvcl9nZXRfYml0 X3ByZWNpc2lvbigpIHRvIGdldCBiaXQgcHJlY2lzaW9uIGZvcgo+ICAgICAgZ2FtbWEgYW5kIGRl Z2FtbWEgbHV0IHJlYWRvdXQgZGVwZW5kaW5nIHVwb24gcGxhdGZvcm0gYW5kCj4gICAgICBjb3Jy ZXNwb25kaW5nIHRvIGxvYWRfbHV0cygpIFtBbmtpdF0KPiAgICAgLUFkZGVkIGRlYnVnIGxvZyBm b3IgY29sb3IgcGFyYSBpbiBpbnRlbF9kdW1wX3BpcGVfY29uZmlnIFtKYW5pXQo+ICAgICAtTWFk ZSBwYXRjaDExIGFzIHBhdGNoMyBbSmFuaV0KPiAKPiBJIGNvdWxkIHRoaW5rIG9mIGFkZGluZyBp bnRlbF9jb2xvcl9nZXRfYml0X3ByZWNpc2lvbigpIHRvIGJlIHRoZSB3YXkKPiB0byBnZXQgYXdh eSB3aXRoIGJpdCBwcmVjaXNpb24gcHJvYmxlbSBmb3IgZGVnYW1tYSBhbmQgZ2FtbWEgKGl0cyBs aWtlIGEgdGFibGUKPiBoYXZpbmcgaGFyZCBjb2RlZCB2YWx1ZXMgZGVwZW5pbmcgb24gZ2FtbWFf bW9kZSkuCj4gSWYgYW55Ym9keSBjb3VsZCB0aGluayBvZiBiZXR0ZXIgd2F5IHRoZW4gdGhpcyB0 aGVuIHBsZWFzZSBndWlkZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTd2F0aSBTaGFybWEgPHN3YXRp Mi5zaGFybWFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jICAgfCA5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuaCAgIHwgIDcgKysrCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDI0ICsrKysrKysrKysKPiAgMyBmaWxlcyBjaGFu Z2VkLCAxMjQgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ IGluZGV4IDUwYjk4ZWUuLjFlNjAzNjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y LmMKPiBAQCAtMTI1MSw2ICsxMjUxLDk5IEBAIHN0YXRpYyBpbnQgaWNsX2NvbG9yX2NoZWNrKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAg Cj4gK3ZvaWQgaW50ZWxfY29sb3JfZ2V0X2JpdF9wcmVjaXNpb24oc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsIGludCAqYnBfZ2FtbWEpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ICsJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7 Cj4gKwo+ICsJaWYgKEhBU19HTUNIKGRldl9wcml2KSkgewo+ICsJCWlmIChJU19DSEVSUllWSUVX KGRldl9wcml2KSkgewo+ICsJCQlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9PSBHQU1NQV9N T0RFX01PREVfOEJJVCkgewo+ICsJCQkJKmJwX2dhbW1hID0gODsKPiArCQkJCXJldHVybjsKCkZ1 bmN0aW9ucyBjYW4gYWN0dWFsbHkgcmV0dXJuIHZhbHVlcy4KCk5vdCBzdXJlIEkgcGFydGljdWxh cmx5IGxpa2UgdGhpcyBmdW5jdGlvbiB0aG91Z2guIFdlIGNhbid0IGZpdAp0aGUgZ2FtbWEgdnMu IGRlZ2FtbSBzdHVmZiBpbiBoZXJlIG5lYXRseS4gSSB0aGluayBwZXItcGxhdGZvcm0Kc3R1ZmYg dG8gZGV0ZXJtaW5lIHRoZSBwcmVjaXNpb24gaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGlzIHNhbmUu CkFuZCBpdCBzaG91bGQgcHJvYmFibHkgZ290IGludG8gaW50ZWxfY29sb3IuYyB0byBrZWVwIHRo aW5ncwpuZWF0bHkgY29udGFpbmVkLgoKU29tZXRoaW5nIGFsb25nIHRoZSBsaW5lcyBvZjoKCmk5 eHhfZ2FtbWFfcHJlY2lzaW9uKCkKewoJaWYgKCFnYW1tYV9lbmFibGUpCgkJcmV0dXJuIDA7CgoJ c3dpdGNoIChnYW1tYV9tb2RlKSB7CgljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOgoJCXJldHVy biA4OwoJY2FzZSBHQU1NQV9NT0RFX01PREVfMTBCSVQ6CgkJcmV0dXJuIDE2OwoJfQp9CgpjaHZf Z2FtbWFfcHJlY2lzaW9uKCkKewoJaWYgKGNnbV9tb2RlICYgQ0dNX1BJUEVfTU9ERV9HQU1NQSkK CQlyZXR1cm4gMTA7CgllbHNlCgkJcmV0dXJuIGk5eHhfZ2FtbWFfcHJlY2lzaW9uKCk7Cn0KCmNo dl9kZWdhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKQp7CglpZiAoY2dtX21vZGUgJiBDR01fUElQ RV9NT0RFX0RFR0FNTUEpCgkJcmV0dXJuIDE0OwoJZWxzZQoJCXJldHVybiAwCn0KCmlsa19nYW1t YV9wcmVjaXNpb24oKQp7CglpZiAoIWdhbW1hX2VuYWJsZSkKCQlyZXR1cm4gMDsKCglpZiAoKGNz Y19tb2RlICYgQ1NDX1BPU0lUSU9OX0JFRk9SRV9HQU1NQSkgPT0gMCkKCQlyZXR1cm4gMDsKCglz d2l0Y2ggKGdhbW1hX21vZGUpIHsKCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzhCSVQ6CgkJcmV0dXJu IDg7CgljYXNlIEdBTU1BX01PREVfTU9ERV8xMEJJVDoKCQlyZXR1cm4gMTA7Cgl9Cn0KCmlsa19k ZWdhbW1hX3ByZWNpc2lvbigpCnsKCWlmICghZ2FtbWFfZW5hYmxlKQoJCXJldHVybiAwOwoKCWlm ICgoY3NjX21vZGUgJiBDU0NfUE9TSVRJT05fQkVGT1JFX0dBTU1BKSAhPSAwKQoJCXJldHVybiAw OwoKCXN3aXRjaCAoZ2FtbWFfbW9kZSkgewoJY2FzZSBHQU1NQV9NT0RFX01PREVfOEJJVDoKCQly ZXR1cm4gODsKCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOgoJCXJldHVybiAxMDsKCX0KfQoK Li4uIGV4dGVuZCB0byBpdmIsIGdsaywgYW5kIGljbCB2YXJpYW50cyB0b28uCgo+ICsJCQl9Cj4g KwkJCWlmIChjcnRjX3N0YXRlLT5jZ21fbW9kZSA9PSBDR01fUElQRV9NT0RFX0dBTU1BKQo+ICsJ CQkJKmJwX2dhbW1hID0gMTA7Cj4gKwkJfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDQpIHsKPiArCQkJaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FNTUFfTU9ERV9NT0RF XzhCSVQpCj4gKwkJCQkqYnBfZ2FtbWEgPSA4Owo+ICsJCQllbHNlCj4gKwkJCQkqYnBfZ2FtbWEg PSAxNjsKPiArCQl9IGVsc2Ugewo+ICsJCQkqYnBfZ2FtbWEgPSA4Owo+ICsJCX0KPiArCX0gZWxz ZSB7Cj4gKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpIHsKPiArCQkJaWYgKChjcnRj X3N0YXRlLT5nYW1tYV9tb2RlICYgR0FNTUFfTU9ERV9NT0RFX01BU0spID09Cj4gKwkJCQkJR0FN TUFfTU9ERV9NT0RFXzhCSVQpCj4gKwkJCQkqYnBfZ2FtbWEgPSA4Owo+ICsJCQllbHNlCj4gKwkJ CQkqYnBfZ2FtbWEgPSAxMDsKPiArCQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYp IHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwkJCWlmIChjcnRjX3N0YXRlLT5nYW1t YV9tb2RlID09IEdBTU1BX01PREVfTU9ERV84QklUKQo+ICsJCQkJKmJwX2dhbW1hID0gODsKPiAr CQkJZWxzZQo+ICsJCQkJKmJwX2dhbW1hID0gMTA7Cj4gKwkJfSBlbHNlIGlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDcpIHsKPiArCQkJaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FN TUFfTU9ERV9NT0RFXzhCSVQpCj4gKwkJCQkqYnBfZ2FtbWEgPSA4Owo+ICsJCQllbHNlIGlmIChj cnRjX3N0YXRlLT5nYW1tYV9tb2RlID09IEdBTU1BX01PREVfTU9ERV9TUExJVCkKPiArCQkJCSpi cF9nYW1tYSA9IDEwOwo+ICsJCQkJZWxzZQo+ICsJCQkJCSpicF9nYW1tYSA9IDEwOwo+ICsJCX0g ZWxzZSB7Cj4gKwkJCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09IEdBTU1BX01PREVfTU9E RV84QklUKQo+ICsJCQkJKmJwX2dhbW1hID0gODsKPiArCQkJZWxzZQo+ICsJCQkJKmJwX2dhbW1h ID0gMTA7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgZXJyX2No ZWNrKHN0cnVjdCBkcm1fY29sb3JfbHV0ICpzd19sdXQsCj4gKwkgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqaHdfbHV0LCB1MzIgZXJyKQo+ICt7Cj4gKwkgcmV0dXJu ICgoYWJzKChsb25nKWh3X2x1dC0+cmVkIC0gc3dfbHV0LT5yZWQpKSA8PSBlcnIpICYmCj4gKwkg ICAgICAgICgoYWJzKChsb25nKWh3X2x1dC0+Ymx1ZSAtIHN3X2x1dC0+Ymx1ZSkpIDw9IGVycikg JiYKPiArCSAgICAgICAgKChhYnMoKGxvbmcpaHdfbHV0LT5ncmVlbiAtIHN3X2x1dC0+Z3JlZW4p KSA8PSBlcnIpOwo+ICt9Cj4gKwo+ICtib29sIGludGVsX2NvbG9yX2x1dF9lcXVhbChzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IxLAo+ICsJCQkgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Js b2IgKmJsb2IyLAo+ICsJCQkgICB1MzIgYml0X3ByZWNpc2lvbikKPiArewo+ICsJc3RydWN0IGRy bV9jb2xvcl9sdXQgKnN3X2x1dCwgKmh3X2x1dDsKPiArCWludCBzd19sdXRfc2l6ZSwgaHdfbHV0 X3NpemUsIGk7Cj4gKwl1MzIgZXJyOwo+ICsKPiArCWlmICghYmxvYjEgJiYgIWJsb2IyKQo+ICsJ CXJldHVybiB0cnVlOwo+ICsKPiArCWlmICghYmxvYjEpCj4gKwkJcmV0dXJuIHRydWU7Cj4gKwo+ ICsJaWYgKCFibG9iMikKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJc3dfbHV0X3NpemUgPSBk cm1fY29sb3JfbHV0X3NpemUoYmxvYjEpOwo+ICsJaHdfbHV0X3NpemUgPSBkcm1fY29sb3JfbHV0 X3NpemUoYmxvYjIpOwo+ICsKPiArCWlmIChzd19sdXRfc2l6ZSAhPSBod19sdXRfc2l6ZSkKPiAr CQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJc3dfbHV0ID0gYmxvYjEtPmRhdGE7Cj4gKwlod19sdXQg PSBibG9iMi0+ZGF0YTsKPiArCj4gKwllcnIgPSAweGZmZmYgPj4gYml0X3ByZWNpc2lvbjsKPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgc3dfbHV0X3NpemU7IGkrKykgewo+ICsJCSBpZiAoIWVycl9j aGVjaygmaHdfbHV0W2ldLCAmc3dfbHV0W2ldLCBlcnIpKQo+ICsJCQlyZXR1cm4gZmFsc2U7Cj4g Kwl9Cj4gKwo+ICsJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfY29sb3JfaW5p dChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvci5oCj4gaW5kZXggMDU3ZThhYy4uZjI4NzJkMyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3IuaAo+IEBAIC02LDEzICs2LDIwIEBACj4gICNpZm5kZWYgX19JTlRFTF9D T0xPUl9IX18KPiAgI2RlZmluZSBfX0lOVEVMX0NPTE9SX0hfXwo+ICAKPiArI2luY2x1ZGUgPGxp bnV4L3R5cGVzLmg+Cj4gKwo+ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZTsKPiAgc3RydWN0IGlu dGVsX2NydGM7Cj4gK3N0cnVjdCBkcm1fcHJvcGVydHlfYmxvYjsKPiAgCj4gIHZvaWQgaW50ZWxf Y29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gIGludCBpbnRlbF9jb2xvcl9j aGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIHZvaWQgaW50ZWxf Y29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiAgdm9pZCBpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpOwo+ICB2b2lkIGludGVsX2NvbG9yX2dldF9jb25maWcoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICtib29sIGludGVsX2NvbG9yX2x1dF9lcXVh bChzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IxLAo+ICsJCQkgICBzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmJsb2IyLAo+ICsJCQkgICB1MzIgYml0X3ByZWNpc2lvbik7Cj4gK3ZvaWQg aW50ZWxfY29sb3JfZ2V0X2JpdF9wcmVjaXNpb24oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsIGludCAqYnBfZ2FtbWEpOwo+ICAKPiAgI2VuZGlmIC8qIF9fSU5URUxfQ09MT1Jf SF9fICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDNlMDEwMjgu LjQ2OTg1YzE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0x MTU3MCw2ICsxMTU3MCwxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCQkJICAgICAgZHJtX3JlY3Rfd2lkdGgoJnN0YXRl LT5iYXNlLmRzdCksCj4gIAkJCQkgICAgICBkcm1fcmVjdF9oZWlnaHQoJnN0YXRlLT5iYXNlLmRz dCkpOwo+ICAJfQo+ICsKPiArCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiArCQlEUk1f REVCVUdfS01TKCJjZ21fbW9kZTolZCBnYW1tYV9tb2RlOiVkIGdhbW1hX2VuYWJsZTolZCBjc2Nf ZW5hYmxlOiVkXG4iLAo+ICsJCQkgICAgICAgcGlwZV9jb25maWctPmNnbV9tb2RlLCBwaXBlX2Nv bmZpZy0+Z2FtbWFfbW9kZSwgcGlwZV9jb25maWctPmdhbW1hX2VuYWJsZSwKPiArCQkJICAgICAg IHBpcGVfY29uZmlnLT5jc2NfZW5hYmxlKTsKPiArCWVsc2UKPiArCQlEUk1fREVCVUdfS01TKCJj c2NfbW9kZTolZCBnYW1tYV9tb2RlOiVkIGdhbW1hX2VuYWJsZTolZCBjc2NfZW5hYmxlOiVkXG4i LAo+ICsJCQkgICAgICAgcGlwZV9jb25maWctPmNzY19tb2RlLCBwaXBlX2NvbmZpZy0+Z2FtbWFf bW9kZSwgcGlwZV9jb25maWctPmdhbW1hX2VuYWJsZSwKPiArCQkJICAgICAgIHBpcGVfY29uZmln LT5jc2NfZW5hYmxlKTsKPiArCj4gIH0KPiAgCj4gIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxf cG9ydF9jb25mbGljdHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+IEBAIC0xMTk0 Nyw2ICsxMTk1Nyw3IEBAIHN0YXRpYyBib29sIGZhc3Rib290X2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCQkgIGJvb2wgYWRqdXN0KQo+ICB7Cj4gIAlib29s IHJldCA9IHRydWU7Cj4gKwl1MzIgYnBfZ2FtbWEgPSAwOwo+ICAJYm9vbCBmaXh1cF9pbmhlcml0 ZWQgPSBhZGp1c3QgJiYKPiAgCQkoY3VycmVudF9jb25maWctPmJhc2UubW9kZS5wcml2YXRlX2Zs YWdzICYgSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEKSAmJgo+ICAJCSEocGlwZV9jb25maWctPmJh c2UubW9kZS5wcml2YXRlX2ZsYWdzICYgSTkxNV9NT0RFX0ZMQUdfSU5IRVJJVEVEKTsKPiBAQCAt MTIwOTgsNiArMTIxMDksMTUgQEAgc3RhdGljIGJvb2wgZmFzdGJvb3RfZW5hYmxlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAl9IFwKPiAgfSB3aGlsZSAoMCkKPiAgCj4g KyNkZWZpbmUgUElQRV9DT05GX0NIRUNLX0NPTE9SX0xVVChuYW1lLCBiaXRfcHJlY2lzaW9uKSBk byB7IFwKPiArCWlmICghaW50ZWxfY29sb3JfbHV0X2VxdWFsKGN1cnJlbnRfY29uZmlnLT5uYW1l LCBcCj4gKwkJCQkgICBwaXBlX2NvbmZpZy0+bmFtZSwgYml0X3ByZWNpc2lvbikpIHsgXAo+ICsJ CXBpcGVfY29uZmlnX2VycihhZGp1c3QsIF9fc3RyaW5naWZ5KG5hbWUpLCBcCj4gKwkJCQkiaHdf c3RhdGUgZG9lc24ndCBtYXRjaCBzd19zdGF0ZVxuIik7IFwKPiArCQlyZXQgPSBmYWxzZTsgXAo+ ICsJfSBcCj4gK30gd2hpbGUgKDApCj4gKwo+ICAjZGVmaW5lIFBJUEVfQ09ORl9RVUlSSyhxdWly aykgXAo+ICAJKChjdXJyZW50X2NvbmZpZy0+cXVpcmtzIHwgcGlwZV9jb25maWctPnF1aXJrcykg JiAocXVpcmspKQo+ICAKPiBAQCAtMTIxOTMsNiArMTIyMTMsOSBAQCBzdGF0aWMgYm9vbCBmYXN0 Ym9vdF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQkJUElQ RV9DT05GX0NIRUNLX1goY3NjX21vZGUpOwo+ICAJCVBJUEVfQ09ORl9DSEVDS19CT09MKGdhbW1h X2VuYWJsZSk7Cj4gIAkJUElQRV9DT05GX0NIRUNLX0JPT0woY3NjX2VuYWJsZSk7Cj4gKwo+ICsJ CWludGVsX2NvbG9yX2dldF9iaXRfcHJlY2lzaW9uKHBpcGVfY29uZmlnLCAmYnBfZ2FtbWEpOwo+ ICsJCVBJUEVfQ09ORl9DSEVDS19DT0xPUl9MVVQoYmFzZS5nYW1tYV9sdXQsIGJwX2dhbW1hKTsK PiAgCX0KPiAgCj4gIAlQSVBFX0NPTkZfQ0hFQ0tfQk9PTChkb3VibGVfd2lkZSk7Cj4gQEAgLTEy MjU1LDYgKzEyMjc4LDcgQEAgc3RhdGljIGJvb2wgZmFzdGJvb3RfZW5hYmxlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfRkxBR1MK PiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpaWQo+ICAjdW5kZWYgUElQRV9DT05G X1FVSVJLCj4gKyN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUCj4gIAo+ICAJcmV0dXJu IHJldDsKPiAgfQo+IC0tIAo+IDEuOS4xCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==