From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v4 7/7] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Fri, 2 Feb 2018 11:44:01 +0530 Message-ID: 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"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B9296ECF5 for ; Fri, 2 Feb 2018 06:14:03 +0000 (UTC) In-Reply-To: <20180201190944.GU5453@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 UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAyLzIvMjAxOCAxMjozOSBBTSwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFR1ZSwgSmFuIDMwLCAyMDE4IGF0IDAzOjA2OjAzUE0gKzA1MzAsIFNoYXNo YW5rIFNoYXJtYSB3cm90ZToKPj4gRnJvbTogIlNoYXJtYSwgU2hhc2hhbmsiIDxzaGFzaGFuay5z aGFybWFAaW50ZWwuY29tPgo+Pgo+PiBMU1BDT04gY2hpcHMgY2FuIGdlbmVyYXRlIFlDQkNSIG91 dHB1dHMsIGlmIGFza2VkIG5pY2VseSA6KS4KPj4KPj4gSW4gb3JkZXIgdG8gZ2VuZXJhdGUgWUNC Q1IgNDoyOjAgb3V0cHV0cywgYSBzb3VyY2UgbXVzdDoKPj4gLSBzZW5kIFlDQkNSIDQ6NDo0IHNp Z25hbHMgdG8gTFNQQ09OCj4+IC0gcHJvZ3JhbSBjb2xvciBzcGFjZSBhcyA0OjI6MCBpbiBBVkkg aW5mb2ZyYW1lcwo+Pgo+PiBXaGVyZWFzIGZvciBZQ0JDUiA0OjQ6NCBvdXRwdXRzLCB0aGUgc291 cmNlIG11c3Q6Cj4+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExTUENPTgo+PiAtIHBy b2dyYW0gY29sb3Igc3BhY2UgYXMgNDo0OjQgaW4gQVZJIGluZm9mcmFtZXMKPj4KPj4gU28gZm9y IGJvdGggNDoyOjAgYXMgd2VsbCBhcyA0OjQ6NCBvdXRwdXRzLCB3ZSBhcmUgZHJpdmluZyB0aGUK Pj4gcGlwZSBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0LCBidXQgQVZJIGluZm9mcmFtZSdzIGNvbG9y IHNwYWNlCj4+IGluZm9ybWF0aW9uIGluZGljYXRlcyBMU1BDT04gRlcgdG8gc3RhcnQgc2NhbGlu ZyBkb3duIGZyb20gWUNCQ1IKPj4gNDo0OjQgYW5kIGdlbmVyYXRlIFlDQkNSIDQ6MjowIG91dHB1 dC4gQXMgdGhlIHNjYWxpbmcgaXMgZG9uZSBieQo+PiBMU1BDT04gZGV2aWNlLCB3ZSBuZWVkIG5v dCB0byByZXNlcnZlIGEgc2NhbGVyIGZvciA0OjI6MCBvdXRwdXRzLgo+Pgo+PiBWMjogcmViYXNl Cj4+IFYzOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPj4gICAgICAtIGFk ZCBlbnVtIGNydGNfb3V0cHV0X2Zvcm1hdCBpbnN0ZWFkIG9mIGJvb2wgeWNiY3I0MjAKPj4gICAg ICAtIHVzZSBjcnRjX291dHB1dF9mb3JtYXQ9NDo0OjQgZm9yIG1vZGVzZXQgb2YgTFNQQ09OIDQ6 MjowIG91dHB1dAo+PiAgICAgICAgY2FzZXMgaW4gdGhpcyB3YXkgd2Ugd2lsbCBoYXZlIFlDQkNS IDQ6NDo0IGZyYW1ld29yayByZWFkeSAoZXhjZXB0Cj4+ICAgICAgICB0aGUgQUJJIHBhcnQpCj4+ IFY0OiBBZGRlZCByLWIgZnJvbSBNYWFydGVuIChmb3IgdjMpCj4+ICAgICAgQWRkcmVzc2VkIHJl dmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+PiAgICAgIC0gRG8gbm90IGFkZCBhIG5vbi1hdG9t aWMgc3RhdGUgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIGxzcGNvbiBvdXRwdXQuCj4+ICAgICAgICBJ bnN0ZWFkIGFkZCBib29sIGluIENSVEMgc3RhdGUgdG8gaW5kaWNhdGUgbHNwY29uIGJhc2VkIHNj YWxpbmcuCj4+Cj4+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KPj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+Cj4+IFJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEg PHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggICAgICB8ICAyICsrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMgICAgIHwgIDcgKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDExICsrKysrKysrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYyAgICAgIHwgMTAgKysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oICAgICB8ICA1ICsrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHNwY29uLmMgIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAgNiBmaWxl cyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+Cj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+PiBpbmRleCA2NDkzM2ZkLi5lMzgzYjA1IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKPj4gQEAgLTg3MjEsNiArODcyMSw4IEBAIGVudW0gc2tsX3Bvd2VyX2dh dGUgewo+PiAgICNkZWZpbmUgVFJBTlNfTVNBX01JU0ModHJhbikgX01NSU9fVFJBTlMyKHRyYW4s IF9UUkFOU0FfTVNBX01JU0MpCj4+ICAgCj4+ICAgI2RlZmluZSAgVFJBTlNfTVNBX1NZTkNfQ0xL CQkoMTw8MCkKPj4gKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQgICAgICAgICgyPDwx KQo+PiArI2RlZmluZSAgVFJBTlNfTVNBX0NMUlNQX1lDQkNSCQkoMjw8MykKPj4gICAjZGVmaW5l ICBUUkFOU19NU0FfNl9CUEMJCSgwPDw1KQo+PiAgICNkZWZpbmUgIFRSQU5TX01TQV84X0JQQwkJ KDE8PDUpCj4+ICAgI2RlZmluZSAgVFJBTlNfTVNBXzEwX0JQQwkJKDI8PDUpCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCj4+IGluZGV4IDUxMGJiNzcuLmRiN2Q5NDAgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4+IEBAIC0xNDk5LDYgKzE0OTksMTMgQEAgdm9pZCBpbnRlbF9k ZGlfc2V0X3BpcGVfc2V0dGluZ3MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4+ICAgCQlicmVhazsKPj4gICAJfQo+PiAgIAo+PiArCS8qCj4+ICsJICogQXMgcGVy IERQIDEuMiBzcGVjIHNlY3Rpb24gMi4zLjQuMyB3aGlsZSBzZW5kaW5nCj4+ICsJICogWUNCQ1Ig NDQ0IHNpZ25hbHMgd2Ugc2hvdWxkIHByb2dyYW0gTVNBIE1JU0MxLzAgZmllbGRzIHdpdGgKPj4g KwkgKiBjb2xvcnNwYWNlIGluZm9ybWF0aW9uLiBUaGUgb3V0cHV0IGNvbG9yc3BhY2UgZW5jb2Rp bmcgaXMgQlQ2MDEuCj4+ICsJICovCj4+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQg PT0gQ1JUQ19PVVRQVVRfWUNCQ1I0NDQpCj4+ICsJCXRlbXAgfD0gVFJBTlNfTVNBX1NBTVBMSU5H XzQ0NCB8IFRSQU5TX01TQV9DTFJTUF9ZQ0JDUjsKPj4gICAJSTkxNV9XUklURShUUkFOU19NU0Ff TUlTQyhjcHVfdHJhbnNjb2RlciksIHRlbXApOwo+PiAgIH0KPj4gICAKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCA0YTQwZGU5Li5iMjZmNGE5IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IEBAIC05MjI4LDYgKzkyMjgsNyBAQCBz dGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKPj4gICAJcGlwZV9jb25maWctPmdhbW1hX21vZGUgPQo+PiAgIAkJSTkxNV9SRUFEKEdBTU1B X01PREUoY3J0Yy0+cGlwZSkpICYgR0FNTUFfTU9ERV9NT0RFX01BU0s7Cj4+ICAgCj4+ICsJcGlw ZV9jb25maWctPmV4dGVybmFsX3NjYWxpbmcgPSBmYWxzZTsKPiBJIHJlYWxseSBkb24ndCBsaWtl IHRoZSBuYW1lIG9mIHRoYXQuIE1ha2VzIG1lIHRoaW5rIHdlJ3JlIGFjdHVhbGx5Cj4gc2NhbGlu ZyB0aGUgZW50aXJlIG91dHB1dCBvciBzb21ldGhpbmcuICdleHRlcm5hbF95Y2Jjcl80MjBfZG93 bnNhbXBsZScKPiBvciBzb21ldGhpbmcgbGlrZSB0aGF0IHdvdWxkIGJlIGJldHRlci4Kb2ssIGxl dCBtZSByZW5hbWUgdGhpcyB0byBzb21ldGhpbmcgaW4gdGhvc2UgbGluZXMuCj4+ICAgCWlmIChJ U19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewo+PiAg IAkJdTMyIHRtcCA9IEk5MTVfUkVBRChQSVBFTUlTQyhjcnRjLT5waXBlKSk7Cj4+ICAgCQllbnVt IGludGVsX291dHB1dF9mb3JtYXQgb3V0cHV0X2Zvcm1hdCA9IENSVENfT1VUUFVUX1JHQjsKPj4g QEAgLTkyNDcsOCArOTI0OCwxNiBAQCBzdGF0aWMgYm9vbCBoYXN3ZWxsX2dldF9waXBlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPj4gICAJCQkJCW91dHB1dF9mb3JtYXQgPSBDUlRD X09VVFBVVF9ZQ0JDUjQyMDsKPj4gICAJCQl9IGVsc2Ugewo+PiAgIAkJCQlvdXRwdXRfZm9ybWF0 ID0gQ1JUQ19PVVRQVVRfWUNCQ1I0NDQ7Cj4+IC0JCQl9Cj4+ICAgCj4+ICsJCQkJLyoKPj4gKwkJ CQkgKiBBcyB0aGVyZSBpcyBubyBpbnRlcmZhY2UgZGVmaW5lZCAoeWV0KQo+PiArCQkJCSAqIHRv IGdldCB0aGUgdXNlcidzIHByZWZlcmVuY2UgZm9yIG91dHB1dAo+PiArCQkJCSAqIGZvcm1hdCwg WUNCQ1I0NDQgb3V0cHV0IGZvcm1hdCBpcyBvbmx5Cj4+ICsJCQkJICogcG9zc2libGUgd2l0aCBM U1BDT04gWUNCQ1I0MjAgb3V0cHV0LAo+PiArCQkJCSAqIHdoaWNoIHVzZXMgTFNQQ09OJ3MgKGV4 dGVybmFsIClzY2FsZXIuCj4+ICsJCQkJICovCj4+ICsJCQkJcGlwZV9jb25maWctPmV4dGVybmFs X3NjYWxpbmcgPSB0cnVlOwo+PiArCQkJfQo+PiAgIAkJfQo+PiAgIAo+PiAgIAkJcGlwZV9jb25m aWctPm91dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKPj4gaW5kZXggYTJlODg3OS4uYmUxOTU3OSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCj4+IEBAIC0xNjQwLDYgKzE2NDAsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+ICAgCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGU7Cj4+ICAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAo JmVuY29kZXItPmJhc2UpOwo+PiArCXN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiA9IGVuY190 b19pbnRlbF9sc3Bjb24oJmVuY29kZXItPmJhc2UpOwo+PiAgIAllbnVtIHBvcnQgcG9ydCA9IGVu Y29kZXItPnBvcnQ7Cj4+ICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKPj4gICAJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKPj4g QEAgLTE2NjksNiArMTY3MCwxNSBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4gICAJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpICYm ICFIQVNfRERJKGRldl9wcml2KSAmJiBwb3J0ICE9IFBPUlRfQSkKPj4gICAJCXBpcGVfY29uZmln LT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+PiAgIAo+PiArCWlmIChsc3Bjb24tPmFjdGl2ZSkg ewo+PiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rv ci0+YmFzZTsKPj4gKwo+PiArCQlpZiAobHNwY29uX3ljYmNyNDIwX2NvbmZpZyhjb25uZWN0b3Is IHBpcGVfY29uZmlnKSkgewo+PiArCQkJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBDUlRD X09VVFBVVF9ZQ0JDUjQ0NDsKPj4gKwkJCXBpcGVfY29uZmlnLT5leHRlcm5hbF9zY2FsaW5nID0g dHJ1ZTsKPiBXaHkgc3BsaXQgdGhlIHdvcmsgYmV0d2VlbiB0d28gZnVuY3Rpb25zIGxpa2UgdGhp cz8gSSB0aGluayBpdCB3b3VsZCBiZQo+IGNsZWFuZXIgdG8gZWl0aGVyIGlubGluZSBhbGwgdGhl IGNvZGUgaGVyZSwgb3IgbW92ZSBpdCBhbGwgaW50bwo+IGxzcGNvbl95Y2JjcjQyMF9jb25maWco KS4KU3VyZSwgbWFrZXMgc2Vuc2UuCj4+ICsJCX0KPj4gKwl9Cj4+ICsKPj4gICAJcGlwZV9jb25m aWctPmhhc19kcnJzID0gZmFsc2U7Cj4+ICAgCWlmIChJU19HNFgoZGV2X3ByaXYpIHx8IHBvcnQg PT0gUE9SVF9BKQo+PiAgIAkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IGZhbHNlOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBpbmRleCBlZmFhMzMxLi5mMjMxMjliIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBAQCAtODgyLDYgKzg4Miw5IEBAIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlIHsKPj4gICAKPj4gICAJLyogT3V0cHV0IGZvcm1hdCBSR0IvWUNCQ1IgZXRj ICovCj4+ICAgCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRwdXRfZm9ybWF0Owo+PiArCj4+ ICsJLyogT3V0cHV0IHVwL2Rvd24gc2NhbGluZyBpcyBkb25lIGluIGV4dGVybmFsIGRldmljZSAq Lwo+PiArCWJvb2wgZXh0ZXJuYWxfc2NhbGluZzsKPj4gICB9Owo+PiAgIAo+PiAgIHN0cnVjdCBp bnRlbF9jcnRjIHsKPj4gQEAgLTIxMzksNiArMjE0Miw4IEBAIHZvaWQgbHNwY29uX3NldF9pbmZv ZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4gICAJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4+ICAgYm9vbCBsc3Bjb25faW5m b2ZyYW1lX2VuYWJsZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+PiAgIAkJCSAgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4+ICtib29sIGxz cGNvbl95Y2JjcjQyMF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4g KwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZyk7Cj4+ICAgCj4+ICAgLyog aW50ZWxfcGlwZV9jcmMuYyAqLwo+PiAgIGludCBpbnRlbF9waXBlX2NyY19jcmVhdGUoc3RydWN0 IGRybV9taW5vciAqbWlub3IpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHNwY29uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+PiBp bmRleCAwNjZlYTkxLi44ZDZhOWIyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9sc3Bjb24uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bj b24uYwo+PiBAQCAtMTgwLDYgKzE4MCwyNSBAQCBzdGF0aWMgYm9vbCBsc3Bjb25fd2FrZV9uYXRp dmVfYXV4X2NoKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4gICAJcmV0dXJuIHRydWU7 Cj4+ICAgfQo+PiAgIAo+PiArYm9vbCBsc3Bjb25feWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICsJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjb25maWcpCj4gY3J0Y19zdGF0ZQpvawo+Cj4+ICt7Cj4+ICsJc3RydWN0IGRybV9kaXNwbGF5 X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gY29uc3QKb2sKPj4gKwlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZTsKPiBjb25zdCAuLi4gYWRqdXN0ZWRfbW9kZTsKb2sKPj4gKwo+PiArCWlmIChkcm1fbW9kZV9p c180MjBfb25seShpbmZvLCBtb2RlKSkgewo+PiArCQlpZiAoIWNvbm5lY3Rvci0+eWNiY3JfNDIw X2FsbG93ZWQpIHsKPj4gKwkJCURSTV9FUlJPUigiUGxhdGZvcm0gZG9lc24ndCBzdXBwb3J0IFlD QkNSNDIwIG91dHB1dFxuIik7Cj4+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gSG93IGNhbiB3ZSBldmVu IGdldCBoZXJlPwpUaGlzIGNvZGUgZmxvdyBpcyBjb21pbmcgZnJvbSBDUlRDL2VuY29kZXIgc2lk ZSwgd2hlcmVhcyA0MjAgY2FwYWJpbGl0eSAKaXMgc2V0IGluIGNvbm5lY3Rvcl9pbml0LCB0aGlz IGlzIHRoZSBmaXJzdCB0aW1lIHdlIGFyZSBjaGVja2luZyAKY29ubmVjdG9yJ3MgY2FwYWJpbGl0 aWVzLiBTbyB5ZXMsIGl0cyBwb3NzaWJsZSB0byByZWFjaCBoZXJlLgotIFNoYXNoYW5rCj4+ICsJ CX0KPj4gKwo+PiArCQljb25maWctPnBvcnRfY2xvY2sgLz0gMjsKPj4gKwkJcmV0dXJuIHRydWU7 Cj4+ICsJfQo+PiArCj4+ICsJcmV0dXJuIGZhbHNlOwo+PiArfQo+PiArCj4+ICAgc3RhdGljIGJv b2wgbHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4gICB7Cj4+ICAg CWludCByZXRyeTsKPj4gQEAgLTQ1OSw2ICs0NzgsMTUgQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9m cmFtZXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+PiAgIAkJcmV0dXJuOwo+PiAgIAl9 Cj4+ICAgCj4+ICsJaWYgKGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19PVVRQVVRf WUNCQ1I0NDQpIHsKPj4gKwkJaWYgKGNydGNfc3RhdGUtPmV4dGVybmFsX3NjYWxpbmcpCj4+ICsJ CQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0MjA7Cj4+ICsJCWVs c2UKPj4gKwkJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsK Pj4gKwl9IGVsc2Ugewo+PiArCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFD RV9SR0I7Cj4+ICsJfQo+PiArCj4+ICAgCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFu Z2UoJmZyYW1lLmF2aSwgbW9kZSwKPj4gICAJCQkJCSAgIGNydGNfc3RhdGUtPmxpbWl0ZWRfY29s b3JfcmFuZ2UgPwo+PiAgIAkJCQkJICAgSERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRCA6 Cj4+IEBAIC01MTIsNiArNTQwLDcgQEAgYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKPj4gICAJc3RydWN0IGludGVsX2xzcGNvbiAqbHNw Y29uID0gJmludGVsX2RpZ19wb3J0LT5sc3Bjb247Cj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKPj4gICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+PiArCXN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IgPSAmZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsKPj4gICAKPj4g ICAJaWYgKCFIQVNfTFNQQ09OKGRldl9wcml2KSkgewo+PiAgIAkJRFJNX0VSUk9SKCJMU1BDT04g aXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtXG4iKTsKPj4gQEAgLTUzNiw2ICs1NjUs NyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0KQo+PiAgIAkJcmV0dXJuIGZhbHNlOwo+PiAgIAl9Cj4+ICAgCj4+ICsJY29ubmVjdG9y LT55Y2Jjcl80MjBfYWxsb3dlZCA9IHRydWU7Cj4+ICAgCWxzcGNvbi0+YWN0aXZlID0gdHJ1ZTsK Pj4gICAJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09OIGluaXRcbiIpOwo+PiAgIAlyZXR1 cm4gdHJ1ZTsKPj4gLS0gCj4+IDIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK