From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v3 7/7] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Thu, 18 Jan 2018 21:00:50 +0530 Message-ID: <5b5da98b-783c-3f80-1522-5b4caed484b5@intel.com> References: <1515145535-11228-1-git-send-email-shashank.sharma@intel.com> <1515145535-11228-8-git-send-email-shashank.sharma@intel.com> <20180117182745.GR10981@intel.com> <23841b6d-0876-1b5b-cbcf-73b129f72841@intel.com> <20180118140346.GV10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 26D3F6E5A5 for ; Thu, 18 Jan 2018 15:30:53 +0000 (UTC) In-Reply-To: <20180118140346.GV10981@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxLzE4LzIwMTggNzozMyBQTSwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgSmFuIDE4LCAyMDE4IGF0IDExOjU3OjA5QU0gKzA1MzAsIFNoYXJt YSwgU2hhc2hhbmsgd3JvdGU6Cj4+IFJlZ2FyZHMKPj4KPj4gU2hhc2hhbmsKPj4KPj4KPj4gT24g MS8xNy8yMDE4IDExOjU3IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+PiBPbiBGcmksIEph biAwNSwgMjAxOCBhdCAwMzoxNTozNVBNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4+ Pj4gTFNQQ09OIGNoaXBzIGNhbiBnZW5lcmF0ZSBZQ0JDUiBvdXRwdXRzLCBpZiBhc2tlZCBuaWNl bHkgOikuCj4+Pj4KPj4+PiBJbiBvcmRlciB0byBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBvdXRwdXRz LCBhIHNvdXJjZSBtdXN0Ogo+Pj4+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExTUENP Tgo+Pj4+IC0gcHJvZ3JhbSBjb2xvciBzcGFjZSBhcyA0OjI6MCBpbiBBVkkgaW5mb2ZyYW1lcwo+ Pj4+Cj4+Pj4gV2hlcmVhcyBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0cywgdGhlIHNvdXJjZSBtdXN0 Ogo+Pj4+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExTUENPTgo+Pj4+IC0gcHJvZ3Jh bSBjb2xvciBzcGFjZSBhcyA0OjQ6NCBpbiBBVkkgaW5mb2ZyYW1lcwo+Pj4+Cj4+Pj4gU28gZm9y IGJvdGggNDoyOjAgYXMgd2VsbCBhcyA0OjQ6NCBvdXRwdXRzLCB3ZSBhcmUgZHJpdmluZyB0aGUK Pj4+PiBwaXBlIGZvciBZQ0JDUiA0OjQ6NCBvdXRwdXQsIGJ1dCBBVkkgaW5mb2ZyYW1lJ3MgY29s b3Igc3BhY2UKPj4+PiBpbmZvcm1hdGlvbiBpbmRpY2F0ZXMgTFNQQ09OIEZXIHRvIHN0YXJ0IHNj YWxpbmcgZG93biBmcm9tIFlDQkNSCj4+Pj4gNDo0OjQgYW5kIGdlbmVyYXRlIFlDQkNSIDQ6Mjow IG91dHB1dC4gQXMgdGhlIHNjYWxpbmcgaXMgZG9uZSBieQo+Pj4+IExTUENPTiBkZXZpY2UsIHdl IG5lZWQgbm90IHRvIHJlc2VydmUgYSBzY2FsZXIgZm9yIDQ6MjowIG91dHB1dHMuCj4+Pj4KPj4+ PiBWMjogcmViYXNlCj4+Pj4gVjM6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxs ZQo+Pj4+ICAgICAgIC0gYWRkIGVudW0gY3J0Y19vdXRwdXRfZm9ybWF0IGluc3RlYWQgb2YgYm9v bCB5Y2JjcjQyMAo+Pj4+ICAgICAgIC0gdXNlIGNydGNfb3V0cHV0X2Zvcm1hdD00OjQ6NCBmb3Ig bW9kZXNldCBvZiBMU1BDT04gNDoyOjAgb3V0cHV0Cj4+Pj4gICAgICAgICBjYXNlcyBpbiB0aGlz IHdheSB3ZSB3aWxsIGhhdmUgWUNCQ1IgNDo0OjQgZnJhbWV3b3JrIHJlYWR5IChleGNlcHQKPj4+ PiAgICAgICAgIHRoZSBBQkkgcGFydCkKPj4+Pgo+Pj4+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+PiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1h YXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+Pj4gLS0tCj4+Pj4gICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAgMiArKwo+Pj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgIHwgIDcgKysrKysrKwo+Pj4+ICAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgIHwgMTAgKysrKysrKysrKwo+Pj4+ICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgIHwgIDIgKysKPj4+PiAgICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysKPj4+PiAgICA1IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKykKPj4+Pgo+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+Pj4+IGluZGV4IDk2NmU0ZGYuLjQ1ZWUyNjQgMTAwNjQ0 Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+Pj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+PiBAQCAtODU0Nyw2ICs4NTQ3LDggQEAg ZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4+Pj4gICAgI2RlZmluZSBUUkFOU19NU0FfTUlTQyh0cmFu KSBfTU1JT19UUkFOUzIodHJhbiwgX1RSQU5TQV9NU0FfTUlTQykKPj4+PiAgICAKPj4+PiAgICAj ZGVmaW5lICBUUkFOU19NU0FfU1lOQ19DTEsJCSgxPDwwKQo+Pj4+ICsjZGVmaW5lICBUUkFOU19N U0FfU0FNUExJTkdfNDQ0ICAgICAgICAoMjw8MSkKPj4+PiArI2RlZmluZSAgVFJBTlNfTVNBX0NM UlNQX1lDQkNSCQkoMjw8MykKPj4+PiAgICAjZGVmaW5lICBUUkFOU19NU0FfNl9CUEMJCSgwPDw1 KQo+Pj4+ICAgICNkZWZpbmUgIFRSQU5TX01TQV84X0JQQwkJKDE8PDUpCj4+Pj4gICAgI2RlZmlu ZSAgVFJBTlNfTVNBXzEwX0JQQwkJKDI8PDUpCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMK Pj4+PiBpbmRleCA3Yjg5ZjJhLi43NjE2ZjZmIDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKPj4+PiBAQCAtMTQ5OSw2ICsxNDk5LDEzIEBAIHZvaWQgaW50ZWxfZGRpX3NldF9w aXBlX3NldHRpbmdzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ Pj4+ICAgIAkJYnJlYWs7Cj4+Pj4gICAgCX0KPj4+PiAgICAKPj4+PiArCS8qCj4+Pj4gKwkgKiBB cyBwZXIgRFAgMS4yIHNwZWMgc2VjdGlvbiAyLjMuNC4zIHdoaWxlIHNlbmRpbmcKPj4+PiArCSAq IFlDQkNSIDQ0NCBzaWduYWxzIHdlIHNob3VsZCBwcm9ncmFtIE1TQSBNSVNDMS8wIGZpZWxkcyB3 aXRoCj4+Pj4gKwkgKiBjb2xvcnNwYWNlIGluZm9ybWF0aW9uLgo+Pj4+ICsJICovCj4+Pj4gKwlp ZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQ0NCkKPj4+ PiArCQl0ZW1wIHw9IFRSQU5TX01TQV9TQU1QTElOR180NDQgfCBUUkFOU19NU0FfQ0xSU1BfWUNC Q1I7Cj4+PiBUaGlzIGZhaWxzIHRvIHN0YXRlIHRoYXQgd2UncmUgaW5kaWNhdGluZyBCVC42MDEg ZW5jb2RpbmcuIEkgdGhpbmsgd2UKPj4+IHNob3VsZCBzcGVsbCB0aGF0IG91dCBleHBsaWNpdGx5 Lgo+PiBBZ3JlZSwgSSB3aWxsIGFkZCB0aGlzIGluIGNvbW1lbnRzLgo+Pj4+ICAgIAlJOTE1X1dS SVRFKFRSQU5TX01TQV9NSVNDKGNwdV90cmFuc2NvZGVyKSwgdGVtcCk7Cj4+Pj4gICAgfQo+Pj4+ ICAgIAo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4+IGluZGV4IDM1YzUyOTkuLjNiZjgy ZWEgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+PiBAQCAtMTYxMyw2ICsx NjEzLDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4+Pj4gICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+Pj4+ICAg IAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5i YXNlKTsKPj4+PiArCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9IGVuY190b19pbnRlbF9s c3Bjb24oJmVuY29kZXItPmJhc2UpOwo+Pj4+ICAgIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXIt PnBvcnQ7Cj4+Pj4gICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKPj4+PiAgICAJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKPj4+ PiBAQCAtMTY0Miw2ICsxNjQzLDE1IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+Pj4+ICAgIAlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJp dikgJiYgIUhBU19EREkoZGV2X3ByaXYpICYmIHBvcnQgIT0gUE9SVF9BKQo+Pj4+ICAgIAkJcGlw ZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4+Pj4gICAgCj4+Pj4gKwlpZiAobHNw Y29uLT5hY3RpdmUpIHsKPj4+PiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0g JmludGVsX2Nvbm5lY3Rvci0+YmFzZTsKPj4+PiArCj4+Pj4gKwkJaWYgKGxzcGNvbl95Y2JjcjQy MF9jb25maWcoY29ubmVjdG9yLCBwaXBlX2NvbmZpZykpIHsKPj4+PiArCQkJcGlwZV9jb25maWct Pm91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9ZQ0JDUjQ0NDsKPj4+IEkgdGhpbmsgSSdkIGxp a2UgdG8gc2VlIGFsbCBjb21wdXRlX2NvbmZpZyBob29rcyBleHBsaWNpdGx5IHNldCB0aGUKPj4+ IG91dG91dF9mb3JtYXQgKHRvIFJHQiB1c3VhbGx5IG9idmlvdXNseSkuCj4+IFRoYXQncyB0aGUg b25lIEkgd2FzIHRhbGtpbmcgYWJvdXQgaW4gcHJldmlvdXMgcGF0Y2guIElmIHdlIGtlZXAKPj4g b3V0cHV0X2Zvcm1hdF9SR0IgPSAwLCB3ZSBuZWVkCj4+IG5vdCB0byBkbyB0aGlzLCBhcyByZXNl dCBvZiB0aGUgcGlwZV9jb25maWcgd2lsbCBhdXRvbWF0aWNhbGx5IG1ha2UgaXQgUkdCLgo+IElN TyBlaXRoZXIgd2UgaGF2ZSBJTlZBTElEPTAgc28gdGhhdCB3ZSB1c2UgaXQgdG8gY2F0Y2ggcmVh ZG91dAo+IGZhaWxzLCBvciB3ZSBoYXZlIG5vIElOVkFMSUQuIE90aGVyIG9wdGlvbnMgbWFrZSBs aXR0bGUgc2Vuc2UgdG8gbWUuCkl0cyBhIG1pbm9yIHRoaW5nLCBhbmQgZG9lc24ndCByZWFsbHkg bWF0dGVyLiBJIGNhbiBjaGFuZ2UgdGhpcy4KPj4+PiArCQkJbHNwY29uLT5vdXRwdXRfZm9ybWF0 ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjA7Cj4+PiBZb3Ugc2hvdWxkIG5vdCBtb2RpZnkgYW55IG5v bi1hdG9taWMgc3RhdGUgbGlrZSB0aGF0IGluIGNvbXB1dGVfY29uZmlnLgo+PiBQbGVhc2UgaGVs cCBtZSB0byB1bmRlcnN0YW5kIHRoaXMgYmV0dGVyLCBDYW4geW91IGVsYWJvcmF0ZSBhIGJpdCBt b3JlIG9uOgo+PiAtIFdoeSBpcyB0aGlzIGEgbm9uLWF0b21pYyBzdGF0ZSA/Cj4+IC0gV2hhdCBp cyB0aGUgcmlnaHQgcGxhY2Ugd2Ugc2hvdWxkIG1vZGlmeSBpdCA/Cj4gSSBkb24ndCB0aGluayB5 b3UgbmVlZCBpdCBhdCBhbGwuIEp1c3QgY29uc3VsdCB0aGUgY3J0YyBzdGF0ZSB3aGVuCj4gbmVl ZGVkLgpJIGRvbnQgdGhpbmsgQ1JUQyBzdGF0ZSBjYW4gY292ZXIgYWxsIHRoZSBjYXNlcywgZm9y IGV4YW1wbGUsIHdoYXQgd291bGQgCmJlIGRvIHdoZW4gd2UgbmVlZApZQ0JDUiA0OjQ6NCBvdXRw dXQgZnJvbSBMU1BDT04gPyBBcyB3ZSBoYXZlIGFscmVhZHkgdXNlZCBjcnRjX3N0YXRlLT40NDQg CmZvciBMU1BDT04gb3V0cHV0CjQyMCwgd2UgY2FuJ3QgaGFuZGxlIHRoaXMuIFRoaXMgaXMgZXF1 aXZhbGVudCB0byB5b3VyIHByZXZpb3VzIApzdWdnZXN0aW9uIG9mIGFkZGluZyAnc2NhbGluZ19y ZXFkJywKYnV0IEkgYWRkZWQgaW4gTFBTQ09OIChpbnN0ZWFkIG9mIENSVEMgc3RhdGUpIGFzIHRo aXMgaW5mb3JtYXRpb24gaXMgCnJlcXVpcmVkIG9ubHkgaW4gY2FzZSBvZiBMU1BDT04uCkluIGFs bCBuYXRpdmUgY2FzZXMsIHNjYWxpbmcgd291bGQgYmUgYWx3YXlzIHJlcXVpcmVkIGZvciA0OjI6 MCBvdXRwdXRzLgoKLSBTaGFzaGFuawo+PiAtIFNoYXNoYW5rCj4+Pj4gKwkJfQo+Pj4+ICsJfQo+ Pj4+ICsKPj4+PiAgICAJcGlwZV9jb25maWctPmhhc19kcnJzID0gZmFsc2U7Cj4+Pj4gICAgCWlm IChJU19HNFgoZGV2X3ByaXYpIHx8IHBvcnQgPT0gUE9SVF9BKQo+Pj4+ICAgIAkJcGlwZV9jb25m aWctPmhhc19hdWRpbyA9IGZhbHNlOwo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4g aW5kZXggMmRlNmI0MS4uNWVkYmEwNiAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4+Pj4gQEAgLTIwNDcsNiArMjA0Nyw4IEBAIHZvaWQgbHNwY29uX3NldF9pbmZvZnJhbWVz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgICAJCQkgICBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4+Pj4gICAgYm9vbCBsc3Bjb25faW5m b2ZyYW1lX2VuYWJsZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Pj4+ICAgIAkJCSAg ICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4+Pj4gK2Jv b2wgbHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+Pj4+ICsJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOwo+Pj4+ICAg IAo+Pj4+ICAgIC8qIGludGVsX3BpcGVfY3JjLmMgKi8KPj4+PiAgICBpbnQgaW50ZWxfcGlwZV9j cmNfY3JlYXRlKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sc3Bjb24uYwo+Pj4+IGluZGV4IDA2NmVhOTEuLmNiODgxMzggMTAwNjQ0Cj4+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+Pj4+IEBAIC0xODAsNiArMTgwLDI1IEBAIHN0 YXRpYyBib29sIGxzcGNvbl93YWtlX25hdGl2ZV9hdXhfY2goc3RydWN0IGludGVsX2xzcGNvbiAq bHNwY29uKQo+Pj4+ICAgIAlyZXR1cm4gdHJ1ZTsKPj4+PiAgICB9Cj4+Pj4gICAgCj4+Pj4gK2Jv b2wgbHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+Pj4+ICsJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpCj4+Pj4gK3sK Pj4+PiArCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvOwo+Pj4+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY29uZmlnLT5i YXNlLmFkanVzdGVkX21vZGU7Cj4+Pj4gKwo+Pj4+ICsJaWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5 KGluZm8sIG1vZGUpKSB7Cj4+Pj4gKwkJaWYgKCFjb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2Vk KSB7Cj4+Pj4gKwkJCURSTV9FUlJPUigiUGxhdGZvcm0gZG9lc24ndCBzdXBwb3J0IFlDQkNSNDIw IG91dHB1dFxuIik7Cj4+Pj4gKwkJCXJldHVybiBmYWxzZTsKPj4+PiArCQl9Cj4+Pj4gKwo+Pj4+ ICsJCWNvbmZpZy0+cG9ydF9jbG9jayAvPSAyOwo+Pj4+ICsJCXJldHVybiB0cnVlOwo+Pj4+ICsJ fQo+Pj4+ICsKPj4+PiArCXJldHVybiBmYWxzZTsKPj4+PiArfQo+Pj4+ICsKPj4+PiAgICBzdGF0 aWMgYm9vbCBsc3Bjb25fcHJvYmUoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+Pj4+ICAg IHsKPj4+PiAgICAJaW50IHJldHJ5Owo+Pj4+IEBAIC00NTksNiArNDc4LDEzIEBAIHZvaWQgbHNw Y29uX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgICAJ CXJldHVybjsKPj4+PiAgICAJfQo+Pj4+ICAgIAo+Pj4+ICsJaWYgKGxzcGNvbi0+b3V0cHV0X2Zv cm1hdCA9PSBDUlRDX09VVFBVVF9ZQ0JDUjQyMCkKPj4+PiArCQlmcmFtZS5hdmkuY29sb3JzcGFj ZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0MjA7Cj4+Pj4gKwllbHNlIGlmIChsc3Bjb24tPm91dHB1 dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRfWUNCQ1I0NDQpCj4+Pj4gKwkJZnJhbWUuYXZpLmNvbG9y c3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0Owo+Pj4+ICsJZWxzZQo+Pj4+ICsJCWZyYW1l LmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1JHQjsKPj4+PiArCj4+Pj4gICAgCWRy bV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZyYW1lLmF2aSwgbW9kZSwKPj4+PiAg ICAJCQkJCSAgIGNydGNfc3RhdGUtPmxpbWl0ZWRfY29sb3JfcmFuZ2UgPwo+Pj4+ICAgIAkJCQkJ ICAgSERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRCA6Cj4+Pj4gQEAgLTUxMiw2ICs1Mzgs NyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0KQo+Pj4+ICAgIAlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSAmaW50ZWxfZGln X3BvcnQtPmxzcGNvbjsKPj4+PiAgICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2Rp Z19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4+Pj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gJmRwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4+Pj4gICAgCj4+Pj4gICAg CWlmICghSEFTX0xTUENPTihkZXZfcHJpdikpIHsKPj4+PiAgICAJCURSTV9FUlJPUigiTFNQQ09O IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxuIik7Cj4+Pj4gQEAgLTUzNiw2ICs1 NjMsNyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0KQo+Pj4+ICAgIAkJcmV0dXJuIGZhbHNlOwo+Pj4+ICAgIAl9Cj4+Pj4gICAgCj4+ Pj4gKwljb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2VkID0gdHJ1ZTsKPj4+PiAgICAJbHNwY29u LT5hY3RpdmUgPSB0cnVlOwo+Pj4+ICAgIAlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04g aW5pdFxuIik7Cj4+Pj4gICAgCXJldHVybiB0cnVlOwo+Pj4+IC0tIAo+Pj4+IDIuNy40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK