From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [v7][PATCH 03/12] drm/i915: Add func to compare hw/sw gamma lut Date: Wed, 05 Jun 2019 13:07:54 +0300 Message-ID: <87sgso2vlx.fsf@intel.com> References: <1559123462-7343-1-git-send-email-swati2.sharma@intel.com> <1559123462-7343-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id E938F897F6 for ; Wed, 5 Jun 2019 10:04:49 +0000 (UTC) In-Reply-To: <1559123462-7343-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyOSBNYXkgMjAxOSwgU3dhdGkgU2hhcm1hIDxzd2F0aTIuc2hhcm1hQGludGVsLmNv bT4gd3JvdGU6Cj4gdjM6IC1SZWJhc2UKPiB2NDogLVJlbmFtZWQgaW50ZWxfY29tcGFyZV9jb2xv cl9sdXQoKSB0byBpbnRlbF9jb2xvcl9sdXRfZXF1YWwoKSBbSmFuaV0KPiAgICAgLUFkZGVkIHRo ZSBkZWZhdWx0IGxhYmVsIGFib3ZlIHRoZSBjb3JyZWN0IGxhYmVsIFtKYW5pXQo+ICAgICAtQ29y cmVjdGVkIHNtYXRjaCB3YXJuICJ2YXJpYWJsZSBkZXJlZmVyZW5jZWQgYmVmb3JlIGNoZWNrIgo+ ICAgICAgW0RhbiBDYXJwZW50ZXJdCj4gdjU6IC1BZGRlZCBjb25kaXRpb24gKCFibG9iMSAmJiAh YmxvYjIpIHJldHVybiB0cnVlIFtKYW5pXQo+ICAgICAtQ2FsbGVkIFBJUEVfQ09ORl9DSEVDS19D T0xPUl9MVVQgaW5zaWRlIGlmICghYWRqdXN0KSBbSmFuaV0KPiAgICAgLUFkZGVkICN1bmRlZiBQ SVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUIFtKYW5pXQo+IHY2OiAtQWRkZWQgZnVuYyBpbnRlbF9j b2xvcl9nZXRfYml0X3ByZWNpc2lvbigpIHRvIGdldCBiaXQgcHJlY2lzaW9uIGZvcgo+ICAgICAg Z2FtbWEgYW5kIGRlZ2FtbWEgbHV0IHJlYWRvdXQgZGVwZW5kaW5nIHVwb24gcGxhdGZvcm0gYW5k Cj4gICAgICBjb3JyZXNwb25kaW5nIHRvIGxvYWRfbHV0cygpIFtBbmtpdF0KPiAgICAgLUFkZGVk IGRlYnVnIGxvZyBmb3IgY29sb3IgcGFyYSBpbiBpbnRlbF9kdW1wX3BpcGVfY29uZmlnIFtKYW5p XQo+ICAgICAtTWFkZSBwYXRjaDExIGFzIHBhdGNoMyBbSmFuaV0KPiB2NzogLVJlbmFtZWQgZnVu YyBpbnRlbF9jb2xvcl9nZXRfYml0X3ByZWNpc2lvbigpIHRvCj4gICAgICBpbnRlbF9jb2xvcl9n ZXRfZ2FtbWFfYml0X3ByZWNpc2lvbigpCj4gICAgIC1BZGRlZCBzZXBhcmF0ZSBmdW5jdGlvbi9w bGF0Zm9ybSBmb3IgZ2FtbWEgYml0IHByZWNpc2lvbiBbVmlsbGVdCj4gICAgIC1Db3JyZWN0ZWQg Y2hlY2twYXRjaCB3YXJuaW5ncwoKVGhlIHBhdGNoIHJldmlzaW9ucyBhcmUgZ3JlYXQsIGJ1dCB5 b3UgZG8gbmVlZCB0byBhZGQgYW4gYWN0dWFsIGNvbW1pdAptZXNzYWdlIGZpcnN0IGFzIHdlbGwu CgpJbiBnZW5lcmFsLCBwbGVhc2UgZG9uJ3QgcmVmZXJlbmNlICJ0aGlzIHBhdGNoIiBiZWNhdXNl IG9uIHRoZSBvbmUgaGFuZAppdCdzIGtpbmQgb2Ygb2J2aW91cyBhbmQgb24gdGhlIG90aGVyIGhh bmQgaXQgY2Vhc2VzIHRvIGJlIGEgcGF0Y2ggd2hlbgppdCBnZXRzIGFwcGxpZWQgYW5kIGJlY29t ZXMgYSBjb21taXQuCgpQbGVhc2UgYWxzbyB1c2UgdGhlIGltcGVyYXRpdmUgc3R5bGUgaW4gdGhl IGNvbW1pdCBtZXNzYWdlIGxpa2UgeW91IGhhdmUKaW4gdGhlIHRpdGxlL3N1YmplY3QgbGluZS4K ClNvIGluc3RlYWQgb2YgIkluIHRoaXMgcGF0Y2gsIGZvbyBpcyBhZGRlZC4iIHVzZSAiQWRkIGZv by4iCgpCUiwKSmFuaS4KCgo+Cj4gU2lnbmVkLW9mZi1ieTogU3dhdGkgU2hhcm1hIDxzd2F0aTIu c2hhcm1hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29s b3IuYyAgIHwgMTY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmggICB8ICAgNyArKwo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMjQgKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAx OTcgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gaW5kZXgg NTBiOThlZS4uYjIwYTJjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+IEBA IC0xMjUxLDYgKzEyNTEsMTcyIEBAIHN0YXRpYyBpbnQgaWNsX2NvbG9yX2NoZWNrKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0 YXRpYyBpbnQgaTl4eF9nYW1tYV9wcmVjaXNpb24oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gK3sKPiArCWlmICghY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlKQo+ICsJCXJl dHVybiAwOwo+ICsKPiArCXN3aXRjaCAoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSkgewo+ICsJY2Fz ZSBHQU1NQV9NT0RFX01PREVfOEJJVDoKPiArCQlyZXR1cm4gODsKPiArCWNhc2UgR0FNTUFfTU9E RV9NT0RFXzEwQklUOgo+ICsJCXJldHVybiAxNjsKPiArCWRlZmF1bHQ6Cj4gKwkJTUlTU0lOR19D QVNFKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW50IGNodl9nYW1tYV9wcmVjaXNpb24oc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmIChjcnRjX3N0YXRlLT5jZ21fbW9kZSAmIENHTV9Q SVBFX01PREVfR0FNTUEpCj4gKwkJcmV0dXJuIDEwOwo+ICsJZWxzZQo+ICsJCXJldHVybiBpOXh4 X2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBpbGtf Z2FtbWFfcHJlY2lzaW9uKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7 Cj4gKwlpZiAoIWNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPiArCQlyZXR1cm4gMDsKPiArCj4g KwlpZiAoKGNydGNfc3RhdGUtPmNzY19tb2RlICYgQ1NDX1BPU0lUSU9OX0JFRk9SRV9HQU1NQSkg PT0gMCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdhbW1hX21v ZGUpIHsKPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzhCSVQ6Cj4gKwkJcmV0dXJuIDg7Cj4gKwlj YXNlIEdBTU1BX01PREVfTU9ERV8xMEJJVDoKPiArCQlyZXR1cm4gMTA7Cj4gKwlkZWZhdWx0Ogo+ ICsJCU1JU1NJTkdfQ0FTRShjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKPiArCQlyZXR1cm4gMDsK PiArCX0KPiArfQo+ICsKPiArc3RhdGljIGludCBpdmJfZ2FtbWFfcHJlY2lzaW9uKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICt7Cj4gKwlpZiAoIWNydGNfc3RhdGUtPmdh bW1hX2VuYWJsZSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlpZiAoKGNydGNfc3RhdGUtPmNzY19t b2RlICYgQ1NDX1BPU0lUSU9OX0JFRk9SRV9HQU1NQSkgPT0gMCkKPiArCQlyZXR1cm4gMDsKPiAr Cj4gKwlzd2l0Y2ggKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpIHsKPiArCWNhc2UgR0FNTUFfTU9E RV9NT0RFXzhCSVQ6Cj4gKwkJcmV0dXJuIDg7Cj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV9TUExJ VDoKPiArCWNhc2UgR0FNTUFfTU9ERV9NT0RFXzEwQklUOgo+ICsJCXJldHVybiAxMDsKPiArCWRl ZmF1bHQ6Cj4gKwkJTUlTU0lOR19DQVNFKGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOwo+ICsJCXJl dHVybiAwOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGdsa19nYW1tYV9wcmVjaXNpb24o c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sKPiArCWlmICghY3J0Y19z dGF0ZS0+Z2FtbWFfZW5hYmxlKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWlmICgoY3J0Y19zdGF0 ZS0+Y3NjX21vZGUgJiBDU0NfUE9TSVRJT05fQkVGT1JFX0dBTU1BKSA9PSAwKQo+ICsJCXJldHVy biAwOwo+ICsKPiArCXN3aXRjaCAoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSkgewo+ICsJY2FzZSBH QU1NQV9NT0RFX01PREVfOEJJVDoKPiArCQlyZXR1cm4gODsKPiArCWNhc2UgR0FNTUFfTU9ERV9N T0RFXzEwQklUOgo+ICsJCXJldHVybiAxMDsKPiArCWRlZmF1bHQ6Cj4gKwkJTUlTU0lOR19DQVNF KGNydGNfc3RhdGUtPmdhbW1hX21vZGUpOwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICt9Cj4gKwo+ ICtzdGF0aWMgaW50IGljbF9nYW1tYV9wcmVjaXNpb24oc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCj4gK3sKPiArCWlmICgoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSAmIFBSRV9D U0NfR0FNTUFfRU5BQkxFKSA9PSAwKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXN3aXRjaCAoY3J0 Y19zdGF0ZS0+Z2FtbWFfbW9kZSAmIEdBTU1BX01PREVfTU9ERV9NQVNLKSB7Cj4gKwljYXNlIEdB TU1BX01PREVfTU9ERV84QklUOgo+ICsJCXJldHVybiA4Owo+ICsJY2FzZSBHQU1NQV9NT0RFX01P REVfMTBCSVQ6Cj4gKwkJcmV0dXJuIDEwOwo+ICsJZGVmYXVsdDoKPiArCQlNSVNTSU5HX0NBU0Uo Y3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSk7Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gK30KPiArCj4g K2ludCBpbnRlbF9jb2xvcl9nZXRfZ2FtbWFfYml0X3ByZWNpc2lvbihzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiArCj4gKwlpZiAo SEFTX0dNQ0goZGV2X3ByaXYpKSB7Cj4gKwkJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ ICsJCQlyZXR1cm4gY2h2X2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKPiArCQllbHNlCj4g KwkJCXJldHVybiBpOXh4X2dhbW1hX3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKPiArCX0gZWxzZSB7 Cj4gKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCj4gKwkJCXJldHVybiBpY2xfZ2Ft bWFfcHJlY2lzaW9uKGNydGNfc3RhdGUpOwo+ICsJCWVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2 X3ByaXYpIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQo+ICsJCQlyZXR1cm4gZ2xrX2dhbW1h X3ByZWNpc2lvbihjcnRjX3N0YXRlKTsKPiArCQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDcpCj4gKwkJCXJldHVybiBpdmJfZ2FtbWFfcHJlY2lzaW9uKGNydGNfc3RhdGUpOwo+ICsJ CWVsc2UKPiArCQkJcmV0dXJuIGlsa19nYW1tYV9wcmVjaXNpb24oY3J0Y19zdGF0ZSk7Cj4gKwl9 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBlcnJfY2hl Y2soc3RydWN0IGRybV9jb2xvcl9sdXQgKnN3X2x1dCwKPiArCQkJICAgICBzdHJ1Y3QgZHJtX2Nv bG9yX2x1dCAqaHdfbHV0LCB1MzIgZXJyKQo+ICt7Cj4gKwlyZXR1cm4gKChhYnMoKGxvbmcpaHdf bHV0LT5yZWQgLSBzd19sdXQtPnJlZCkpIDw9IGVycikgJiYKPiArCQkoKGFicygobG9uZylod19s dXQtPmJsdWUgLSBzd19sdXQtPmJsdWUpKSA8PSBlcnIpICYmCj4gKwkJKChhYnMoKGxvbmcpaHdf bHV0LT5ncmVlbiAtIHN3X2x1dC0+Z3JlZW4pKSA8PSBlcnIpOwo+ICt9Cj4gKwo+ICtib29sIGlu dGVsX2NvbG9yX2x1dF9lcXVhbChzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IxLAo+ICsJ CQkgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IyLAo+ICsJCQkgICB1MzIgYml0X3By ZWNpc2lvbikKPiArewo+ICsJc3RydWN0IGRybV9jb2xvcl9sdXQgKnN3X2x1dCwgKmh3X2x1dDsK PiArCWludCBzd19sdXRfc2l6ZSwgaHdfbHV0X3NpemUsIGk7Cj4gKwl1MzIgZXJyOwo+ICsKPiAr CWlmICghYmxvYjEgJiYgIWJsb2IyKQo+ICsJCXJldHVybiB0cnVlOwo+ICsKPiArCWlmICghYmxv YjEpCj4gKwkJcmV0dXJuIHRydWU7Cj4gKwo+ICsJaWYgKCFibG9iMikKPiArCQlyZXR1cm4gZmFs c2U7Cj4gKwo+ICsJc3dfbHV0X3NpemUgPSBkcm1fY29sb3JfbHV0X3NpemUoYmxvYjEpOwo+ICsJ aHdfbHV0X3NpemUgPSBkcm1fY29sb3JfbHV0X3NpemUoYmxvYjIpOwo+ICsKPiArCWlmIChzd19s dXRfc2l6ZSAhPSBod19sdXRfc2l6ZSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJc3dfbHV0 ID0gYmxvYjEtPmRhdGE7Cj4gKwlod19sdXQgPSBibG9iMi0+ZGF0YTsKPiArCj4gKwllcnIgPSAw eGZmZmYgPj4gYml0X3ByZWNpc2lvbjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgc3dfbHV0X3Np emU7IGkrKykgewo+ICsJCWlmICghZXJyX2NoZWNrKCZod19sdXRbaV0sICZzd19sdXRbaV0sIGVy cikpCj4gKwkJCXJldHVybiBmYWxzZTsKPiArCX0KPiArCj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ ICsKPiAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmgKPiBpbmRleCAwNTdlOGFjLi4w MmVhMWJjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5oCj4gQEAgLTYsMTMgKzYs MjAgQEAKPiAgI2lmbmRlZiBfX0lOVEVMX0NPTE9SX0hfXwo+ICAjZGVmaW5lIF9fSU5URUxfQ09M T1JfSF9fCj4gIAo+ICsjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiArCj4gIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlOwo+ICBzdHJ1Y3QgaW50ZWxfY3J0YzsKPiArc3RydWN0IGRybV9wcm9wZXJ0 eV9ibG9iOwo+ICAKPiAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKTsKPiAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKTsKPiAgdm9pZCBpbnRlbF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIHZvaWQgaW50ZWxf Y29sb3JfZ2V0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4g K2Jvb2wgaW50ZWxfY29sb3JfbHV0X2VxdWFsKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxv YjEsCj4gKwkJCSAgIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYjIsCj4gKwkJCSAgIHUz MiBiaXRfcHJlY2lzaW9uKTsKPiAraW50IGludGVsX2NvbG9yX2dldF9nYW1tYV9iaXRfcHJlY2lz aW9uKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgCj4gICNlbmRpZiAv KiBfX0lOVEVMX0NPTE9SX0hfXyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK PiBpbmRleCAzZTAxMDI4Li5iOGZmM2Y0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xMTU3MCw2ICsxMTU3MCwxNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1w X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJCQkJICAgICAgZHJtX3Jl Y3Rfd2lkdGgoJnN0YXRlLT5iYXNlLmRzdCksCj4gIAkJCQkgICAgICBkcm1fcmVjdF9oZWlnaHQo JnN0YXRlLT5iYXNlLmRzdCkpOwo+ICAJfQo+ICsKPiArCWlmIChJU19DSEVSUllWSUVXKGRldl9w cml2KSkKPiArCQlEUk1fREVCVUdfS01TKCJjZ21fbW9kZTolZCBnYW1tYV9tb2RlOiVkIGdhbW1h X2VuYWJsZTolZCBjc2NfZW5hYmxlOiVkXG4iLAo+ICsJCQkgICAgICAgcGlwZV9jb25maWctPmNn bV9tb2RlLCBwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSwKPiArCQkJICAgICAgIHBpcGVfY29uZmln LT5nYW1tYV9lbmFibGUsIHBpcGVfY29uZmlnLT5jc2NfZW5hYmxlKTsKPiArCWVsc2UKPiArCQlE Uk1fREVCVUdfS01TKCJjc2NfbW9kZTolZCBnYW1tYV9tb2RlOiVkIGdhbW1hX2VuYWJsZTolZCBj c2NfZW5hYmxlOiVkXG4iLAo+ICsJCQkgICAgICAgcGlwZV9jb25maWctPmNzY19tb2RlLCBwaXBl X2NvbmZpZy0+Z2FtbWFfbW9kZSwKPiArCQkJICAgICAgIHBpcGVfY29uZmlnLT5nYW1tYV9lbmFi bGUsIHBpcGVfY29uZmlnLT5jc2NfZW5hYmxlKTsKPiAgfQo+ICAKPiAgc3RhdGljIGJvb2wgY2hl Y2tfZGlnaXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp Cj4gQEAgLTExOTQ3LDYgKzExOTU2LDcgQEAgc3RhdGljIGJvb2wgZmFzdGJvb3RfZW5hYmxlZChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJCSAgYm9vbCBhZGp1c3QpCj4g IHsKPiAgCWJvb2wgcmV0ID0gdHJ1ZTsKPiArCXUzMiBicF9nYW1tYSA9IDA7Cj4gIAlib29sIGZp eHVwX2luaGVyaXRlZCA9IGFkanVzdCAmJgo+ICAJCShjdXJyZW50X2NvbmZpZy0+YmFzZS5tb2Rl LnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklURUQpICYmCj4gIAkJIShwaXBl X2NvbmZpZy0+YmFzZS5tb2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklU RUQpOwo+IEBAIC0xMjA5OCw2ICsxMjEwOCwxNSBAQCBzdGF0aWMgYm9vbCBmYXN0Ym9vdF9lbmFi bGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCX0gXAo+ICB9IHdoaWxl ICgwKQo+ICAKPiArI2RlZmluZSBQSVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUKG5hbWUsIGJpdF9w cmVjaXNpb24pIGRvIHsgXAo+ICsJaWYgKCFpbnRlbF9jb2xvcl9sdXRfZXF1YWwoY3VycmVudF9j b25maWctPm5hbWUsIFwKPiArCQkJCSAgIHBpcGVfY29uZmlnLT5uYW1lLCBiaXRfcHJlY2lzaW9u KSkgeyBcCj4gKwkJcGlwZV9jb25maWdfZXJyKGFkanVzdCwgX19zdHJpbmdpZnkobmFtZSksIFwK PiArCQkJCSJod19zdGF0ZSBkb2Vzbid0IG1hdGNoIHN3X3N0YXRlXG4iKTsgXAo+ICsJCXJldCA9 IGZhbHNlOyBcCj4gKwl9IFwKPiArfSB3aGlsZSAoMCkKPiArCj4gICNkZWZpbmUgUElQRV9DT05G X1FVSVJLKHF1aXJrKSBcCj4gIAkoKGN1cnJlbnRfY29uZmlnLT5xdWlya3MgfCBwaXBlX2NvbmZp Zy0+cXVpcmtzKSAmIChxdWlyaykpCj4gIAo+IEBAIC0xMjE5Myw2ICsxMjIxMiwxMCBAQCBzdGF0 aWMgYm9vbCBmYXN0Ym9vdF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCQkJUElQRV9DT05GX0NIRUNLX1goY3NjX21vZGUpOwo+ICAJCVBJUEVfQ09ORl9DSEVD S19CT09MKGdhbW1hX2VuYWJsZSk7Cj4gIAkJUElQRV9DT05GX0NIRUNLX0JPT0woY3NjX2VuYWJs ZSk7Cj4gKwo+ICsJCWJwX2dhbW1hID0gaW50ZWxfY29sb3JfZ2V0X2dhbW1hX2JpdF9wcmVjaXNp b24ocGlwZV9jb25maWcpOwo+ICsJCWlmIChicF9nYW1tYSkKPiArCQkJUElQRV9DT05GX0NIRUNL X0NPTE9SX0xVVChiYXNlLmdhbW1hX2x1dCwgYnBfZ2FtbWEpOwo+ICAJfQo+ICAKPiAgCVBJUEVf Q09ORl9DSEVDS19CT09MKGRvdWJsZV93aWRlKTsKPiBAQCAtMTIyNTUsNiArMTIyNzgsNyBAQCBz dGF0aWMgYm9vbCBmYXN0Ym9vdF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19GTEFHUwo+ICAjdW5kZWYgUElQRV9DT05G X0NIRUNLX0NMT0NLX0ZVWlpZCj4gICN1bmRlZiBQSVBFX0NPTkZfUVVJUksKPiArI3VuZGVmIFBJ UEVfQ09ORl9DSEVDS19DT0xPUl9MVVQKPiAgCj4gIAlyZXR1cm4gcmV0Owo+ICB9CgotLSAKSmFu aSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=