From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v8 2/2] drm/i915: Attach colorspace property and enable modeset Date: Tue, 29 Jan 2019 18:39:00 +0200 Message-ID: <20190129163900.GF20097@intel.com> References: <1548777176-16783-1-git-send-email-uma.shankar@intel.com> <1548777176-16783-3-git-send-email-uma.shankar@intel.com> <20190129154356.GB20097@intel.com> <20190129160356.GD20097@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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Shankar, Uma" Cc: "Syrjala, Ville" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Lankhorst, Maarten" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKYW4gMjksIDIwMTkgYXQgMDQ6MjA6MzlQTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBWaWxsZSBT eXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+U2VudDog VHVlc2RheSwgSmFudWFyeSAyOSwgMjAxOSA5OjM0IFBNCj4gPlRvOiBTaGFua2FyLCBVbWEgPHVt YS5zaGFua2FyQGludGVsLmNvbT4KPiA+Q2M6IGVtaWwubC52ZWxpa292QGdtYWlsLmNvbTsgaW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgU3lyamFsYSwgVmlsbGUKPiA+PHZpbGxlLnN5 cmphbGFAaW50ZWwuY29tPjsgTGFua2hvcnN0LCBNYWFydGVuIDxtYWFydGVuLmxhbmtob3JzdEBp bnRlbC5jb20+Owo+ID5kcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPlN1YmplY3Q6 IFJlOiBbdjggMi8yXSBkcm0vaTkxNTogQXR0YWNoIGNvbG9yc3BhY2UgcHJvcGVydHkgYW5kIGVu YWJsZSBtb2Rlc2V0Cj4gPgo+ID5PbiBUdWUsIEphbiAyOSwgMjAxOSBhdCAwMzo1NzoyOVBNICsw MDAwLCBTaGFua2FyLCBVbWEgd3JvdGU6Cj4gPj4KPiA+Pgo+ID4+ID4tLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQo+ID4+ID5Gcm9tOiBkcmktZGV2ZWwgW21haWx0bzpkcmktZGV2ZWwtYm91bmNl c0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uCj4gPj4gPkJlaGFsZiBPZiBWaWxsZSBTeXJqw6Rs w6QKPiA+PiA+U2VudDogVHVlc2RheSwgSmFudWFyeSAyOSwgMjAxOSA5OjE0IFBNCj4gPj4gPlRv OiBTaGFua2FyLCBVbWEgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiA+PiA+Q2M6IGVtaWwubC52 ZWxpa292QGdtYWlsLmNvbTsgaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsKPiA+PiA+ U3lyamFsYSwgVmlsbGUgPHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPjsgTGFua2hvcnN0LCBNYWFy dGVuCj4gPj4gPjxtYWFydGVuLmxhbmtob3JzdEBpbnRlbC5jb20+OyBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPj4gPlN1YmplY3Q6IFJlOiBbdjggMi8yXSBkcm0vaTkxNTogQXR0 YWNoIGNvbG9yc3BhY2UgcHJvcGVydHkgYW5kIGVuYWJsZQo+ID4+ID5tb2Rlc2V0Cj4gPj4gPgo+ ID4+ID5PbiBUdWUsIEphbiAyOSwgMjAxOSBhdCAwOToyMjo1NlBNICswNTMwLCBVbWEgU2hhbmth ciB3cm90ZToKPiA+PiA+PiBUaGlzIHBhdGNoIGF0dGFjaGVzIHRoZSBjb2xvcnNwYWNlIGNvbm5l Y3RvciBwcm9wZXJ0eSB0byB0aGUgaGRtaQo+ID4+ID4+IGNvbm5lY3Rvci4gQmFzZWQgb24gY29s b3JzcGFjZSBjaGFuZ2UsIG1vZGVzZXQgd2lsbCBiZSB0cmlnZ2VyZWQgdG8KPiA+PiA+PiBzd2l0 Y2ggdG8gbmV3IGNvbG9yc3BhY2UuCj4gPj4gPj4KPiA+PiA+PiBCYXNlZCBvbiBjb2xvcnNwYWNl IHByb3BlcnR5IHZhbHVlIGNyZWF0ZSBhbiBpbmZvZnJhbWUgd2l0aAo+ID4+ID4+IGFwcHJvcHJp YXRlIGNvbG9yc3BhY2UuIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2VuZCBhbiBpbmZvZnJhbWUKPiA+ PiA+PiBwYWNrZXQgd2l0aCBwcm9wZXIgY29sb3JzcGFjZSB2YWx1ZSBzZXQgd2hpY2ggd2lsbCBo ZWxwIHRvIGVuYWJsZQo+ID4+ID4+IHdpZGVyIGNvbG9yIGdhbXV0IGxpa2UgQlQyMDIwIG9uIHNp bmsuCj4gPj4gPj4KPiA+PiA+PiBUaGlzIHBhdGNoIGF0dGFjaGVzIGFuZCBlbmFibGVzIEhETUkg Y29sb3JzcGFjZSwgRFAgd2lsbCBiZSB0YWtlbgo+ID4+ID4+IGNhcmUgc2VwYXJhdGVseS4KPiA+ PiA+Pgo+ID4+ID4+IHYyOiBNZXJnZWQgdGhlIGNoYW5nZXMgb2YgY3JlYXRpbmcgaW5mb2ZyYW1l IGFzIHdlbGwgdG8gdGhpcyBwYXRjaAo+ID4+ID4+IGFzIHBlciBNYWFydGVuJ3Mgc3VnZ2VzdGlv bi4KPiA+PiA+Pgo+ID4+ID4+IHYzOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gU2hh c2hhbmsuIFNlcGFyYXRlZCBIRE1JIGFuZCBEUAo+ID4+ID4+IGNvbG9yc3BhY2VzIGFzIHN1Z2dl c3RlZCBieSBWaWxsZSBhbmQgTWFhcnRlbi4KPiA+PiA+Pgo+ID4+ID4+IHY0OiBBZGRyZXNzZWQg Q2hyaXMgYW5kIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLCBhbmQgY3JlYXRlZCBhCj4gPj4gPj4g Y29tbW9uIGNvbG9yc3BhY2UgcHJvcGVydHkgZm9yIERQIGFuZCBIRE1JLCBmaWx0ZXJlZCB0aGUg bGlzdCBiYXNlZAo+ID4+ID4+IG9uIHRoZSBjb2xvcnNwYWNlcyBzdXBwb3J0ZWQgYnkgdGhlIHJl c3BlY3RpdmUgcHJvdG9jb2wgc3RhbmRhcmQuCj4gPj4gPj4gSGFuZGxlIHRoZSBkZWZhdWx0IGNh c2UgcHJvcGVybHkuCj4gPj4gPj4KPiA+PiA+PiB2NTogQWRkZWQgUGxhdGZvcm0gc3BlY2lmaWMg Y29sb3JzcGFjZSBlbnVtcyBhbmQgY2FsbGVkIHRoZQo+ID4+ID4+IHByb3BlcnR5IGNyZWF0aW9u IGhlbHBlciB1c2luZyB0aGUgc2FtZS4KPiA+PiA+Pgo+ID4+ID4+IHY2OiBBZGRyZXNzZWQgU2hh c2hhbmsncyByZXZpZXcgY29tbWVudHMuCj4gPj4gPj4KPiA+PiA+PiB2NzogUmViYXNlCj4gPj4g Pj4KPiA+PiA+PiB2ODogQWRkcmVzc2VkIE1hYXJ0ZW4ncyByZXZpZXcgY29tbWVudHMuCj4gPj4g Pj4KPiA+PiA+PiBTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwu Y29tPgo+ID4+ID4+IFJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+Cj4gPj4gPj4gLS0tCj4gPj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F0b21pYy5jICAgIHwgIDEgKwo+ID4+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb25uZWN0b3IuYyB8IDYzCj4gPj4gPisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPiA+PiA+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgfCAgMSAr Cj4gPj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICAgIHwgMjQgKysr KysrKysrKysrKwo+ID4+ID4+ICA0IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKykKPiA+ PiA+Pgo+ID4+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9t aWMuYwo+ID4+ID4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiA+PiA+ PiBpbmRleCAxNjI2M2FkLi43NmI3MTE0IDEwMDY0NAo+ID4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gPj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXRvbWljLmMKPiA+PiA+PiBAQCAtMTI0LDYgKzEyNCw3IEBAIGludCBpbnRlbF9k aWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfY2hlY2soc3RydWN0Cj4gPj4gPmRybV9jb25uZWN0b3Ig KmNvbm4sCj4gPj4gPj4gIAkgKi8KPiA+PiA+PiAgCWlmIChuZXdfY29ubl9zdGF0ZS0+Zm9yY2Vf YXVkaW8gIT0gb2xkX2Nvbm5fc3RhdGUtPmZvcmNlX2F1ZGlvIHx8Cj4gPj4gPj4gIAkgICAgbmV3 X2Nvbm5fc3RhdGUtPmJyb2FkY2FzdF9yZ2IgIT0KPiA+PiA+PiBvbGRfY29ubl9zdGF0ZS0+YnJv YWRjYXN0X3JnYgo+ID4+ID4+IHx8Cj4gPj4gPj4gKwkgICAgbmV3X3N0YXRlLT5jb2xvcnNwYWNl ICE9IG9sZF9zdGF0ZS0+Y29sb3JzcGFjZSB8fAo+ID4+ID4+ICAJICAgIG5ld19jb25uX3N0YXRl LT5iYXNlLnBpY3R1cmVfYXNwZWN0X3JhdGlvICE9IG9sZF9jb25uX3N0YXRlLQo+ID4+ID4+YmFz ZS5waWN0dXJlX2FzcGVjdF9yYXRpbyB8fAo+ID4+ID4+ICAJICAgIG5ld19jb25uX3N0YXRlLT5i YXNlLmNvbnRlbnRfdHlwZSAhPSBvbGRfY29ubl9zdGF0ZS0KPiA+PiA+PmJhc2UuY29udGVudF90 eXBlIHx8Cj4gPj4gPj4gIAkgICAgbmV3X2Nvbm5fc3RhdGUtPmJhc2Uuc2NhbGluZ19tb2RlICE9 Cj4gPj4gPj4gb2xkX2Nvbm5fc3RhdGUtPmJhc2Uuc2NhbGluZ19tb2RlKQo+ID4+ID4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb25uZWN0b3IuYwo+ID4+ID4+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29ubmVjdG9yLmMKPiA+PiA+PiBpbmRleCBlZTE2 NzU4Li45YTEyZDVlIDEwMDY0NAo+ID4+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Nvbm5lY3Rvci5jCj4gPj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29ubmVjdG9yLmMKPiA+PiA+PiBAQCAtMzAsNiArMzAsNDggQEAKPiA+PiA+PiAgI2luY2x1ZGUg ImludGVsX2Rydi5oIgo+ID4+ID4+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiA+PiA+Pgo+ID4+ ID4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBnZW4xMF9oZG1pX2Nv bG9yc3BhY2VzW10gPSB7Cj4gPj4gPj4gKwkvKiBGb3IgRGVmYXVsdCBjYXNlLCBkcml2ZXIgd2ls bCBzZXQgdGhlIGNvbG9yc3BhY2UgKi8KPiA+PiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllf REVGQVVMVCwgIkRlZmF1bHQiIH0sCj4gPj4gPj4gKwkvKiBTdGFuZGFyZCBEZWZpbml0aW9uIENv bG9yaW1ldHJ5IGJhc2VkIG9uIENFQSA4NjEgKi8KPiA+PiA+PiArCXsgRFJNX01PREVfQ09MT1JJ TUVUUllfSVRVXzYwMSwgIklUVV82MDEiIH0sCj4gPj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1F VFJZX0lUVV83MDksICJJVFVfNzA5IiB9LAo+ID4+ID4+ICsJLyogU3RhbmRhcmQgRGVmaW5pdGlv biBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCj4gPj4gPj4gKwl7IERSTV9N T0RFX0NPTE9SSU1FVFJZX1hWX1lDQ182MDEsICJYVl9ZQ0NfNjAxIiB9LAo+ID4+ID4+ICsJLyog SGlnaCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQgKi8KPiA+ PiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfWFZfWUNDXzcwOSwgIlhWX1lDQ183MDkiIH0s Cj4gPj4gPj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi0xL0FtZW5kbWVu dCAxICovCj4gPj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1NfWUNDXzYwMSwgIlNfWUND XzYwMSIgfSwKPiA+PiA+PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTUg WzMzXSAqLwo+ID4+ID4+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlDQ182MDEsICJvcFlD Q182MDEiIH0sCj4gPj4gPj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi01 ICovCj4gPj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCLCAib3BSR0IiIH0sCj4g Pj4gPj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIwICovCj4gPj4gPj4g Kwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9SR0IsICJCVDIwMjBfUkdCIiB9LAo+ID4+ ID4+ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLwo+ID4+ID4+ICsJ eyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfWUNDLCAiQlQyMDIwX1lDQyIgfSwKPiA+PiA+ PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElUVS1SIEJULjIwMjAgKi8KPiA+PiA+PiArCXsg RFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX0NZQ0MsICJCVDIwMjBfQ1lDQyIgfSwgfTsKPiA+ PiA+PiArCj4gPj4gPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGxl Z2FjeV9oZG1pX2NvbG9yc3BhY2VzW10gPSB7Cj4gPj4gPj4gKwkvKiBGb3IgRGVmYXVsdCBjYXNl LCBkcml2ZXIgd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgKi8KPiA+PiA+PiArCXsgRFJNX01PREVf Q09MT1JJTUVUUllfREVGQVVMVCwgIkRlZmF1bHQiIH0sCj4gPj4gPj4gKwkvKiBTdGFuZGFyZCBE ZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIENFQSA4NjEgKi8KPiA+PiA+PiArCXsgRFJN X01PREVfQ09MT1JJTUVUUllfSVRVXzYwMSwgIklUVV82MDEiIH0sCj4gPj4gPj4gKwl7IERSTV9N T0RFX0NPTE9SSU1FVFJZX0lUVV83MDksICJJVFVfNzA5IiB9LAo+ID4+ID4+ICsJLyogU3RhbmRh cmQgRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCj4gPj4g Pj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWX1lDQ182MDEsICJYVl9ZQ0NfNjAxIiB9LAo+ ID4+ID4+ICsJLyogSGlnaCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2 Ni0yLTQgKi8KPiA+PiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfWFZfWUNDXzcwOSwgIlhW X1lDQ183MDkiIH0sCj4gPj4gPj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYt Mi0xL0FtZW5kbWVudCAxICovCj4gPj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1NfWUND XzYwMSwgIlNfWUNDXzYwMSIgfSwKPiA+PiA+PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElF QyA2MTk2Ni0yLTUgWzMzXSAqLwo+ID4+ID4+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlD Q182MDEsICJvcFlDQ182MDEiIH0sCj4gPj4gPj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJ RUMgNjE5NjYtMi01ICovCj4gPj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCLCAi b3BSR0IiIH0sIH07Cj4gPj4gPgo+ID4+ID5XaHkgYXJlIHdlIGR1cGxpY2F0aW5nIHRoZXNlIGlu IHRoZSBkcml2ZXIgY29kZT8gQW5kIHdoeSBkbyB3ZSBoYXZlCj4gPj4gPmRpZmZlcmVudCBzZXRz IGZvciBnZW4xMCBhbmQgb2xkZXI/Cj4gPj4KPiA+PiBUaGlzIGlzIHRvIGV4cG9zZSBjb2xvcnNw YWNlcyB3aGljaCBhIHBhcnRpY3VsYXIgcGxhdGZvcm1zIHN1cHBvcnRzCj4gPj4gaW5zdGVhZCBv ZiBnaXZpbmcgZnVsbCBIRE1JIHByb3RvY29sIHN1cHBvcnRlZCBsaXN0IGFzIHNvbWUgcGxhdGZv cm1zIG1heSBub3QKPiA+c3VwcG9ydCBhbGwgb2YgaXQuCj4gPj4KPiA+PiBIZXJlLCBCVDIwMjAg c3VwcG9ydCBpcyBhZGRlZCBmb3IgR2VuMTAgb253YXJkcywgd2hpbGUgb2xkZXIgcGxhdGZvcm1z Cj4gPj4gc3VwcG9ydCBhbGwgIHRoZSByZXN0IGFwYXJ0IGZyb20gQlQyMDIwLgo+ID4KPiA+VGhp cyBpcyBqdXN0IGFib3V0IHRoZSBpbmZvZnJhbWUuIEkgZG9uJ3QgdGhpbmsgd2UgaGF2ZSBhbnkg cGxhdGZvcm0gbGltaXRhdGlvbnMKPiA+dGhlcmUuCj4gCj4gQlQyMDIwIGlzIG5vdCBzdXBwb3J0 ZWQgb24gbGVnYWN5IHBsYXRmb3JtcyBzbyB3ZSB0aG91Z2h0IHRvIG5vdCBleHBvc2UgdGhpcwo+ IGhlcmUgYXMgd2VsbCwgZWxzZSBpdCBtYXkgbGVhZCB0byBjb25mdXNpb24uCgpOb3RoaW5nIHBy ZXZlbnRzIHlvdSBmcm9tIHNjYW5uaW5nIG91dCBCVC4yMDIwIGNvbnRlbnQgZXZlbiBvbiBhIGdl bjIuCgo+IE5vdCBzdXJlIHdoYXQncyB0aGUgYmVzdCBhcHByb2FjaCBoZXJlLgo+IEVhcmxpZXIg aXQgd2FzIGRvbmUgd2l0aG91dCBhbnkgcGxhdGZvcm0gY2hlY2tzIGluIHY0Lgo+IAo+IElmIHlv dSBzdWdnZXN0IHRvIGV4cG9zZSBhbGwgSERNSSBzdXBwb3J0ZWQgY29sb3JzcGFjZXMsIEkgd2ls bCBtYWtlIHRoZSBjaGFuZ2UgYW5kCj4gdXBkYXRlIHRoaXMgc2VyaWVzLiBXaGF0IGRvIHlvdSBy ZWNvbW1lbmQgPwo+IAo+IFJlZ2FyZHMsCj4gVW1hIFNoYW5rYXIKPiAKPiA+Pgo+ID4+IEZvciBz aW5rIHN1cHBvcnRlZCBjb2xvcnNwYWNlcywgdXNlcnNwYWNlIHdpbGwgcmV0cmlldmUgaXQgZnJv bSBFRElECj4gPj4gYW5kIHNldCB0aGUgY29sb3JzcGFjZSB3aGljaCBpcyBzdXBwb3J0ZWQgYnkg Ym90aCBwbGF0Zm9ybSBhcyB3ZWxsIGFzIHNpbmsuCj4gPj4KPiA+PiBSZWdhcmRzLAo+ID4+IFVt YSBTaGFua2FyCj4gPj4KPiA+PiA+PiArCj4gPj4gPj4gIGludCBpbnRlbF9jb25uZWN0b3JfaW5p dChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpICB7Cj4gPj4gPj4gIAlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7IEBAIC0yNjUsMwo+ID4+ ID4+ICszMDcsMjQgQEAgaW50IGludGVsX2RkY19nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+PiA+PiAgCQkJY29ubmVjdG9yLT5kZXYtPm1vZGVfY29uZmlnLmFz cGVjdF9yYXRpb19wcm9wZXJ0eSwKPiA+PiA+PiAgCQkJRFJNX01PREVfUElDVFVSRV9BU1BFQ1Rf Tk9ORSk7Cj4gPj4gPj4gIH0KPiA+PiA+PiArCj4gPj4gPj4gK3ZvaWQKPiA+PiA+PiAraW50ZWxf YXR0YWNoX2NvbG9yc3BhY2VfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikgewo+ID4+ID4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ ID4+ID4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+ID4+ID4+ICsKPiA+PiA+PiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7Cj4g Pj4gPj4gKwkJaWYgKCFkcm1fbW9kZV9jcmVhdGVfY29sb3JzcGFjZV9wcm9wZXJ0eShjb25uZWN0 b3IsCj4gPj4gPj4gKwkJCWdlbjEwX2hkbWlfY29sb3JzcGFjZXMsCj4gPj4gPj4gKwkJCUFSUkFZ X1NJWkUoZ2VuMTBfaGRtaV9jb2xvcnNwYWNlcykpKQo+ID4+ID4+ICsJCQlkcm1fb2JqZWN0X2F0 dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAo+ID4+ID4+ICsJCQkJY29ubmVjdG9yLT5j b2xvcnNwYWNlX3Byb3BlcnR5LCAwKTsKPiA+PiA+PiArCX0gZWxzZSB7Cj4gPj4gPj4gKwkJaWYg KCFkcm1fbW9kZV9jcmVhdGVfY29sb3JzcGFjZV9wcm9wZXJ0eShjb25uZWN0b3IsCj4gPj4gPj4g KwkJCWxlZ2FjeV9oZG1pX2NvbG9yc3BhY2VzLAo+ID4+ID4+ICsJCQlBUlJBWV9TSVpFKGxlZ2Fj eV9oZG1pX2NvbG9yc3BhY2VzKSkpCj4gPj4gPj4gKwkJCWRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5KCZjb25uZWN0b3ItPmJhc2UsCj4gPj4gPj4gKwkJCQljb25uZWN0b3ItPmNvbG9yc3BhY2Vf cHJvcGVydHksIDApOwo+ID4+ID4+ICsJfQo+ID4+ID4+ICt9Cj4gPj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gPj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ID4+IGluZGV4IDg1YjkxM2UuLjUxNzhhOWEgMTAwNjQ0 Cj4gPj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ID4+IEBAIC0xNzgzLDYg KzE3ODMsNyBAQCBpbnQgaW50ZWxfY29ubmVjdG9yX3VwZGF0ZV9tb2RlcyhzdHJ1Y3QKPiA+PiA+ PiBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsICB2b2lkCj4gPj4gPj4gaW50ZWxfYXR0YWNoX2Zv cmNlX2F1ZGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4+ ID4+IHZvaWQgaW50ZWxfYXR0YWNoX2Jyb2FkY2FzdF9yZ2JfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IKPiA+PiA+PiAqY29ubmVjdG9yKTsgIHZvaWQgaW50ZWxfYXR0YWNoX2FzcGVjdF9y YXRpb19wcm9wZXJ0eShzdHJ1Y3QKPiA+PiA+PiBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ ID4+ID4+ICt2b2lkIGludGVsX2F0dGFjaF9jb2xvcnNwYWNlX3Byb3BlcnR5KHN0cnVjdCBkcm1f Y29ubmVjdG9yCj4gPj4gPj4gKypjb25uZWN0b3IpOwo+ID4+ID4+Cj4gPj4gPj4gIC8qIGludGVs X2Nzci5jICovCj4gPj4gPj4gIHZvaWQgaW50ZWxfY3NyX3Vjb2RlX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKik7IGRpZmYgLS1naXQKPiA+PiA+PiBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hkbWkuYwo+ID4+ID4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gPj4gPj4gaW5kZXggOTdhOThlMS4uOWVkMDBlMyAxMDA2NDQKPiA+PiA+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+PiA+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+PiA+PiBAQCAtNDk4LDYgKzQ5OCwyNCBAQCBzdGF0aWMg dm9pZAo+ID4+ID4+IGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0Cj4gPj4gPmlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPj4gPj4gIAllbHNlCj4gPj4gPj4gIAkJZnJhbWUuYXZp LmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfUkdCOwo+ID4+ID4+Cj4gPj4gPj4gKwlpZiAo Y29ubl9zdGF0ZS0+Y29sb3JzcGFjZSA9PSBEUk1fTU9ERV9DT0xPUklNRVRSWV9ERUZBVUxUKSB7 Cj4gPj4gPj4gKwkJLyogU2V0IElUVSA3MDkgYXMgZGVmYXVsdCBmb3IgSERNSSAqLwo+ID4+ID4+ ICsJCWZyYW1lLmF2aS5jb2xvcmltZXRyeSA9IERSTV9NT0RFX0NPTE9SSU1FVFJZX0lUVV83MDk7 Cj4gPj4gPj4gKwl9IGVsc2UgaWYgKGNvbm5fc3RhdGUtPmNvbG9yc3BhY2UgPAo+ID4+ID5EUk1f TU9ERV9DT0xPUklNRVRSWV9YVl9ZQ0NfNjAxKSB7Cj4gPj4gPj4gKwkJZnJhbWUuYXZpLmNvbG9y aW1ldHJ5ID0gY29ubl9zdGF0ZS0+Y29sb3JzcGFjZTsKPiA+PiA+PiArCX0gZWxzZSB7Cj4gPj4g Pj4gKwkJZnJhbWUuYXZpLmNvbG9yaW1ldHJ5ID0gSERNSV9DT0xPUklNRVRSWV9FWFRFTkRFRDsK PiA+PiA+PiArCQkvKgo+ID4+ID4+ICsJCSAqIFN0YXJ0aW5nIGZyb20gZXh0ZW5kZWQgbGlzdCB3 aGVyZSBDT0xPUklNRVRSWV9YVl9ZQ0NfNjAxCj4gPj4gPj4gKwkJICogaXMgdGhlIGZpcnN0IGV4 dGVuZGVkIG1vZGUgYW5kIGl0cyB2YWx1ZSBpcyAwIGFzIHBlciBIRE1JCj4gPj4gPj4gKwkJICog c3BlY2lmaWNhdGlvbi4KPiA+PiA+PiArCQkgKiBUT0RPOiBUaGlzIG5lZWRzIHRvIGJlIGV4dGVu ZGVkIGZvciBMU1BDT04gaW1wbGVtZW50YXRpb24KPiA+PiA+PiArCQkgKiBhcyB3ZWxsLiBXaWxs IGJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkuCj4gPj4gPj4gKwkJICovCj4gPj4gPj4gKwkJZnJh bWUuYXZpLmV4dGVuZGVkX2NvbG9yaW1ldHJ5ID0gY29ubl9zdGF0ZS0+Y29sb3JzcGFjZSAtCj4g Pj4gPj4gKwkJCURSTV9NT0RFX0NPTE9SSU1FVFJZX1hWX1lDQ182MDE7Cj4gPj4gPj4gKwl9Cj4g Pj4gPj4gKwo+ID4+ID4+ICAJZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9xdWFudF9yYW5nZSgmZnJh bWUuYXZpLAo+ID4+ID4+ICAJCQkJCSAgIGNvbm5fc3RhdGUtPmNvbm5lY3RvciwKPiA+PiA+PiAg CQkJCQkgICBhZGp1c3RlZF9tb2RlLAo+ID4+ID4+IEBAIC0yMTQzLDEwICsyMTYxLDE2IEBAIHN0 YXRpYyB2b2lkIGludGVsX2hkbWlfZGVzdHJveShzdHJ1Y3QKPiA+PiA+PiBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpICBpbnRlbF9oZG1pX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdAo+ID4+ID4+IGlu dGVsX2hkbWkgKmludGVsX2hkbWksIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpICB7 Cj4gPj4gPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNv bm5lY3Rvci0+ZGV2KTsKPiA+PiA+PiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0KPiA+PiA+PiArCQkJCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRtaSk7Cj4g Pj4gPj4KPiA+PiA+PiAgCWludGVsX2F0dGFjaF9mb3JjZV9hdWRpb19wcm9wZXJ0eShjb25uZWN0 b3IpOwo+ID4+ID4+ICAJaW50ZWxfYXR0YWNoX2Jyb2FkY2FzdF9yZ2JfcHJvcGVydHkoY29ubmVj dG9yKTsKPiA+PiA+PiAgCWludGVsX2F0dGFjaF9hc3BlY3RfcmF0aW9fcHJvcGVydHkoY29ubmVj dG9yKTsKPiA+PiA+PiArCS8qIEF0dGFjaCBDb2xvcnNwYWNlIHByb3BlcnR5IGZvciBOb24gTFNQ Q09OIGJhc2VkIGRldmljZSAqLwo+ID4+ID4+ICsJaWYgKCFpbnRlbF9kaWdfcG9ydC0+bHNwY29u LmFjdGl2ZSkKPiA+PiA+PiArCQlpbnRlbF9hdHRhY2hfY29sb3JzcGFjZV9wcm9wZXJ0eShjb25u ZWN0b3IpOwo+ID4+ID4+ICsKPiA+PiA+PiAgCWRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRf dHlwZV9wcm9wZXJ0eShjb25uZWN0b3IpOwo+ID4+ID4+ICAJY29ubmVjdG9yLT5zdGF0ZS0+cGlj dHVyZV9hc3BlY3RfcmF0aW8gPQo+ID4+ID5IRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPj4g Pj4KPiA+PiA+PiAtLQo+ID4+ID4+IDEuOS4xCj4gPj4gPj4KPiA+PiA+PiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4+ID4+IGRyaS1kZXZlbCBtYWls aW5nIGxpc3QKPiA+PiA+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gPj4g aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK PiA+PiA+Cj4gPj4gPi0tCj4gPj4gPlZpbGxlIFN5cmrDpGzDpAo+ID4+ID5JbnRlbAo+ID4+ID5f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4+ID5kcmkt ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPj4gPmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiA+PiA+aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwKPiA+Cj4gPi0tCj4gPlZpbGxlIFN5cmrDpGzDpAo+ID5JbnRlbAoKLS0gClZpbGxlIFN5 cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK