From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [v4 2/2] drm/i915/icl: Enable Plane Input CSC for YUV to RGB Conversion Date: Fri, 26 Oct 2018 10:40:59 +0200 Message-ID: <0ff02bbb-df70-34fc-ff2b-aa8a94b7f6d7@linux.intel.com> References: <1540505018-11710-1-git-send-email-uma.shankar@intel.com> <1540505018-11710-3-git-send-email-uma.shankar@intel.com> <20181025221146.GD5732@mdroper-desk.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 94ED66E01E for ; Fri, 26 Oct 2018 08:41:03 +0000 (UTC) In-Reply-To: <20181025221146.GD5732@mdroper-desk.amr.corp.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , Uma Shankar Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org T3AgMjYtMTAtMTggb20gMDA6MTEgc2NocmVlZiBNYXR0IFJvcGVyOgo+IE9uIEZyaSwgT2N0IDI2 LCAyMDE4IGF0IDAzOjMzOjM4QU0gKzA1MzAsIFVtYSBTaGFua2FyIHdyb3RlOgo+PiBQbGFuZSBp bnB1dCBDU0MgbmVlZHMgdG8gYmUgZW5hYmxlZCB0byBjb252ZXJ0IGZyYW1idWZmZXJzIGZyb20K Pj4gWVVWIHRvIFJHQi4gVGhpcyBpcyBuZWVkZWQgZm9yIGJvdHRvbSAzIHBsYW5lcyBvbiBJQ0ws IHJlc3Qgb2YKPj4gdGhlIHBsYW5lcyBoYXZlIGhhcmRjb2RlZCBjb252ZXJzaW9uIGFuZCB0YWtl biBjYXJlIGJ5IHRoZSBsZWdhY3kKPj4gY29kZS4KPj4KPj4gVGhpcyBwYXRjaCBkZWZpbmVzIHRo ZSBjby1lZmZpY2llbnQgdmFsdWVzIGZvciBZVVYgdG8gUkdCIGNvbnZlcnNpb24KPj4gaW4gQlQ3 MDkgYW5kIEJUNjAxIGZvcm1hdHMuIEl0IHByb2dyYW1zIHRoZSBjb2VmZmljaWVudHMgYW5kIGVu YWJsZXMKPj4gdGhlIHBsYW5lIGlucHV0IGNzYyB1bml0IGluIGhhcmR3YXJlLgo+Pgo+PiBOb3Rl OiBUaGlzIGlzIGN1cnJlbnRseSB1bnRlc3RlZCBhbmQgZmxvYXRlZCB0byBnZXQgYW4gZWFybHkg ZmVlZGJhY2sKPj4gb24gdGhlIGRlc2lnbiBhbmQgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgZmVh dHVyZS4gSW4gcGFyYWxsZWwsCj4+IEkgd2lsbCB0ZXN0IHRoaXMgb24gYWN0dWFsIElDTCBoYXJk d2FyZSBhbmQgY29uZmlybSB3aXRoIHBsYW5hcgo+PiBmb3JtYXRzLgo+Pgo+PiB2MjogQWRkcmVz c2VkIE1hYXJ0ZW4ncyBhbmQgVmlsbGUncyByZXZpZXcgY29tbWVudHMgYW5kIGFkZGVkIHRoZQo+ PiBjb2VmZmljaWVudHMgaW4gYSAyRCBhcnJheSBpbnN0ZWFkIG9mIGluZGVwZW5kZW50IE1hY3Jv cy4KPj4KPj4gdjM6IEFkZGVkIGluZGl2aWR1YWwgY29lZmZpY2llbnQgbWF0cml4ICg5IHZhbHVl cykgaW5zdGVhZCBvZiA2Cj4+IHJlZ2lzdGVyIHZhbHVlcyBhcyBwZXIgTWFhcnRlbidzIGNvbW1l bnQuIEFsc28gYWRkcmVzZWQgYSBzaGlmdAo+PiBpc3N1ZSB3aXRoIEIgY2hhbm5lbCBjb2VmZmlj aWVudC4KPj4KPj4gdjQ6IEFkZGVkIHN1cHBvcnQgZm9yIExpbWl0ZWQgUmFuZ2UgQ29sb3IgSGFu ZGxpbmcKPj4KPj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVs LmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCA3 OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDIzICsrKysrKysrLS0tCj4+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDk4IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29s b3IuYwo+PiBpbmRleCA1MTI3ZGEyLi4zYTUyZDkyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NvbG9yLmMKPj4gQEAgLTU3LDYgKzU3LDE1IEBACj4+ICAjZGVmaW5lIENTQ19SR0JfVE9f WVVWX1JWX0dWIDB4YmNlODlhZDgKPj4gICNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfQlYgMHgxZTA4 MDAwMAo+PiAgCj4+ICsjZGVmaW5lICBST0ZGKHgpICAgICAgICAgICgoKHgpICYgMHhmZmZmKSA8 PCAxNikKPj4gKyNkZWZpbmUgIEdPRkYoeCkgICAgICAgICAgKCgoeCkgJiAweGZmZmYpIDw8IDAp Cj4+ICsjZGVmaW5lICBCT0ZGKHgpICAgICAgICAgICgoKHgpICYgMHhmZmZmKSA8PCAxNikKPj4g Kwo+PiArLyogUHJlb2Zmc2V0IHZhbHVlcyBmb3IgWVVWIHRvIFJHQiBDb252ZXJzaW9uICovCj4+ ICsjZGVmaW5lIFBSRU9GRl9ZVVZfVE9fUkdCX0hJCQkweDgwMAo+PiArI2RlZmluZSBQUkVPRkZf WVVWX1RPX1JHQl9NRQkJMHhGMDAKPj4gKyNkZWZpbmUgUFJFT0ZGX1lVVl9UT19SR0JfTE8JCTB4 ODAwCj4gRG9lc24ndCBiaXQgIzEyIG5lZWQgdG8gYmUgc2V0IGZvciBlYWNoIG9mIHRoZXNlIHZh bHVlcyAoMHgxODAwLCAweDFGMDAsCj4gMHgxODAwKT8gIEF0IGxlYXN0IHRoYXQncyB3aGF0IEkg Y2FtZSB1cCB3aXRoIGJhc2VkIG9uIHRoZSBhc3N1bXB0aW9uCj4gdGhhdCBpbnB1dCBDU0MgaXMg cHJvZ3JhbW1lZCB0aGUgc2FtZSB3YXkgYXMgcGlwZSBDU0MsIGJ1dCBJIG1pZ2h0IGJlCj4gb3Zl cmxvb2tpbmcgb3IgbWlzY2FsY3VsYXRpbmcgc29tZXRoaW5nLgo+Cj4gVGhlIHBpcGUgQ1NDIHBh Z2UgZ2l2ZXMgYW4gZXhhbXBsZSBvZiBjb252ZXJ0aW5nIFlVViB0byBSR0Igd2l0aCBhIHRhYmxl Cj4gdGhhdCBtYXRjaGVzIHlvdXIgY3NjIG1hdHJpeCBiZWxvdywgYW5kIGEgbm90ZSAiUHJvZ3Jh bSB0aGUgQ1NDCj4gUHJlLU9mZnNldHMgdG8gLTEvMiwgLTEvMTYsIGFuZCAtMS8yLiIKPgo+IFRo ZSBic3BlYyBpbmRpY2F0ZXMgdGhlIHJlZ2lzdGVyIHZhbHVlcyBoZXJlIGFyZSAxMy1iaXRzICgx MjowIGluIHRoZQo+IHJlZ2lzdGVyIGR3b3JkKSBhbmQgYXJlIDIncyBjb21wbGVtZW50IGZyYWN0 aW9ucyBhbGxvd2luZyB2YWx1ZXMgYmV0d2Vlbgo+IC0xIGFuZCAxIChleGNsdXNpdmUpLiAgU28g SSB0YWtlIHRoYXQgdG8gbWVhbjoKPgo+ICAgICAxLzIgICAgICAgICAgICAgICAgICAgICA9IDAg MTAwMCAwMDAwIDAwMDAKPiAgICAgLTEvMiAob25lJ3MgY29tcGxlbWVudCkgPSAxIDAxMTEgMTEx MSAxMTExCj4gICAgIC0xLzIgKHR3bydzIGNvbXBsZW1lbnQpID0gMSAxMDAwIDAwMDAgMDAwMCA9 IDB4MTgwMAo+Cj4gYW5kCj4KPiAgICAgMS8xNiAgICAgICAgICAgICAgICAgICAgID0gMCAwMDAx IDAwMDAgMDAwMAo+ICAgICAtMS8xNiAob25lJ3MgY29tcGxlbWVudCkgPSAxIDExMTAgMTExMSAx MTExCj4gICAgIC0xLzE2ICh0d28ncyBjb21wbGVtZW50KSA9IDEgMTExMSAwMDAwIDAwMDAgPSAw eDFGMDAKPgo+IEFueXdheSwgaXQgd291bGQgcHJvYmFibHkgYmUgZ29vZCB0byBnaXZlIGEgY29t bWVudCBpbmRpY2F0aW5nIHdoYXQgdGhlCj4gaHVtYW4tcmVhZGFibGUgdmFsdWVzIHlvdSdyZSB1 c2luZyBhcmUgc3VwcG9zZWQgdG8gYmUgYW5kIGFuIGluZGljYXRpb24KPiBvZiBob3cgdGhlIHJl Z2lzdGVyIGlzIHByb2dyYW1tZWQgdG8gcmVwcmVzZW50IHRob3NlIHZhbHVlcy4KPgo+Cj4gTWF0 dAo+Cj4+ICsKPj4gIC8qCj4+ICAgKiBFeHRyYWN0IHRoZSBDU0MgY29lZmZpY2llbnQgZnJvbSBh IENUTSBjb2VmZmljaWVudCAoaW4gVTMyLjMyIGZpeGVkIHBvaW50Cj4+ICAgKiBmb3JtYXQpLiBU aGlzIG1hY3JvIHRha2VzIHRoZSBjb2VmZmljaWVudCB3ZSB3YW50IHRyYW5zZm9ybWVkIGFuZCB0 aGUKPj4gQEAgLTY0Myw2ICs2NTIsNzYgQEAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKPj4gIAlyZXR1cm4gLUVJTlZBTDsKPj4gIH0KPj4gIAo+PiArdm9pZCBp Y2xfcHJvZ3JhbV9pbnB1dF9jc2NfY29lZmYoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCj4+ICsJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxh bmVfc3RhdGUpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0K Pj4gKwkJdG9faTkxNShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZS0+ZGV2KTsKPj4gKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK Pj4gKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4+ICsJc3RydWN0IGludGVsX3BsYW5l ICppbnRlbF9wbGFuZSA9Cj4+ICsJCXRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBs YW5lKTsKPj4gKwllbnVtIHBsYW5lX2lkIHBsYW5lID0gaW50ZWxfcGxhbmUtPmlkOwo+PiArCj4+ ICsJc3RhdGljIGNvbnN0IHUxNiBpbnB1dF9jc2NfbWF0cml4W11bOV0gPSB7Cj4+ICsJCS8qIEJU LjYwMSBmdWxsIHJhbmdlIFlDYkNyIC0+IGZ1bGwgcmFuZ2UgUkdCICovCj4+ICsJCVtEUk1fQ09M T1JfWUNCQ1JfQlQ2MDFdID0gewo+PiArCQkJMHg3QUY4LCA3ODAwLCAweDAsCj4+ICsJCQkweDhC MjgsIDc4MDAsIDB4OUFDMCwKPj4gKwkJCTB4MCwgNzgwMCwgMHg3REQ4LAo+PiArCQl9LAo+PiAr CQkvKiBCVC43MDkgZnVsbCByYW5nZSBZQ2JDciAtPiBmdWxsIHJhbmdlIFJHQiAqLwo+PiArCQlb RFJNX0NPTE9SX1lDQkNSX0JUNzA5XSA9IHsKPj4gKwkJCTB4N0M5OCwgNzgwMCwgMHgwLAo+PiAr CQkJMHg5RUY4LCA3ODAwLCAweEFCRjgsCj4+ICsJCQkweDAsIDB4NzgwMCwgIDB4N0VEOCwKPj4g KwkJfSwKPj4gKwl9Owo+PiArCj4+ICsJLyogTWF0cml4IGZvciBMaW1pdGVkIFJhbmdlIHRvIEZ1 bGwgUmFuZ2UgQ29udmVyc2lvbiAqLwo+PiArCXN0YXRpYyBjb25zdCB1MTYgaW5wdXRfY3NjX21h dHJpeF9scltdWzldID0gewo+PiArCQkvKiBCVC42MDEgTGltdGVkIHJhbmdlIFlDYkNyIC0+IGZ1 bGwgcmFuZ2UgUkdCICovCj4+ICsJCVtEUk1fQ09MT1JfWUNCQ1JfQlQ2MDFdID0gewo+PiArCQkJ MHg3Q0M4LCA3OTUwLCAweDAsCj4+ICsJCQkweDhDQjgsIDc5MTgsIDB4OUM0MCwKPj4gKwkJCTB4 MCwgNzkxOCwgMHg3RkM4LApJIHRoaW5rIHlvdSBmb3Jnb3QgdG8gYWRkIDB4IHRvIHRoZSBzZWNv bmQgdmFsdWUsIHJlc3VsdGluZyBpbiBwYXJ0IGhleCwgcGFydCBudW1lcmljLgoKfk1hYXJ0ZW4K Pj4gKwkJfSwKPj4gKwkJLyogQlQuNzA5IExpbWl0ZWQgcmFuZ2UgWUNiQ3IgLT4gZnVsbCByYW5n ZSBSR0IgKi8KPj4gKwkJW0RSTV9DT0xPUl9ZQ0JDUl9CVDcwOV0gPSB7Cj4+ICsJCQkweDdFQTgs IDc5NTAsIDB4MCwKPj4gKwkJCTB4ODg4OCwgNzkxOCwgMHhBREE4LAo+PiArCQkJMHgwLCAweDc5 MTgsICAweDY4NzAsCj4+ICsJCX0sCj4+ICsJfTsKPj4gKwljb25zdCB1MTYgKmNzYzsKPj4gKwo+ PiArCWlmIChwbGFuZV9zdGF0ZS0+YmFzZS5jb2xvcl9yYW5nZSA9PSBEUk1fQ09MT1JfWUNCQ1Jf RlVMTF9SQU5HRSkKPj4gKwkJY3NjID0gaW5wdXRfY3NjX21hdHJpeFtwbGFuZV9zdGF0ZS0+YmFz ZS5jb2xvcl9lbmNvZGluZ107Cj4+ICsJZWxzZQo+PiArCQljc2MgPSBpbnB1dF9jc2NfbWF0cml4 X2xyW3BsYW5lX3N0YXRlLT5iYXNlLmNvbG9yX2VuY29kaW5nXTsKPj4gKwo+PiArCUk5MTVfV1JJ VEUoUExBTkVfSU5QVVRfQ1NDX0NPRUZGX1JFRyhwaXBlLCBwbGFuZSwgMCksIFJPRkYoY3NjWzBd KSB8Cj4+ICsJCSAgIEdPRkYoY3NjWzFdKSk7Cj4+ICsJSTkxNV9XUklURShQTEFORV9JTlBVVF9D U0NfQ09FRkZfUkVHKHBpcGUsIHBsYW5lLCAxKSwgQk9GRihjc2NbMl0pKTsKPj4gKwlJOTE1X1dS SVRFKFBMQU5FX0lOUFVUX0NTQ19DT0VGRl9SRUcocGlwZSwgcGxhbmUsIDIpLCBST0ZGKGNzY1sz XSkgfAo+PiArCQkgICBHT0ZGKGNzY1s0XSkpOwo+PiArCUk5MTVfV1JJVEUoUExBTkVfSU5QVVRf Q1NDX0NPRUZGX1JFRyhwaXBlLCBwbGFuZSwgMyksIEJPRkYoY3NjWzVdKSk7Cj4+ICsJSTkxNV9X UklURShQTEFORV9JTlBVVF9DU0NfQ09FRkZfUkVHKHBpcGUsIHBsYW5lLCA0KSwgUk9GRihjc2Nb Nl0pIHwKPj4gKwkJICAgR09GRihjc2NbN10pKTsKPj4gKwlJOTE1X1dSSVRFKFBMQU5FX0lOUFVU X0NTQ19DT0VGRl9SRUcocGlwZSwgcGxhbmUsIDUpLCBCT0ZGKGNzY1s4XSkpOwo+PiArCj4+ICsJ STkxNV9XUklURShQTEFORV9JTlBVVF9DU0NfUFJFT0ZGX1JFRyhwaXBlLCBwbGFuZSwgMCksCj4+ ICsJCSAgIFBSRU9GRl9ZVVZfVE9fUkdCX0hJKTsKPj4gKwlJOTE1X1dSSVRFKFBMQU5FX0lOUFVU X0NTQ19QUkVPRkZfUkVHKHBpcGUsIHBsYW5lLCAxKSwKPj4gKwkJICAgUFJFT0ZGX1lVVl9UT19S R0JfTUUpOwo+PiArCUk5MTVfV1JJVEUoUExBTkVfSU5QVVRfQ1NDX1BSRU9GRl9SRUcocGlwZSwg cGxhbmUsIDIpLAo+PiArCQkgICBQUkVPRkZfWVVWX1RPX1JHQl9MTyk7Cj4+ICsKPj4gKwlJOTE1 X1dSSVRFKFBMQU5FX0lOUFVUX0NTQ19QT1NUT0ZGX1JFRyhwaXBlLCBwbGFuZSwgMCksIDB4MCk7 Cj4+ICsJSTkxNV9XUklURShQTEFORV9JTlBVVF9DU0NfUE9TVE9GRl9SRUcocGlwZSwgcGxhbmUs IDEpLCAweDApOwo+PiArCUk5MTVfV1JJVEUoUExBTkVfSU5QVVRfQ1NDX1BPU1RPRkZfUkVHKHBp cGUsIHBsYW5lLCAyKSwgMHgwKTsKPj4gK30KPj4gKwo+PiAgdm9pZCBpbnRlbF9jb2xvcl9pbml0 KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPj4gaW5kZXggZmUwNDVhYi4uZDE2YTA2NCAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtMzY2Niw2ICszNjY2LDcgQEAgdTMyIGdsa19w bGFuZV9jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KPj4gIAkJdG9faTkxNShw bGFuZV9zdGF0ZS0+YmFzZS5wbGFuZS0+ZGV2KTsKPj4gIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+PiArCXN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZSk7Cj4+ICAJ dTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7Cj4+ICAKPj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA8IDExKSB7Cj4+IEBAIC0zNjc2LDEzICszNjc3LDIzIEBAIHUzMiBnbGtfcGxhbmVfY29sb3Jf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiAgCXBsYW5l X2NvbG9yX2N0bCB8PSBnbGtfcGxhbmVfY29sb3JfY3RsX2FscGhhKHBsYW5lX3N0YXRlKTsKPj4g IAo+PiAgCWlmIChmYi0+Zm9ybWF0LT5pc195dXYpIHsKPj4gLQkJaWYgKHBsYW5lX3N0YXRlLT5i YXNlLmNvbG9yX2VuY29kaW5nID09IERSTV9DT0xPUl9ZQ0JDUl9CVDcwOSkKPj4gLQkJCXBsYW5l X2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9DU0NfTU9ERV9ZVVY3MDlfVE9fUkdCNzA5Owo+PiAt CQllbHNlCj4+IC0JCQlwbGFuZV9jb2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfQ1NDX01PREVfWVVW NjAxX1RPX1JHQjcwOTsKPj4gKwkJaWYgKCFpY2xfaXNfaGRyX3BsYW5lKHBsYW5lKSkgewo+PiAr CQkJaWYgKHBsYW5lX3N0YXRlLT5iYXNlLmNvbG9yX2VuY29kaW5nID09Cj4+ICsJCQkJCURSTV9D T0xPUl9ZQ0JDUl9CVDcwOSkKPj4gKwkJCQlwbGFuZV9jb2xvcl9jdGwgfD0KPj4gKwkJCQkJUExB TkVfQ09MT1JfQ1NDX01PREVfWVVWNzA5X1RPX1JHQjcwOTsKPj4gKwkJCWVsc2UKPj4gKwkJCQlw bGFuZV9jb2xvcl9jdGwgfD0KPj4gKwkJCQkJUExBTkVfQ09MT1JfQ1NDX01PREVfWVVWNjAxX1RP X1JHQjcwOTsKPj4gIAo+PiAtCQlpZiAocGxhbmVfc3RhdGUtPmJhc2UuY29sb3JfcmFuZ2UgPT0g RFJNX0NPTE9SX1lDQkNSX0ZVTExfUkFOR0UpCj4+IC0JCQlwbGFuZV9jb2xvcl9jdGwgfD0gUExB TkVfQ09MT1JfWVVWX1JBTkdFX0NPUlJFQ1RJT05fRElTQUJMRTsKPj4gKwkJCWlmIChwbGFuZV9z dGF0ZS0+YmFzZS5jb2xvcl9yYW5nZSA9PQo+PiArCQkJCQlEUk1fQ09MT1JfWUNCQ1JfRlVMTF9S QU5HRSkKPj4gKwkJCQlwbGFuZV9jb2xvcl9jdGwgfD0KPj4gKwkJCQlQTEFORV9DT0xPUl9ZVVZf UkFOR0VfQ09SUkVDVElPTl9ESVNBQkxFOwo+PiArCQl9IGVsc2Ugewo+PiArCQkJaWNsX3Byb2dy YW1faW5wdXRfY3NjX2NvZWZmKGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKPj4gKwkJCXBsYW5l X2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9JTlBVVF9DU0NfRU5BQkxFOwo+PiArCQl9Cj4+ICAJ fQo+PiAgCj4+ICAJcmV0dXJuIHBsYW5lX2NvbG9yX2N0bDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPj4gaW5kZXggZGIyNDMwOC4uYmQ5ZTk0NiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPj4gQEAgLTIyODUsNiArMjI4NSw4IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNf Y2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNf Cj4+ICBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPj4gIHZvaWQgaW50ZWxfY29sb3Jfc2V0X2NzYyhzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+PiAgdm9pZCBpbnRlbF9jb2xvcl9sb2Fk X2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPj4gK3ZvaWQgaWNsX3By b2dyYW1faW5wdXRfY3NjX2NvZWZmKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+PiArCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0 YXRlKTsKPj4gIAo+PiAgLyogaW50ZWxfbHNwY29uLmMgKi8KPj4gIGJvb2wgbHNwY29uX2luaXQo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+PiAtLSAKPj4gMS45 LjEKPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K Pj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==