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: Fri, 12 Oct 2018 23:21:56 +0530 Message-ID: <62df36f5-6d79-f46f-da37-20972380f791@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 93FF46E48A for ; Fri, 12 Oct 2018 17:51:59 +0000 (UTC) In-Reply-To: <20181012135845.GQ9144@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 UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxMC8xMi8yMDE4IDc6MjggUE0sIFZpbGxlIFN5cmrDpGzD pCB3cm90ZToKPiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAxMTo1MzoxNEFNICswNTMwLCBTaGFz aGFuayBTaGFybWEgd3JvdGU6Cj4+IEZyb206IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hh cm1hQGxpbnV4LmludGVsLmNvbT4KPj4KPj4gTFNQQ09OIGNoaXBzIGNhbiBnZW5lcmF0ZSBZQ0JD UiBvdXRwdXRzLCBpZiBhc2tlZCBuaWNlbHkgOikuCj4+Cj4+IEluIG9yZGVyIHRvIGdlbmVyYXRl IFlDQkNSIDQ6MjowIG91dHB1dHMsIGEgc291cmNlIG11c3Q6Cj4+IC0gc2VuZCBZQ0JDUiA0OjQ6 NCBzaWduYWxzIHRvIExTUENPTgo+PiAtIHByb2dyYW0gY29sb3Igc3BhY2UgYXMgNDoyOjAgaW4g QVZJIGluZm9mcmFtZXMKPj4KPj4gV2hlcmVhcyBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0cywgdGhl IHNvdXJjZSBtdXN0Ogo+PiAtIHNlbmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BDT04KPj4g LSBwcm9ncmFtIGNvbG9yIHNwYWNlIGFzIDQ6NDo0IGluIEFWSSBpbmZvZnJhbWVzCj4+Cj4+IFNv IGZvciBib3RoIDQ6MjowIGFzIHdlbGwgYXMgNDo0OjQgb3V0cHV0cywgd2UgYXJlIGRyaXZpbmcg dGhlCj4+IHBpcGUgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dCwgYnV0IEFWSSBpbmZvZnJhbWUncyBj b2xvciBzcGFjZQo+PiBpbmZvcm1hdGlvbiBpbmRpY2F0ZXMgTFNQQ09OIEZXIHRvIHN0YXJ0IHNj YWxpbmcgZG93biBmcm9tIFlDQkNSCj4+IDQ6NDo0IGFuZCBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBv dXRwdXQuIEFzIHRoZSBzY2FsaW5nIGlzIGRvbmUgYnkKPj4gTFNQQ09OIGRldmljZSwgd2UgbmVl ZCBub3QgdG8gcmVzZXJ2ZSBhIHNjYWxlciBmb3IgNDoyOjAgb3V0cHV0cy4KPj4KPj4gVjI6IHJl YmFzZQo+PiBWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlCj4+ICAgICAg LSBhZGQgZW51bSBjcnRjX291dHB1dF9mb3JtYXQgaW5zdGVhZCBvZiBib29sIHljYmNyNDIwCj4+ ICAgICAgLSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0PTQ6NDo0IGZvciBtb2Rlc2V0IG9mIExTUENP TiA0OjI6MCBvdXRwdXQKPj4gICAgICAgIGNhc2VzIGluIHRoaXMgd2F5IHdlIHdpbGwgaGF2ZSBZ Q0JDUiA0OjQ6NCBmcmFtZXdvcmsgcmVhZHkgKGV4Y2VwdAo+PiAgICAgICAgdGhlIEFCSSBwYXJ0 KQo+PiBWNDogQWRkZWQgci1iIGZyb20gTWFhcnRlbiAoZm9yIHYzKQo+PiAgICAgIEFkZHJlc3Nl ZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZToKPj4gICAgICAtIERvIG5vdCBhZGQgYSBub24t YXRvbWljIHN0YXRlIHZhcmlhYmxlIHRvIGRldGVybWluZSBsc3Bjb24gb3V0cHV0Lgo+PiAgICAg ICAgSW5zdGVhZCBhZGQgYm9vbCBpbiBDUlRDIHN0YXRlIHRvIGluZGljYXRlIGxzcGNvbiBiYXNl ZCBzY2FsaW5nLgo+PiBWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+ PiAgICAgIC0gQ2hhbmdlIHRoZSBzdGF0ZSBib29sIG5hbWUgZnJvbSBleHRlcm5hbCBzY2FsaW5n IHRvIHNvbWV0aGluZyBtb3JlCj4+ICAgICAgICByZWxhdmVudC4KPj4gICAgICAtIEtlZXAgdGhl IGluZm8gYW5kIGFkanVzdGVkX21vZGUgc3RydWN0dXJlcyBjb25zdC4KPj4gICAgICAtIHVzZSBj cnRjX3N0YXRlIGluc3RlYWQgb2YgcGlwZV9jb25maWcuCj4+ICAgICAgLSBQdXNoIGFsbCB0aGUg Y29uZmlnIGNoYW5nZSBpbnRvIGxzcGNvbl95Y2JjcjQyMF9jb25maWcgZnVuY3Rpb24uCj4+IFY2 OiBSZWJhc2UsIHNtYWxsIGNoYW5nZXMgdG8gYWNjb21tb2RhdGUgY2hhbmdlcyBpbiBwYXRjaCAy Lgo+PiBWNzogRml4ZWQgY2hlY2twYXRjaCB3YXJuaW5ncyBmb3IgYWxpZ25tZW50Cj4+IFY4OiBS ZWJhc2UKPj4KPj4gICAgICBQUzogSWdub3JlZCBmb2xsb3dpbmcgd2FybmluZ3MgdG8gbWF0Y2gg dGhlIGN1cnJlbnQgZm9ybWF0dGluZzoKPj4gICAgICBkcm0vaTkxNTogQWRkIFlDQkNSIDQ6Mjow LzQ6NDo0IHN1cHBvcnQgZm9yIExTUENPTgo+PiAgICAgICAtOjUzOiBDSEVDSzpTUEFDSU5HOiBz cGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0eDpWeFYpCj4+ICAgICAgIzUzOiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oOjg3MjE6Cj4+ICAgICAgKyNkZWZp bmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQgICAgICAgICgyPDwxKQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgo+PiAgICAgIC06NTQ6IENIRUNLOlNQQUNJ Tkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJzw8JyAoY3R4OlZ4VikKPj4gICAgICAj NTQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmg6ODcyMjoKPj4gICAgICAr I2RlZmluZSAgVFJBTlNfTVNBX0NMUlNQX1lDQkNSICAgICAgICAgKDI8PDMpCj4+IFY5OiBSZWJh c2UKPj4gVjEwOiBSZWJhc2UKPj4gVjExOiBSZWJhc2UKPj4KPj4gQ2M6IFZpbGxlIFN5cmphbGEg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiBDYzogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IE1hYXJ0 ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IFNpZ25l ZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPj4g LS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDIgKysKPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNyArKysrKysrCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTIgKysrKysrKysrKysrCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgIDQgKysrKwo+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA1ICsrKysrCj4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgIHwgMjYgKysrKysrKysrKysrKysrKysrKysr KysrKysKPj4gICA2IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCj4+IGluZGV4IDIwNzg1NDEuLjFlMTNlNTEgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtOTIyOSw2ICs5MjI5LDggQEAgZW51bSBza2xfcG93ZXJf Z2F0ZSB7Cj4+ICAgI2RlZmluZSBUUkFOU19NU0FfTUlTQyh0cmFuKSBfTU1JT19UUkFOUzIodHJh biwgX1RSQU5TQV9NU0FfTUlTQykKPj4gICAKPj4gICAjZGVmaW5lICBUUkFOU19NU0FfU1lOQ19D TEsJCSgxIDw8IDApCj4+ICsjZGVmaW5lICBUUkFOU19NU0FfU0FNUExJTkdfNDQ0CQkoMiA8PCAx KQo+PiArI2RlZmluZSAgVFJBTlNfTVNBX0NMUlNQX1lDQkNSCQkoMiA8PCAzKQo+PiAgICNkZWZp bmUgIFRSQU5TX01TQV82X0JQQwkJKDAgPDwgNSkKPj4gICAjZGVmaW5lICBUUkFOU19NU0FfOF9C UEMJCSgxIDw8IDUpCj4+ICAgI2RlZmluZSAgVFJBTlNfTVNBXzEwX0JQQwkJKDIgPDwgNSkKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gaW5kZXggYmUyMTEzMS4uMTg2MTExYSAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4gQEAgLTE3ODQsNiArMTc4NCwxMyBAQCB2b2lk IGludGVsX2RkaV9zZXRfcGlwZV9zZXR0aW5ncyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPj4gICAJCWJyZWFrOwo+PiAgIAl9Cj4+ICAgCj4+ICsJLyoKPj4gKwkg KiBBcyBwZXIgRFAgMS4yIHNwZWMgc2VjdGlvbiAyLjMuNC4zIHdoaWxlIHNlbmRpbmcKPj4gKwkg KiBZQ0JDUiA0NDQgc2lnbmFscyB3ZSBzaG91bGQgcHJvZ3JhbSBNU0EgTUlTQzEvMCBmaWVsZHMg d2l0aAo+PiArCSAqIGNvbG9yc3BhY2UgaW5mb3JtYXRpb24uIFRoZSBvdXRwdXQgY29sb3JzcGFj ZSBlbmNvZGluZyBpcyBCVDYwMS4KPj4gKwkgKi8KPj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDQ0KQo+PiArCQl0ZW1wIHw9IFRS QU5TX01TQV9TQU1QTElOR180NDQgfCBUUkFOU19NU0FfQ0xSU1BfWUNCQ1I7Cj4+ICAgCUk5MTVf V1JJVEUoVFJBTlNfTVNBX01JU0MoY3B1X3RyYW5zY29kZXIpLCB0ZW1wKTsKPj4gICB9Cj4+ICAg Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gaW5kZXggMzMxN2M2Yy4uNDFh YmQwMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtNzc5 Nyw2ICs3Nzk3LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2NydGNfeWNiY3JfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPj4gICAJZW51bSBpbnRlbF9vdXRwdXRf Zm9ybWF0IG91dHB1dCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOwo+PiAgIAo+PiArCXBpcGVf Y29uZmlnLT5sc3Bjb25fZG93bnNhbXBsaW5nID0gZmFsc2U7Cj4+ICsKPj4gICAJaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4+ICAgCQl1 MzIgdG1wID0gSTkxNV9SRUFEKFBJUEVNSVNDKGNydGMtPnBpcGUpKTsKPj4gICAKPj4gQEAgLTc4 MTQsNiArNzgxNiwxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9nZXRfY3J0Y195Y2Jjcl9jb25maWco c3RydWN0IGludGVsX2NydGMgKmNydGMsCj4+ICAgCQkJCWVsc2UKPj4gICAJCQkJCW91dHB1dCA9 IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7Cj4+ICAgCQkJfSBlbHNlIHsKPj4gKwkJCQkv Kgo+PiArCQkJCSAqIEN1cnJlbnRseSB0aGVyZSBpcyBubyBpbnRlcmZhY2UgZGVmaW5lZCB0bwo+ PiArCQkJCSAqIGNoZWNrIHVzZXIgcHJlZmVyZW5jZSBiZXR3ZWVuIFJHQi9ZQ0JDUjQ0NAo+PiAr CQkJCSAqIG9yIFlDQkNSNDIwLiBTbyB0aGUgb25seSBwb3NzaWJsZSBjYXNlIGZvcgo+PiArCQkJ CSAqIFlDQkNSNDQ0IHVzYWdlIGlzIGRyaXZpbmcgWUNCQ1I0MjAgb3V0cHV0Cj4+ICsJCQkJICog d2l0aCBMU1BDT04sIHdoZW4gcGlwZSBpcyBjb25maWd1cmVkIGZvcgo+PiArCQkJCSAqIFlDQkNS NDQ0IG91dHB1dCBhbmQgTFNQQ09OIHRha2VzIGNhcmUgb2YKPj4gKwkJCQkgKiBkb3duc2FtcGxp bmcgaXQuCj4+ICsJCQkJICovCj4+ICsJCQkJcGlwZV9jb25maWctPmxzcGNvbl9kb3duc2FtcGxp bmcgPSB0cnVlOwo+PiAgIAkJCQlvdXRwdXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDQ0 Owo+PiAgIAkJCX0KPj4gICAJCX0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IGluZGV4IGMz ZjYzMzAuLjExNTZkNTkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBAQCAtMjA3 NCw2ICsyMDc0LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+PiAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+PiAgIAlz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNl KTsKPj4gKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50ZWxfbHNwY29u KCZlbmNvZGVyLT5iYXNlKTsKPj4gICAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+ PiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9j b25maWctPmJhc2UuY3J0Yyk7Cj4+ICAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nv bm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7Cj4+IEBAIC0yMDg2LDYgKzIw ODcsOSBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPj4gICAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+PiAgIAo+ PiAgIAlwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdC Owo+PiArCWlmIChsc3Bjb24tPmFjdGl2ZSkKPj4gKwkJbHNwY29uX3ljYmNyNDIwX2NvbmZpZygm aW50ZWxfY29ubmVjdG9yLT5iYXNlLCBwaXBlX2NvbmZpZyk7Cj4+ICsKPj4gICAJcGlwZV9jb25m aWctPmhhc19kcnJzID0gZmFsc2U7Cj4+ICAgCWlmIChJU19HNFgoZGV2X3ByaXYpIHx8IHBvcnQg PT0gUE9SVF9BKQo+PiAgIAkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IGZhbHNlOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBpbmRleCBiOGU1Zjk1Li45NWUyNTJlIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBAQCAtOTA4LDYgKzkwOCw5IEBAIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlIHsKPj4gICAKPj4gICAJLyogT3V0cHV0IGZvcm1hdCBSR0IvWUNCQ1IgZXRj ICovCj4+ICAgCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRwdXRfZm9ybWF0Owo+PiArCj4+ ICsJLyogT3V0cHV0IGRvd24gc2NhbGluZyBpcyBkb25lIGluIExTUENPTiBkZXZpY2UgKi8KPj4g Kwlib29sIGxzcGNvbl9kb3duc2FtcGxpbmc7Cj4+ICAgfTsKPj4gICAKPj4gICBzdHJ1Y3QgaW50 ZWxfY3J0YyB7Cj4+IEBAIC0yMjI1LDYgKzIyMjgsOCBAQCB2b2lkIGxzcGNvbl9zZXRfaW5mb2Zy YW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gICAJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4+ICAgYm9vbCBsc3Bjb25faW5m b2ZyYW1lX2VuYWJsZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCQkJICAg ICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPj4gK3ZvaWQg bHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ PiArCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPj4gICAKPj4g ICAvKiBpbnRlbF9waXBlX2NyYy5jICovCj4+ICAgI2lmZGVmIENPTkZJR19ERUJVR19GUwo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+PiBpbmRleCA4MjljNDBhLi5mZmYzMmIzIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+PiBAQCAtMTgwLDYgKzE4MCwy MSBAQCBzdGF0aWMgYm9vbCBsc3Bjb25fd2FrZV9uYXRpdmVfYXV4X2NoKHN0cnVjdCBpbnRlbF9s c3Bjb24gKmxzcGNvbikKPj4gICAJcmV0dXJuIHRydWU7Cj4+ICAgfQo+PiAgIAo+PiArdm9pZCBs c3Bjb25feWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ ICsJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ICt7Cj4+ICsJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87Cj4+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUg PQo+PiArCQkJCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+PiArCj4+ICsJaWYg KGRybV9tb2RlX2lzXzQyMF9vbmx5KGluZm8sIGFkanVzdGVkX21vZGUpICYmCj4+ICsJICAgIGNv bm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQpIHsKPj4gKwkJY3J0Y19zdGF0ZS0+cG9ydF9jbG9j ayAvPSAyOwo+IFRoaXMgbG9va3MgYm9ndXMuIFdlJ3JlIHRhbGtpbmcgYWJvdXQgRFAgaGVyZSBz byB3ZSBzaG91bGQgbm90IGJlCj4gZnJvYmJpbmcgcG9ydF9jbG9jay4gQW5kIHNpbmNlIHdlIG91 dHB1dCA0OjQ6NCBmcm9tIHRoZSBwb3J0Cj4gYW55d2F5IHdlIGRvbid0IGV2ZW4gaGF2ZSB0byB0 YWtlIDQ6MjowIGludG8gY29uc2lkZXJhdGlvbgo+IHdoZW4gY2FsY3VsYXRpbmcgcG9ydF9jbG9j ay4KSSBhZ3JlZSBvbiB0aGlzLgo+IEFoLCB0aGlzIGd1eSBpcyBjYWxsZWQgYmVmb3JlIHdlIGV2 ZW4gY2FsY3VsYXRlIHBvcnRfY2xvY2suCj4gVGhhdCBleHBsYWlucyB3aHkgdGhpcyBkaWRuJ3Qg Y2F1c2UgYW55IHByb2JsZW1zLiBTbyB0aGlzIGlzCj4ganVzdCBkZWFkIGNvZGUgaGVyZS4KPgo+ IEFuZCBsb29rcyBsaWtlIHRoZSBwb3J0X2Nsb2NrIGFkanVzdG1lbnQgaW4gaW50ZWxfaGRtaV95 Y2JjcjQyMF9jb25maWcoKQo+IGFsc28gZGVhZCBjb2RlIHNpbmNlIHRoZSBjYWxsZXIgb3Zlcndy aXRlcyBpdCB0aGVyZSBhcyB3ZWxsLgpJIGFtIG5vdCBzdXJlIGlmIHRoYXQncyB0aGUgY2FzZSBm b3IgTmF0aXZlIEhETUkgMi4wLgpJbiBpbnRlbF9oZG1pXzQyMF9jb25maWcgd2UgYXJlIHVwZGF0 aW5nIHRoZSBjb25maWctPnBvcnRfY2xvY2ssIHdoaWNoIAppcyB0aGUgc2FtZSB0aGluZyBiZWlu ZyB1cGRhdGVkIGZvciA4LzEyLzE2IEJQQyBkZWVwIGNvbG9yIHRvbywganVzdCAKYWZ0ZXIgdGhp cyBmdW5jdGlvbi4KSSBoYXZlIHRlc3RlZCB0aGUgb3V0cHV0IHdpdGggSERNSSAyLjAgYW5hbHl6 ZXIsIHdoaWNoIHJlcG9ydGVkIHJpZ2h0IApwaXhlbCBjbG9jayAoMjk3TWh6KS4gTm93LCBhcyBh bnkgb2YgdGhlIHBvcnQgY2xvY2sgY2FsY3VsYXRpb25zIGRvIG5vdCAKZ2V0IGluZm9ybWF0aW9u CmFib3V0IEhETUkgb3V0cHV0IHR5cGUsIHRoZXJlIGlzIG5vIG90aGVyIHdheSB0aGV5IHdpbGwg Y2FsY3VsYXRlIHRoZSAKcmlnaHQgcGl4ZWwgY2xvY2sgKDU5NC8yKSBmb3IgNDoyOjAgb3V0cHV0 cy4gU28gSSBiZWxpZXZlIHRoYXQgY29kZSBpcyAKYWN0aXZlLgoKLSBTaGFzaGFuawo+PiArCQlj cnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQ0NDsK Pj4gKwkJY3J0Y19zdGF0ZS0+bHNwY29uX2Rvd25zYW1wbGluZyA9IHRydWU7Cj4+ICsJfQo+PiAr fQo+PiArCj4+ICAgc3RhdGljIGJvb2wgbHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24g KmxzcGNvbikKPj4gICB7Cj4+ICAgCWludCByZXRyeTsKPj4gQEAgLTQ2NCw2ICs0NzksMTUgQEAg dm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4+ICAgCQlyZXR1cm47Cj4+ICAgCX0KPj4gICAKPj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDQ0KSB7Cj4+ICsJCWlmIChjcnRj X3N0YXRlLT5sc3Bjb25fZG93bnNhbXBsaW5nKQo+PiArCQkJZnJhbWUuYXZpLmNvbG9yc3BhY2Ug PSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDIwOwo+PiArCQllbHNlCj4+ICsJCQlmcmFtZS5hdmkuY29s b3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4+ICsJfSBlbHNlIHsKPj4gKwkJZnJh bWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfUkdCOwo+PiArCX0KPj4gKwo+PiAg IAlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCZmcmFtZS5hdmksIG1vZGUsCj4+ ICAgCQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3JhbmdlID8KPj4gICAJCQkJCSAg IEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQgOgo+PiBAQCAtNTE3LDYgKzU0MSw3IEBA IGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQpCj4+ICAgCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9ICZpbnRlbF9kaWdfcG9ydC0+ bHNwY29uOwo+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UuYmFzZS5kZXY7Cj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmRwLT5h dHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4+ICAgCj4+ICAgCWlmICghSEFTX0xTUENPTihkZXZf cHJpdikpIHsKPj4gICAJCURSTV9FUlJPUigiTFNQQ09OIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhp cyBwbGF0Zm9ybVxuIik7Cj4+IEBAIC01NDEsNiArNTY2LDcgQEAgYm9vbCBsc3Bjb25faW5pdChz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKPj4gICAJCXJldHVybiBm YWxzZTsKPj4gICAJfQo+PiAgIAo+PiArCWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQgPSB0 cnVlOwo+PiAgIAlsc3Bjb24tPmFjdGl2ZSA9IHRydWU7Cj4+ICAgCURSTV9ERUJVR19LTVMoIlN1 Y2Nlc3M6IExTUENPTiBpbml0XG4iKTsKPj4gICAJcmV0dXJuIHRydWU7Cj4+IC0tIAo+PiAyLjcu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==