From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v12 8/8] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Sat, 13 Oct 2018 00:02:25 +0530 Message-ID: <475e5bce-5caf-3fe9-da59-4189616a5158@intel.com> References: <1539325394-20788-1-git-send-email-shashank.sharma@intel.com> <1539325394-20788-8-git-send-email-shashank.sharma@intel.com> <20181012135845.GQ9144@intel.com> <62df36f5-6d79-f46f-da37-20972380f791@intel.com> <20181012180956.GT9144@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 5342D6E08A for ; Fri, 12 Oct 2018 18:32:30 +0000 (UTC) In-Reply-To: <20181012180956.GT9144@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 UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxMC8xMi8yMDE4IDExOjM5IFBNLCBWaWxsZSBTeXJqw6Rs w6Qgd3JvdGU6Cj4gT24gRnJpLCBPY3QgMTIsIDIwMTggYXQgMTE6MjE6NTZQTSArMDUzMCwgU2hh cm1hLCBTaGFzaGFuayB3cm90ZToKPj4gUmVnYXJkcwo+Pgo+PiBTaGFzaGFuawo+Pgo+Pgo+PiBP biAxMC8xMi8yMDE4IDc6MjggUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPj4+IE9uIEZyaSwg T2N0IDEyLCAyMDE4IGF0IDExOjUzOjE0QU0gKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToK Pj4+PiBGcm9tOiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBsaW51eC5pbnRlbC5j b20+Cj4+Pj4KPj4+PiBMU1BDT04gY2hpcHMgY2FuIGdlbmVyYXRlIFlDQkNSIG91dHB1dHMsIGlm IGFza2VkIG5pY2VseSA6KS4KPj4+Pgo+Pj4+IEluIG9yZGVyIHRvIGdlbmVyYXRlIFlDQkNSIDQ6 MjowIG91dHB1dHMsIGEgc291cmNlIG11c3Q6Cj4+Pj4gLSBzZW5kIFlDQkNSIDQ6NDo0IHNpZ25h bHMgdG8gTFNQQ09OCj4+Pj4gLSBwcm9ncmFtIGNvbG9yIHNwYWNlIGFzIDQ6MjowIGluIEFWSSBp bmZvZnJhbWVzCj4+Pj4KPj4+PiBXaGVyZWFzIGZvciBZQ0JDUiA0OjQ6NCBvdXRwdXRzLCB0aGUg c291cmNlIG11c3Q6Cj4+Pj4gLSBzZW5kIFlDQkNSIDQ6NDo0IHNpZ25hbHMgdG8gTFNQQ09OCj4+ Pj4gLSBwcm9ncmFtIGNvbG9yIHNwYWNlIGFzIDQ6NDo0IGluIEFWSSBpbmZvZnJhbWVzCj4+Pj4K Pj4+PiBTbyBmb3IgYm90aCA0OjI6MCBhcyB3ZWxsIGFzIDQ6NDo0IG91dHB1dHMsIHdlIGFyZSBk cml2aW5nIHRoZQo+Pj4+IHBpcGUgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dCwgYnV0IEFWSSBpbmZv ZnJhbWUncyBjb2xvciBzcGFjZQo+Pj4+IGluZm9ybWF0aW9uIGluZGljYXRlcyBMU1BDT04gRlcg dG8gc3RhcnQgc2NhbGluZyBkb3duIGZyb20gWUNCQ1IKPj4+PiA0OjQ6NCBhbmQgZ2VuZXJhdGUg WUNCQ1IgNDoyOjAgb3V0cHV0LiBBcyB0aGUgc2NhbGluZyBpcyBkb25lIGJ5Cj4+Pj4gTFNQQ09O IGRldmljZSwgd2UgbmVlZCBub3QgdG8gcmVzZXJ2ZSBhIHNjYWxlciBmb3IgNDoyOjAgb3V0cHV0 cy4KPj4+Pgo+Pj4+IFYyOiByZWJhc2UKPj4+PiBWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50 cyBmcm9tIFZpbGxlCj4+Pj4gICAgICAgLSBhZGQgZW51bSBjcnRjX291dHB1dF9mb3JtYXQgaW5z dGVhZCBvZiBib29sIHljYmNyNDIwCj4+Pj4gICAgICAgLSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0 PTQ6NDo0IGZvciBtb2Rlc2V0IG9mIExTUENPTiA0OjI6MCBvdXRwdXQKPj4+PiAgICAgICAgIGNh c2VzIGluIHRoaXMgd2F5IHdlIHdpbGwgaGF2ZSBZQ0JDUiA0OjQ6NCBmcmFtZXdvcmsgcmVhZHkg KGV4Y2VwdAo+Pj4+ICAgICAgICAgdGhlIEFCSSBwYXJ0KQo+Pj4+IFY0OiBBZGRlZCByLWIgZnJv bSBNYWFydGVuIChmb3IgdjMpCj4+Pj4gICAgICAgQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBm cm9tIFZpbGxlOgo+Pj4+ICAgICAgIC0gRG8gbm90IGFkZCBhIG5vbi1hdG9taWMgc3RhdGUgdmFy aWFibGUgdG8gZGV0ZXJtaW5lIGxzcGNvbiBvdXRwdXQuCj4+Pj4gICAgICAgICBJbnN0ZWFkIGFk ZCBib29sIGluIENSVEMgc3RhdGUgdG8gaW5kaWNhdGUgbHNwY29uIGJhc2VkIHNjYWxpbmcuCj4+ Pj4gVjU6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPj4+PiAgICAgICAt IENoYW5nZSB0aGUgc3RhdGUgYm9vbCBuYW1lIGZyb20gZXh0ZXJuYWwgc2NhbGluZyB0byBzb21l dGhpbmcgbW9yZQo+Pj4+ICAgICAgICAgcmVsYXZlbnQuCj4+Pj4gICAgICAgLSBLZWVwIHRoZSBp bmZvIGFuZCBhZGp1c3RlZF9tb2RlIHN0cnVjdHVyZXMgY29uc3QuCj4+Pj4gICAgICAgLSB1c2Ug Y3J0Y19zdGF0ZSBpbnN0ZWFkIG9mIHBpcGVfY29uZmlnLgo+Pj4+ICAgICAgIC0gUHVzaCBhbGwg dGhlIGNvbmZpZyBjaGFuZ2UgaW50byBsc3Bjb25feWNiY3I0MjBfY29uZmlnIGZ1bmN0aW9uLgo+ Pj4+IFY2OiBSZWJhc2UsIHNtYWxsIGNoYW5nZXMgdG8gYWNjb21tb2RhdGUgY2hhbmdlcyBpbiBw YXRjaCAyLgo+Pj4+IFY3OiBGaXhlZCBjaGVja3BhdGNoIHdhcm5pbmdzIGZvciBhbGlnbm1lbnQK Pj4+PiBWODogUmViYXNlCj4+Pj4KPj4+PiAgICAgICBQUzogSWdub3JlZCBmb2xsb3dpbmcgd2Fy bmluZ3MgdG8gbWF0Y2ggdGhlIGN1cnJlbnQgZm9ybWF0dGluZzoKPj4+PiAgICAgICBkcm0vaTkx NTogQWRkIFlDQkNSIDQ6MjowLzQ6NDo0IHN1cHBvcnQgZm9yIExTUENPTgo+Pj4+ICAgICAgICAt OjUzOiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0 eDpWeFYpCj4+Pj4gICAgICAgIzUzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oOjg3MjE6Cj4+Pj4gICAgICAgKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQgICAg ICAgICgyPDwxKQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgo+Pj4+ICAgICAgIC06NTQ6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJv dW5kIHRoYXQgJzw8JyAoY3R4OlZ4VikKPj4+PiAgICAgICAjNTQ6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmg6ODcyMjoKPj4+PiAgICAgICArI2RlZmluZSAgVFJBTlNfTVNB X0NMUlNQX1lDQkNSICAgICAgICAgKDI8PDMpCj4+Pj4gVjk6IFJlYmFzZQo+Pj4+IFYxMDogUmVi YXNlCj4+Pj4gVjExOiBSZWJhc2UKPj4+Pgo+Pj4+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+PiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4+PiBSZXZpZXdlZC1ieTogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4+PiBTaWduZWQt b2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+Pj4g LS0tCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDIgKysK Pj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNyArKysrKysr Cj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTIgKysrKysr KysrKysrCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgIDQg KysrKwo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA1ICsr KysrCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgIHwgMjYgKysr KysrKysrKysrKysrKysrKysrKysrKysKPj4+PiAgICA2IGZpbGVzIGNoYW5nZWQsIDU2IGluc2Vy dGlvbnMoKykKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+Pj4+IGluZGV4IDIwNzg1 NDEuLjFlMTNlNTEgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+PiBAQCAt OTIyOSw2ICs5MjI5LDggQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4+Pj4gICAgI2RlZmluZSBU UkFOU19NU0FfTUlTQyh0cmFuKSBfTU1JT19UUkFOUzIodHJhbiwgX1RSQU5TQV9NU0FfTUlTQykK Pj4+PiAgICAKPj4+PiAgICAjZGVmaW5lICBUUkFOU19NU0FfU1lOQ19DTEsJCSgxIDw8IDApCj4+ Pj4gKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQJCSgyIDw8IDEpCj4+Pj4gKyNkZWZp bmUgIFRSQU5TX01TQV9DTFJTUF9ZQ0JDUgkJKDIgPDwgMykKPj4+PiAgICAjZGVmaW5lICBUUkFO U19NU0FfNl9CUEMJCSgwIDw8IDUpCj4+Pj4gICAgI2RlZmluZSAgVFJBTlNfTVNBXzhfQlBDCQko MSA8PCA1KQo+Pj4+ICAgICNkZWZpbmUgIFRSQU5TX01TQV8xMF9CUEMJCSgyIDw8IDUpCj4+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4+PiBpbmRleCBiZTIxMTMxLi4xODYxMTFhIDEwMDY0 NAo+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4+PiBAQCAtMTc4NCw2ICsxNzg0LDEz IEBAIHZvaWQgaW50ZWxfZGRpX3NldF9waXBlX3NldHRpbmdzKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+Pj4+ICAgIAkJYnJlYWs7Cj4+Pj4gICAgCX0KPj4+PiAg ICAKPj4+PiArCS8qCj4+Pj4gKwkgKiBBcyBwZXIgRFAgMS4yIHNwZWMgc2VjdGlvbiAyLjMuNC4z IHdoaWxlIHNlbmRpbmcKPj4+PiArCSAqIFlDQkNSIDQ0NCBzaWduYWxzIHdlIHNob3VsZCBwcm9n cmFtIE1TQSBNSVNDMS8wIGZpZWxkcyB3aXRoCj4+Pj4gKwkgKiBjb2xvcnNwYWNlIGluZm9ybWF0 aW9uLiBUaGUgb3V0cHV0IGNvbG9yc3BhY2UgZW5jb2RpbmcgaXMgQlQ2MDEuCj4+Pj4gKwkgKi8K Pj4+PiArCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JN QVRfWUNCQ1I0NDQpCj4+Pj4gKwkJdGVtcCB8PSBUUkFOU19NU0FfU0FNUExJTkdfNDQ0IHwgVFJB TlNfTVNBX0NMUlNQX1lDQkNSOwo+Pj4+ICAgIAlJOTE1X1dSSVRFKFRSQU5TX01TQV9NSVNDKGNw dV90cmFuc2NvZGVyKSwgdGVtcCk7Cj4+Pj4gICAgfQo+Pj4+ICAgIAo+Pj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+PiBpbmRleCAzMzE3YzZjLi40MWFiZDAzIDEwMDY0NAo+ Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4+IEBAIC03Nzk3LDYgKzc3 OTcsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9nZXRfY3J0Y195Y2Jjcl9jb25maWcoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsCj4+Pj4gICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwo+Pj4+ICAgIAllbnVtIGludGVsX291dHB1dF9m b3JtYXQgb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9SR0I7Cj4+Pj4gICAgCj4+Pj4gKwlw aXBlX2NvbmZpZy0+bHNwY29uX2Rvd25zYW1wbGluZyA9IGZhbHNlOwo+Pj4+ICsKPj4+PiAgICAJ aWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7 Cj4+Pj4gICAgCQl1MzIgdG1wID0gSTkxNV9SRUFEKFBJUEVNSVNDKGNydGMtPnBpcGUpKTsKPj4+ PiAgICAKPj4+PiBAQCAtNzgxNCw2ICs3ODE2LDE2IEBAIHN0YXRpYyB2b2lkIGludGVsX2dldF9j cnRjX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPj4+PiAgICAJCQkJZWxz ZQo+Pj4+ICAgIAkJCQkJb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMDsKPj4+ PiAgICAJCQl9IGVsc2Ugewo+Pj4+ICsJCQkJLyoKPj4+PiArCQkJCSAqIEN1cnJlbnRseSB0aGVy ZSBpcyBubyBpbnRlcmZhY2UgZGVmaW5lZCB0bwo+Pj4+ICsJCQkJICogY2hlY2sgdXNlciBwcmVm ZXJlbmNlIGJldHdlZW4gUkdCL1lDQkNSNDQ0Cj4+Pj4gKwkJCQkgKiBvciBZQ0JDUjQyMC4gU28g dGhlIG9ubHkgcG9zc2libGUgY2FzZSBmb3IKPj4+PiArCQkJCSAqIFlDQkNSNDQ0IHVzYWdlIGlz IGRyaXZpbmcgWUNCQ1I0MjAgb3V0cHV0Cj4+Pj4gKwkJCQkgKiB3aXRoIExTUENPTiwgd2hlbiBw aXBlIGlzIGNvbmZpZ3VyZWQgZm9yCj4+Pj4gKwkJCQkgKiBZQ0JDUjQ0NCBvdXRwdXQgYW5kIExT UENPTiB0YWtlcyBjYXJlIG9mCj4+Pj4gKwkJCQkgKiBkb3duc2FtcGxpbmcgaXQuCj4+Pj4gKwkJ CQkgKi8KPj4+PiArCQkJCXBpcGVfY29uZmlnLT5sc3Bjb25fZG93bnNhbXBsaW5nID0gdHJ1ZTsK Pj4+PiAgICAJCQkJb3V0cHV0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQ0NDsKPj4+PiAg ICAJCQl9Cj4+Pj4gICAgCQl9Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4gaW5kZXgg YzNmNjMzMC4uMTE1NmQ1OSAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4+ IEBAIC0yMDc0LDYgKzIwNzQsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+Pj4gICAgCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4+Pj4gICAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoJmVuY29kZXItPmJhc2UpOwo+Pj4+ICsJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0g ZW5jX3RvX2ludGVsX2xzcGNvbigmZW5jb2Rlci0+YmFzZSk7Cj4+Pj4gICAgCWVudW0gcG9ydCBw b3J0ID0gZW5jb2Rlci0+cG9ydDsKPj4+PiAgICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwo+Pj4+ICAgIAlzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRf Y29ubmVjdG9yOwo+Pj4+IEBAIC0yMDg2LDYgKzIwODcsOSBAQCBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgICAJCXBpcGVfY29uZmln LT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+Pj4+ICAgIAo+Pj4+ICAgIAlwaXBlX2NvbmZpZy0+ b3V0cHV0X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOwo+Pj4+ICsJaWYgKGxzcGNv bi0+YWN0aXZlKQo+Pj4+ICsJCWxzcGNvbl95Y2JjcjQyMF9jb25maWcoJmludGVsX2Nvbm5lY3Rv ci0+YmFzZSwgcGlwZV9jb25maWcpOwo+Pj4+ICsKPj4+PiAgICAJcGlwZV9jb25maWctPmhhc19k cnJzID0gZmFsc2U7Cj4+Pj4gICAgCWlmIChJU19HNFgoZGV2X3ByaXYpIHx8IHBvcnQgPT0gUE9S VF9BKQo+Pj4+ICAgIAkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IGZhbHNlOwo+Pj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4gaW5kZXggYjhlNWY5NS4uOTVlMjUyZSAxMDA2NDQKPj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4gQEAgLTkwOCw2ICs5MDgsOSBAQCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4+Pj4gICAgCj4+Pj4gICAgCS8qIE91dHB1dCBmb3JtYXQg UkdCL1lDQkNSIGV0YyAqLwo+Pj4+ICAgIAllbnVtIGludGVsX291dHB1dF9mb3JtYXQgb3V0cHV0 X2Zvcm1hdDsKPj4+PiArCj4+Pj4gKwkvKiBPdXRwdXQgZG93biBzY2FsaW5nIGlzIGRvbmUgaW4g TFNQQ09OIGRldmljZSAqLwo+Pj4+ICsJYm9vbCBsc3Bjb25fZG93bnNhbXBsaW5nOwo+Pj4+ICAg IH07Cj4+Pj4gICAgCj4+Pj4gICAgc3RydWN0IGludGVsX2NydGMgewo+Pj4+IEBAIC0yMjI1LDYg KzIyMjgsOCBAQCB2b2lkIGxzcGNvbl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPj4+PiAgICAJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSk7Cj4+Pj4gICAgYm9vbCBsc3Bjb25faW5mb2ZyYW1lX2VuYWJsZWQoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+Pj4gICAgCQkJICAgICAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPj4+PiArdm9pZCBsc3Bjb25feWNiY3I0 MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+Pj4gKwkJCSAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4+Pj4gICAgCj4+Pj4gICAgLyog aW50ZWxfcGlwZV9jcmMuYyAqLwo+Pj4+ICAgICNpZmRlZiBDT05GSUdfREVCVUdfRlMKPj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+Pj4+IGluZGV4IDgyOWM0MGEuLmZmZjMyYjMg MTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+Pj4+IEBAIC0xODAs NiArMTgwLDIxIEBAIHN0YXRpYyBib29sIGxzcGNvbl93YWtlX25hdGl2ZV9hdXhfY2goc3RydWN0 IGludGVsX2xzcGNvbiAqbHNwY29uKQo+Pj4+ICAgIAlyZXR1cm4gdHJ1ZTsKPj4+PiAgICB9Cj4+ Pj4gICAgCj4+Pj4gK3ZvaWQgbHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+Pj4+ICsJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4+Pj4gK3sKPj4+PiArCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpp bmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+Pj4+ICsJY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+Pj4+ICsJCQkJCSZjcnRjX3N0YXRlLT5iYXNl LmFkanVzdGVkX21vZGU7Cj4+Pj4gKwo+Pj4+ICsJaWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5KGlu Zm8sIGFkanVzdGVkX21vZGUpICYmCj4+Pj4gKwkgICAgY29ubmVjdG9yLT55Y2Jjcl80MjBfYWxs b3dlZCkgewo+Pj4+ICsJCWNydGNfc3RhdGUtPnBvcnRfY2xvY2sgLz0gMjsKPj4+IFRoaXMgbG9v a3MgYm9ndXMuIFdlJ3JlIHRhbGtpbmcgYWJvdXQgRFAgaGVyZSBzbyB3ZSBzaG91bGQgbm90IGJl Cj4+PiBmcm9iYmluZyBwb3J0X2Nsb2NrLiBBbmQgc2luY2Ugd2Ugb3V0cHV0IDQ6NDo0IGZyb20g dGhlIHBvcnQKPj4+IGFueXdheSB3ZSBkb24ndCBldmVuIGhhdmUgdG8gdGFrZSA0OjI6MCBpbnRv IGNvbnNpZGVyYXRpb24KPj4+IHdoZW4gY2FsY3VsYXRpbmcgcG9ydF9jbG9jay4KPj4gSSBhZ3Jl ZSBvbiB0aGlzLgo+Pj4gQWgsIHRoaXMgZ3V5IGlzIGNhbGxlZCBiZWZvcmUgd2UgZXZlbiBjYWxj dWxhdGUgcG9ydF9jbG9jay4KPj4+IFRoYXQgZXhwbGFpbnMgd2h5IHRoaXMgZGlkbid0IGNhdXNl IGFueSBwcm9ibGVtcy4gU28gdGhpcyBpcwo+Pj4ganVzdCBkZWFkIGNvZGUgaGVyZS4KPj4+Cj4+ PiBBbmQgbG9va3MgbGlrZSB0aGUgcG9ydF9jbG9jayBhZGp1c3RtZW50IGluIGludGVsX2hkbWlf eWNiY3I0MjBfY29uZmlnKCkKPj4+IGFsc28gZGVhZCBjb2RlIHNpbmNlIHRoZSBjYWxsZXIgb3Zl cndyaXRlcyBpdCB0aGVyZSBhcyB3ZWxsLgo+PiBJIGFtIG5vdCBzdXJlIGlmIHRoYXQncyB0aGUg Y2FzZSBmb3IgTmF0aXZlIEhETUkgMi4wLgo+PiBJbiBpbnRlbF9oZG1pXzQyMF9jb25maWcgd2Ug YXJlIHVwZGF0aW5nIHRoZSBjb25maWctPnBvcnRfY2xvY2ssIHdoaWNoCj4+IGlzIHRoZSBzYW1l IHRoaW5nIGJlaW5nIHVwZGF0ZWQgZm9yIDgvMTIvMTYgQlBDIGRlZXAgY29sb3IgdG9vLCBqdXN0 Cj4+IGFmdGVyIHRoaXMgZnVuY3Rpb24uCj4+IEkgaGF2ZSB0ZXN0ZWQgdGhlIG91dHB1dCB3aXRo IEhETUkgMi4wIGFuYWx5emVyLCB3aGljaCByZXBvcnRlZCByaWdodAo+PiBwaXhlbCBjbG9jayAo Mjk3TWh6KS4gTm93LCBhcyBhbnkgb2YgdGhlIHBvcnQgY2xvY2sgY2FsY3VsYXRpb25zIGRvIG5v dAo+PiBnZXQgaW5mb3JtYXRpb24KPj4gYWJvdXQgSERNSSBvdXRwdXQgdHlwZSwgdGhlcmUgaXMg bm8gb3RoZXIgd2F5IHRoZXkgd2lsbCBjYWxjdWxhdGUgdGhlCj4+IHJpZ2h0IHBpeGVsIGNsb2Nr ICg1OTQvMikgZm9yIDQ6MjowIG91dHB1dHMuIFNvIEkgYmVsaWV2ZSB0aGF0IGNvZGUgaXMKPj4g YWN0aXZlLgo+IEl0IGVmZmVjdGl2ZWx5IGRvZXMgdGhpczoKPgo+IDEuIHBvcnRfY2xvY2sgPSB3 aG8ga25vd3MKPiAyLiBwb3J0X2Nsb2NrIC89IDI7CkhlcmUsIGluIGludGVsX2hkbWlfY29tcHV0 ZV95Y2Jjcl9jb25maWcoKSBmdW5jdGlvbiwgd2UgYXJlIGFkZGl0aW9uYWxseSAKZG9pbmcgdGhp cyBhbHNvOgoKY2xvY2tfOGJwYyAvPSAyOwpjbG9ja18xMGJwYyAvPSAyOwpjbG9ja18xMmJwYyAv PSAyOwoKPiAzLiBpZiAoMTJicGMpCj4gICAgIAlwb3J0X2Nsb2NrID0gY2xvY2tfMTJicGM7Cj4g ICAgIGVsc2UgaWYgKDEwYnBjKQo+ICAgICAJcG9ydF9jbG9jayA9IGNsb2NrXzEwYnBjOwo+ICAg ICBlbHNlCj4gICAgIAlwb3J0X2Nsb2NrID0gY2xvY2tfOGJwYzsKVGhpcyBtZWFucyBlZmZlY3Rp dmVseSB0aGUgc2VsZWN0ZWQgY2xvY2sgaXMgLzIsIHNvIHRoZSBjb2RlIGlzIG5vdCBkZWFkIAoo dGhhbmtmdWxseSA6LSkpCi0gU2hhc2hhbmsKPgo+IEllLiBzdGVwIDIuIGlzIGRlYWQgY29kZS4K Pgo+PiAtIFNoYXNoYW5rCj4+Pj4gKwkJY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9IElOVEVM X09VVFBVVF9GT1JNQVRfWUNCQ1I0NDQ7Cj4+Pj4gKwkJY3J0Y19zdGF0ZS0+bHNwY29uX2Rvd25z YW1wbGluZyA9IHRydWU7Cj4+Pj4gKwl9Cj4+Pj4gK30KPj4+PiArCj4+Pj4gICAgc3RhdGljIGJv b2wgbHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4+PiAgICB7Cj4+ Pj4gICAgCWludCByZXRyeTsKPj4+PiBAQCAtNDY0LDYgKzQ3OSwxNSBAQCB2b2lkIGxzcGNvbl9z ZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+PiAgICAJCXJl dHVybjsKPj4+PiAgICAJfQo+Pj4+ICAgIAo+Pj4+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9m b3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQ0NCkgewo+Pj4+ICsJCWlmIChjcnRj X3N0YXRlLT5sc3Bjb25fZG93bnNhbXBsaW5nKQo+Pj4+ICsJCQlmcmFtZS5hdmkuY29sb3JzcGFj ZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0MjA7Cj4+Pj4gKwkJZWxzZQo+Pj4+ICsJCQlmcmFtZS5h dmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4+Pj4gKwl9IGVsc2Ugewo+ Pj4+ICsJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1JHQjsKPj4+PiAr CX0KPj4+PiArCj4+Pj4gICAgCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZy YW1lLmF2aSwgbW9kZSwKPj4+PiAgICAJCQkJCSAgIGNydGNfc3RhdGUtPmxpbWl0ZWRfY29sb3Jf cmFuZ2UgPwo+Pj4+ICAgIAkJCQkJICAgSERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRCA6 Cj4+Pj4gQEAgLTUxNyw2ICs1NDEsNyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQo+Pj4+ICAgIAlzdHJ1Y3QgaW50ZWxfbHNwY29u ICpsc3Bjb24gPSAmaW50ZWxfZGlnX3BvcnQtPmxzcGNvbjsKPj4+PiAgICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+Pj4+ICAgIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4+Pj4gKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmRwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJh c2U7Cj4+Pj4gICAgCj4+Pj4gICAgCWlmICghSEFTX0xTUENPTihkZXZfcHJpdikpIHsKPj4+PiAg ICAJCURSTV9FUlJPUigiTFNQQ09OIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxu Iik7Cj4+Pj4gQEAgLTU0MSw2ICs1NjYsNyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQo+Pj4+ICAgIAkJcmV0dXJuIGZhbHNlOwo+ Pj4+ICAgIAl9Cj4+Pj4gICAgCj4+Pj4gKwljb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2VkID0g dHJ1ZTsKPj4+PiAgICAJbHNwY29uLT5hY3RpdmUgPSB0cnVlOwo+Pj4+ICAgIAlEUk1fREVCVUdf S01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7Cj4+Pj4gICAgCXJldHVybiB0cnVlOwo+Pj4+ IC0tIAo+Pj4+IDIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK