From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v12 8/8] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Fri, 12 Oct 2018 21:37:00 +0300 Message-ID: <20181012183700.GU9144@intel.com> References: <1539325394-20788-1-git-send-email-shashank.sharma@intel.com> <1539325394-20788-8-git-send-email-shashank.sharma@intel.com> <20181012135845.GQ9144@intel.com> <62df36f5-6d79-f46f-da37-20972380f791@intel.com> <20181012180956.GT9144@intel.com> <475e5bce-5caf-3fe9-da59-4189616a5158@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 CB8126E49D for ; Fri, 12 Oct 2018 18:37:05 +0000 (UTC) Content-Disposition: inline In-Reply-To: <475e5bce-5caf-3fe9-da59-4189616a5158@intel.com> 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 T24gU2F0LCBPY3QgMTMsIDIwMTggYXQgMTI6MDI6MjVBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAxMC8xMi8yMDE4IDEx OjM5IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiBPbiBGcmksIE9jdCAxMiwgMjAxOCBh dCAxMToyMTo1NlBNICswNTMwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3RlOgo+ID4+IFJlZ2FyZHMK PiA+Pgo+ID4+IFNoYXNoYW5rCj4gPj4KPiA+Pgo+ID4+IE9uIDEwLzEyLzIwMTggNzoyOCBQTSwg VmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4+PiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAxMTo1 MzoxNEFNICswNTMwLCBTaGFzaGFuayBTaGFybWEgd3JvdGU6Cj4gPj4+PiBGcm9tOiBTaGFzaGFu ayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4+Pgo+ID4+Pj4g TFNQQ09OIGNoaXBzIGNhbiBnZW5lcmF0ZSBZQ0JDUiBvdXRwdXRzLCBpZiBhc2tlZCBuaWNlbHkg OikuCj4gPj4+Pgo+ID4+Pj4gSW4gb3JkZXIgdG8gZ2VuZXJhdGUgWUNCQ1IgNDoyOjAgb3V0cHV0 cywgYSBzb3VyY2UgbXVzdDoKPiA+Pj4+IC0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRvIExT UENPTgo+ID4+Pj4gLSBwcm9ncmFtIGNvbG9yIHNwYWNlIGFzIDQ6MjowIGluIEFWSSBpbmZvZnJh bWVzCj4gPj4+Pgo+ID4+Pj4gV2hlcmVhcyBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0cywgdGhlIHNv dXJjZSBtdXN0Ogo+ID4+Pj4gLSBzZW5kIFlDQkNSIDQ6NDo0IHNpZ25hbHMgdG8gTFNQQ09OCj4g Pj4+PiAtIHByb2dyYW0gY29sb3Igc3BhY2UgYXMgNDo0OjQgaW4gQVZJIGluZm9mcmFtZXMKPiA+ Pj4+Cj4gPj4+PiBTbyBmb3IgYm90aCA0OjI6MCBhcyB3ZWxsIGFzIDQ6NDo0IG91dHB1dHMsIHdl IGFyZSBkcml2aW5nIHRoZQo+ID4+Pj4gcGlwZSBmb3IgWUNCQ1IgNDo0OjQgb3V0cHV0LCBidXQg QVZJIGluZm9mcmFtZSdzIGNvbG9yIHNwYWNlCj4gPj4+PiBpbmZvcm1hdGlvbiBpbmRpY2F0ZXMg TFNQQ09OIEZXIHRvIHN0YXJ0IHNjYWxpbmcgZG93biBmcm9tIFlDQkNSCj4gPj4+PiA0OjQ6NCBh bmQgZ2VuZXJhdGUgWUNCQ1IgNDoyOjAgb3V0cHV0LiBBcyB0aGUgc2NhbGluZyBpcyBkb25lIGJ5 Cj4gPj4+PiBMU1BDT04gZGV2aWNlLCB3ZSBuZWVkIG5vdCB0byByZXNlcnZlIGEgc2NhbGVyIGZv ciA0OjI6MCBvdXRwdXRzLgo+ID4+Pj4KPiA+Pj4+IFYyOiByZWJhc2UKPiA+Pj4+IFYzOiBBZGRy ZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUKPiA+Pj4+ICAgICAgIC0gYWRkIGVudW0g Y3J0Y19vdXRwdXRfZm9ybWF0IGluc3RlYWQgb2YgYm9vbCB5Y2JjcjQyMAo+ID4+Pj4gICAgICAg LSB1c2UgY3J0Y19vdXRwdXRfZm9ybWF0PTQ6NDo0IGZvciBtb2Rlc2V0IG9mIExTUENPTiA0OjI6 MCBvdXRwdXQKPiA+Pj4+ICAgICAgICAgY2FzZXMgaW4gdGhpcyB3YXkgd2Ugd2lsbCBoYXZlIFlD QkNSIDQ6NDo0IGZyYW1ld29yayByZWFkeSAoZXhjZXB0Cj4gPj4+PiAgICAgICAgIHRoZSBBQkkg cGFydCkKPiA+Pj4+IFY0OiBBZGRlZCByLWIgZnJvbSBNYWFydGVuIChmb3IgdjMpCj4gPj4+PiAg ICAgICBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Cj4gPj4+PiAgICAgICAt IERvIG5vdCBhZGQgYSBub24tYXRvbWljIHN0YXRlIHZhcmlhYmxlIHRvIGRldGVybWluZSBsc3Bj b24gb3V0cHV0Lgo+ID4+Pj4gICAgICAgICBJbnN0ZWFkIGFkZCBib29sIGluIENSVEMgc3RhdGUg dG8gaW5kaWNhdGUgbHNwY29uIGJhc2VkIHNjYWxpbmcuCj4gPj4+PiBWNTogQWRkcmVzc2VkIHJl dmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgo+ID4+Pj4gICAgICAgLSBDaGFuZ2UgdGhlIHN0YXRl IGJvb2wgbmFtZSBmcm9tIGV4dGVybmFsIHNjYWxpbmcgdG8gc29tZXRoaW5nIG1vcmUKPiA+Pj4+ ICAgICAgICAgcmVsYXZlbnQuCj4gPj4+PiAgICAgICAtIEtlZXAgdGhlIGluZm8gYW5kIGFkanVz dGVkX21vZGUgc3RydWN0dXJlcyBjb25zdC4KPiA+Pj4+ICAgICAgIC0gdXNlIGNydGNfc3RhdGUg aW5zdGVhZCBvZiBwaXBlX2NvbmZpZy4KPiA+Pj4+ICAgICAgIC0gUHVzaCBhbGwgdGhlIGNvbmZp ZyBjaGFuZ2UgaW50byBsc3Bjb25feWNiY3I0MjBfY29uZmlnIGZ1bmN0aW9uLgo+ID4+Pj4gVjY6 IFJlYmFzZSwgc21hbGwgY2hhbmdlcyB0byBhY2NvbW1vZGF0ZSBjaGFuZ2VzIGluIHBhdGNoIDIu Cj4gPj4+PiBWNzogRml4ZWQgY2hlY2twYXRjaCB3YXJuaW5ncyBmb3IgYWxpZ25tZW50Cj4gPj4+ PiBWODogUmViYXNlCj4gPj4+Pgo+ID4+Pj4gICAgICAgUFM6IElnbm9yZWQgZm9sbG93aW5nIHdh cm5pbmdzIHRvIG1hdGNoIHRoZSBjdXJyZW50IGZvcm1hdHRpbmc6Cj4gPj4+PiAgICAgICBkcm0v aTkxNTogQWRkIFlDQkNSIDQ6MjowLzQ6NDo0IHN1cHBvcnQgZm9yIExTUENPTgo+ID4+Pj4gICAg ICAgIC06NTM6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJzw8 JyAoY3R4OlZ4VikKPiA+Pj4+ICAgICAgICM1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaDo4NzIxOgo+ID4+Pj4gICAgICAgKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElO R180NDQgICAgICAgICgyPDwxKQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCj4gPj4+PiAgICAgICAtOjU0OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMg cHJlZmVycmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0eDpWeFYpCj4gPj4+PiAgICAgICAjNTQ6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmg6ODcyMjoKPiA+Pj4+ICAgICAgICsj ZGVmaW5lICBUUkFOU19NU0FfQ0xSU1BfWUNCQ1IgICAgICAgICAoMjw8MykKPiA+Pj4+IFY5OiBS ZWJhc2UKPiA+Pj4+IFYxMDogUmViYXNlCj4gPj4+PiBWMTE6IFJlYmFzZQo+ID4+Pj4KPiA+Pj4+ IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Pj4+ IENjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t Pgo+ID4+Pj4gUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEg PHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gPj4+PiAtLS0KPiA+Pj4+ICAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICAyICsrCj4gPj4+PiAgICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgNyArKysrKysrCj4gPj4+PiAgICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMiArKysrKysrKysrKysKPiA+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICA0ICsrKysKPiA+Pj4+ICAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA1ICsrKysrCj4gPj4+PiAg ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYyAgfCAyNiArKysrKysrKysrKysr KysrKysrKysrKysrKwo+ID4+Pj4gICAgNiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCsp Cj4gPj4+Pgo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPj4+PiBpbmRleCAyMDc4NTQx Li4xZTEzZTUxIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ID4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4+Pj4g QEAgLTkyMjksNiArOTIyOSw4IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewo+ID4+Pj4gICAgI2Rl ZmluZSBUUkFOU19NU0FfTUlTQyh0cmFuKSBfTU1JT19UUkFOUzIodHJhbiwgX1RSQU5TQV9NU0Ff TUlTQykKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgI2RlZmluZSAgVFJBTlNfTVNBX1NZTkNfQ0xLCQko MSA8PCAwKQo+ID4+Pj4gKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQJCSgyIDw8IDEp Cj4gPj4+PiArI2RlZmluZSAgVFJBTlNfTVNBX0NMUlNQX1lDQkNSCQkoMiA8PCAzKQo+ID4+Pj4g ICAgI2RlZmluZSAgVFJBTlNfTVNBXzZfQlBDCQkoMCA8PCA1KQo+ID4+Pj4gICAgI2RlZmluZSAg VFJBTlNfTVNBXzhfQlBDCQkoMSA8PCA1KQo+ID4+Pj4gICAgI2RlZmluZSAgVFJBTlNfTVNBXzEw X0JQQwkJKDIgPDwgNSkKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4+PiBpbmRl eCBiZTIxMTMxLi4xODYxMTFhIDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCj4gPj4+PiBAQCAtMTc4NCw2ICsxNzg0LDEzIEBAIHZvaWQgaW50ZWxfZGRpX3NldF9waXBl X3NldHRpbmdzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4+ Pj4gICAgCQlicmVhazsKPiA+Pj4+ICAgIAl9Cj4gPj4+PiAgICAKPiA+Pj4+ICsJLyoKPiA+Pj4+ ICsJICogQXMgcGVyIERQIDEuMiBzcGVjIHNlY3Rpb24gMi4zLjQuMyB3aGlsZSBzZW5kaW5nCj4g Pj4+PiArCSAqIFlDQkNSIDQ0NCBzaWduYWxzIHdlIHNob3VsZCBwcm9ncmFtIE1TQSBNSVNDMS8w IGZpZWxkcyB3aXRoCj4gPj4+PiArCSAqIGNvbG9yc3BhY2UgaW5mb3JtYXRpb24uIFRoZSBvdXRw dXQgY29sb3JzcGFjZSBlbmNvZGluZyBpcyBCVDYwMS4KPiA+Pj4+ICsJICovCj4gPj4+PiArCWlm IChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0 NDQpCj4gPj4+PiArCQl0ZW1wIHw9IFRSQU5TX01TQV9TQU1QTElOR180NDQgfCBUUkFOU19NU0Ff Q0xSU1BfWUNCQ1I7Cj4gPj4+PiAgICAJSTkxNV9XUklURShUUkFOU19NU0FfTUlTQyhjcHVfdHJh bnNjb2RlciksIHRlbXApOwo+ID4+Pj4gICAgfQo+ID4+Pj4gICAgCj4gPj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4+PiBpbmRleCAzMzE3YzZjLi40MWFiZDAzIDEwMDY0 NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+Pj4+IEBAIC03 Nzk3LDYgKzc3OTcsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9nZXRfY3J0Y195Y2Jjcl9jb25maWco c3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPj4+PiAgICAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPj4+PiAgICAJZW51bSBp bnRlbF9vdXRwdXRfZm9ybWF0IG91dHB1dCA9IElOVEVMX09VVFBVVF9GT1JNQVRfUkdCOwo+ID4+ Pj4gICAgCj4gPj4+PiArCXBpcGVfY29uZmlnLT5sc3Bjb25fZG93bnNhbXBsaW5nID0gZmFsc2U7 Cj4gPj4+PiArCj4gPj4+PiAgICAJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPj4+PiAgICAJCXUzMiB0bXAgPSBJOTE1X1JFQUQoUElQ RU1JU0MoY3J0Yy0+cGlwZSkpOwo+ID4+Pj4gICAgCj4gPj4+PiBAQCAtNzgxNCw2ICs3ODE2LDE2 IEBAIHN0YXRpYyB2b2lkIGludGVsX2dldF9jcnRjX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKPiA+Pj4+ICAgIAkJCQllbHNlCj4gPj4+PiAgICAJCQkJCW91dHB1dCA9IElO VEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7Cj4gPj4+PiAgICAJCQl9IGVsc2Ugewo+ID4+Pj4g KwkJCQkvKgo+ID4+Pj4gKwkJCQkgKiBDdXJyZW50bHkgdGhlcmUgaXMgbm8gaW50ZXJmYWNlIGRl ZmluZWQgdG8KPiA+Pj4+ICsJCQkJICogY2hlY2sgdXNlciBwcmVmZXJlbmNlIGJldHdlZW4gUkdC L1lDQkNSNDQ0Cj4gPj4+PiArCQkJCSAqIG9yIFlDQkNSNDIwLiBTbyB0aGUgb25seSBwb3NzaWJs ZSBjYXNlIGZvcgo+ID4+Pj4gKwkJCQkgKiBZQ0JDUjQ0NCB1c2FnZSBpcyBkcml2aW5nIFlDQkNS NDIwIG91dHB1dAo+ID4+Pj4gKwkJCQkgKiB3aXRoIExTUENPTiwgd2hlbiBwaXBlIGlzIGNvbmZp Z3VyZWQgZm9yCj4gPj4+PiArCQkJCSAqIFlDQkNSNDQ0IG91dHB1dCBhbmQgTFNQQ09OIHRha2Vz IGNhcmUgb2YKPiA+Pj4+ICsJCQkJICogZG93bnNhbXBsaW5nIGl0Lgo+ID4+Pj4gKwkJCQkgKi8K PiA+Pj4+ICsJCQkJcGlwZV9jb25maWctPmxzcGNvbl9kb3duc2FtcGxpbmcgPSB0cnVlOwo+ID4+ Pj4gICAgCQkJCW91dHB1dCA9IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0NDQ7Cj4gPj4+PiAg ICAJCQl9Cj4gPj4+PiAgICAJCX0KPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4+Pj4g aW5kZXggYzNmNjMzMC4uMTE1NmQ1OSAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiA+Pj4+IEBAIC0yMDc0LDYgKzIwNzQsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+Pj4+ ICAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZp Zy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+ID4+Pj4gICAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwo+ID4+Pj4gKwlzdHJ1Y3QgaW50 ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50ZWxfbHNwY29uKCZlbmNvZGVyLT5iYXNlKTsK PiA+Pj4+ICAgIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Cj4gPj4+PiAgICAJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5i YXNlLmNydGMpOwo+ID4+Pj4gICAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5l Y3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7Cj4gPj4+PiBAQCAtMjA4Niw2ICsy MDg3LDkgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gPj4+PiAgICAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwo+ ID4+Pj4gICAgCj4gPj4+PiAgICAJcGlwZV9jb25maWctPm91dHB1dF9mb3JtYXQgPSBJTlRFTF9P VVRQVVRfRk9STUFUX1JHQjsKPiA+Pj4+ICsJaWYgKGxzcGNvbi0+YWN0aXZlKQo+ID4+Pj4gKwkJ bHNwY29uX3ljYmNyNDIwX2NvbmZpZygmaW50ZWxfY29ubmVjdG9yLT5iYXNlLCBwaXBlX2NvbmZp Zyk7Cj4gPj4+PiArCj4gPj4+PiAgICAJcGlwZV9jb25maWctPmhhc19kcnJzID0gZmFsc2U7Cj4g Pj4+PiAgICAJaWYgKElTX0c0WChkZXZfcHJpdikgfHwgcG9ydCA9PSBQT1JUX0EpCj4gPj4+PiAg ICAJCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPSBmYWxzZTsKPiA+Pj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4gPj4+PiBpbmRleCBiOGU1Zjk1Li45NWUyNTJlIDEwMDY0NAo+ID4+Pj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+Pj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4+PiBAQCAtOTA4LDYgKzkwOCw5IEBAIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgCS8qIE91dHB1dCBmb3Jt YXQgUkdCL1lDQkNSIGV0YyAqLwo+ID4+Pj4gICAgCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBv dXRwdXRfZm9ybWF0Owo+ID4+Pj4gKwo+ID4+Pj4gKwkvKiBPdXRwdXQgZG93biBzY2FsaW5nIGlz IGRvbmUgaW4gTFNQQ09OIGRldmljZSAqLwo+ID4+Pj4gKwlib29sIGxzcGNvbl9kb3duc2FtcGxp bmc7Cj4gPj4+PiAgICB9Owo+ID4+Pj4gICAgCj4gPj4+PiAgICBzdHJ1Y3QgaW50ZWxfY3J0YyB7 Cj4gPj4+PiBAQCAtMjIyNSw2ICsyMjI4LDggQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4+PiAgICAJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cj4gPj4+PiAgICBib29sIGxzcGNv bl9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+Pj4+ ICAgIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7 Cj4gPj4+PiArdm9pZCBsc3Bjb25feWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPj4+PiArCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKTsKPiA+Pj4+ICAgIAo+ID4+Pj4gICAgLyogaW50ZWxfcGlwZV9jcmMuYyAqLwo+ID4+ Pj4gICAgI2lmZGVmIENPTkZJR19ERUJVR19GUwo+ID4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHNwY29uLmMKPiA+Pj4+IGluZGV4IDgyOWM0MGEuLmZmZjMyYjMgMTAwNjQ0Cj4gPj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwo+ID4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPiA+Pj4+IEBAIC0xODAsNiArMTgwLDIxIEBA IHN0YXRpYyBib29sIGxzcGNvbl93YWtlX25hdGl2ZV9hdXhfY2goc3RydWN0IGludGVsX2xzcGNv biAqbHNwY29uKQo+ID4+Pj4gICAgCXJldHVybiB0cnVlOwo+ID4+Pj4gICAgfQo+ID4+Pj4gICAg Cj4gPj4+PiArdm9pZCBsc3Bjb25feWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPj4+PiArCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQo+ID4+Pj4gK3sKPiA+Pj4+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8g KmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gPj4+PiArCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KPiA+Pj4+ICsJCQkJCSZjcnRjX3N0YXRl LT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gPj4+PiArCj4gPj4+PiArCWlmIChkcm1fbW9kZV9pc180 MjBfb25seShpbmZvLCBhZGp1c3RlZF9tb2RlKSAmJgo+ID4+Pj4gKwkgICAgY29ubmVjdG9yLT55 Y2Jjcl80MjBfYWxsb3dlZCkgewo+ID4+Pj4gKwkJY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayAvPSAy Owo+ID4+PiBUaGlzIGxvb2tzIGJvZ3VzLiBXZSdyZSB0YWxraW5nIGFib3V0IERQIGhlcmUgc28g d2Ugc2hvdWxkIG5vdCBiZQo+ID4+PiBmcm9iYmluZyBwb3J0X2Nsb2NrLiBBbmQgc2luY2Ugd2Ug b3V0cHV0IDQ6NDo0IGZyb20gdGhlIHBvcnQKPiA+Pj4gYW55d2F5IHdlIGRvbid0IGV2ZW4gaGF2 ZSB0byB0YWtlIDQ6MjowIGludG8gY29uc2lkZXJhdGlvbgo+ID4+PiB3aGVuIGNhbGN1bGF0aW5n IHBvcnRfY2xvY2suCj4gPj4gSSBhZ3JlZSBvbiB0aGlzLgo+ID4+PiBBaCwgdGhpcyBndXkgaXMg Y2FsbGVkIGJlZm9yZSB3ZSBldmVuIGNhbGN1bGF0ZSBwb3J0X2Nsb2NrLgo+ID4+PiBUaGF0IGV4 cGxhaW5zIHdoeSB0aGlzIGRpZG4ndCBjYXVzZSBhbnkgcHJvYmxlbXMuIFNvIHRoaXMgaXMKPiA+ Pj4ganVzdCBkZWFkIGNvZGUgaGVyZS4KPiA+Pj4KPiA+Pj4gQW5kIGxvb2tzIGxpa2UgdGhlIHBv cnRfY2xvY2sgYWRqdXN0bWVudCBpbiBpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZygpCj4gPj4+ IGFsc28gZGVhZCBjb2RlIHNpbmNlIHRoZSBjYWxsZXIgb3ZlcndyaXRlcyBpdCB0aGVyZSBhcyB3 ZWxsLgo+ID4+IEkgYW0gbm90IHN1cmUgaWYgdGhhdCdzIHRoZSBjYXNlIGZvciBOYXRpdmUgSERN SSAyLjAuCj4gPj4gSW4gaW50ZWxfaGRtaV80MjBfY29uZmlnIHdlIGFyZSB1cGRhdGluZyB0aGUg Y29uZmlnLT5wb3J0X2Nsb2NrLCB3aGljaAo+ID4+IGlzIHRoZSBzYW1lIHRoaW5nIGJlaW5nIHVw ZGF0ZWQgZm9yIDgvMTIvMTYgQlBDIGRlZXAgY29sb3IgdG9vLCBqdXN0Cj4gPj4gYWZ0ZXIgdGhp cyBmdW5jdGlvbi4KPiA+PiBJIGhhdmUgdGVzdGVkIHRoZSBvdXRwdXQgd2l0aCBIRE1JIDIuMCBh bmFseXplciwgd2hpY2ggcmVwb3J0ZWQgcmlnaHQKPiA+PiBwaXhlbCBjbG9jayAoMjk3TWh6KS4g Tm93LCBhcyBhbnkgb2YgdGhlIHBvcnQgY2xvY2sgY2FsY3VsYXRpb25zIGRvIG5vdAo+ID4+IGdl dCBpbmZvcm1hdGlvbgo+ID4+IGFib3V0IEhETUkgb3V0cHV0IHR5cGUsIHRoZXJlIGlzIG5vIG90 aGVyIHdheSB0aGV5IHdpbGwgY2FsY3VsYXRlIHRoZQo+ID4+IHJpZ2h0IHBpeGVsIGNsb2NrICg1 OTQvMikgZm9yIDQ6MjowIG91dHB1dHMuIFNvIEkgYmVsaWV2ZSB0aGF0IGNvZGUgaXMKPiA+PiBh Y3RpdmUuCj4gPiBJdCBlZmZlY3RpdmVseSBkb2VzIHRoaXM6Cj4gPgo+ID4gMS4gcG9ydF9jbG9j ayA9IHdobyBrbm93cwo+ID4gMi4gcG9ydF9jbG9jayAvPSAyOwo+IEhlcmUsIGluIGludGVsX2hk bWlfY29tcHV0ZV95Y2Jjcl9jb25maWcoKSBmdW5jdGlvbiwgd2UgYXJlIGFkZGl0aW9uYWxseSAK PiBkb2luZyB0aGlzIGFsc286Cj4gCj4gY2xvY2tfOGJwYyAvPSAyOwo+IGNsb2NrXzEwYnBjIC89 IDI7Cj4gY2xvY2tfMTJicGMgLz0gMjsKPiAKPiA+IDMuIGlmICgxMmJwYykKPiA+ICAgICAJcG9y dF9jbG9jayA9IGNsb2NrXzEyYnBjOwo+ID4gICAgIGVsc2UgaWYgKDEwYnBjKQo+ID4gICAgIAlw b3J0X2Nsb2NrID0gY2xvY2tfMTBicGM7Cj4gPiAgICAgZWxzZQo+ID4gICAgIAlwb3J0X2Nsb2Nr ID0gY2xvY2tfOGJwYzsKPiBUaGlzIG1lYW5zIGVmZmVjdGl2ZWx5IHRoZSBzZWxlY3RlZCBjbG9j ayBpcyAvMiwgc28gdGhlIGNvZGUgaXMgbm90IGRlYWQgCj4gKHRoYW5rZnVsbHkgOi0pKQoKT25s eSB0aGUgcG9ydF9jbG9jay89MiBwYXJ0LiBJIG5ldmVyIGNsYWltZWQgdGhlIHJlc3Qgd2FzIGRl YWQuCgo+IC0gU2hhc2hhbmsKPiA+Cj4gPiBJZS4gc3RlcCAyLiBpcyBkZWFkIGNvZGUuCj4gPgo+ ID4+IC0gU2hhc2hhbmsKPiA+Pj4+ICsJCWNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPSBJTlRF TF9PVVRQVVRfRk9STUFUX1lDQkNSNDQ0Owo+ID4+Pj4gKwkJY3J0Y19zdGF0ZS0+bHNwY29uX2Rv d25zYW1wbGluZyA9IHRydWU7Cj4gPj4+PiArCX0KPiA+Pj4+ICt9Cj4gPj4+PiArCj4gPj4+PiAg ICBzdGF0aWMgYm9vbCBsc3Bjb25fcHJvYmUoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+ ID4+Pj4gICAgewo+ID4+Pj4gICAgCWludCByZXRyeTsKPiA+Pj4+IEBAIC00NjQsNiArNDc5LDE1 IEBAIHZvaWQgbHNwY29uX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+ID4+Pj4gICAgCQlyZXR1cm47Cj4gPj4+PiAgICAJfQo+ID4+Pj4gICAgCj4gPj4+PiAr CWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNC Q1I0NDQpIHsKPiA+Pj4+ICsJCWlmIChjcnRjX3N0YXRlLT5sc3Bjb25fZG93bnNhbXBsaW5nKQo+ ID4+Pj4gKwkJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQyMDsK PiA+Pj4+ICsJCWVsc2UKPiA+Pj4+ICsJCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09M T1JTUEFDRV9ZVVY0NDQ7Cj4gPj4+PiArCX0gZWxzZSB7Cj4gPj4+PiArCQlmcmFtZS5hdmkuY29s b3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9SR0I7Cj4gPj4+PiArCX0KPiA+Pj4+ICsKPiA+Pj4+ ICAgIAlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCZmcmFtZS5hdmksIG1vZGUs Cj4gPj4+PiAgICAJCQkJCSAgIGNydGNfc3RhdGUtPmxpbWl0ZWRfY29sb3JfcmFuZ2UgPwo+ID4+ Pj4gICAgCQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9MSU1JVEVEIDoKPiA+Pj4+IEBA IC01MTcsNiArNTQxLDcgQEAgYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCkKPiA+Pj4+ICAgIAlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bj b24gPSAmaW50ZWxfZGlnX3BvcnQtPmxzcGNvbjsKPiA+Pj4+ICAgIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Cj4gPj4+PiAgICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4+Pj4gKwlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmRwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJh c2U7Cj4gPj4+PiAgICAKPiA+Pj4+ICAgIAlpZiAoIUhBU19MU1BDT04oZGV2X3ByaXYpKSB7Cj4g Pj4+PiAgICAJCURSTV9FUlJPUigiTFNQQ09OIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0 Zm9ybVxuIik7Cj4gPj4+PiBAQCAtNTQxLDYgKzU2Niw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gPj4+PiAgICAJCXJldHVy biBmYWxzZTsKPiA+Pj4+ICAgIAl9Cj4gPj4+PiAgICAKPiA+Pj4+ICsJY29ubmVjdG9yLT55Y2Jj cl80MjBfYWxsb3dlZCA9IHRydWU7Cj4gPj4+PiAgICAJbHNwY29uLT5hY3RpdmUgPSB0cnVlOwo+ ID4+Pj4gICAgCURSTV9ERUJVR19LTVMoIlN1Y2Nlc3M6IExTUENPTiBpbml0XG4iKTsKPiA+Pj4+ ICAgIAlyZXR1cm4gdHJ1ZTsKPiA+Pj4+IC0tIAo+ID4+Pj4gMi43LjQKCi0tIApWaWxsZSBTeXJq w6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==