From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 7/7] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Thu, 1 Feb 2018 21:09:44 +0200 Message-ID: <20180201190944.GU5453@intel.com> References: <1517304963-27932-1-git-send-email-shashank.sharma@intel.com> <1517304963-27932-8-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 891D36EECF for ; Thu, 1 Feb 2018 19:09:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1517304963-27932-8-git-send-email-shashank.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: Shashank Sharma Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKYW4gMzAsIDIwMTggYXQgMDM6MDY6MDNQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEZyb206ICJTaGFybWEsIFNoYXNoYW5rIiA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KPiAKPiBMU1BDT04gY2hpcHMgY2FuIGdlbmVyYXRlIFlDQkNSIG91dHB1dHMsIGlmIGFz a2VkIG5pY2VseSA6KS4KPiAKPiBJbiBvcmRlciB0byBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBvdXRw dXRzLCBhIHNvdXJjZSBtdXN0Ogo+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExTUENP Tgo+IC0gcHJvZ3JhbSBjb2xvciBzcGFjZSBhcyA0OjI6MCBpbiBBVkkgaW5mb2ZyYW1lcwo+IAo+ IFdoZXJlYXMgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dHMsIHRoZSBzb3VyY2UgbXVzdDoKPiAtIHNl bmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BDT04KPiAtIHByb2dyYW0gY29sb3Igc3BhY2Ug YXMgNDo0OjQgaW4gQVZJIGluZm9mcmFtZXMKPiAKPiBTbyBmb3IgYm90aCA0OjI6MCBhcyB3ZWxs IGFzIDQ6NDo0IG91dHB1dHMsIHdlIGFyZSBkcml2aW5nIHRoZQo+IHBpcGUgZm9yIFlDQkNSIDQ6 NDo0IG91dHB1dCwgYnV0IEFWSSBpbmZvZnJhbWUncyBjb2xvciBzcGFjZQo+IGluZm9ybWF0aW9u IGluZGljYXRlcyBMU1BDT04gRlcgdG8gc3RhcnQgc2NhbGluZyBkb3duIGZyb20gWUNCQ1IKPiA0 OjQ6NCBhbmQgZ2VuZXJhdGUgWUNCQ1IgNDoyOjAgb3V0cHV0LiBBcyB0aGUgc2NhbGluZyBpcyBk b25lIGJ5Cj4gTFNQQ09OIGRldmljZSwgd2UgbmVlZCBub3QgdG8gcmVzZXJ2ZSBhIHNjYWxlciBm b3IgNDoyOjAgb3V0cHV0cy4KPiAKPiBWMjogcmViYXNlCj4gVjM6IEFkZHJlc3NlZCByZXZpZXcg Y29tbWVudHMgZnJvbSBWaWxsZQo+ICAgICAtIGFkZCBlbnVtIGNydGNfb3V0cHV0X2Zvcm1hdCBp bnN0ZWFkIG9mIGJvb2wgeWNiY3I0MjAKPiAgICAgLSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0PTQ6 NDo0IGZvciBtb2Rlc2V0IG9mIExTUENPTiA0OjI6MCBvdXRwdXQKPiAgICAgICBjYXNlcyBpbiB0 aGlzIHdheSB3ZSB3aWxsIGhhdmUgWUNCQ1IgNDo0OjQgZnJhbWV3b3JrIHJlYWR5IChleGNlcHQK PiAgICAgICB0aGUgQUJJIHBhcnQpCj4gVjQ6IEFkZGVkIHItYiBmcm9tIE1hYXJ0ZW4gKGZvciB2 MykKPiAgICAgQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+ICAgICAtIERv IG5vdCBhZGQgYSBub24tYXRvbWljIHN0YXRlIHZhcmlhYmxlIHRvIGRldGVybWluZSBsc3Bjb24g b3V0cHV0Lgo+ICAgICAgIEluc3RlYWQgYWRkIGJvb2wgaW4gQ1JUQyBzdGF0ZSB0byBpbmRpY2F0 ZSBsc3Bjb24gYmFzZWQgc2NhbGluZy4KPiAKPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0 IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU2hh c2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgMiArKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNyArKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyB8IDExICsrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgICAgICB8IDEwICsrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgIHwgIDUgKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHNwY29uLmMgIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDYgZmlsZXMg Y2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAo+IGluZGV4IDY0OTMzZmQuLmUzODNiMDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKPiBAQCAtODcyMSw2ICs4NzIxLDggQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4g ICNkZWZpbmUgVFJBTlNfTVNBX01JU0ModHJhbikgX01NSU9fVFJBTlMyKHRyYW4sIF9UUkFOU0Ff TVNBX01JU0MpCj4gIAo+ICAjZGVmaW5lICBUUkFOU19NU0FfU1lOQ19DTEsJCSgxPDwwKQo+ICsj ZGVmaW5lICBUUkFOU19NU0FfU0FNUExJTkdfNDQ0ICAgICAgICAoMjw8MSkKPiArI2RlZmluZSAg VFJBTlNfTVNBX0NMUlNQX1lDQkNSCQkoMjw8MykKPiAgI2RlZmluZSAgVFJBTlNfTVNBXzZfQlBD CQkoMDw8NSkKPiAgI2RlZmluZSAgVFJBTlNfTVNBXzhfQlBDCQkoMTw8NSkKPiAgI2RlZmluZSAg VFJBTlNfTVNBXzEwX0JQQwkJKDI8PDUpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRl eCA1MTBiYjc3Li5kYjdkOTQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAt MTQ5OSw2ICsxNDk5LDEzIEBAIHZvaWQgaW50ZWxfZGRpX3NldF9waXBlX3NldHRpbmdzKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJCWJyZWFrOwo+ICAJfQo+ ICAKPiArCS8qCj4gKwkgKiBBcyBwZXIgRFAgMS4yIHNwZWMgc2VjdGlvbiAyLjMuNC4zIHdoaWxl IHNlbmRpbmcKPiArCSAqIFlDQkNSIDQ0NCBzaWduYWxzIHdlIHNob3VsZCBwcm9ncmFtIE1TQSBN SVNDMS8wIGZpZWxkcyB3aXRoCj4gKwkgKiBjb2xvcnNwYWNlIGluZm9ybWF0aW9uLiBUaGUgb3V0 cHV0IGNvbG9yc3BhY2UgZW5jb2RpbmcgaXMgQlQ2MDEuCj4gKwkgKi8KPiArCWlmIChjcnRjX3N0 YXRlLT5vdXRwdXRfZm9ybWF0ID09IENSVENfT1VUUFVUX1lDQkNSNDQ0KQo+ICsJCXRlbXAgfD0g VFJBTlNfTVNBX1NBTVBMSU5HXzQ0NCB8IFRSQU5TX01TQV9DTFJTUF9ZQ0JDUjsKPiAgCUk5MTVf V1JJVEUoVFJBTlNfTVNBX01JU0MoY3B1X3RyYW5zY29kZXIpLCB0ZW1wKTsKPiAgfQo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggNGE0MGRlOS4uYjI2ZjRhOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtOTIyOCw2ICs5MjI4 LDcgQEAgc3RhdGljIGJvb2wgaGFzd2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCj4gIAlwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSA9Cj4gIAkJSTkxNV9SRUFEKEdB TU1BX01PREUoY3J0Yy0+cGlwZSkpICYgR0FNTUFfTU9ERV9NT0RFX01BU0s7Cj4gIAo+ICsJcGlw ZV9jb25maWctPmV4dGVybmFsX3NjYWxpbmcgPSBmYWxzZTsKCkkgcmVhbGx5IGRvbid0IGxpa2Ug dGhlIG5hbWUgb2YgdGhhdC4gTWFrZXMgbWUgdGhpbmsgd2UncmUgYWN0dWFsbHkKc2NhbGluZyB0 aGUgZW50aXJlIG91dHB1dCBvciBzb21ldGhpbmcuICdleHRlcm5hbF95Y2Jjcl80MjBfZG93bnNh bXBsZScKb3Igc29tZXRoaW5nIGxpa2UgdGhhdCB3b3VsZCBiZSBiZXR0ZXIuCgo+ICAJaWYgKElT X0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gIAkJ dTMyIHRtcCA9IEk5MTVfUkVBRChQSVBFTUlTQyhjcnRjLT5waXBlKSk7Cj4gIAkJZW51bSBpbnRl bF9vdXRwdXRfZm9ybWF0IG91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9SR0I7Cj4gQEAgLTky NDcsOCArOTI0OCwxNiBAQCBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAgCQkJCQlvdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRf WUNCQ1I0MjA7Cj4gIAkJCX0gZWxzZSB7Cj4gIAkJCQlvdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQ VVRfWUNCQ1I0NDQ7Cj4gLQkJCX0KPiAgCj4gKwkJCQkvKgo+ICsJCQkJICogQXMgdGhlcmUgaXMg bm8gaW50ZXJmYWNlIGRlZmluZWQgKHlldCkKPiArCQkJCSAqIHRvIGdldCB0aGUgdXNlcidzIHBy ZWZlcmVuY2UgZm9yIG91dHB1dAo+ICsJCQkJICogZm9ybWF0LCBZQ0JDUjQ0NCBvdXRwdXQgZm9y bWF0IGlzIG9ubHkKPiArCQkJCSAqIHBvc3NpYmxlIHdpdGggTFNQQ09OIFlDQkNSNDIwIG91dHB1 dCwKPiArCQkJCSAqIHdoaWNoIHVzZXMgTFNQQ09OJ3MgKGV4dGVybmFsIClzY2FsZXIuCj4gKwkJ CQkgKi8KPiArCQkJCXBpcGVfY29uZmlnLT5leHRlcm5hbF9zY2FsaW5nID0gdHJ1ZTsKPiArCQkJ fQo+ICAJCX0KPiAgCj4gIAkJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9y bWF0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IGEyZTg4NzkuLmJlMTk1NzkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtMTY0MCw2ICsxNjQwLDcgQEAgaW50ZWxf ZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2 KTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKPiArCXN0cnVjdCBpbnRlbF9sc3Bjb24g KmxzcGNvbiA9IGVuY190b19pbnRlbF9sc3Bjb24oJmVuY29kZXItPmJhc2UpOwo+ICAJZW51bSBw b3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwo+ICAJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5l Y3RvcjsKPiBAQCAtMTY2OSw2ICsxNjcwLDE1IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3By aXYpICYmICFIQVNfRERJKGRldl9wcml2KSAmJiBwb3J0ICE9IFBPUlRfQSkKPiAgCQlwaXBlX2Nv bmZpZy0+aGFzX3BjaF9lbmNvZGVyID0gdHJ1ZTsKPiAgCj4gKwlpZiAobHNwY29uLT5hY3RpdmUp IHsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rv ci0+YmFzZTsKPiArCj4gKwkJaWYgKGxzcGNvbl95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLCBw aXBlX2NvbmZpZykpIHsKPiArCQkJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBDUlRDX09V VFBVVF9ZQ0JDUjQ0NDsKPiArCQkJcGlwZV9jb25maWctPmV4dGVybmFsX3NjYWxpbmcgPSB0cnVl OwoKV2h5IHNwbGl0IHRoZSB3b3JrIGJldHdlZW4gdHdvIGZ1bmN0aW9ucyBsaWtlIHRoaXM/IEkg dGhpbmsgaXQgd291bGQgYmUKY2xlYW5lciB0byBlaXRoZXIgaW5saW5lIGFsbCB0aGUgY29kZSBo ZXJlLCBvciBtb3ZlIGl0IGFsbCBpbnRvCmxzcGNvbl95Y2JjcjQyMF9jb25maWcoKS4KCj4gKwkJ fQo+ICsJfQo+ICsKPiAgCXBpcGVfY29uZmlnLT5oYXNfZHJycyA9IGZhbHNlOwo+ICAJaWYgKElT X0c0WChkZXZfcHJpdikgfHwgcG9ydCA9PSBQT1JUX0EpCj4gIAkJcGlwZV9jb25maWctPmhhc19h dWRpbyA9IGZhbHNlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZWZhYTMzMS4u ZjIzMTI5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTg4Miw2ICs4ODIs OSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAo+ICAJLyogT3V0cHV0IGZvcm1hdCBS R0IvWUNCQ1IgZXRjICovCj4gIAllbnVtIGludGVsX291dHB1dF9mb3JtYXQgb3V0cHV0X2Zvcm1h dDsKPiArCj4gKwkvKiBPdXRwdXQgdXAvZG93biBzY2FsaW5nIGlzIGRvbmUgaW4gZXh0ZXJuYWwg ZGV2aWNlICovCj4gKwlib29sIGV4dGVybmFsX3NjYWxpbmc7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3Qg aW50ZWxfY3J0YyB7Cj4gQEAgLTIxMzksNiArMjE0Miw4IEBAIHZvaWQgbHNwY29uX3NldF9pbmZv ZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJICAgY29uc3Qgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+ICBib29sIGxzcGNvbl9pbmZvZnJh bWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgICAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gK2Jvb2wgbHNwY29uX3lj YmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkgICAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpOwo+ICAKPiAgLyogaW50ZWxfcGlwZV9j cmMuYyAqLwo+ICBpbnQgaW50ZWxfcGlwZV9jcmNfY3JlYXRlKHN0cnVjdCBkcm1fbWlub3IgKm1p bm9yKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+IGluZGV4IDA2NmVhOTEuLjhk NmE5YjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+IEBAIC0xODAsNiAr MTgwLDI1IEBAIHN0YXRpYyBib29sIGxzcGNvbl93YWtlX25hdGl2ZV9hdXhfY2goc3RydWN0IGlu dGVsX2xzcGNvbiAqbHNwY29uKQo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gK2Jvb2wgbHNw Y29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJ CQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcpCgpjcnRjX3N0YXRlCgo+ICt7 Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlf aW5mbzsKCmNvbnN0Cgo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY29uZmln LT5iYXNlLmFkanVzdGVkX21vZGU7Cgpjb25zdCAuLi4gYWRqdXN0ZWRfbW9kZTsKCj4gKwo+ICsJ aWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5KGluZm8sIG1vZGUpKSB7Cj4gKwkJaWYgKCFjb25uZWN0 b3ItPnljYmNyXzQyMF9hbGxvd2VkKSB7Cj4gKwkJCURSTV9FUlJPUigiUGxhdGZvcm0gZG9lc24n dCBzdXBwb3J0IFlDQkNSNDIwIG91dHB1dFxuIik7Cj4gKwkJCXJldHVybiBmYWxzZTsKCkhvdyBj YW4gd2UgZXZlbiBnZXQgaGVyZT8KCj4gKwkJfQo+ICsKPiArCQljb25maWctPnBvcnRfY2xvY2sg Lz0gMjsKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCX0KPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30K PiArCj4gIHN0YXRpYyBib29sIGxzcGNvbl9wcm9iZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bj b24pCj4gIHsKPiAgCWludCByZXRyeTsKPiBAQCAtNDU5LDYgKzQ3OCwxNSBAQCB2b2lkIGxzcGNv bl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJcmV0dXJu Owo+ICAJfQo+ICAKPiArCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IENSVENfT1VU UFVUX1lDQkNSNDQ0KSB7Cj4gKwkJaWYgKGNydGNfc3RhdGUtPmV4dGVybmFsX3NjYWxpbmcpCj4g KwkJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQyMDsKPiArCQll bHNlCj4gKwkJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsK PiArCX0gZWxzZSB7Cj4gKwkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0Vf UkdCOwo+ICsJfQo+ICsKPiAgCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZy YW1lLmF2aSwgbW9kZSwKPiAgCQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3Jhbmdl ID8KPiAgCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9MSU1JVEVEIDoKPiBAQCAtNTEy LDYgKzU0MCw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQpCj4gIAlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSAmaW50ZWxf ZGlnX3BvcnQtPmxzcGNvbjsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdf cG9ydC0+YmFzZS5iYXNlLmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAm ZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsKPiAgCj4gIAlpZiAoIUhBU19MU1BDT04oZGV2 X3ByaXYpKSB7Cj4gIAkJRFJNX0VSUk9SKCJMU1BDT04gaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlz IHBsYXRmb3JtXG4iKTsKPiBAQCAtNTM2LDYgKzU2NSw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gIAkJcmV0dXJuIGZhbHNl Owo+ICAJfQo+ICAKPiArCWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQgPSB0cnVlOwo+ICAJ bHNwY29uLT5hY3RpdmUgPSB0cnVlOwo+ICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09O IGluaXRcbiIpOwo+ICAJcmV0dXJuIHRydWU7Cj4gLS0gCj4gMi43LjQKCi0tIApWaWxsZSBTeXJq w6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=