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: Fri, 2 Feb 2018 15:52:42 +0200 Message-ID: <20180202135242.GV5453@intel.com> References: <1517304963-27932-1-git-send-email-shashank.sharma@intel.com> <1517304963-27932-8-git-send-email-shashank.sharma@intel.com> <20180201190944.GU5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 537DF6E17C for ; Fri, 2 Feb 2018 13:52:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMDIsIDIwMTggYXQgMTE6NDQ6MDFBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAyLzIvMjAxOCAxMjoz OSBBTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4gT24gVHVlLCBKYW4gMzAsIDIwMTggYXQg MDM6MDY6MDNQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1hIHdyb3RlOgo+ID4+IEZyb206ICJTaGFy bWEsIFNoYXNoYW5rIiA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+Pgo+ID4+IExTUENP TiBjaGlwcyBjYW4gZ2VuZXJhdGUgWUNCQ1Igb3V0cHV0cywgaWYgYXNrZWQgbmljZWx5IDopLgo+ ID4+Cj4gPj4gSW4gb3JkZXIgdG8gZ2VuZXJhdGUgWUNCQ1IgNDoyOjAgb3V0cHV0cywgYSBzb3Vy Y2UgbXVzdDoKPiA+PiAtIHNlbmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BDT04KPiA+PiAt IHByb2dyYW0gY29sb3Igc3BhY2UgYXMgNDoyOjAgaW4gQVZJIGluZm9mcmFtZXMKPiA+Pgo+ID4+ IFdoZXJlYXMgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dHMsIHRoZSBzb3VyY2UgbXVzdDoKPiA+PiAt IHNlbmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BDT04KPiA+PiAtIHByb2dyYW0gY29sb3Ig c3BhY2UgYXMgNDo0OjQgaW4gQVZJIGluZm9mcmFtZXMKPiA+Pgo+ID4+IFNvIGZvciBib3RoIDQ6 MjowIGFzIHdlbGwgYXMgNDo0OjQgb3V0cHV0cywgd2UgYXJlIGRyaXZpbmcgdGhlCj4gPj4gcGlw ZSBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0LCBidXQgQVZJIGluZm9mcmFtZSdzIGNvbG9yIHNwYWNl Cj4gPj4gaW5mb3JtYXRpb24gaW5kaWNhdGVzIExTUENPTiBGVyB0byBzdGFydCBzY2FsaW5nIGRv d24gZnJvbSBZQ0JDUgo+ID4+IDQ6NDo0IGFuZCBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBvdXRwdXQu IEFzIHRoZSBzY2FsaW5nIGlzIGRvbmUgYnkKPiA+PiBMU1BDT04gZGV2aWNlLCB3ZSBuZWVkIG5v dCB0byByZXNlcnZlIGEgc2NhbGVyIGZvciA0OjI6MCBvdXRwdXRzLgo+ID4+Cj4gPj4gVjI6IHJl YmFzZQo+ID4+IFYzOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPiA+PiAg ICAgIC0gYWRkIGVudW0gY3J0Y19vdXRwdXRfZm9ybWF0IGluc3RlYWQgb2YgYm9vbCB5Y2JjcjQy MAo+ID4+ICAgICAgLSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0PTQ6NDo0IGZvciBtb2Rlc2V0IG9m IExTUENPTiA0OjI6MCBvdXRwdXQKPiA+PiAgICAgICAgY2FzZXMgaW4gdGhpcyB3YXkgd2Ugd2ls bCBoYXZlIFlDQkNSIDQ6NDo0IGZyYW1ld29yayByZWFkeSAoZXhjZXB0Cj4gPj4gICAgICAgIHRo ZSBBQkkgcGFydCkKPiA+PiBWNDogQWRkZWQgci1iIGZyb20gTWFhcnRlbiAoZm9yIHYzKQo+ID4+ ICAgICAgQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+ID4+ICAgICAgLSBE byBub3QgYWRkIGEgbm9uLWF0b21pYyBzdGF0ZSB2YXJpYWJsZSB0byBkZXRlcm1pbmUgbHNwY29u IG91dHB1dC4KPiA+PiAgICAgICAgSW5zdGVhZCBhZGQgYm9vbCBpbiBDUlRDIHN0YXRlIHRvIGlu ZGljYXRlIGxzcGNvbiBiYXNlZCBzY2FsaW5nLgo+ID4+Cj4gPj4gQ2M6IFZpbGxlIFN5cmphbGEg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4+IENjOiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4+IFJldmlld2VkLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4+ IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNv bT4KPiA+PiAtLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8 ICAyICsrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNyAr KysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMSAr KysrKysrKysrLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwg MTAgKysrKysrKysrKwo+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg IHwgIDUgKysrKysKPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jICB8 IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAgNiBmaWxlcyBjaGFuZ2Vk LCA2NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKPiA+PiBpbmRleCA2NDkzM2ZkLi5lMzgzYjA1IDEwMDY0NAo+ID4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCj4gPj4gQEAgLTg3MjEsNiArODcyMSw4IEBAIGVudW0gc2tsX3Bvd2Vy X2dhdGUgewo+ID4+ICAgI2RlZmluZSBUUkFOU19NU0FfTUlTQyh0cmFuKSBfTU1JT19UUkFOUzIo dHJhbiwgX1RSQU5TQV9NU0FfTUlTQykKPiA+PiAgIAo+ID4+ICAgI2RlZmluZSAgVFJBTlNfTVNB X1NZTkNfQ0xLCQkoMTw8MCkKPiA+PiArI2RlZmluZSAgVFJBTlNfTVNBX1NBTVBMSU5HXzQ0NCAg ICAgICAgKDI8PDEpCj4gPj4gKyNkZWZpbmUgIFRSQU5TX01TQV9DTFJTUF9ZQ0JDUgkJKDI8PDMp Cj4gPj4gICAjZGVmaW5lICBUUkFOU19NU0FfNl9CUEMJCSgwPDw1KQo+ID4+ICAgI2RlZmluZSAg VFJBTlNfTVNBXzhfQlBDCQkoMTw8NSkKPiA+PiAgICNkZWZpbmUgIFRSQU5TX01TQV8xMF9CUEMJ CSgyPDw1KQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gaW5kZXggNTEwYmI3Ny4u ZGI3ZDk0MCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGku Ywo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gQEAgLTE0 OTksNiArMTQ5OSwxMyBAQCB2b2lkIGludGVsX2RkaV9zZXRfcGlwZV9zZXR0aW5ncyhjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+PiAgIAkJYnJlYWs7Cj4gPj4g ICAJfQo+ID4+ICAgCj4gPj4gKwkvKgo+ID4+ICsJICogQXMgcGVyIERQIDEuMiBzcGVjIHNlY3Rp b24gMi4zLjQuMyB3aGlsZSBzZW5kaW5nCj4gPj4gKwkgKiBZQ0JDUiA0NDQgc2lnbmFscyB3ZSBz aG91bGQgcHJvZ3JhbSBNU0EgTUlTQzEvMCBmaWVsZHMgd2l0aAo+ID4+ICsJICogY29sb3JzcGFj ZSBpbmZvcm1hdGlvbi4gVGhlIG91dHB1dCBjb2xvcnNwYWNlIGVuY29kaW5nIGlzIEJUNjAxLgo+ ID4+ICsJICovCj4gPj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBDUlRDX09V VFBVVF9ZQ0JDUjQ0NCkKPiA+PiArCQl0ZW1wIHw9IFRSQU5TX01TQV9TQU1QTElOR180NDQgfCBU UkFOU19NU0FfQ0xSU1BfWUNCQ1I7Cj4gPj4gICAJSTkxNV9XUklURShUUkFOU19NU0FfTUlTQyhj cHVfdHJhbnNjb2RlciksIHRlbXApOwo+ID4+ICAgfQo+ID4+ICAgCj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+IGluZGV4IDRhNDBkZTkuLmIyNmY0YTkgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gQEAgLTkyMjgsNiArOTIy OCw3IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLAo+ID4+ICAgCXBpcGVfY29uZmlnLT5nYW1tYV9tb2RlID0KPiA+PiAgIAkJSTkx NV9SRUFEKEdBTU1BX01PREUoY3J0Yy0+cGlwZSkpICYgR0FNTUFfTU9ERV9NT0RFX01BU0s7Cj4g Pj4gICAKPiA+PiArCXBpcGVfY29uZmlnLT5leHRlcm5hbF9zY2FsaW5nID0gZmFsc2U7Cj4gPiBJ IHJlYWxseSBkb24ndCBsaWtlIHRoZSBuYW1lIG9mIHRoYXQuIE1ha2VzIG1lIHRoaW5rIHdlJ3Jl IGFjdHVhbGx5Cj4gPiBzY2FsaW5nIHRoZSBlbnRpcmUgb3V0cHV0IG9yIHNvbWV0aGluZy4gJ2V4 dGVybmFsX3ljYmNyXzQyMF9kb3duc2FtcGxlJwo+ID4gb3Igc29tZXRoaW5nIGxpa2UgdGhhdCB3 b3VsZCBiZSBiZXR0ZXIuCj4gb2ssIGxldCBtZSByZW5hbWUgdGhpcyB0byBzb21ldGhpbmcgaW4g dGhvc2UgbGluZXMuCj4gPj4gICAJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPj4gICAJCXUzMiB0bXAgPSBJOTE1X1JFQUQoUElQRU1J U0MoY3J0Yy0+cGlwZSkpOwo+ID4+ICAgCQllbnVtIGludGVsX291dHB1dF9mb3JtYXQgb3V0cHV0 X2Zvcm1hdCA9IENSVENfT1VUUFVUX1JHQjsKPiA+PiBAQCAtOTI0Nyw4ICs5MjQ4LDE2IEBAIHN0 YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAo+ID4+ICAgCQkJCQlvdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0MjA7Cj4gPj4g ICAJCQl9IGVsc2Ugewo+ID4+ICAgCQkJCW91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBVVF9ZQ0JD UjQ0NDsKPiA+PiAtCQkJfQo+ID4+ICAgCj4gPj4gKwkJCQkvKgo+ID4+ICsJCQkJICogQXMgdGhl cmUgaXMgbm8gaW50ZXJmYWNlIGRlZmluZWQgKHlldCkKPiA+PiArCQkJCSAqIHRvIGdldCB0aGUg dXNlcidzIHByZWZlcmVuY2UgZm9yIG91dHB1dAo+ID4+ICsJCQkJICogZm9ybWF0LCBZQ0JDUjQ0 NCBvdXRwdXQgZm9ybWF0IGlzIG9ubHkKPiA+PiArCQkJCSAqIHBvc3NpYmxlIHdpdGggTFNQQ09O IFlDQkNSNDIwIG91dHB1dCwKPiA+PiArCQkJCSAqIHdoaWNoIHVzZXMgTFNQQ09OJ3MgKGV4dGVy bmFsIClzY2FsZXIuCj4gPj4gKwkJCQkgKi8KPiA+PiArCQkJCXBpcGVfY29uZmlnLT5leHRlcm5h bF9zY2FsaW5nID0gdHJ1ZTsKPiA+PiArCQkJfQo+ID4+ICAgCQl9Cj4gPj4gICAKPiA+PiAgIAkJ cGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0Owo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+ID4+IGluZGV4IGEyZTg4NzkuLmJlMTk1NzkgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+PiBAQCAtMTY0MCw2ICsxNjQwLDcgQEAgaW50ZWxfZHBf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRl dik7Cj4gPj4gICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlw ZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+PiAgIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKPiA+PiArCXN0cnVjdCBp bnRlbF9sc3Bjb24gKmxzcGNvbiA9IGVuY190b19pbnRlbF9sc3Bjb24oJmVuY29kZXItPmJhc2Up Owo+ID4+ICAgCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKPiA+PiAgIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2Uu Y3J0Yyk7Cj4gPj4gICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0g aW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKPiA+PiBAQCAtMTY2OSw2ICsxNjcwLDE1IEBA IGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ID4+ICAgCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJpdikg JiYgcG9ydCAhPSBQT1JUX0EpCj4gPj4gICAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIg PSB0cnVlOwo+ID4+ICAgCj4gPj4gKwlpZiAobHNwY29uLT5hY3RpdmUpIHsKPiA+PiArCQlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rvci0+YmFzZTsKPiA+ PiArCj4gPj4gKwkJaWYgKGxzcGNvbl95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLCBwaXBlX2Nv bmZpZykpIHsKPiA+PiArCQkJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBDUlRDX09VVFBV VF9ZQ0JDUjQ0NDsKPiA+PiArCQkJcGlwZV9jb25maWctPmV4dGVybmFsX3NjYWxpbmcgPSB0cnVl Owo+ID4gV2h5IHNwbGl0IHRoZSB3b3JrIGJldHdlZW4gdHdvIGZ1bmN0aW9ucyBsaWtlIHRoaXM/ IEkgdGhpbmsgaXQgd291bGQgYmUKPiA+IGNsZWFuZXIgdG8gZWl0aGVyIGlubGluZSBhbGwgdGhl IGNvZGUgaGVyZSwgb3IgbW92ZSBpdCBhbGwgaW50bwo+ID4gbHNwY29uX3ljYmNyNDIwX2NvbmZp ZygpLgo+IFN1cmUsIG1ha2VzIHNlbnNlLgo+ID4+ICsJCX0KPiA+PiArCX0KPiA+PiArCj4gPj4g ICAJcGlwZV9jb25maWctPmhhc19kcnJzID0gZmFsc2U7Cj4gPj4gICAJaWYgKElTX0c0WChkZXZf cHJpdikgfHwgcG9ydCA9PSBQT1JUX0EpCj4gPj4gICAJCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8g PSBmYWxzZTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IGluZGV4IGVmYWEzMzEu LmYyMzEyOWIgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC04 ODIsNiArODgyLDkgQEAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ID4+ICAgCj4gPj4gICAJ LyogT3V0cHV0IGZvcm1hdCBSR0IvWUNCQ1IgZXRjICovCj4gPj4gICAJZW51bSBpbnRlbF9vdXRw dXRfZm9ybWF0IG91dHB1dF9mb3JtYXQ7Cj4gPj4gKwo+ID4+ICsJLyogT3V0cHV0IHVwL2Rvd24g c2NhbGluZyBpcyBkb25lIGluIGV4dGVybmFsIGRldmljZSAqLwo+ID4+ICsJYm9vbCBleHRlcm5h bF9zY2FsaW5nOwo+ID4+ICAgfTsKPiA+PiAgIAo+ID4+ICAgc3RydWN0IGludGVsX2NydGMgewo+ ID4+IEBAIC0yMTM5LDYgKzIxNDIsOCBAQCB2b2lkIGxzcGNvbl9zZXRfaW5mb2ZyYW1lcyhzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gPj4gICBib29sIGxzcGNvbl9pbmZvZnJhbWVf ZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gICAJCQkgICAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ID4+ICtib29sIGxzcGNv bl95Y2JjcjQyMF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiAr CQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnKTsKPiA+PiAgIAo+ID4+ICAg LyogaW50ZWxfcGlwZV9jcmMuYyAqLwo+ID4+ICAgaW50IGludGVsX3BpcGVfY3JjX2NyZWF0ZShz dHJ1Y3QgZHJtX21pbm9yICptaW5vcik7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29u LmMKPiA+PiBpbmRleCAwNjZlYTkxLi44ZDZhOWIyIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHNwY29uLmMKPiA+PiBAQCAtMTgwLDYgKzE4MCwyNSBAQCBzdGF0aWMgYm9vbCBs c3Bjb25fd2FrZV9uYXRpdmVfYXV4X2NoKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPiA+ PiAgIAlyZXR1cm4gdHJ1ZTsKPiA+PiAgIH0KPiA+PiAgIAo+ID4+ICtib29sIGxzcGNvbl95Y2Jj cjQyMF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiArCQkJICAg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnKQo+ID4gY3J0Y19zdGF0ZQo+IG9rCj4g Pgo+ID4+ICt7Cj4gPj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0 b3ItPmRpc3BsYXlfaW5mbzsKPiA+IGNvbnN0Cj4gb2sKPiA+PiArCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlID0gJmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ID4gY29uc3QgLi4u IGFkanVzdGVkX21vZGU7Cj4gb2sKPiA+PiArCj4gPj4gKwlpZiAoZHJtX21vZGVfaXNfNDIwX29u bHkoaW5mbywgbW9kZSkpIHsKPiA+PiArCQlpZiAoIWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93 ZWQpIHsKPiA+PiArCQkJRFJNX0VSUk9SKCJQbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgWUNCQ1I0 MjAgb3V0cHV0XG4iKTsKPiA+PiArCQkJcmV0dXJuIGZhbHNlOwo+ID4gSG93IGNhbiB3ZSBldmVu IGdldCBoZXJlPwo+IFRoaXMgY29kZSBmbG93IGlzIGNvbWluZyBmcm9tIENSVEMvZW5jb2RlciBz aWRlLCB3aGVyZWFzIDQyMCBjYXBhYmlsaXR5IAo+IGlzIHNldCBpbiBjb25uZWN0b3JfaW5pdCwg dGhpcyBpcyB0aGUgZmlyc3QgdGltZSB3ZSBhcmUgY2hlY2tpbmcgCj4gY29ubmVjdG9yJ3MgY2Fw YWJpbGl0aWVzLiBTbyB5ZXMsIGl0cyBwb3NzaWJsZSB0byByZWFjaCBoZXJlLgoKT2ggcmlnaHQs IHdlIGRvbid0IHlldCB1c2UgdGhlIC5tb2RlX3ZhbGlkKCkgc3R1ZmYgZm9yIG1vZGVzZXRzLgoK T25lIHRoaW5nIHRoYXQgYm90aGVycyBtZSBpcyB0aGF0IHRoZSBjb2RlIGhlcmUgaXMgc3RydWN0 dXJlZCBzbGlnaHRseQpkaWZmZXJlbnRseSB0aGFuIHRoZSBuYXRpdmUgSERNSSBjYXNlLiBXb3Vs ZCBiZSBuaWNlIGlmIHdlIGNvdWxkIG1ha2UKdGhlIHR3byBjb2RlcGF0aHMgYXQgbGVhc3QgZm9s bG93IHRoZSBzYW1lIGdlbmVyYWwgZmxvdy4KCk9oIGFuZCB0aGUgRFJNX0VSUk9SKCkgaGFzIHRv IGdvIHNpbmNlIGl0J3MgcG9zc2libHkgdXNlciB0cmlnZ2VyYWJsZS4KTG9va3MgbGlrZSBvbmUg c251Y2sgaW50byB0aGUgbmF0aXZlIEhETUkgY29kZSBhcyB3ZWxsLiBUaGF0IHRvbyBzaG91bGQK YmUga2lsbGVkIG9mZi4KCj4gLSBTaGFzaGFuawo+ID4+ICsJCX0KPiA+PiArCj4gPj4gKwkJY29u ZmlnLT5wb3J0X2Nsb2NrIC89IDI7Cj4gPj4gKwkJcmV0dXJuIHRydWU7Cj4gPj4gKwl9Cj4gPj4g Kwo+ID4+ICsJcmV0dXJuIGZhbHNlOwo+ID4+ICt9Cj4gPj4gKwo+ID4+ICAgc3RhdGljIGJvb2wg bHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPiA+PiAgIHsKPiA+PiAg IAlpbnQgcmV0cnk7Cj4gPj4gQEAgLTQ1OSw2ICs0NzgsMTUgQEAgdm9pZCBsc3Bjb25fc2V0X2lu Zm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ID4+ICAgCQlyZXR1cm47Cj4g Pj4gICAJfQo+ID4+ICAgCj4gPj4gKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBD UlRDX09VVFBVVF9ZQ0JDUjQ0NCkgewo+ID4+ICsJCWlmIChjcnRjX3N0YXRlLT5leHRlcm5hbF9z Y2FsaW5nKQo+ID4+ICsJCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9Z VVY0MjA7Cj4gPj4gKwkJZWxzZQo+ID4+ICsJCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlf Q09MT1JTUEFDRV9ZVVY0NDQ7Cj4gPj4gKwl9IGVsc2Ugewo+ID4+ICsJCWZyYW1lLmF2aS5jb2xv cnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1JHQjsKPiA+PiArCX0KPiA+PiArCj4gPj4gICAJZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9xdWFudF9yYW5nZSgmZnJhbWUuYXZpLCBtb2RlLAo+ID4+ICAg CQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3JhbmdlID8KPiA+PiAgIAkJCQkJICAg SERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRCA6Cj4gPj4gQEAgLTUxMiw2ICs1NDAsNyBA QCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0KQo+ID4+ICAgCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9ICZpbnRlbF9kaWdfcG9y dC0+bHNwY29uOwo+ID4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9y dC0+YmFzZS5iYXNlLmRldjsKPiA+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7Cj4gPj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gJmRwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Cj4gPj4gICAKPiA+PiAgIAlpZiAoIUhB U19MU1BDT04oZGV2X3ByaXYpKSB7Cj4gPj4gICAJCURSTV9FUlJPUigiTFNQQ09OIGlzIG5vdCBz dXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxuIik7Cj4gPj4gQEAgLTUzNiw2ICs1NjUsNyBAQCBi b29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 KQo+ID4+ICAgCQlyZXR1cm4gZmFsc2U7Cj4gPj4gICAJfQo+ID4+ICAgCj4gPj4gKwljb25uZWN0 b3ItPnljYmNyXzQyMF9hbGxvd2VkID0gdHJ1ZTsKPiA+PiAgIAlsc3Bjb24tPmFjdGl2ZSA9IHRy dWU7Cj4gPj4gICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09OIGluaXRcbiIpOwo+ID4+ ICAgCXJldHVybiB0cnVlOwo+ID4+IC0tIAo+ID4+IDIuNy40CgotLSAKVmlsbGUgU3lyasOkbMOk CkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK