From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 18/20] drm/i915: YCBCR 420 support for LSPCON Date: Thu, 13 Jul 2017 10:32:00 +0530 Message-ID: <773167db-9a62-65b6-cce3-e4ad9e6d7f19@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-19-git-send-email-shashank.sharma@intel.com> <20170712171542.GH12629@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170712171542.GH12629@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, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiA3LzEyLzIwMTcgMTA6NDUgUE0sIFZpbGxlIFN5cmrDpGzD pCB3cm90ZToKPiBPbiBNb24sIEp1bCAxMCwgMjAxNyBhdCAwNDo0ODo0NlBNICswNTMwLCBTaGFz aGFuayBTaGFybWEgd3JvdGU6Cj4+IExTUENPTiBjaGlwcyBzdXBwb3J0IFlDQkNSNDIwIG91dHB1 dHMuIFRvIGJlIGFibGUgdG8gZ2V0Cj4+IFlDQkNSNDIwIG91dHB1dCBmcm9tIExTUENPTiBjaGlw LCB0aGUgc291cmNlIHNob3VsZDoKPj4gLSBHZW5lcmF0ZSBZQ0JDUjQ0NCBIRE1JIG91dHB1dAo+ PiAtIFNldCBBVkkgaW5mb2ZyYW1lcyBmb3IgYSBZQ0JDUjQyMCBvdXRwdXQuCj4+Cj4+IExTUENP TiBGVyBnZXRzIHRoZSBpbmZvcm1hdGlvbiBmcm9tIEFWSSBpbmZvZnJhbWVzLCBhbmQgZ2VuZXJh dGVzCj4+IFlDQkNSNDIwIG91dHB1dCBmcm9tIGEgWUNCQ1I0NDQgaW5wdXQuIFRoaXMgcGF0Y2gg YWRkcyB0aGUgbmVjZXNzYXJ5Cj4+IGNoYW5nZXMgdG8gZHJpdmUgWUNCQ1I0MjAgb3V0cHV0IGZy b20gTFNQQ09OIGJhc2VkIEhETUkgb3V0cHV0Lgo+Pgo+PiBDYzogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5z aGFybWFAaW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAxMCArKysrKysrLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyAgICAgIHwgMTYgKysrKysrKysrKysrKysrLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICB8IDIwICsrKysrKysrKysrKysrKysrLS0tCj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgIDcgKysrKystLQo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jICB8IDE3ICsrKysrKysrKysrKysrKysrCj4+ICAgNSBm aWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IGluZGV4IGM1ZmY1NjguLmMzYzdiMzEgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gQEAgLTgxMjUsOSArODEy NSwxMSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlzYyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4+ICAgCQkJdmFsIHw9IFBJUEVNSVNDX0RJVEhFUl9FTkFCTEUgfCBQSVBFTUlTQ19E SVRIRVJfVFlQRV9TUDsKPj4gICAKPj4gICAJCWlmIChjb25maWctPnljYmNyNDIwKSB7Cj4+IC0J CQl2YWwgfD0gUElQRU1JU0NfT1VUUFVUX1lDQkNSIHwKPj4gLQkJCQlQSVBFTUlTQ19ZQ0JDUjQy MF9FTkFCTEUgfAo+PiAtCQkJCVBJUEVNSVNDX1lDQkNSNDIwX01PREVfQkxFTkQ7Cj4+ICsJCQl2 YWwgfD0gUElQRU1JU0NfT1VUUFVUX1lDQkNSOwo+PiArCj4+ICsJCQlpZiAoIWNvbmZpZy0+bHNw Y29uX2FjdGl2ZSkKPj4gKwkJCQl2YWwgfD0gUElQRU1JU0NfWUNCQ1I0MjBfRU5BQkxFIHwKPj4g KwkJCQkJUElQRU1JU0NfWUNCQ1I0MjBfTU9ERV9CTEVORDsKPj4gICAJCX0KPj4gICAKPj4gICAJ CUk5MTVfV1JJVEUoUElQRU1JU0MoaW50ZWxfY3J0Yy0+cGlwZSksIHZhbCk7Cj4+IEBAIC0xNDIw NSwxMSArMTQyMDcsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAgCQkgKiBERElfQlVGX0NUTF9BIG9yIFNG VVNFX1NUUkFQIHJlZ2lzdGVycywgZmluZCBhbm90aGVyIHdheSB0bwo+PiAgIAkJICogZGV0ZWN0 IHRoZSBwb3J0cy4KPj4gICAJCSAqLwo+PiArCj4+ICAgCQlpbnRlbF9kZGlfaW5pdChkZXZfcHJp diwgUE9SVF9BKTsKPj4gICAJCWludGVsX2RkaV9pbml0KGRldl9wcml2LCBQT1JUX0IpOwo+PiAg IAkJaW50ZWxfZGRpX2luaXQoZGV2X3ByaXYsIFBPUlRfQyk7Cj4+ICAgCj4+ICAgCQlpbnRlbF9k c2lfaW5pdChkZXZfcHJpdik7Cj4+ICsKPj4gICAJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2 KSkgewo+PiAgIAkJaW50IGZvdW5kOwo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4g aW5kZXggNjdiYzhhN2EuLjE2OTBhYTkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ PiBAQCAtMTYxNCw3ICsxNjE0LDkgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+PiAgIAlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2Rl Owo+PiAgIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNv ZGVyLT5iYXNlKTsKPj4gLQllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+cG9ydDsKPj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190 b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7Cj4+ICsJZW51bSBwb3J0IHBvcnQgPSBkaWdfcG9y dC0+cG9ydDsKPj4gKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSAmZGlnX3BvcnQtPmxz cGNvbjsKPj4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwo+PiAgIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpp bnRlbF9jb25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwo+PiAgIAlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmludGVsX2Nvbm5fc3RhdGUgPQo+PiBA QCAtMTYzNSw2ICsxNjM3LDE4IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+PiAgIAljb21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX2xl bl9yYXRlX2xpbWl0KGludGVsX2RwLAo+PiAgIAkJCQkJCSAgICBpbnRlbF9kcC0+bWF4X2xpbmtf cmF0ZSk7Cj4+ICAgCj4+ICsJLyogTFNQQ09OIG5lZWRzIHNwZWNpYWwgaGFuZGxpbmcgdG8gZHJp dmUgWUNCQ1I0MjAgb3V0cHV0cyAqLwo+PiArCWlmIChsc3Bjb24tPmFjdGl2ZSkgewo+PiArCQlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rvci0+YmFzZTsK Pj4gKwkJaW50IGNsb2NrXzhicGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNy dGNfY2xvY2s7Cj4+ICsJCWludCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMgKiAzIC8gMjsKPj4g Kwo+PiArCQlwaXBlX2NvbmZpZy0+bHNwY29uX2FjdGl2ZSA9IHRydWU7Cj4+ICsJCXBpcGVfY29u ZmlnLT55Y2JjcjQyMCA9IGxzcGNvbl95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLAo+PiArCQkJ CQkgICAgIHBpcGVfY29uZmlnLCAmY2xvY2tfMTJicGMsCj4+ICsJCQkJCSAgICAgJmNsb2NrXzhi cGMpOwo+IEFsbCB0aGlzIGNsb2NrIHN0dWZmIGhlcmUgc2VlbXMgcG9pbnRsZXNzLiBTbyBJJ2Qg anVzdCByZXBsYWNlIHRoaXMKPiBzdHVmZiB3aXRoIHRoZSBzdHJhaWdodGZvcndhcmQgJ3BpcGVf Y29uZmlnLT55Y2JjcjQyMCA9IG1vZGVfbmVlZHNfNDIwJzsKcGlwZV9jb25maWctPnljYmNyXzQy MCA9IHRydWUgbWVhbnMgd2UgaGF2ZSBjb21taXR0ZWQgaW50byBzdGF0ZSB0aGF0IHdlIApjYW4g c3VwcG9ydCB0aGlzIG1vZGUgaW4gWUNCQ1I0MjAuCkJ1dCBmb3IgdGhhdCwgd2UgbmVlZCB0byBj aGVjayBjb25uZWN0b3ItPnljYmNyNDIwX2FsbG93ZWQgdG9vLgpBbHNvLCB3aGVuIHRoZSBtb2Rl IGlzIDQyMCwgd2UgbmVlZCB0byBoYWxmIHRoZSBjbG9ja184YnBjIGFuZCBjbG9ja18xMmJwYy4K ClRoaXMgd2hvbGUgc3R1ZmYgaXMgaGFwcGVuaW5nIGludG8gbHNwY29uX3ljYmNyNDIwX2NvbmZp ZyBmdW5jdGlvbiAKKHdoaWNoIGludGVybmFsbHkgcmUtdXNlIGhkbWlfeWNuY3I0MjBfY29uZmln IGZyb20gSERNSSAyLjAgc2VyaWVzKS4KVGhhdCdzIHdoeSB0aGUgY2FsbCBpcyBpbXBvcnRhbnQu Cj4+ICsJfQo+PiArCj4+ICAgCS8qIE5vIGNvbW1vbiBsaW5rIHJhdGVzIGJldHdlZW4gc291cmNl IGFuZCBzaW5rICovCj4+ICAgCVdBUk5fT04oY29tbW9uX2xlbiA8PSAwKTsKPj4gICAKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXggZWQwNGRlOS4uNDBkNTZmMiAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gQEAgLTc5MCw2ICs3OTAsOSBAQCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSB7Cj4+ICAgCj4+ICAgCS8qIEhETUkgb3V0cHV0IHR5cGUgKi8KPj4gICAJ Ym9vbCB5Y2JjcjQyMDsKPj4gKwo+PiArCS8qIExTUENPTiBpcyBhY3RpdmUgb24gcG9ydCAqLwo+ PiArCWJvb2wgbHNwY29uX2FjdGl2ZTsKPj4gICB9Owo+PiAgIAo+PiAgIHN0cnVjdCBpbnRlbF9j cnRjIHsKPj4gQEAgLTEyMDUsNiArMTIwOCwxMiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRl bF9kcCAqZW5jX3RvX2ludGVsX2RwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPj4gICAJ cmV0dXJuICZlbmNfdG9fZGlnX3BvcnQoZW5jb2RlciktPmRwOwo+PiAgIH0KPj4gICAKPj4gK3N0 YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2xzcGNvbiAqCj4+ICtlbmNfdG9faW50ZWxfbHNwY29u KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPj4gK3sKPj4gKwlyZXR1cm4gJmVuY190b19k aWdfcG9ydChlbmNvZGVyKS0+bHNwY29uOwo+PiArfQo+PiArCj4+ICAgc3RhdGljIGlubGluZSBz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICoKPj4gICBkcF90b19kaWdfcG9ydChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+PiAgIHsKPj4gQEAgLTE2NzUsMTQgKzE2ODQsMTYgQEAgdm9pZCBp bnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0LAo+PiAgIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3IpOwo+PiAgIHN0cnVjdCBpbnRlbF9oZG1pICplbmNfdG9faW50ZWxfaGRtaShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+PiAgIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gLQkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4+IC0JCQkgICAgICAgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+PiArCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZywKPj4gKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSk7Cj4+ICAgdm9pZCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4+ICAgCQkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgIAkJCQkgICAgICAgYm9vbCBoaWdoX3RtZHNf Y2xvY2tfcmF0aW8sCj4+ICAgCQkJCSAgICAgICBib29sIHNjcmFtYmxpbmcpOwo+PiAgIHZvaWQg aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRt aSwgYm9vbCBlbmFibGUpOwo+PiAtCj4+ICtib29sIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmln KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICsJCQkJc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNvbmZpZywKPj4gKwkJCQlpbnQgKmNsb2NrXzEyYnBjLCBpbnQgKmNsb2NrXzhi cGMpOwo+PiAgIAo+PiAgIC8qIGludGVsX2x2ZHMuYyAqLwo+PiAgIHZvaWQgaW50ZWxfbHZkc19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4+IEBAIC0yMDAzLDYgKzIw MTQsOSBAQCB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpOwo+PiAgIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+PiAgIHZvaWQgbHNwY29uX3Jlc3VtZShzdHJ1Y3QgaW50 ZWxfbHNwY29uICpsc3Bjb24pOwo+PiAgIHZvaWQgbHNwY29uX3dhaXRfcGNvbl9tb2RlKHN0cnVj dCBpbnRlbF9sc3Bjb24gKmxzcGNvbik7Cj4+ICtib29sIGxzcGNvbl95Y2JjcjQyMF9jb25maWco c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCSAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY29uZmlnLAo+PiArCQkJICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xv Y2tfOGJwYyk7Cj4+ICAgCj4+ICAgLyogaW50ZWxfcGlwZV9jcmMuYyAqLwo+PiAgIGludCBpbnRl bF9waXBlX2NyY19jcmVhdGUoc3RydWN0IGRybV9taW5vciAqbWlub3IpOwo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4+IGluZGV4IGQxYjFlZmMuLmEwOGFiOTkgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gQEAgLTEzNjIsOCArMTM2Miw3IEBAIHN0YXRpYyBib29s IGhkbWlfMTJicGNfcG9zc2libGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4+ICAgCXJldHVybiB0cnVlOwo+PiAgIH0KPj4gICAKPj4gLXN0YXRpYyBib29sCj4+IC1pbnRl bF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ PiArYm9vbCBpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+PiAgIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmln LAo+PiAgIAkJCSAgICAgICBpbnQgKmNsb2NrXzEyYnBjLCBpbnQgKmNsb2NrXzhicGMpCj4+ICAg ewo+PiBAQCAtMTM4MCw2ICsxMzc5LDEwIEBAIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICAgCSpjbG9ja184YnBjIC89IDI7Cj4+ ICAgCWNvbmZpZy0+eWNiY3I0MjAgPSB0cnVlOwo+PiAgIAo+PiArCS8qIExTUENPTiBkb2Vzbid0 IG5lZWQgc2NhbGVyIGZvciBZQ0JDUjQyMCBvdXRwdXQgKi8KPj4gKwlpZiAoY29uZmlnLT5sc3Bj b25fYWN0aXZlKQo+PiArCQlyZXR1cm4gdHJ1ZTsKPj4gKwo+PiAgIAkvKiBZQ0JDUiA0MjAgb3V0 cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8KPj4gICAJaWYgKHNrbF91cGRhdGVfc2Nh bGVyX2NydGNfNDIwX291dHB1dChjb25maWcpKSB7Cj4+ICAgCQlEUk1fRVJST1IoIlNjYWxlciBh bGxvY2F0aW9uIGZvciBvdXRwdXQgZmFpbGVkXG4iKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHNwY29uLmMKPj4gaW5kZXggYTM1MGQ3OS4uZjYxMWI2ZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHNwY29uLmMKPj4gQEAgLTIwMiw2ICsyMDIsMjEgQEAgc3RhdGljIHZvaWQgbHNw Y29uX3Jlc3VtZV9pbl9wY29uX3dhKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4gICAJ RFJNX0RFQlVHX0tNUygiTFNQQ09OIERQIGRlc2NyaXB0b3IgbWlzbWF0Y2ggYWZ0ZXIgcmVzdW1l XG4iKTsKPj4gICB9Cj4+ICAgCj4+ICtib29sIGxzcGNvbl95Y2JjcjQyMF9jb25maWcoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gKwkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY29uZmlnLAo+PiArCQkJICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tfOGJw YykKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3It PmRpc3BsYXlfaW5mbzsKPj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjb25m aWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPj4gKwo+PiArCWlmIChkcm1fbW9kZV9pc180MjBfb25s eShpbmZvLCBtb2RlKSkgewo+PiArCQlyZXR1cm4gaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWco Y29ubmVjdG9yLCBjb25maWcsCj4+ICsJCQkJCSAgY2xvY2tfMTJicGMsIGNsb2NrXzhicGMpOwo+ PiArCX0KPj4gKwo+PiArCXJldHVybiBmYWxzZTsKPj4gK30KPj4gKwo+PiAgIHZvaWQgbHNwY29u X3Jlc3VtZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24pCj4+ICAgewo+PiAgIAllbnVtIGRy bV9sc3Bjb25fbW9kZSBleHBlY3RlZF9tb2RlOwo+PiBAQCAtMjMzLDYgKzI0OCw3IEBAIGJvb2wg bHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4+ ICAgCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9ICZpbnRlbF9kaWdfcG9ydC0+bHNwY29u Owo+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXY7Cj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmRwLT5hdHRhY2hl ZF9jb25uZWN0b3ItPmJhc2U7Cj4+ICAgCj4+ICAgCWlmICghSVNfR0VOOShkZXZfcHJpdikpIHsK Pj4gICAJCURSTV9FUlJPUigiTFNQQ09OIGlzIHN1cHBvcnRlZCBvbiBHRU45IG9ubHlcbiIpOwo+ PiBAQCAtMjY0LDYgKzI4MCw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4+ICAgCQlyZXR1cm4gZmFsc2U7Cj4+ICAgCX0KPj4g ICAKPj4gKwljb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2VkID0gdHJ1ZTsKPj4gICAJZHJtX2Rw X3JlYWRfZGVzYygmZHAtPmF1eCwgJmRwLT5kZXNjLCBkcm1fZHBfaXNfYnJhbmNoKGRwLT5kcGNk KSk7Cj4+ICAgCj4+ICAgCURSTV9ERUJVR19LTVMoIlN1Y2Nlc3M6IExTUENPTiBpbml0XG4iKTsK Pj4gLS0gCj4+IDIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK