From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [RESEND-CI v4 13/15] drm/i915: prepare csc unit for YCBCR HDMI output Date: Fri, 30 Jun 2017 13:57:49 +0300 Message-ID: <1498820269.3311.1.camel@gmail.com> References: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> <1498041253-16426-13-git-send-email-shashank.sharma@intel.com> <1498738125.2325.1.camel@gmail.com> <8f744e43-4c02-ab5d-9d29-06b93359fcfb@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <8f744e43-4c02-ab5d-9d29-06b93359fcfb@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE3LTA2LTMwIGF0IDExOjMzICswNTMwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3Rl Ogo+IFJlZ2FyZHMKPiAKPiBTaGFzaGFuawo+IAo+IAo+IE9uIDYvMjkvMjAxNyA1OjM4IFBNLCBB bmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgd3JvdGU6Cj4gPiBPbiBXZWQsIDIwMTctMDYtMjEg YXQgMTY6MDQgKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToKPiA+ID4gVG8gc3VwcG9ydCB5 Y2JjciBIRE1JIG91dHB1dCwgd2UgbmVlZCBhIHBpcGUgQ1NDIGJsb2NrIHRvCj4gPiA+IGRvIHRo ZSBSR0ItPllDQkNSIGNvbnZlcnNpb24sIGFzIHRoZSBibGVuZGVyIG91dHB1dCBpcyBpbiBSR0Iu Cj4gPiA+IAo+ID4gPiBDdXJyZW50IEludGVsIHBsYXRmb3JtcyBoYXZlIG9ubHkgb25lIHBpcGUg Q1NDIHVuaXQsIHNvCj4gPiA+IHdlIGNhbiBlaXRoZXIgZG8gY29sb3IgY29ycmVjdGlvbiB1c2lu ZyBpdCwgb3Igd2UgY2FuIHBlcmZvcm0KPiA+ID4gUkdCLT5ZQ0JDUiBjb252ZXJzaW9uLgo+ID4g PiAKPiA+ID4gVGhpcyBmdW5jdGlvbiBhZGRzIGEgY3NjIGhhbmRsZXIsIHRvIHBlcmZvcm0gUkdC LT5ZQ0JDUiBjb252ZXJzaW9uCj4gPiA+IGFzIHBlciByZWNvbW1lbmRlZCBzcGVjIHZhbHVlcy4K PiA+IAo+ID4gUGxlYXNlIGRvIGEgZnVsbCByZWZlcmVuY2UgdG8gdGhlICJzcGVjIiwgaW5jbHVk aW5nIG5hbWUsIHZlcnNpb24gYW5kIHJlbGV2YW50Cj4gPiBzZWN0aW9uLgo+IAo+IFN1cmUsIHdp bGwgYWRkIG1vcmUgZGV0YWlscy4KPiA+ID4gVjI6IFJlYmFzZQo+ID4gPiBWMzogUmViYXNlCj4g PiA+IFY0OiBSZWJhc2UKPiA+ID4gCj4gPiA+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAaW50ZWwuY29tPgo+ID4gPiBDYzogQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIDxhbmRl ci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBT aGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPiA+IC0tLQo+ID4g PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDQ3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gPiAgIDIgZmls ZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gPiAKPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gPiA+IGluZGV4IDMwNmM2YjAuLjEyZDVmMjEg MTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gPiBAQCAtNDEs NiArNDEsMTkgQEAKPiA+ID4gICAKPiA+ID4gICAjZGVmaW5lIExFR0FDWV9MVVRfTEVOR1RICQko c2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIDI1NikKPiA+ID4gICAKPiA+ID4gKy8qIFBv c3Qgb2Zmc2V0IHZhbHVlcyBmb3IgUkdCLT5ZQ0JDUiBjb252ZXJzaW9uICovCj4gPiA+ICsjZGVm aW5lIFBPU1RPRkZfUkdCX1RPX1lVVl9ISSAweDgwMAo+ID4gPiArI2RlZmluZSBQT1NUT0ZGX1JH Ql9UT19ZVVZfTUUgMHgxMDAKPiA+ID4gKyNkZWZpbmUgUE9TVE9GRl9SR0JfVE9fWVVWX0xPIDB4 ODAwCj4gPiA+ICsKPiA+ID4gKy8qIERpcmVjdCBzcGVjIHZhbHVlcyBmb3IgUkdCLT5ZVVYgY29u dmVyc2lvbiBtYXRyaXggKi8KPiA+ID4gKyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfUlVfR1UgMHgy YmE4MDlkOAo+ID4gPiArI2RlZmluZSBDU0NfUkdCX1RPX1lVVl9CVSAweDM3ZTgwMDAwCj4gPiA+ ICsjZGVmaW5lIENTQ19SR0JfVE9fWVVWX1JZX0dZIDB4MWUwODljYzAKPiA+ID4gKyNkZWZpbmUg Q1NDX1JHQl9UT19ZVVZfQlkgMHhiNTI4MDAwMAo+ID4gPiArI2RlZmluZSBDU0NfUkdCX1RPX1lV Vl9SVl9HViAweGJjZTg5YWQ4Cj4gPiA+ICsjZGVmaW5lIENTQ19SR0JfVE9fWVVWX0JWIDB4MWUw ODAwMDAKPiA+ID4gKwo+ID4gCj4gPiBOb3QgYSBiaWcgZmFuIG9yIGhhcmRjb2RpbmcgdGhpcyBp biB0aGUgcmVnaXN0ZXIgZm9ybWF0LiBXZSBhbHJlYWR5IGhhdmUgdGhlCj4gPiBjb2RlIGZvciBj b252ZXJ0aW5nIGEgbnVtYmVyIHRvIHRoZSByaWdodCBmb3JtYXQgZm9yIHRoZSByZWdpc3RlciBp bgo+ID4gaTkxNV9sb2FkX2NzY19tYXRyaXgoKS4gSSB0aGluayBpdCB3b3VsZCBtYWtlIG1vcmUg c2Vuc2UgdG8gZXh0cmFjdCB0aGUgY29kZQo+ID4gdGhhdCBhY3R1YWxseSB3cml0ZXMgdGhlIG1h dHJpeCBvdXQgb2YgdGhhdCBmdW5jdGlvbiwgc28gaXQgd291bGQganVzdAo+ID4gdW5jb25kaXRp b25hbGx5IHVzZSBhIG1hdHJpeCBhbmQgY29lZmZpY2llbnRzIHBhc3NlZCBhcyBhcmd1bWVudHMu IFRoZW4gdGhlCj4gPiB2YWx1ZXMgYWJvdmUgd291bGQgYmUgZGVmaW5lZCBpbiB0aGUgZm9ybWF0 IGV4cGVjdGVkIGZvciB0aGlzIG5ldyBmdW5jdGlvbi4KPiAKPiBBY3R1YWxseSBJIGhhZCBhIHNt YWxsIGRpc2N1c3Npb24gb24gdGhpcyB3aXRoIFZpbGxlLCBhbmQgd2UgdGhpbmsgdGhhdCAKPiB0 aGUgY3VycmVudCBDU0MgbXVsdGlwbGljYXRpb24gY29kZSBpcyBub3QgY29ycmVjdC4KPiBTbyBp ZiBDVE0gYW5kIGxpbWl0ZWQgY29sb3IgcmFuZ2UgaXMgYXBwbGllZCB0b2dldGhlciwgd2UgbWln aHQgbm90IGJlIAo+IGdldHRpbmcgdGhlIHJpZ2h0IHZhbHVlcy4gU28gbm90IHBsYW5uaW5nIHRv Cj4gcmV1c2UgdGhhdCBjb2RlLiBJIHRoaW5rIHdoaWxlIHNlbmRpbmcgdGhlIEJUMjAyMCBwYXRj aGVzLCB3ZSB3aWxsIGFkZCBhIAo+IGZpeCBmb3IgdGhhdCBwYXJ0IHRvbywgYnV0IHJpZ2h0IG5v dyBub3Qgd29ya2luZyBvbiBpdC4KCkkgd2Fzbid0IHRhbGtpbmcgYWJvdXQgdGhlIG1hdHJpeCBt dWx0aXBsaWNhdGlvbiwgYnV0IGNyZWF0aW5nIGEgZnVuY3Rpb24gdG8Kd3JpdGUgYW55IGdpdmVu IG1hdHJpeCBpbnRvIHRoZSBDU0MuIFRoYXQgd2F5LCB0aGUgYWJvdmUgY291bGQgYmUgaGFyZGNv ZGVkIGluIGEKbW9yZSBodW1hbiByZWFkYWJsZSBmb3JtYXQuCgpUaGlzIGlzc3VlIGlzIGluZGVw ZW5kZW50IGZyb20gZml4aW5nIHRoZSBtYXRyaXggbXVsdGlwbGljYXRpb24uIEknbSB0YWxraW5n CnNwZWNpZmljYWxseSBhYm91dCB0aGUgY29kZSBiZWxvdzoKCgkJLyoKICAgICAgICAgICAgICAg ICAqIENvbnZlcnQgZml4ZWQgcG9pbnQgUzMxLjMyIGlucHV0IHRvIGZvcm1hdCBzdXBwb3J0ZWQg YnkgdGhlCiAgICAgICAgICAgICAgICAgKiBoYXJkd2FyZS4KICAgICAgICAgICAgICAgICAqLwog ICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29lZmZzKTsgaSsrKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFic19jb2VmZiA9ICgoMVVMTCA8PCA2 MykgLSAxKSAmIGlucHV0W2ldOwoKICAgICAgICAgICAgICAgICAgICAgICAgLyoKICAgICAgICAg ICAgICAgICAgICAgICAgICogQ2xhbXAgaW5wdXQgdmFsdWUgdG8gbWluL21heCBzdXBwb3J0ZWQg YnkKICAgICAgICAgICAgICAgICAgICAgICAgICogaGFyZHdhcmUuCiAgICAgICAgICAgICAgICAg ICAgICAgICAqLwogICAgICAgICAgICAgICAgICAgICAgICBhYnNfY29lZmYgPSBjbGFtcF92YWwo YWJzX2NvZWZmLCAwLCBDVE1fQ09FRkZfNF8wIC0gMSk7CgogICAgICAgICAgICAgICAgICAgICAg ICAvKiBzaWduIGJpdCAqLwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoQ1RNX0NPRUZGX05F R0FUSVZFKGlucHV0W2ldKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZnNb aV0gfD0gMSA8PCAxNTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhYnNfY29lZmYgPCBD VE1fQ09FRkZfMF8xMjUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29lZmZzW2ld IHw9ICgzIDw8IDEyKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ OVhYX0NTQ19DT0VGRl9GUChhYnNfY29lZmYsIDEyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ZWxzZSBpZiAoYWJzX2NvZWZmIDwgQ1RNX0NPRUZGXzBfMjUpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29lZmZzW2ldIHw9ICgyIDw8IDEyKSB8CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJOVhYX0NTQ19DT0VGRl9GUChhYnNfY29lZmYsIDExKTsKICAg ICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYWJzX2NvZWZmIDwgQ1RNX0NPRUZGXzBfNSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZnNbaV0gfD0gKDEgPDwgMTIpIHwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEk5WFhfQ1NDX0NPRUZGX0ZQ KGFic19jb2VmZiwgMTApOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChhYnNfY29l ZmYgPCBDVE1fQ09FRkZfMV8wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZWZm c1tpXSB8PSBJOVhYX0NTQ19DT0VGRl9GUChhYnNfY29lZmYsIDkpOwogICAgICAgICAgICAgICAg ICAgICAgICBlbHNlIGlmIChhYnNfY29lZmYgPCBDVE1fQ09FRkZfMl8wKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvZWZmc1tpXSB8PSAoNyA8PCAxMikgfAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSTlYWF9DU0NfQ09FRkZfRlAoYWJzX2NvZWZmLCA4 KTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvZWZmc1tpXSB8PSAoNiA8PCAxMikgfAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSTlYWF9DU0NfQ09FRkZfRlAoYWJzX2NvZWZmLCA3KTsKCQl9CgpJJ2Qg bGlrZSB0byBzZWUgdGhhdCBhbmQgdGhlIGNvZGUgdGhhdCB3cml0ZXMgdGhlIHJlZ2lzdGVycyBy ZXVzZWQgaW5zdGVhZCBvZiBkdXBsaWNhdGVkLgoKQW5kZXIKCj4gPiA+ICAgLyoKPiA+ID4gICAg KiBFeHRyYWN0IHRoZSBDU0MgY29lZmZpY2llbnQgZnJvbSBhIENUTSBjb2VmZmljaWVudCAoaW4g VTMyLjMyIGZpeGVkIHBvaW50Cj4gPiA+ICAgICogZm9ybWF0KS4gVGhpcyBtYWNybyB0YWtlcyB0 aGUgY29lZmZpY2llbnQgd2Ugd2FudCB0cmFuc2Zvcm1lZCBhbmQgdGhlCj4gPiA+IEBAIC05MSw2 ICsxMDQsMzUgQEAgc3RhdGljIHZvaWQgY3RtX211bHRfYnlfbGltaXRlZCh1aW50NjRfdCAqcmVz dWx0LCBpbnQ2NF90ICppbnB1dCkKPiA+ID4gICAJfQo+ID4gPiAgIH0KPiA+ID4gICAKPiA+ID4g K3ZvaWQgaTl4eF9sb2FkX3ljYmNyX2NvbnZlcnNpb25fbWF0cml4KHN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjKQo+ID4gPiArewo+ID4gPiArCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlw ZTsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGlu dGVsX2NydGMtPmJhc2UuZGV2KTsKPiA+ID4gKwo+ID4gPiArCS8qIFdlIGRvbid0IHVzZSBoaWdo IHZhbHVlcyBmb3IgY29udmVyc2lvbiAqLwo+ID4gPiArCUk5MTVfV1JJVEUoUElQRV9DU0NfUFJF T0ZGX0hJKHBpcGUpLCAwKTsKPiA+ID4gKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9NRShw aXBlKSwgMCk7Cj4gPiA+ICsJSTkxNV9XUklURShQSVBFX0NTQ19QUkVPRkZfTE8ocGlwZSksIDAp Owo+ID4gPiArCj4gPiA+ICsJLyogUHJvZ3JhbSBkaXJlY3Qgc3BlYyB2YWx1ZXMgZm9yIFJHQiB0 byBZQ0JDUiBjb252ZXJzaW9uIG1hdHJpeCAqLwo+ID4gPiArCUk5MTVfV1JJVEUoUElQRV9DU0Nf Q09FRkZfUlVfR1UocGlwZSksIENTQ19SR0JfVE9fWVVWX1JVX0dVKTsKPiA+ID4gKwlJOTE1X1dS SVRFKFBJUEVfQ1NDX0NPRUZGX0JVKHBpcGUpLCBDU0NfUkdCX1RPX1lVVl9CVSk7Cj4gPiA+ICsK PiA+ID4gKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX1JZX0dZKHBpcGUpLCBDU0NfUkdCX1RP X1lVVl9SWV9HWSk7Cj4gPiA+ICsJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9CWShwaXBlKSwg Q1NDX1JHQl9UT19ZVVZfQlkpOwo+ID4gPiArCj4gPiA+ICsJSTkxNV9XUklURShQSVBFX0NTQ19D T0VGRl9SVl9HVihwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfUlZfR1YpOwo+ID4gPiArCUk5MTVfV1JJ VEUoUElQRV9DU0NfQ09FRkZfQlYocGlwZSksIENTQ19SR0JfVE9fWVVWX0JWKTsKPiA+ID4gKwo+ ID4gPiArCS8qIFNwZWMgcG9zdG9mZnNldCB2YWx1ZXMgKi8KPiA+ID4gKwlJOTE1X1dSSVRFKFBJ UEVfQ1NDX1BPU1RPRkZfSEkocGlwZSksIFBPU1RPRkZfUkdCX1RPX1lVVl9ISSk7Cj4gPiA+ICsJ STkxNV9XUklURShQSVBFX0NTQ19QT1NUT0ZGX01FKHBpcGUpLCBQT1NUT0ZGX1JHQl9UT19ZVVZf TUUpOwo+ID4gPiArCUk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9GRl9MTyhwaXBlKSwgUE9TVE9G Rl9SR0JfVE9fWVVWX0xPKTsKPiA+ID4gKwo+ID4gPiArCS8qIENTQyBtb2RlIGJlZm9yZSBnYW1t YSAqLwo+ID4gPiArCUk5MTVfV1JJVEUoUElQRV9DU0NfTU9ERShwaXBlKSwgMCk7Cj4gPiA+ICt9 Cj4gPiA+ICsKPiA+ID4gICAvKiBTZXQgdXAgdGhlIHBpcGUgQ1NDIHVuaXQuICovCj4gPiA+ICAg c3RhdGljIHZvaWQgaTl4eF9sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ID4gPiAgIHsKPiA+ID4gQEAgLTEwMSw3ICsxNDMsMTAgQEAgc3RhdGljIHZv aWQgaTl4eF9sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQo+ID4gPiAgIAl1aW50MTZfdCBjb2VmZnNbOV0gPSB7IDAsIH07Cj4gPiA+ICAgCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShj cnRjX3N0YXRlKTsKPiA+ID4gICAKPiA+ID4gLQlpZiAoY3J0Y19zdGF0ZS0+Y3RtKSB7Cj4gPiA+ ICsJaWYgKGludGVsX2NydGNfc3RhdGUtPmhkbWlfb3V0cHV0ID4gRFJNX0hETUlfT1VUUFVUX0RF RkFVTFRfUkdCKSB7Cj4gPiA+ICsJCWk5eHhfbG9hZF95Y2Jjcl9jb252ZXJzaW9uX21hdHJpeChp bnRlbF9jcnRjKTsKPiA+ID4gKwkJcmV0dXJuOwo+ID4gPiArCX0gZWxzZSBpZiAoY3J0Y19zdGF0 ZS0+Y3RtKSB7Cj4gPiAKPiA+IEhtbSwgSSdtIG5vdCBzdXJlIHRoaXMgaXMgdGhlIHJpZ2h0IHBs YWNlIHRvIGNoZWNrIGZvciB0aGlzIGNvbmRpdGlvbi4gSSBtZWFuLAo+ID4gd2Ugc2hvdWxkbid0 IGFsbG93IHRoZSBtb2Rlc2V0IHRvIGhhcHBlbiBpbiB0aGlzIGNhc2UuCj4gCj4gSWYgeW91IHBs ZWFzZSBoYXZlIGEgbG9vayBhdCB0aGUgaW50ZWxfY3J0Y19jb21wdXRlX3ljYmNyX2NvbmZpZyBj aGVjayAKPiBhZGRlZCBpbiB0aGlzIHBhdGNoLCB0aGF0J3MgZG9pbmcgdGhlIHNhbWUuCj4gSXRz IG5vdCBhbGxvd2luZyBIRE1JIG91dHB1dCBjb252ZXJzaW9uIGFuZCBwaXBlIGxldmVsIENUTSBh dCB0aGUgc2FtZSAKPiB0aW1lLgo+ID4gCj4gPiA+ICAgCQlzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAq Y3RtID0KPiA+ID4gICAJCQkoc3RydWN0IGRybV9jb2xvcl9jdG0gKiljcnRjX3N0YXRlLT5jdG0t PmRhdGE7Cj4gPiA+ICAgCQl1aW50NjRfdCBpbnB1dFs5XSA9IHsgMCwgfTsKPiA+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiBpbmRleCA3MWZkMTllLi45NmZmMmEwIDEw MDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IEBAIC02 MjYxLDYgKzYyNjEsMjkgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3Jh dGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ICAgCQkJaWxrX3Bp cGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKPiA+ID4gICB9Cj4gPiA+ICAgCj4gPiA+ICtzdGF0 aWMgaW50IGludGVsX2NydGNfeWNiY3JfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpz dGF0ZSkKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmRybV9zdGF0ZSA9 ICZzdGF0ZS0+YmFzZTsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRybV9zdGF0ZS0+Y3J0Yy0+ZGV2KTsKPiA+ID4gKwo+ID4gPiArCS8qIFlDQkNS NDIwIGlzIHN1cHBvcnRlZCBvbmx5IGluIEhETUkgMi4wIGNvbnRyb2xsZXJzICovCj4gPiA+ICsJ aWYgKChzdGF0ZS0+aGRtaV9vdXRwdXQgPT0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwKSAmJgo+ ID4gPiArCQkhSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPiA+ID4gKwkJRFJNX0VSUk9SKCJZ Q0JDUjQyMCBvdXRwdXQgaXMgbm90IHN1cHBvcnRlZFxuIik7Cj4gPiA+ICsJCXJldHVybiAtRUlO VkFMOwo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCS8qIFdlIG5lZWQgQ1NDIGZvciBvdXRwdXQg Y29udmVyc2lvbiBmcm9tIFJHQi0+WUNCQ1IgKi8KPiA+ID4gKwlpZiAoZHJtX3N0YXRlLT5jdG0p IHsKPiA+ID4gKwkJRFJNX0VSUk9SKCJZQ0JDUiBvdXRwdXQgYW5kIENUTSBpcyBub3QgcG9zc2li bGUgdG9nZXRoZXJcbiIpOwo+ID4gPiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gKwl9Cj4gPiAK PiA+IEhtbSwgb2ssIHRoYXQncyBjaGVja2VkIGhlcmUuCj4gCj4gOi0pCj4gPiA+ICsKPiA+ID4g KwlEUk1fREVCVUdfRFJJVkVSKCJPdXRwdXQgJXMgY2FuIGJlIHN1cHBvcnRlZFxuIiwKPiA+ID4g KwkJCSBkcm1fZ2V0X2hkbWlfb3V0cHV0X25hbWUoc3RhdGUtPmhkbWlfb3V0cHV0KSk7Cj4gPiA+ ICsJcmV0dXJuIDA7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gICBzdGF0aWMgaW50IGludGVsX2Ny dGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiA+ICAgCQkJCSAg ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ID4gPiAgIHsKPiA+ID4g QEAgLTYyOTAsNiArNjMxMywxNCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiA+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ ID4gICAJfQo+ID4gPiAgIAo+ID4gPiArCS8qIFlDQkNSIG91dHB1dCBjaGVjayAqLwo+ID4gPiAr CWlmIChwaXBlX2NvbmZpZy0+aGRtaV9vdXRwdXQgPiBEUk1fSERNSV9PVVRQVVRfREVGQVVMVF9S R0IpIHsKPiA+ID4gKwkJaWYgKGludGVsX2NydGNfeWNiY3JfY29uZmlnKHBpcGVfY29uZmlnKSkg ewo+ID4gCj4gPiBZb3UgY291bGQgY29tYmluZSBib3RoIGlmcy4gT3IsIGV2ZW4gYmV0dGVyLCBq dXN0IG1vdmUgdGhlIGZpcnN0IGNoZWNrIGludG8gdGhlCj4gPiBjYWxsZXIuIEkgdGhpbmsgaXQg d291bGQgYmUgYmV0dGVyIHRvIGtlZXAgaXQgYWxsIGluIG9uZSBwbGFjZS4gSSB3YXMgYSBiaXQK PiA+IHVuc3VyZSBpZiBmdW5jdGlvbiBkaWQgdGhlIHJpZ2h0IHRoaW5nIHVudGlsIEkgc2F3IGhv dyBpdCB3YXMgY2FsbGVkLgo+IAo+IE9rLCBzdXJlLgo+ID4gCj4gPiA+ICsJCQlEUk1fRVJST1Io IkNhbnQgZW5hYmxlIEhETUkgWUNCQ1Igb3V0cHV0XG4iKTsKPiA+ID4gKwkJCXJldHVybiAtRUlO VkFMOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICAgCS8qCj4gPiA+ICAgCSAq IFBpcGUgaG9yaXpvbnRhbCBzaXplIG11c3QgYmUgZXZlbiBpbjoKPiA+ID4gICAJICogLSBEVk8g Z2FuZ2VkIG1vZGUKPiA+ID4gQEAgLTExNjU4LDYgKzExNjg5LDcgQEAgaW50ZWxfbW9kZXNldF9w aXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gPiA+ICAgCQkJRFJNX0RFQlVHX0tN UygiRW5jb2RlciBjb25maWcgZmFpbHVyZVxuIik7Cj4gPiA+ICAgCQkJZ290byBmYWlsOwo+ID4g PiAgIAkJfQo+ID4gPiArCj4gPiAKPiA+IE5vIG5lZWQgZm9yIHRoaXMuCj4gCj4gR290IGl0Lgo+ ID4gCj4gPiAKPiA+IEFuZGVyCj4gPiAKPiA+ID4gICAJfQo+ID4gPiAgIAo+ID4gPiAgIAkvKiBT ZXQgZGVmYXVsdCBwb3J0IGNsb2NrIGlmIG5vdCBvdmVyd3JpdHRlbiBieSB0aGUgZW5jb2Rlci4g TmVlZHMgdG8gYmUKPiAKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==