From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH v3 7/7] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Thu, 18 Jan 2018 21:22:26 +0530 Message-ID: <72404ca5-1cd3-7ce2-4da9-8d4778031fe4@intel.com> References: <1515145535-11228-1-git-send-email-shashank.sharma@intel.com> <1515145535-11228-8-git-send-email-shashank.sharma@intel.com> <20180117182745.GR10981@intel.com> <23841b6d-0876-1b5b-cbcf-73b129f72841@intel.com> <20180118140346.GV10981@intel.com> <5b5da98b-783c-3f80-1522-5b4caed484b5@intel.com> <20180118153551.GX10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id E965D6E686 for ; Thu, 18 Jan 2018 15:52:28 +0000 (UTC) In-Reply-To: <20180118153551.GX10981@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 UmVnYXJkcwoKU2hhc2hhbmsKCgpPbiAxLzE4LzIwMTggOTowNSBQTSwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFRodSwgSmFuIDE4LCAyMDE4IGF0IDA5OjAwOjUwUE0gKzA1MzAsIFNoYXJt YSwgU2hhc2hhbmsgd3JvdGU6Cj4+IFJlZ2FyZHMKPj4KPj4gU2hhc2hhbmsKPj4KPj4KPj4gT24g MS8xOC8yMDE4IDc6MzMgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPj4+IE9uIFRodSwgSmFu IDE4LCAyMDE4IGF0IDExOjU3OjA5QU0gKzA1MzAsIFNoYXJtYSwgU2hhc2hhbmsgd3JvdGU6Cj4+ Pj4gUmVnYXJkcwo+Pj4+Cj4+Pj4gU2hhc2hhbmsKPj4+Pgo+Pj4+Cj4+Pj4gT24gMS8xNy8yMDE4 IDExOjU3IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4+Pj4+IE9uIEZyaSwgSmFuIDA1LCAy MDE4IGF0IDAzOjE1OjM1UE0gKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToKPj4+Pj4+IExT UENPTiBjaGlwcyBjYW4gZ2VuZXJhdGUgWUNCQ1Igb3V0cHV0cywgaWYgYXNrZWQgbmljZWx5IDop Lgo+Pj4+Pj4KPj4+Pj4+IEluIG9yZGVyIHRvIGdlbmVyYXRlIFlDQkNSIDQ6MjowIG91dHB1dHMs IGEgc291cmNlIG11c3Q6Cj4+Pj4+PiAtIHNlbmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BD T04KPj4+Pj4+IC0gcHJvZ3JhbSBjb2xvciBzcGFjZSBhcyA0OjI6MCBpbiBBVkkgaW5mb2ZyYW1l cwo+Pj4+Pj4KPj4+Pj4+IFdoZXJlYXMgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dHMsIHRoZSBzb3Vy Y2UgbXVzdDoKPj4+Pj4+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExTUENPTgo+Pj4+ Pj4gLSBwcm9ncmFtIGNvbG9yIHNwYWNlIGFzIDQ6NDo0IGluIEFWSSBpbmZvZnJhbWVzCj4+Pj4+ Pgo+Pj4+Pj4gU28gZm9yIGJvdGggNDoyOjAgYXMgd2VsbCBhcyA0OjQ6NCBvdXRwdXRzLCB3ZSBh cmUgZHJpdmluZyB0aGUKPj4+Pj4+IHBpcGUgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dCwgYnV0IEFW SSBpbmZvZnJhbWUncyBjb2xvciBzcGFjZQo+Pj4+Pj4gaW5mb3JtYXRpb24gaW5kaWNhdGVzIExT UENPTiBGVyB0byBzdGFydCBzY2FsaW5nIGRvd24gZnJvbSBZQ0JDUgo+Pj4+Pj4gNDo0OjQgYW5k IGdlbmVyYXRlIFlDQkNSIDQ6MjowIG91dHB1dC4gQXMgdGhlIHNjYWxpbmcgaXMgZG9uZSBieQo+ Pj4+Pj4gTFNQQ09OIGRldmljZSwgd2UgbmVlZCBub3QgdG8gcmVzZXJ2ZSBhIHNjYWxlciBmb3Ig NDoyOjAgb3V0cHV0cy4KPj4+Pj4+Cj4+Pj4+PiBWMjogcmViYXNlCj4+Pj4+PiBWMzogQWRkcmVz c2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlCj4+Pj4+PiAgICAgICAgLSBhZGQgZW51bSBj cnRjX291dHB1dF9mb3JtYXQgaW5zdGVhZCBvZiBib29sIHljYmNyNDIwCj4+Pj4+PiAgICAgICAg LSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0PTQ6NDo0IGZvciBtb2Rlc2V0IG9mIExTUENPTiA0OjI6 MCBvdXRwdXQKPj4+Pj4+ICAgICAgICAgIGNhc2VzIGluIHRoaXMgd2F5IHdlIHdpbGwgaGF2ZSBZ Q0JDUiA0OjQ6NCBmcmFtZXdvcmsgcmVhZHkgKGV4Y2VwdAo+Pj4+Pj4gICAgICAgICAgdGhlIEFC SSBwYXJ0KQo+Pj4+Pj4KPj4+Pj4+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPj4+Pj4+IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hh cm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+Pj4+Pj4gLS0tCj4+Pj4+PiAgICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAgMiArKwo+Pj4+Pj4gICAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgIHwgIDcgKysrKysrKwo+Pj4+Pj4gICAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgIHwgMTAgKysrKysrKysrKwo+Pj4+Pj4g ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgIHwgIDIgKysKPj4+Pj4+ICAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyB8IDI4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKPj4+Pj4+ICAgICA1IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMo KykKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+Pj4+IGluZGV4IDk2NmU0 ZGYuLjQ1ZWUyNjQgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+Pj4+ PiBAQCAtODU0Nyw2ICs4NTQ3LDggQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4+Pj4+PiAgICAg I2RlZmluZSBUUkFOU19NU0FfTUlTQyh0cmFuKSBfTU1JT19UUkFOUzIodHJhbiwgX1RSQU5TQV9N U0FfTUlTQykKPj4+Pj4+ICAgICAKPj4+Pj4+ICAgICAjZGVmaW5lICBUUkFOU19NU0FfU1lOQ19D TEsJCSgxPDwwKQo+Pj4+Pj4gKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQgICAgICAg ICgyPDwxKQo+Pj4+Pj4gKyNkZWZpbmUgIFRSQU5TX01TQV9DTFJTUF9ZQ0JDUgkJKDI8PDMpCj4+ Pj4+PiAgICAgI2RlZmluZSAgVFJBTlNfTVNBXzZfQlBDCQkoMDw8NSkKPj4+Pj4+ICAgICAjZGVm aW5lICBUUkFOU19NU0FfOF9CUEMJCSgxPDw1KQo+Pj4+Pj4gICAgICNkZWZpbmUgIFRSQU5TX01T QV8xMF9CUEMJCSgyPDw1KQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPj4+Pj4+IGlu ZGV4IDdiODlmMmEuLjc2MTZmNmYgMTAwNjQ0Cj4+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwo+Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKPj4+Pj4+IEBAIC0xNDk5LDYgKzE0OTksMTMgQEAgdm9pZCBpbnRlbF9kZGlfc2V0X3Bp cGVfc2V0dGluZ3MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4+ Pj4+PiAgICAgCQlicmVhazsKPj4+Pj4+ICAgICAJfQo+Pj4+Pj4gICAgIAo+Pj4+Pj4gKwkvKgo+ Pj4+Pj4gKwkgKiBBcyBwZXIgRFAgMS4yIHNwZWMgc2VjdGlvbiAyLjMuNC4zIHdoaWxlIHNlbmRp bmcKPj4+Pj4+ICsJICogWUNCQ1IgNDQ0IHNpZ25hbHMgd2Ugc2hvdWxkIHByb2dyYW0gTVNBIE1J U0MxLzAgZmllbGRzIHdpdGgKPj4+Pj4+ICsJICogY29sb3JzcGFjZSBpbmZvcm1hdGlvbi4KPj4+ Pj4+ICsJICovCj4+Pj4+PiArCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IENSVENf T1VUUFVUX1lDQkNSNDQ0KQo+Pj4+Pj4gKwkJdGVtcCB8PSBUUkFOU19NU0FfU0FNUExJTkdfNDQ0 IHwgVFJBTlNfTVNBX0NMUlNQX1lDQkNSOwo+Pj4+PiBUaGlzIGZhaWxzIHRvIHN0YXRlIHRoYXQg d2UncmUgaW5kaWNhdGluZyBCVC42MDEgZW5jb2RpbmcuIEkgdGhpbmsgd2UKPj4+Pj4gc2hvdWxk IHNwZWxsIHRoYXQgb3V0IGV4cGxpY2l0bHkuCj4+Pj4gQWdyZWUsIEkgd2lsbCBhZGQgdGhpcyBp biBjb21tZW50cy4KPj4+Pj4+ICAgICAJSTkxNV9XUklURShUUkFOU19NU0FfTUlTQyhjcHVfdHJh bnNjb2RlciksIHRlbXApOwo+Pj4+Pj4gICAgIH0KPj4+Pj4+ICAgICAKPj4+Pj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+Pj4+Pj4gaW5kZXggMzVjNTI5OS4uM2JmODJlYSAxMDA2NDQKPj4+Pj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+Pj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4+Pj4+IEBAIC0xNjEzLDYgKzE2MTMsNyBAQCBp bnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPj4+ Pj4+ICAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7Cj4+Pj4+PiAgICAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4+Pj4+PiAgICAg CXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJh c2UpOwo+Pj4+Pj4gKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50ZWxf bHNwY29uKCZlbmNvZGVyLT5iYXNlKTsKPj4+Pj4+ICAgICAJZW51bSBwb3J0IHBvcnQgPSBlbmNv ZGVyLT5wb3J0Owo+Pj4+Pj4gICAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7Cj4+Pj4+PiAgICAgCXN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25u ZWN0b3I7Cj4+Pj4+PiBAQCAtMTY0Miw2ICsxNjQzLDE1IEBAIGludGVsX2RwX2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+Pj4+Pj4gICAgIAlpZiAoSEFTX1BD SF9TUExJVChkZXZfcHJpdikgJiYgIUhBU19EREkoZGV2X3ByaXYpICYmIHBvcnQgIT0gUE9SVF9B KQo+Pj4+Pj4gICAgIAkJcGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4+Pj4+ PiAgICAgCj4+Pj4+PiArCWlmIChsc3Bjb24tPmFjdGl2ZSkgewo+Pj4+Pj4gKwkJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9jb25uZWN0b3ItPmJhc2U7Cj4+Pj4+PiAr Cj4+Pj4+PiArCQlpZiAobHNwY29uX3ljYmNyNDIwX2NvbmZpZyhjb25uZWN0b3IsIHBpcGVfY29u ZmlnKSkgewo+Pj4+Pj4gKwkJCXBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID0gQ1JUQ19PVVRQ VVRfWUNCQ1I0NDQ7Cj4+Pj4+IEkgdGhpbmsgSSdkIGxpa2UgdG8gc2VlIGFsbCBjb21wdXRlX2Nv bmZpZyBob29rcyBleHBsaWNpdGx5IHNldCB0aGUKPj4+Pj4gb3V0b3V0X2Zvcm1hdCAodG8gUkdC IHVzdWFsbHkgb2J2aW91c2x5KS4KPj4+PiBUaGF0J3MgdGhlIG9uZSBJIHdhcyB0YWxraW5nIGFi b3V0IGluIHByZXZpb3VzIHBhdGNoLiBJZiB3ZSBrZWVwCj4+Pj4gb3V0cHV0X2Zvcm1hdF9SR0Ig PSAwLCB3ZSBuZWVkCj4+Pj4gbm90IHRvIGRvIHRoaXMsIGFzIHJlc2V0IG9mIHRoZSBwaXBlX2Nv bmZpZyB3aWxsIGF1dG9tYXRpY2FsbHkgbWFrZSBpdCBSR0IuCj4+PiBJTU8gZWl0aGVyIHdlIGhh dmUgSU5WQUxJRD0wIHNvIHRoYXQgd2UgdXNlIGl0IHRvIGNhdGNoIHJlYWRvdXQKPj4+IGZhaWxz LCBvciB3ZSBoYXZlIG5vIElOVkFMSUQuIE90aGVyIG9wdGlvbnMgbWFrZSBsaXR0bGUgc2Vuc2Ug dG8gbWUuCj4+IEl0cyBhIG1pbm9yIHRoaW5nLCBhbmQgZG9lc24ndCByZWFsbHkgbWF0dGVyLiBJ IGNhbiBjaGFuZ2UgdGhpcy4KPj4+Pj4+ICsJCQlsc3Bjb24tPm91dHB1dF9mb3JtYXQgPSBDUlRD X09VVFBVVF9ZQ0JDUjQyMDsKPj4+Pj4gWW91IHNob3VsZCBub3QgbW9kaWZ5IGFueSBub24tYXRv bWljIHN0YXRlIGxpa2UgdGhhdCBpbiBjb21wdXRlX2NvbmZpZy4KPj4+PiBQbGVhc2UgaGVscCBt ZSB0byB1bmRlcnN0YW5kIHRoaXMgYmV0dGVyLCBDYW4geW91IGVsYWJvcmF0ZSBhIGJpdCBtb3Jl IG9uOgo+Pj4+IC0gV2h5IGlzIHRoaXMgYSBub24tYXRvbWljIHN0YXRlID8KPj4+PiAtIFdoYXQg aXMgdGhlIHJpZ2h0IHBsYWNlIHdlIHNob3VsZCBtb2RpZnkgaXQgPwo+Pj4gSSBkb24ndCB0aGlu ayB5b3UgbmVlZCBpdCBhdCBhbGwuIEp1c3QgY29uc3VsdCB0aGUgY3J0YyBzdGF0ZSB3aGVuCj4+ PiBuZWVkZWQuCj4+IEkgZG9udCB0aGluayBDUlRDIHN0YXRlIGNhbiBjb3ZlciBhbGwgdGhlIGNh c2VzLCBmb3IgZXhhbXBsZSwgd2hhdCB3b3VsZAo+PiBiZSBkbyB3aGVuIHdlIG5lZWQKPj4gWUNC Q1IgNDo0OjQgb3V0cHV0IGZyb20gTFNQQ09OID8gQXMgd2UgaGF2ZSBhbHJlYWR5IHVzZWQgY3J0 Y19zdGF0ZS0+NDQ0Cj4+IGZvciBMU1BDT04gb3V0cHV0Cj4+IDQyMCwgd2UgY2FuJ3QgaGFuZGxl IHRoaXMuCj4gTGlrZSBJIHNhaWQgZWFybGllciwganVzdCBhZGQgYW5vdGhlciB0aGluZyB0byB0 aGUgc3RhdGUgdG8gaW5kaWNhdGUgd2hhdAo+IExTUENPTiBzaG91bGQgZG8gd2l0aCB0aGUgNDQ0 IGRhdGEuIEVpdGhlciBwYXNzIGl0IHRocm91Z2ggb3IgZG93bnNhbXBsZQo+IGl0Lgo+Cj4+IFRo aXMgaXMgZXF1aXZhbGVudCB0byB5b3VyIHByZXZpb3VzCj4+IHN1Z2dlc3Rpb24gb2YgYWRkaW5n ICdzY2FsaW5nX3JlcWQnLAo+PiBidXQgSSBhZGRlZCBpbiBMUFNDT04gKGluc3RlYWQgb2YgQ1JU QyBzdGF0ZSkgYXMgdGhpcyBpbmZvcm1hdGlvbiBpcwo+PiByZXF1aXJlZCBvbmx5IGluIGNhc2Ug b2YgTFNQQ09OLgo+IEJ1dCB3ZSBoYXZlIG5vIGF0b21pYyBsc3Bjb24gc3RhdGUuIEFuZCBwcm9i YWJseSBub3Qgd29ydGggYWRkaW5nIG9uZQo+IHNpbmNlIHRoZXJlIHdvbid0IGJlIG11Y2ggdGhl cmUuIFNvIGp1c3QgYWRkaW5nIHdoYXQncyBuZWVkZWQgaW50byB0aGUKPiBjcnRjIHN0YXRlIHNl ZW1zIGxpa2UgdGhlIGJlc3QgYXBwcm9hY2guCk9rLCBTbyBJIGd1ZXNzIHRoZSBzdWdnZXN0aW9u IHRvIG1vdmUgdGhpcyBib29sIGludG8gQ1JUQyBzdGF0ZSBpcyB0byAKbWFpbnRhaW4gdGhlIGF0 b21pYyBmbG93LgpTdXJlLCBpbiB0aGF0IGNhc2UgSSB3aWxsIGFkZCBhIG5ldyBib29sIGluIGNy dGNfc3RhdGUgY2FsbGVkIAoib3V0cHV0X3NjYWxpbmdfcmVxZCIgb3Igc29tZXRoaW5nCnNpbWls YXIuCgotIFNoYXNoYW5rCj4+IEluIGFsbCBuYXRpdmUgY2FzZXMsIHNjYWxpbmcgd291bGQgYmUg YWx3YXlzIHJlcXVpcmVkIGZvciA0OjI6MCBvdXRwdXRzLgo+Pgo+PiAtIFNoYXNoYW5rCj4+Pj4g LSBTaGFzaGFuawo+Pj4+Pj4gKwkJfQo+Pj4+Pj4gKwl9Cj4+Pj4+PiArCj4+Pj4+PiAgICAgCXBp cGVfY29uZmlnLT5oYXNfZHJycyA9IGZhbHNlOwo+Pj4+Pj4gICAgIAlpZiAoSVNfRzRYKGRldl9w cml2KSB8fCBwb3J0ID09IFBPUlRfQSkKPj4+Pj4+ICAgICAJCXBpcGVfY29uZmlnLT5oYXNfYXVk aW8gPSBmYWxzZTsKPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+Pj4+PiBpbmRleCAy ZGU2YjQxLi41ZWRiYTA2IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4+Pj4+PiBAQCAtMjA0Nyw2ICsyMDQ3LDggQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Pj4+Pj4gICAgIAkJCSAgIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKPj4+Pj4+ICAgICBib29sIGxzcGNv bl9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+Pj4+PiAg ICAgCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsK Pj4+Pj4+ICtib29sIGxzcGNvbl95Y2JjcjQyMF9jb25maWcoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKPj4+Pj4+ICsJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25m aWcpOwo+Pj4+Pj4gICAgIAo+Pj4+Pj4gICAgIC8qIGludGVsX3BpcGVfY3JjLmMgKi8KPj4+Pj4+ ICAgICBpbnQgaW50ZWxfcGlwZV9jcmNfY3JlYXRlKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsK Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4+Pj4+PiBpbmRleCAwNjZlYTkx Li5jYjg4MTM4IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHNwY29uLmMKPj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5j Cj4+Pj4+PiBAQCAtMTgwLDYgKzE4MCwyNSBAQCBzdGF0aWMgYm9vbCBsc3Bjb25fd2FrZV9uYXRp dmVfYXV4X2NoKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPj4+Pj4+ICAgICAJcmV0dXJu IHRydWU7Cj4+Pj4+PiAgICAgfQo+Pj4+Pj4gICAgIAo+Pj4+Pj4gK2Jvb2wgbHNwY29uX3ljYmNy NDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4+Pj4gKwkJCSAg ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZykKPj4+Pj4+ICt7Cj4+Pj4+PiArCXN0 cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+ Pj4+Pj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZTsKPj4+Pj4+ICsKPj4+Pj4+ICsJaWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5KGlu Zm8sIG1vZGUpKSB7Cj4+Pj4+PiArCQlpZiAoIWNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQp IHsKPj4+Pj4+ICsJCQlEUk1fRVJST1IoIlBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydCBZQ0JDUjQy MCBvdXRwdXRcbiIpOwo+Pj4+Pj4gKwkJCXJldHVybiBmYWxzZTsKPj4+Pj4+ICsJCX0KPj4+Pj4+ ICsKPj4+Pj4+ICsJCWNvbmZpZy0+cG9ydF9jbG9jayAvPSAyOwo+Pj4+Pj4gKwkJcmV0dXJuIHRy dWU7Cj4+Pj4+PiArCX0KPj4+Pj4+ICsKPj4+Pj4+ICsJcmV0dXJuIGZhbHNlOwo+Pj4+Pj4gK30K Pj4+Pj4+ICsKPj4+Pj4+ICAgICBzdGF0aWMgYm9vbCBsc3Bjb25fcHJvYmUoc3RydWN0IGludGVs X2xzcGNvbiAqbHNwY29uKQo+Pj4+Pj4gICAgIHsKPj4+Pj4+ICAgICAJaW50IHJldHJ5Owo+Pj4+ Pj4gQEAgLTQ1OSw2ICs0NzgsMTMgQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAo+Pj4+Pj4gICAgIAkJcmV0dXJuOwo+Pj4+Pj4gICAgIAl9 Cj4+Pj4+PiAgICAgCj4+Pj4+PiArCWlmIChsc3Bjb24tPm91dHB1dF9mb3JtYXQgPT0gQ1JUQ19P VVRQVVRfWUNCQ1I0MjApCj4+Pj4+PiArCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09M T1JTUEFDRV9ZVVY0MjA7Cj4+Pj4+PiArCWVsc2UgaWYgKGxzcGNvbi0+b3V0cHV0X2Zvcm1hdCA9 PSBDUlRDX09VVFBVVF9ZQ0JDUjQ0NCkKPj4+Pj4+ICsJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0g SERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKPj4+Pj4+ICsJZWxzZQo+Pj4+Pj4gKwkJZnJhbWUuYXZp LmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfUkdCOwo+Pj4+Pj4gKwo+Pj4+Pj4gICAgIAlk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCZmcmFtZS5hdmksIG1vZGUsCj4+Pj4+ PiAgICAgCQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3JhbmdlID8KPj4+Pj4+ICAg ICAJCQkJCSAgIEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQgOgo+Pj4+Pj4gQEAgLTUx Miw2ICs1MzgsNyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0KQo+Pj4+Pj4gICAgIAlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24g PSAmaW50ZWxfZGlnX3BvcnQtPmxzcGNvbjsKPj4+Pj4+ICAgICAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+Pj4+Pj4gICAgIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4+Pj4+PiArCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFz ZTsKPj4+Pj4+ICAgICAKPj4+Pj4+ICAgICAJaWYgKCFIQVNfTFNQQ09OKGRldl9wcml2KSkgewo+ Pj4+Pj4gICAgIAkJRFJNX0VSUk9SKCJMU1BDT04gaXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBs YXRmb3JtXG4iKTsKPj4+Pj4+IEBAIC01MzYsNiArNTYzLDcgQEAgYm9vbCBsc3Bjb25faW5pdChz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKPj4+Pj4+ICAgICAJCXJl dHVybiBmYWxzZTsKPj4+Pj4+ICAgICAJfQo+Pj4+Pj4gICAgIAo+Pj4+Pj4gKwljb25uZWN0b3It PnljYmNyXzQyMF9hbGxvd2VkID0gdHJ1ZTsKPj4+Pj4+ICAgICAJbHNwY29uLT5hY3RpdmUgPSB0 cnVlOwo+Pj4+Pj4gICAgIAlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7 Cj4+Pj4+PiAgICAgCXJldHVybiB0cnVlOwo+Pj4+Pj4gLS0gCj4+Pj4+PiAyLjcuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==