From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 18/20] drm/i915: YCBCR 420 support for LSPCON Date: Wed, 12 Jul 2017 20:15:42 +0300 Message-ID: <20170712171542.GH12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-19-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1499685528-6926-19-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, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdWwgMTAsIDIwMTcgYXQgMDQ6NDg6NDZQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IExTUENPTiBjaGlwcyBzdXBwb3J0IFlDQkNSNDIwIG91dHB1dHMuIFRvIGJlIGFi bGUgdG8gZ2V0Cj4gWUNCQ1I0MjAgb3V0cHV0IGZyb20gTFNQQ09OIGNoaXAsIHRoZSBzb3VyY2Ug c2hvdWxkOgo+IC0gR2VuZXJhdGUgWUNCQ1I0NDQgSERNSSBvdXRwdXQKPiAtIFNldCBBVkkgaW5m b2ZyYW1lcyBmb3IgYSBZQ0JDUjQyMCBvdXRwdXQuCj4gCj4gTFNQQ09OIEZXIGdldHMgdGhlIGlu Zm9ybWF0aW9uIGZyb20gQVZJIGluZm9mcmFtZXMsIGFuZCBnZW5lcmF0ZXMKPiBZQ0JDUjQyMCBv dXRwdXQgZnJvbSBhIFlDQkNSNDQ0IGlucHV0LiBUaGlzIHBhdGNoIGFkZHMgdGhlIG5lY2Vzc2Fy eQo+IGNoYW5nZXMgdG8gZHJpdmUgWUNCQ1I0MjAgb3V0cHV0IGZyb20gTFNQQ09OIGJhc2VkIEhE TUkgb3V0cHV0Lgo+IAo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMCArKysrKysrLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8IDE2ICsrKysrKysrKysr KysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgMjAgKysrKysr KysrKysrKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwg IDcgKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyAgfCAxNyAr KysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4 IGM1ZmY1NjguLmMzYzdiMzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gQEAgLTgxMjUsOSArODEyNSwxMSBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlbWlz YyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAkJCXZhbCB8PSBQSVBFTUlTQ19ESVRIRVJfRU5B QkxFIHwgUElQRU1JU0NfRElUSEVSX1RZUEVfU1A7Cj4gIAo+ICAJCWlmIChjb25maWctPnljYmNy NDIwKSB7Cj4gLQkJCXZhbCB8PSBQSVBFTUlTQ19PVVRQVVRfWUNCQ1IgfAo+IC0JCQkJUElQRU1J U0NfWUNCQ1I0MjBfRU5BQkxFIHwKPiAtCQkJCVBJUEVNSVNDX1lDQkNSNDIwX01PREVfQkxFTkQ7 Cj4gKwkJCXZhbCB8PSBQSVBFTUlTQ19PVVRQVVRfWUNCQ1I7Cj4gKwo+ICsJCQlpZiAoIWNvbmZp Zy0+bHNwY29uX2FjdGl2ZSkKPiArCQkJCXZhbCB8PSBQSVBFTUlTQ19ZQ0JDUjQyMF9FTkFCTEUg fAo+ICsJCQkJCVBJUEVNSVNDX1lDQkNSNDIwX01PREVfQkxFTkQ7Cj4gIAkJfQo+ICAKPiAgCQlJ OTE1X1dSSVRFKFBJUEVNSVNDKGludGVsX2NydGMtPnBpcGUpLCB2YWwpOwo+IEBAIC0xNDIwNSwx MSArMTQyMDcsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJICogRERJX0JVRl9DVExfQSBvciBTRlVTRV9T VFJBUCByZWdpc3RlcnMsIGZpbmQgYW5vdGhlciB3YXkgdG8KPiAgCQkgKiBkZXRlY3QgdGhlIHBv cnRzLgo+ICAJCSAqLwo+ICsKPiAgCQlpbnRlbF9kZGlfaW5pdChkZXZfcHJpdiwgUE9SVF9BKTsK PiAgCQlpbnRlbF9kZGlfaW5pdChkZXZfcHJpdiwgUE9SVF9CKTsKPiAgCQlpbnRlbF9kZGlfaW5p dChkZXZfcHJpdiwgUE9SVF9DKTsKPiAgCj4gIAkJaW50ZWxfZHNpX2luaXQoZGV2X3ByaXYpOwo+ ICsKPiAgCX0gZWxzZSBpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKPiAgCQlpbnQgZm91bmQ7Cj4g IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IDY3YmM4YTdhLi4xNjkwYWE5IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTE2MTQsNyArMTYxNCw5IEBAIGludGVsX2Rw X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVu Y190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGRwX3Rv X2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiArCWVudW0gcG9y dCBwb3J0ID0gZGlnX3BvcnQtPnBvcnQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24g PSAmZGlnX3BvcnQtPmxzcGNvbjsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKPiAgCXN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7 Cj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmludGVsX2Nvbm5fc3Rh dGUgPQo+IEBAIC0xNjM1LDYgKzE2MzcsMTggQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAljb21tb25fbGVuID0gaW50ZWxfZHBfY29t bW9uX2xlbl9yYXRlX2xpbWl0KGludGVsX2RwLAo+ICAJCQkJCQkgICAgaW50ZWxfZHAtPm1heF9s aW5rX3JhdGUpOwo+ICAKPiArCS8qIExTUENPTiBuZWVkcyBzcGVjaWFsIGhhbmRsaW5nIHRvIGRy aXZlIFlDQkNSNDIwIG91dHB1dHMgKi8KPiArCWlmIChsc3Bjb24tPmFjdGl2ZSkgewo+ICsJCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5iYXNlOwo+ ICsJCWludCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRj X2Nsb2NrOwo+ICsJCWludCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMgKiAzIC8gMjsKPiArCj4g KwkJcGlwZV9jb25maWctPmxzcGNvbl9hY3RpdmUgPSB0cnVlOwo+ICsJCXBpcGVfY29uZmlnLT55 Y2JjcjQyMCA9IGxzcGNvbl95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLAo+ICsJCQkJCSAgICAg cGlwZV9jb25maWcsICZjbG9ja18xMmJwYywKPiArCQkJCQkgICAgICZjbG9ja184YnBjKTsKCkFs bCB0aGlzIGNsb2NrIHN0dWZmIGhlcmUgc2VlbXMgcG9pbnRsZXNzLiBTbyBJJ2QganVzdCByZXBs YWNlIHRoaXMKc3R1ZmYgd2l0aCB0aGUgc3RyYWlnaHRmb3J3YXJkICdwaXBlX2NvbmZpZy0+eWNi Y3I0MjAgPSBtb2RlX25lZWRzXzQyMCc7Cgo+ICsJfQo+ICsKPiAgCS8qIE5vIGNvbW1vbiBsaW5r IHJhdGVzIGJldHdlZW4gc291cmNlIGFuZCBzaW5rICovCj4gIAlXQVJOX09OKGNvbW1vbl9sZW4g PD0gMCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZWQwNGRlOS4uNDBk NTZmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTc5MCw2ICs3OTAsOSBA QCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7Cj4gIAo+ICAJLyogSERNSSBvdXRwdXQgdHlwZSAq Lwo+ICAJYm9vbCB5Y2JjcjQyMDsKPiArCj4gKwkvKiBMU1BDT04gaXMgYWN0aXZlIG9uIHBvcnQg Ki8KPiArCWJvb2wgbHNwY29uX2FjdGl2ZTsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRlbF9jcnRj IHsKPiBAQCAtMTIwNSw2ICsxMjA4LDEyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2Rw ICplbmNfdG9faW50ZWxfZHAoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ICAJcmV0dXJu ICZlbmNfdG9fZGlnX3BvcnQoZW5jb2RlciktPmRwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW5saW5l IHN0cnVjdCBpbnRlbF9sc3Bjb24gKgo+ICtlbmNfdG9faW50ZWxfbHNwY29uKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKPiArewo+ICsJcmV0dXJuICZlbmNfdG9fZGlnX3BvcnQoZW5jb2Rl ciktPmxzcGNvbjsKPiArfQo+ICsKPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICoKPiAgZHBfdG9fZGlnX3BvcnQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAg ewo+IEBAIC0xNjc1LDE0ICsxNjg0LDE2IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3Rv cihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiAgCQkJICAgICAg IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcik7Cj4gIHN0cnVjdCBpbnRl bF9oZG1pICplbmNfdG9faW50ZWxfaGRtaShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+ ICBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gLQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcs Cj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4g KwkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCj4gKwkJCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gIHZvaWQgaW50ZWxfaGRtaV9oYW5k bGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJCQkgICAg ICAgYm9vbCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCj4gIAkJCQkgICAgICAgYm9vbCBzY3JhbWJs aW5nKTsKPiAgdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBp bnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7Cj4gLQo+ICtib29sIGludGVsX2hkbWlfeWNi Y3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAo+ICsJCQkJaW50ICpjbG9ja18xMmJwYywgaW50 ICpjbG9ja184YnBjKTsKPiAgCj4gIC8qIGludGVsX2x2ZHMuYyAqLwo+ICB2b2lkIGludGVsX2x2 ZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IEBAIC0yMDAzLDYg KzIwMTQsOSBAQCB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpOwo+ICBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0KTsKPiAgdm9pZCBsc3Bjb25fcmVzdW1lKHN0cnVjdCBpbnRl bF9sc3Bjb24gKmxzcGNvbik7Cj4gIHZvaWQgbHNwY29uX3dhaXRfcGNvbl9tb2RlKHN0cnVjdCBp bnRlbF9sc3Bjb24gKmxzcGNvbik7Cj4gK2Jvb2wgbHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNvbmZpZywKPiArCQkJICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tfOGJw Yyk7Cj4gIAo+ICAvKiBpbnRlbF9waXBlX2NyYy5jICovCj4gIGludCBpbnRlbF9waXBlX2NyY19j cmVhdGUoc3RydWN0IGRybV9taW5vciAqbWlub3IpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMKPiBpbmRleCBkMWIxZWZjLi5hMDhhYjk5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk bWkuYwo+IEBAIC0xMzYyLDggKzEzNjIsNyBAQCBzdGF0aWMgYm9vbCBoZG1pXzEyYnBjX3Bvc3Np YmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJcmV0dXJuIHRydWU7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sCj4gLWludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gK2Jvb2wgaW50ZWxfaGRtaV95Y2JjcjQy MF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJICAgICAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gIAkJCSAgICAgICBpbnQgKmNsb2NrXzEy YnBjLCBpbnQgKmNsb2NrXzhicGMpCj4gIHsKPiBAQCAtMTM4MCw2ICsxMzc5LDEwIEBAIGludGVs X2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g IAkqY2xvY2tfOGJwYyAvPSAyOwo+ICAJY29uZmlnLT55Y2JjcjQyMCA9IHRydWU7Cj4gIAo+ICsJ LyogTFNQQ09OIGRvZXNuJ3QgbmVlZCBzY2FsZXIgZm9yIFlDQkNSNDIwIG91dHB1dCAqLwo+ICsJ aWYgKGNvbmZpZy0+bHNwY29uX2FjdGl2ZSkKPiArCQlyZXR1cm4gdHJ1ZTsKPiArCj4gIAkvKiBZ Q0JDUiA0MjAgb3V0cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8KPiAgCWlmIChza2xf dXBkYXRlX3NjYWxlcl9jcnRjXzQyMF9vdXRwdXQoY29uZmlnKSkgewo+ICAJCURSTV9FUlJPUigi U2NhbGVyIGFsbG9jYXRpb24gZm9yIG91dHB1dCBmYWlsZWRcbiIpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xzcGNvbi5jCj4gaW5kZXggYTM1MGQ3OS4uZjYxMWI2ZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gQEAgLTIwMiw2ICsyMDIsMjEgQEAgc3RhdGljIHZvaWQg bHNwY29uX3Jlc3VtZV9pbl9wY29uX3dhKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPiAg CURSTV9ERUJVR19LTVMoIkxTUENPTiBEUCBkZXNjcmlwdG9yIG1pc21hdGNoIGFmdGVyIHJlc3Vt ZVxuIik7Cj4gIH0KPiAgCj4gK2Jvb2wgbHNwY29uX3ljYmNyNDIwX2NvbmZpZyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNvbmZpZywKPiArCQkJICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tfOGJwYykKPiAr ewo+ICsJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZTsKPiArCj4gKwlpZiAoZHJtX21vZGVfaXNfNDIwX29ubHkoaW5mbywgbW9k ZSkpIHsKPiArCQlyZXR1cm4gaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLCBj b25maWcsCj4gKwkJCQkJICBjbG9ja18xMmJwYywgY2xvY2tfOGJwYyk7Cj4gKwl9Cj4gKwo+ICsJ cmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICB2b2lkIGxzcGNvbl9yZXN1bWUoc3RydWN0IGludGVs X2xzcGNvbiAqbHNwY29uKQo+ICB7Cj4gIAllbnVtIGRybV9sc3Bjb25fbW9kZSBleHBlY3RlZF9t b2RlOwo+IEBAIC0yMzMsNiArMjQ4LDcgQEAgYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKPiAgCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxz cGNvbiA9ICZpbnRlbF9kaWdfcG9ydC0+bHNwY29uOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciA9ICZkcC0+YXR0YWNoZWRfY29ubmVjdG9yLT5iYXNlOwo+ICAKPiAgCWlmICgh SVNfR0VOOShkZXZfcHJpdikpIHsKPiAgCQlEUk1fRVJST1IoIkxTUENPTiBpcyBzdXBwb3J0ZWQg b24gR0VOOSBvbmx5XG4iKTsKPiBAQCAtMjY0LDYgKzI4MCw3IEBAIGJvb2wgbHNwY29uX2luaXQo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gIAkJcmV0dXJuIGZh bHNlOwo+ICAJfQo+ICAKPiArCWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQgPSB0cnVlOwo+ ICAJZHJtX2RwX3JlYWRfZGVzYygmZHAtPmF1eCwgJmRwLT5kZXNjLCBkcm1fZHBfaXNfYnJhbmNo KGRwLT5kcGNkKSk7Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09OIGluaXRc biIpOwo+IC0tIAo+IDIuNy40CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK