From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] Revert "drm/i915/color: Extract icl_read_luts()" Date: Wed, 25 Sep 2019 11:41:21 +0300 Message-ID: <875zlgu5se.fsf@intel.com> References: <20190924135820.11850-1-swati2.sharma@intel.com> <43D4F724E12AB6478FC1572B3FBE89D07692E53B@IRSMSX106.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BB7D6E824 for ; Wed, 25 Sep 2019 08:41:27 +0000 (UTC) In-Reply-To: <43D4F724E12AB6478FC1572B3FBE89D07692E53B@IRSMSX106.ger.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Saarinen, Jani" , "Sharma, Swati2" , "intel-gfx@lists.freedesktop.org" Cc: "daniel.vetter@ffwll.ch" , "Nautiyal, Ankit K" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyNSBTZXAgMjAxOSwgIlNhYXJpbmVuLCBKYW5pIiA8amFuaS5zYWFyaW5lbkBpbnRl bC5jb20+IHdyb3RlOgo+IEhpLCAKPgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBG cm9tOiBJbnRlbC1nZnggPGludGVsLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4g T24gQmVoYWxmIE9mIFN3YXRpCj4+IFNoYXJtYQo+PiBTZW50OiB0aWlzdGFpIDI0LiBzeXlza3V1 dGEgMjAxOSAxNi41OAo+PiBUbzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBD YzogTmlrdWxhLCBKYW5pIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+OyBkYW5pZWwudmV0dGVyQGZm d2xsLmNoOyBOYXV0aXlhbCwgQW5raXQgSwo+PiA8YW5raXQuay5uYXV0aXlhbEBpbnRlbC5jb20+ Cj4+IFN1YmplY3Q6IFtJbnRlbC1nZnhdIFtQQVRDSF0gUmV2ZXJ0ICJkcm0vaTkxNS9jb2xvcjog RXh0cmFjdCBpY2xfcmVhZF9sdXRzKCkiCj4+IAo+PiBUaGlzIHJldmVydHMgY29tbWl0IDg0YWY3 NjQ5MTg4MTk0YTc0Y2RkNjQzNzIzNWE1ZTNjODYxMDhmMGYuCj4+IAo+PiBUaGlzIGlzIGNhdXNp bmcgcHJvYmxlbXMgd2l0aCB0aGUgZGlzcGxheSwgZGlzcGxheXMgYXJlIGFsbCBicmlnaHQgY29s b3JzLgo+Cj4gVGVzdGVkLWJ5OiBKYW5pIFNhYXJpbmVuIDxqYW5pLnNhYXJpbmVuQGludGVsLmNv bT4KPiBCdWd6aWxsYTogIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dp P2lkPTExMTgwOQoKQXBvbG9naWVzLCBtaXNzZWQgdGhlc2UgYmVmb3JlIHB1c2hpbmcuIDooCgpC UiwKSmFuaS4KCj4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6IFN3YXRpIFNoYXJtYSA8c3dhdGkyLnNo YXJtYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9jb2xvci5jIHwgMTI2ICsrKy0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgICA2IC0KPj4gIDIgZmlsZXMgY2hhbmdl ZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwo+PiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwo+PiBpbmRleCA0MDIxNTExMjhlMWYu LjlhYjM0OTAyNjYzZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9jb2xvci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfY29sb3IuYwo+PiBAQCAtMTQyMCw5ICsxNDIwLDYgQEAgc3RhdGljIGludCBpY2xfY29sb3Jf Y2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUKPj4gKmNydGNfc3RhdGUpCj4+IAo+PiAgc3Rh dGljIGludCBpOXh4X2dhbW1hX3ByZWNpc2lvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkgIHsKPj4gLQlpZiAoIWNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPj4g LQkJcmV0dXJuIDA7Cj4+IC0KPj4gIAlzd2l0Y2ggKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpIHsK Pj4gIAljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOgo+PiAgCQlyZXR1cm4gODsKPj4gQEAgLTE0 MzYsOSArMTQzMyw2IEBAIHN0YXRpYyBpbnQgaTl4eF9nYW1tYV9wcmVjaXNpb24oY29uc3Qgc3Ry dWN0Cj4+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+IAo+PiAgc3RhdGljIGludCBp bGtfZ2FtbWFfcHJlY2lzaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKSAgewo+PiAtCWlmICghY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQo+PiAtCQlyZXR1cm4g MDsKPj4gLQo+PiAgCWlmICgoY3J0Y19zdGF0ZS0+Y3NjX21vZGUgJiBDU0NfUE9TSVRJT05fQkVG T1JFX0dBTU1BKSA9PSAwKQo+PiAgCQlyZXR1cm4gMDsKPj4gCj4+IEBAIC0xNDU1LDkgKzE0NDks NiBAQCBzdGF0aWMgaW50IGlsa19nYW1tYV9wcmVjaXNpb24oY29uc3Qgc3RydWN0Cj4+IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+IAo+PiAgc3RhdGljIGludCBjaHZfZ2FtbWFfcHJl Y2lzaW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKSAgewo+PiAt CWlmICghY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQo+PiAtCQlyZXR1cm4gMDsKPj4gLQo+PiAg CWlmIChjcnRjX3N0YXRlLT5jZ21fbW9kZSAmIENHTV9QSVBFX01PREVfR0FNTUEpCj4+ICAJCXJl dHVybiAxMDsKPj4gIAllbHNlCj4+IEBAIC0xNDY2LDkgKzE0NTcsNiBAQCBzdGF0aWMgaW50IGNo dl9nYW1tYV9wcmVjaXNpb24oY29uc3Qgc3RydWN0Cj4+IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4+IAo+PiAgc3RhdGljIGludCBnbGtfZ2FtbWFfcHJlY2lzaW9uKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKSAgewo+PiAtCWlmICghY3J0Y19zdGF0ZS0+ Z2FtbWFfZW5hYmxlKQo+PiAtCQlyZXR1cm4gMDsKPj4gLQo+PiAgCXN3aXRjaCAoY3J0Y19zdGF0 ZS0+Z2FtbWFfbW9kZSkgewo+PiAgCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzhCSVQ6Cj4+ICAJCXJl dHVybiA4Owo+PiBAQCAtMTQ4MCwzOSArMTQ2OCwyMSBAQCBzdGF0aWMgaW50IGdsa19nYW1tYV9w cmVjaXNpb24oY29uc3Qgc3RydWN0Cj4+IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ ICAJfQo+PiAgfQo+PiAKPj4gLXN0YXRpYyBpbnQgaWNsX2dhbW1hX3ByZWNpc2lvbihjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkgLXsKPj4gLQlpZiAoKGNydGNfc3Rh dGUtPmdhbW1hX21vZGUgJiBQT1NUX0NTQ19HQU1NQV9FTkFCTEUpID09IDApCj4+IC0JCXJldHVy biAwOwo+PiAtCj4+IC0Jc3dpdGNoIChjcnRjX3N0YXRlLT5nYW1tYV9tb2RlICYgR0FNTUFfTU9E RV9NT0RFX01BU0spIHsKPj4gLQljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOgo+PiAtCQlyZXR1 cm4gODsKPj4gLQljYXNlIEdBTU1BX01PREVfTU9ERV8xMEJJVDoKPj4gLQkJcmV0dXJuIDEwOwo+ PiAtCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEyQklUX01VTFRJX1NFR01FTlRFRDoKPj4gLQkJcmV0 dXJuIDE2Owo+PiAtCWRlZmF1bHQ6Cj4+IC0JCU1JU1NJTkdfQ0FTRShjcnRjX3N0YXRlLT5nYW1t YV9tb2RlKTsKPj4gLQkJcmV0dXJuIDA7Cj4+IC0JfQo+PiAtCj4+IC19Cj4+IC0KPj4gIGludCBp bnRlbF9jb2xvcl9nZXRfZ2FtbWFfYml0X3ByZWNpc2lvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPj4gewo+PiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+PiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+PiAKPj4gKwlp ZiAoIWNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPj4gKwkJcmV0dXJuIDA7Cj4+ICsKPj4gIAlp ZiAoSEFTX0dNQ0goZGV2X3ByaXYpKSB7Cj4+ICAJCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2 KSkKPj4gIAkJCXJldHVybgo+PiBjaHZfZ2FtbWFfcHJlY2lzaW9uKGNydGNfc3RhdGUpOwo+PiAg CQllbHNlCj4+ICAJCQlyZXR1cm4KPj4gaTl4eF9nYW1tYV9wcmVjaXNpb24oY3J0Y19zdGF0ZSk7 Cj4+ICAJfSBlbHNlIHsKPj4gLQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4+IC0J CQlyZXR1cm4KPj4gaWNsX2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKPj4gLQkJZWxzZSBp ZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwKPj4gSVNfR0VNSU5JTEFLRShkZXZfcHJpdikp Cj4+ICsJCWlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSB8fAo+PiBJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKPj4gIAkJCXJldHVybgo+PiBnbGtfZ2FtbWFfcHJlY2lzaW9uKGNydGNfc3RhdGUp Owo+PiAgCQllbHNlIGlmIChJU19JUk9OTEFLRShkZXZfcHJpdikpCj4+ICAJCQlyZXR1cm4KPj4g aWxrX2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsgQEAgLTE1NDMsMjAgKzE1MTMsNiBAQCBz dGF0aWMgYm9vbAo+PiBpbnRlbF9jb2xvcl9sdXRfZW50cnlfZXF1YWwoc3RydWN0IGRybV9jb2xv cl9sdXQgKmx1dDEsCj4+ICAJcmV0dXJuIHRydWU7Cj4+ICB9Cj4+IAo+PiAtc3RhdGljIGJvb2wg aW50ZWxfY29sb3JfbHV0X2VudHJ5X211bHRpX2VxdWFsKHN0cnVjdCBkcm1fY29sb3JfbHV0ICps dXQxLAo+PiAtCQkJCQkgICAgICBzdHJ1Y3QKPj4gZHJtX2NvbG9yX2x1dCAqbHV0MiwKPj4gLQkJ CQkJICAgICAgaW50Cj4+IGx1dF9zaXplLCB1MzIgZXJyKQo+PiAtewo+PiAtCWludCBpOwo+PiAt Cj4+IC0JZm9yIChpID0gMDsgaSA8IDk7IGkrKykgewo+PiAtCQlpZiAoIWVycl9jaGVjaygmbHV0 MVtpXSwgJmx1dDJbaV0sIGVycikpCj4+IC0JCQlyZXR1cm4gZmFsc2U7Cj4+IC0JfQo+PiAtCj4+ IC0JcmV0dXJuIHRydWU7Cj4+IC19Cj4+IC0KPj4gIGJvb2wgaW50ZWxfY29sb3JfbHV0X2VxdWFs KHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYjEsCj4+ICAJCQkgICBzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmJsb2IyLAo+PiAgCQkJICAgdTMyIGdhbW1hX21vZGUsIHUzMiBiaXRfcHJl Y2lzaW9uKQo+PiBAQCAtMTU3NSw4ICsxNTMxLDE2IEBAIGJvb2wgaW50ZWxfY29sb3JfbHV0X2Vx dWFsKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYgo+PiAqYmxvYjEsCj4+ICAJbHV0X3NpemUyID0g ZHJtX2NvbG9yX2x1dF9zaXplKGJsb2IyKTsKPj4gCj4+ICAJLyogY2hlY2sgc3cgYW5kIGh3IGx1 dCBzaXplICovCj4+IC0JaWYgKGx1dF9zaXplMSAhPSBsdXRfc2l6ZTIpCj4+IC0JCXJldHVybiBm YWxzZTsKPj4gKwlzd2l0Y2ggKGdhbW1hX21vZGUpIHsKPj4gKwljYXNlIEdBTU1BX01PREVfTU9E RV84QklUOgo+PiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOgo+PiArCQlpZiAobHV0X3Np emUxICE9IGx1dF9zaXplMikKPj4gKwkJCXJldHVybiBmYWxzZTsKPj4gKwkJYnJlYWs7Cj4+ICsJ ZGVmYXVsdDoKPj4gKwkJTUlTU0lOR19DQVNFKGdhbW1hX21vZGUpOwo+PiArCQkJcmV0dXJuIGZh bHNlOwo+PiArCX0KPj4gCj4+ICAJbHV0MSA9IGJsb2IxLT5kYXRhOwo+PiAgCWx1dDIgPSBibG9i Mi0+ZGF0YTsKPj4gQEAgLTE1ODQsMTggKzE1NDgsMTMgQEAgYm9vbCBpbnRlbF9jb2xvcl9sdXRf ZXF1YWwoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iCj4+ICpibG9iMSwKPj4gIAllcnIgPSAweGZm ZmYgPj4gYml0X3ByZWNpc2lvbjsKPj4gCj4+ICAJLyogY2hlY2sgc3cgYW5kIGh3IGx1dCBlbnRy eSB0byBiZSBlcXVhbCAqLwo+PiAtCXN3aXRjaCAoZ2FtbWFfbW9kZSAmIEdBTU1BX01PREVfTU9E RV9NQVNLKSB7Cj4+ICsJc3dpdGNoIChnYW1tYV9tb2RlKSB7Cj4+ICAJY2FzZSBHQU1NQV9NT0RF X01PREVfOEJJVDoKPj4gIAljYXNlIEdBTU1BX01PREVfTU9ERV8xMEJJVDoKPj4gIAkJaWYgKCFp bnRlbF9jb2xvcl9sdXRfZW50cnlfZXF1YWwobHV0MSwgbHV0MiwKPj4gCj4+IAkgbHV0X3NpemUy LCBlcnIpKQo+PiAgCQkJcmV0dXJuIGZhbHNlOwo+PiAgCQlicmVhazsKPj4gLQljYXNlIEdBTU1B X01PREVfTU9ERV8xMkJJVF9NVUxUSV9TRUdNRU5URUQ6Cj4+IC0JCWlmICghaW50ZWxfY29sb3Jf bHV0X2VudHJ5X211bHRpX2VxdWFsKGx1dDEsIGx1dDIsCj4+IC0KPj4gCSAgICAgICBsdXRfc2l6 ZTIsIGVycikpCj4+IC0JCQlyZXR1cm4gZmFsc2U7Cj4+IC0JCWJyZWFrOwo+PiAgCWRlZmF1bHQ6 Cj4+ICAJCU1JU1NJTkdfQ0FTRShnYW1tYV9tb2RlKTsKPj4gIAkJCXJldHVybiBmYWxzZTsKPj4g QEAgLTE4MzUsNjAgKzE3OTQsNiBAQCBzdGF0aWMgdm9pZCBnbGtfcmVhZF9sdXRzKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlCj4+ICpjcnRjX3N0YXRlKQo+PiAgCQljcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCA9Cj4+IGdsa19yZWFkX2x1dF8xMChjcnRjX3N0YXRlLCBQQUxfUFJFQ19JTkRFWF9W QUxVRSgwKSk7ICB9Cj4+IAo+PiAtc3RhdGljIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqCj4+ IC1pY2xfcmVhZF9sdXRfbXVsdGlfc2VnbWVudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkgLXsKPj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPj4gLQlpbnQgbHV0X3NpemUg PSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7Cj4+IC0JZW51bSBw aXBlIHBpcGUgPSBjcnRjLT5waXBlOwo+PiAtCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxv YjsKPj4gLQlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqYmxvYl9kYXRhOwo+PiAtCXUzMiBpLCB2YWwx LCB2YWwyOwo+PiAtCj4+IC0JYmxvYiA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYigmZGV2X3By aXYtPmRybSwKPj4gLQo+PiAJc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGx1dF9zaXpl LAo+PiAtCQkJCQlOVUxMKTsKPj4gLQlpZiAoSVNfRVJSKGJsb2IpKQo+PiAtCQlyZXR1cm4gTlVM TDsKPj4gLQo+PiAtCWJsb2JfZGF0YSA9IGJsb2ItPmRhdGE7Cj4+IC0KPj4gLQlJOTE1X1dSSVRF KFBSRUNfUEFMX01VTFRJX1NFR19JTkRFWChwaXBlKSwKPj4gUEFMX1BSRUNfQVVUT19JTkNSRU1F TlQpOwo+PiAtCj4+IC0JZm9yIChpID0gMDsgaSA8IDk7IGkrKykgewo+PiAtCQl2YWwxID0KPj4g STkxNV9SRUFEKFBSRUNfUEFMX01VTFRJX1NFR19EQVRBKHBpcGUpKTsKPj4gLQkJdmFsMiA9Cj4+ IEk5MTVfUkVBRChQUkVDX1BBTF9NVUxUSV9TRUdfREFUQShwaXBlKSk7Cj4+IC0KPj4gLQkJYmxv Yl9kYXRhW2ldLnJlZCA9Cj4+IFJFR19GSUVMRF9HRVQoUEFMX1BSRUNfTVVMVElfU0VHX1JFRF9V RFdfTUFTSywgdmFsMikgPDwgNiB8Cj4+IC0KPj4gUkVHX0ZJRUxEX0dFVChQQUxfUFJFQ19NVUxU SV9TRUdfUkVEX0xEV19NQVNLLCB2YWwxKTsKPj4gLQkJYmxvYl9kYXRhW2ldLmdyZWVuID0KPj4g UkVHX0ZJRUxEX0dFVChQQUxfUFJFQ19NVUxUSV9TRUdfR1JFRU5fVURXX01BU0ssIHZhbDIpIDw8 IDYgfAo+PiAtCj4+IFJFR19GSUVMRF9HRVQoUEFMX1BSRUNfTVVMVElfU0VHX0dSRUVOX0xEV19N QVNLLCB2YWwxKTsKPj4gLQkJYmxvYl9kYXRhW2ldLmJsdWUgPQo+PiBSRUdfRklFTERfR0VUKFBB TF9QUkVDX01VTFRJX1NFR19CTFVFX1VEV19NQVNLLCB2YWwyKSA8PCA2IHwKPj4gLQo+PiBSRUdf RklFTERfR0VUKFBBTF9QUkVDX01VTFRJX1NFR19CTFVFX0xEV19NQVNLLCB2YWwxKTsKPj4gLQl9 Cj4+IC0KPj4gLQkvKgo+PiAtCSAqIEZJWE1FIHJlYWRvdXRzIGZyb20gUEFMX1BSRUNfREFUQSBy ZWdpc3RlciBhcmVuJ3QgZ2l2aW5nIGNvcnJlY3QKPj4gdmFsdWVzCj4+IC0JICogaW4gdGhlIGNh c2Ugb2YgZmluZSBhbmQgY29hcnNlIHNlZ21lbnRzLiBSZXN0cmljdGluZyByZWFkb3V0cyBvbmx5 Cj4+IGZvcgo+PiAtCSAqIHN1cGVyIGZpbmUgc2VnbWVudCBhcyBvZiBub3cuCj4+IC0JICovCj4+ IC0KPj4gLQlyZXR1cm4gYmxvYjsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIHZvaWQgaWNsX3JlYWRf bHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkgLXsKPj4gLQlpZiAoKGNy dGNfc3RhdGUtPmdhbW1hX21vZGUgJiBHQU1NQV9NT0RFX01PREVfTUFTSykgPT0KPj4gLQkgICAg R0FNTUFfTU9ERV9NT0RFXzhCSVQpCj4+IC0JCWNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0ID0K Pj4gaTl4eF9yZWFkX2x1dF84KGNydGNfc3RhdGUpOwo+PiAtCWVsc2UgaWYgKChjcnRjX3N0YXRl LT5nYW1tYV9tb2RlICYgR0FNTUFfTU9ERV9NT0RFX01BU0spCj4+ID09Cj4+IC0JCSBHQU1NQV9N T0RFX01PREVfMTJCSVRfTVVMVElfU0VHTUVOVEVEKQo+PiAtCQljcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCA9Cj4+IGljbF9yZWFkX2x1dF9tdWx0aV9zZWdtZW50KGNydGNfc3RhdGUpOwo+PiAt CWVsc2UKPj4gLQkJY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQgPQo+PiBnbGtfcmVhZF9sdXRf MTAoY3J0Y19zdGF0ZSwgUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOwo+PiAtfQo+PiAtCj4+ICB2 b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpICB7Cj4+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7 IEBAIC0KPj4gMTkzMiw3ICsxODM3LDYgQEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQo+PiAKPj4gIAkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEp IHsKPj4gIAkJCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9Cj4+IGljbF9sb2FkX2x1dHM7 Cj4+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5yZWFkX2x1dHMgPQo+PiBpY2xfcmVhZF9sdXRzOwo+ PiAgCQl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpIHx8Cj4+IElTX0dFTUlOSUxB S0UoZGV2X3ByaXYpKSB7Cj4+ICAJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPQo+PiBn bGtfbG9hZF9sdXRzOwo+PiAgCQkJZGV2X3ByaXYtPmRpc3BsYXkucmVhZF9sdXRzID0KPj4gZ2xr X3JlYWRfbHV0czsgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGluZGV4IGE2OWMxOWFhZTViYi4u NjYxY2JlNGM5MzNhIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gQEAgLTEwNTc0 LDEyICsxMDU3NCw2IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewo+PiAKPj4gICNkZWZpbmUgX1BB TF9QUkVDX01VTFRJX1NFR19EQVRBX0EJMHg0QTQwQwo+PiAgI2RlZmluZSBfUEFMX1BSRUNfTVVM VElfU0VHX0RBVEFfQgkweDRBQzBDCj4+IC0jZGVmaW5lICBQQUxfUFJFQ19NVUxUSV9TRUdfUkVE X0xEV19NQVNLICAgUkVHX0dFTk1BU0soMjksIDI0KQo+PiAtI2RlZmluZSAgUEFMX1BSRUNfTVVM VElfU0VHX1JFRF9VRFdfTUFTSyAgIFJFR19HRU5NQVNLKDI5LCAyMCkKPj4gLSNkZWZpbmUgIFBB TF9QUkVDX01VTFRJX1NFR19HUkVFTl9MRFdfTUFTSyBSRUdfR0VOTUFTSygxOSwgMTQpIC0KPj4g I2RlZmluZSAgUEFMX1BSRUNfTVVMVElfU0VHX0dSRUVOX1VEV19NQVNLIFJFR19HRU5NQVNLKDE5 LCAxMCkgLQo+PiAjZGVmaW5lICBQQUxfUFJFQ19NVUxUSV9TRUdfQkxVRV9MRFdfTUFTSyAgUkVH X0dFTk1BU0soOSwgNCkgLSNkZWZpbmUKPj4gUEFMX1BSRUNfTVVMVElfU0VHX0JMVUVfVURXX01B U0sgIFJFR19HRU5NQVNLKDksIDApCj4+IAo+PiAgI2RlZmluZSBQUkVDX1BBTF9NVUxUSV9TRUdf SU5ERVgocGlwZSkJX01NSU9fUElQRShwaXBlLCBcCj4+IAo+PiAJX1BBTF9QUkVDX01VTFRJX1NF R19JTkRFWF9BLCBcCj4+IC0tCj4+IDIuMjMuMAo+PiAKPj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVs IE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZng=