From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v11 1/4] drm: Add HDMI colorspace property Date: Tue, 5 Feb 2019 20:13:07 +0200 Message-ID: <20190205181307.GV20097@intel.com> References: <1549382617-8951-1-git-send-email-uma.shankar@intel.com> <1549382617-8951-2-git-send-email-uma.shankar@intel.com> <20190205163133.GS20097@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: "intel-gfx@lists.freedesktop.org" , "Syrjala, Ville" , "Lankhorst, Maarten" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBGZWIgMDUsIDIwMTkgYXQgMDU6MzI6MTZQTSArMDAwMCwgU2hhbmthciwgVW1hIHdy b3RlOgo+IAo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBWaWxsZSBT eXJqw6Rsw6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+U2VudDog VHVlc2RheSwgRmVicnVhcnkgNSwgMjAxOSAxMDowMiBQTQo+ID5UbzogU2hhbmthciwgVW1hIDx1 bWEuc2hhbmthckBpbnRlbC5jb20+Cj4gPkNjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnOyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBTeXJqYWxhLCBWaWxsZQo+ID48 dmlsbGUuc3lyamFsYUBpbnRlbC5jb20+OyBMYW5raG9yc3QsIE1hYXJ0ZW4gPG1hYXJ0ZW4ubGFu a2hvcnN0QGludGVsLmNvbT4KPiA+U3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFt2MTEgMS80XSBk cm06IEFkZCBIRE1JIGNvbG9yc3BhY2UgcHJvcGVydHkKPiA+Cj4gPk9uIFR1ZSwgRmViIDA1LCAy MDE5IGF0IDA5OjMzOjM0UE0gKzA1MzAsIFVtYSBTaGFua2FyIHdyb3RlOgo+ID4+IENyZWF0ZSBh IG5ldyBjb25uZWN0b3IgcHJvcGVydHkgdG8gcHJvZ3JhbSBjb2xvcnNwYWNlIHRvIHNpbmsgZGV2 aWNlcy4KPiA+PiBNb2Rlcm4gc2luayBkZXZpY2VzIHN1cHBvcnQgbW9yZSB0aGFuIDEgdHlwZSBv ZiBjb2xvcnNwYWNlIGxpa2UgNjAxLAo+ID4+IDcwOSwgQlQyMDIwIGV0Yy4gVGhpcyBoZWxwcyB0 byBzd2l0Y2ggYmFzZWQgb24gY29udGVudCB0eXBlIHdoaWNoIGlzCj4gPj4gdG8gYmUgZGlzcGxh eWVkLiBUaGUgZGVjaXNpb24gbGllcyB3aXRoIGNvbXBvc2l0b3JzIGFzIHRvIGluIHdoaWNoCj4g Pj4gc2NlbmFyaW9zLCBhIHBhcnRpY3VsYXIgY29sb3JzcGFjZSB3aWxsIGJlIHBpY2tlZC4KPiA+ Pgo+ID4+IFRoaXMgd2lsbCBiZSBoZWxwZnVsIG1vc3RseSB0byBzd2l0Y2ggdG8gaGlnaGVyIGdh bXV0IGNvbG9yc3BhY2VzIGxpa2UKPiA+PiBCVDIwMjAgd2hlbiB0aGUgbWVkaWEgY29udGVudCBp cyBlbmNvZGVkIGFzIEJUMjAyMC4gVGhlcmVieSBnaXZpbmcgYQo+ID4+IGdvb2QgdmlzdWFsIGV4 cGVyaWVuY2UgdG8gdXNlcnMuCj4gPj4KPiA+PiBUaGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3Bh Y2UgaXMgdGhhdCBpdCBzaG91bGQgcGFyc2UgdGhlIEVESUQgYW5kCj4gPj4gZ2V0IHN1cHBvcnRl ZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0aGUgb25lCj4g Pj4gc3VwcG9ydGVkLiBTaW5rIHN1cHBvcnRlZCBjb2xvcnNwYWNlcyBzaG91bGQgYmUgcmV0cmll dmVkIGJ5IHVzZXJzcGFjZQo+ID4+IGZyb20gRURJRCBhbmQgZHJpdmVyIHdpbGwgbm90IGV4cGxp Y2l0bHkgZXhwb3NlIHRoZW0uCj4gPj4KPiA+PiBCYXNpY2FsbHkgdGhlIGV4cGVjdGF0aW9uIGZy b20gdXNlcnNwYWNlIGlzOgo+ID4+ICAtIFNldCB1cCBDUlRDIERFR0FNTUEvQ1RNL0dBTU1BIHRv IGNvbnZlcnQgdG8gc29tZSBzaW5rCj4gPj4gICAgY29sb3JzcGFjZQo+ID4+ICAtIFNldCB0aGlz IG5ldyBwcm9wZXJ0eSB0byBsZXQgdGhlIHNpbmsga25vdyB3aGF0IGl0Cj4gPj4gICAgY29udmVy dGVkIHRoZSBDUlRDIG91dHB1dCB0by4KPiA+Pgo+ID4+IHYyOiBBZGRyZXNzZWQgTWFhcnRlbiBh bmQgVmlsbGUncyByZXZpZXcgY29tbWVudHMuIEVuaGFuY2VkIHRoZQo+ID4+IGNvbG9yc3BhY2Ug ZW51bSB0byBpbmNvcnBvcmF0ZSBib3RoIEhETUkgYW5kIERQIHN1cHBvcnRlZCBjb2xvcnNwYWNl cy4KPiA+PiBBbHNvLCBhZGRlZCBhIGRlZmF1bHQgb3B0aW9uIGZvciBjb2xvcnNwYWNlLgo+ID4+ Cj4gPj4gdjM6IFJlbW92ZWQgQWRvYmUgcmVmZXJlbmNlcyBmcm9tIGVudW0gZGVmaW5pdGlvbnMg YXMgcGVyIFZpbGxlLCBIYW5zCj4gPj4gVmVya3VpbCBhbmQgSm9uYXMgS2FybG1hbiBzdWdnZXN0 aW9ucy4gQ2hhbmdlZCBEZWZhdWx0IHRvIGFuIHVuc2V0Cj4gPj4gc3RhdGUgd2hlcmUgZHJpdmVy IHdpbGwgYXNzaWduIHRoZSBjb2xvcnNwYWNlIGlzIG5vdCBjaG9zZW4gYnkgdXNlciwKPiA+PiBz dWdnZXN0ZWQgYnkgVmlsbGUgYW5kIE1hYXJ0ZW4uIEFkZHJlc3NlZCBvdGhlciBtaXNjIHJldmll dyBjb21tZW50cwo+ID4+IGZyb20gTWFhcnRlbi4gU3BsaXQgdGhlIGNoYW5nZXMgdG8gaGF2ZSBz ZXBhcmF0ZSBjb2xvcnNwYWNlIHByb3BlcnR5Cj4gPj4gZm9yIERQIGFuZCBIRE1JLgo+ID4+Cj4g Pj4gdjQ6IEFkZHJlc3NlZCBDaHJpcyBhbmQgVmlsbGUncyByZXZpZXcgY29tbWVudHMsIGFuZCBj cmVhdGVkIGEgY29tbW9uCj4gPj4gY29sb3JzcGFjZSBwcm9wZXJ0eSBmb3IgRFAgYW5kIEhETUks IGZpbHRlcmVkIHRoZSBsaXN0IGJhc2VkIG9uIHRoZQo+ID4+IGNvbG9yc3BhY2VzIHN1cHBvcnRl ZCBieSB0aGUgcmVzcGVjdGl2ZSBwcm90b2NvbCBzdGFuZGFyZC4KPiA+Pgo+ID4+IHY1OiBNYWRl IHRoZSBwcm9wZXJ0eSBjcmVhdGlvbiBoZWxwZXIgYWNjZXB0IGVudW0gbGlzdCBiYXNlZCBvbgo+ ID4+IHBsYXRmb3JtIGNhcGFiaWx0aWVzIGFzIHN1Z2dlc3RlZCBieSBTaGFzaGFuay4gQ29uc29s aWRhdGVkIEhETUkgYW5kCj4gPj4gRFAgcHJvcGVydHkgY3JlYXRpb24gaW4gdGhlIGNvbW1vbiBo ZWxwZXIuCj4gPj4KPiA+PiB2NjogQWRkcmVzc2VkIFNoYXNoYW5rJ3MgcmV2aWV3IGNvbW1lbnRz Lgo+ID4+Cj4gPj4gdjc6IEFkZGVkIGRlZmluZXMgaW5zdGVhZCBvZiBlbnVtIGluIHVhcGkgYXMg cGVyIEJyaWFuIFN0YXJrZXkncwo+ID4+IHN1Z2dlc3Rpb24gaW4gb3JkZXIgdG8gZ28gd2l0aCBz dHJpbmcgbWF0Y2hpbmcgYXQgdXNlcnNwYWNlLiBVcGRhdGVkCj4gPj4gdGhlIGNvbW1pdCBtZXNz YWdlIHRvIGFkZCBtb3JlIGRldGFpbHMgYXMgd2VsbCBrZXJuZWwgZG9jcy4KPiA+Pgo+ID4+IHY4 OiBBZGRyZXNzZWQgTWFhcnRlbidzIHJldmlldyBjb21tZW50cy4KPiA+Pgo+ID4+IHY5OiBSZW1v dmVkIG1hY3JvIGRlZmluZXMgZnJvbSB1YXBpIGFzIHBlciBCcmlhbiBTdGFya2V5IGFuZCBEYW5p ZWwKPiA+PiBTdG9uZSdzIGNvbW1lbnRzIGFuZCBtb3ZlZCB0byBkcm0gaW5jbHVkZSBmaWxlLiBN b3ZlZCBiYWNrIHRvIG9sZGVyCj4gPj4gZGVzaWduIHdpdGggZXhwb3NpbmcgYWxsIEhETUkgY29s b3JzcGFjZXMgdG8gdXNlcnNwYWNlIHNpbmNlIGluZm9mcmFtZQo+ID4+IGNhcGFiaWxpdHkgaXMg dGhlcmUgZXZlbiBvbiBsZWdhY3kgcGxhdGZvcm1zLCBhcyBwZXIgVmlsbGUncyByZXZpZXcKPiA+ PiBjb21tZW50cy4KPiA+Pgo+ID4+IHYxMDogRml4ZWQgc3BhcnNlIHdhcm5pbmdzLCB1cGRhdGVk IHRoZSBSQiBmcm9tIE1hYXJ0ZW4gYW5kIEphbmkncyBhY2suCj4gPj4KPiA+PiB2MTE6IEFkZHJl c3NlZCBWaWxsZSdzIHJldmlldyBjb21tZW50cy4gVXBkYXRlZCB0aGUgTWFjcm8gbmFtaW5nIGFu ZAo+ID4+IGFkZGVkIERDSS1QMyBjb2xvcnNwYWNlIGFzIHdlbGwgZGVmaW5lZCBpbiBDRUEgODYx Lkcgc3BlYy4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmth ckBpbnRlbC5jb20+Cj4gPj4gQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRl bC5jb20+Cj4gPj4gUmV2aWV3ZWQtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1h QGludGVsLmNvbT4KPiA+PiBSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+PiAtLS0KPiA+PiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfdWFwaS5jIHwgIDQgKysKPiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYyAgIHwgNzgKPiA+KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Cj4gPj4gIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICB8IDUwICsrKysrKysrKysr KysrKysrKysrKysrKysKPiA+PiAgMyBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKQo+ ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ ID4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPj4gaW5kZXggOWExZjQx YS4uOWI1ZDQ0ZiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+PiBA QCAtNzQ2LDYgKzc0Niw4IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3By b3BlcnR5KHN0cnVjdAo+ID5kcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gIAkJCXJldHVy biAtRUlOVkFMOwo+ID4+ICAJCX0KPiA+PiAgCQlzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uID0g dmFsOwo+ID4+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2Vf cHJvcGVydHkpIHsKPiA+PiArCQlzdGF0ZS0+Y29sb3JzcGFjZSA9IHZhbDsKPiA+PiAgCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRfcHJvcGVydHkpIHsKPiA+ PiAgCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAo ZGV2LAo+ID5OVUxMLCB2YWwpOwo+ID4+ICAJCWludCByZXQgPSBkcm1fYXRvbWljX3NldF93cml0 ZWJhY2tfZmJfZm9yX2Nvbm5lY3RvcihzdGF0ZSwKPiA+ZmIpOyBAQAo+ID4+IC04MTQsNiArODE2 LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0 Cj4gPmRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+PiAgCQkqdmFsID0gc3RhdGUtPnBpY3R1 cmVfYXNwZWN0X3JhdGlvOwo+ID4+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmNv bnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4+ICAJCSp2YWwgPSBzdGF0ZS0+Y29udGVudF90eXBl Owo+ID4+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJv cGVydHkpIHsKPiA+PiArCQkqdmFsID0gc3RhdGUtPmNvbG9yc3BhY2U7Cj4gPj4gIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7Cj4gPj4g IAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21vZGU7Cj4gPj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbm5lY3Rvci0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7Cj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+PiBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMgaW5kZXggODQ3NTM5Ni4uNDMwOTg3MyAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4+IEBAIC04MjYsNiArODI2LDMzIEBAIGludCBkcm1f ZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1Y3QKPiA+PiBkcm1fZGlzcGxheV9pbmZv ICppbmZvLCAgfTsKPiA+PiBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfY29udGVudF9wcm90ZWN0 aW9uX25hbWUsCj4gPmRybV9jcF9lbnVtX2xpc3QpCj4gPj4KPiA+PiArc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgaGRtaV9jb2xvcnNwYWNlc1tdID0gewo+ID4+ICsJLyog Rm9yIERlZmF1bHQgY2FzZSwgZHJpdmVyIHdpbGwgc2V0IHRoZSBjb2xvcnNwYWNlICovCj4gPj4g Kwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQsICJEZWZhdWx0IiB9LAo+ID4+ICsJLyog U3RhbmRhcmQgRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBDRUEgODYxICovCj4gPj4g Kwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1NNUFRFXzE3ME0sICJTTVBURV8xNzBNIiB9LAo+ID4+ ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDcwOSwgIkJUNzA5IiB9LAo+ID4+ICsJLyogU3Rh bmRhcmQgRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCj4g Pj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWWUNDXzYwMSwgIlhWWUNDXzYwMSIgfSwKPiA+ PiArCS8qIEhpZ2ggRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00 ICovCj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWWUNDXzcwOSwgIlhWWUNDXzcwOSIg fSwKPiA+PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTEvQW1lbmRtZW50 IDEgKi8KPiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfU1lDQ182MDEsICJTWUNDXzYwMSIg fSwKPiA+PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTUgWzMzXSAqLwo+ ID4+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlDQ182MDEsICJvcFlDQ182MDEiIH0sCj4g Pj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi01ICovCj4gPj4gKwl7IERS TV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCLCAib3BSR0IiIH0sCj4gPj4gKwkvKiBDb2xvcmltZXRy eSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIwICovCj4gPj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZ X0JUMjAyMF9ZQ0MsICJCVDIwMjBfWUNDIiB9LAo+ID4+ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQg b24gSVRVLVIgQlQuMjAyMCAqLwo+ID4+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBf UkdCLCAiQlQyMDIwX1JHQiIgfSwKPiA+PiArCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElUVS1S IEJULjIwMjAgKi8KPiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX0NZQ0MsICJC VDIwMjBfQ1lDQyIgfSwKPiA+PiArCS8qIEFkZGVkIGFzIHBhcnQgb2YgQWRkaXRpb25hbCBDb2xv cmltZXRyeSBFeHRlbnNpb24gaW4gODYxLkcgKi8KPiA+PiArCXsgRFJNX01PREVfQ09MT1JJTUVU UllfRENJX1AzX1JHQl9ENjUsICJEQ0ktUDNfUkdCX0Q2NSIgfSwKPiA+PiArCXsgRFJNX01PREVf Q09MT1JJTUVUUllfRENJX1AzX1JHQl9USEVBVEVSLCAiRENJLQo+ID5QM19SR0JfVGhlYXRlciIg fSwKPiA+PiArfTsKPiA+PiArCj4gPj4gIC8qKgo+ID4+ICAgKiBET0M6IHN0YW5kYXJkIGNvbm5l Y3RvciBwcm9wZXJ0aWVzCj4gPj4gICAqCj4gPj4gQEAgLTE1NDgsNiArMTU3NSw1NyBAQCBpbnQK PiA+PiBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gPj4gRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlv X3Byb3BlcnR5KTsKPiA+Pgo+ID4+ICAvKioKPiA+PiArICogRE9DOiBzdGFuZGFyZCBjb25uZWN0 b3IgcHJvcGVydGllcwo+ID4+ICsgKgo+ID4+ICsgKiBDb2xvcnNwYWNlOgo+ID4+ICsgKiAgICAg ZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkgLSBjcmVhdGUgY29sb3JzcGFjZSBw cm9wZXJ0eQo+ID4+ICsgKiAgICAgVGhpcyBwcm9wZXJ0eSBoZWxwcyBzZWxlY3QgYSBzdWl0YWJs ZSBjb2xvcnNwYWNlIGJhc2VkIG9uIHRoZSBzaW5rCj4gPj4gKyAqICAgICBjYXBhYmlsaXR5LiBN b2Rlcm4gc2luayBkZXZpY2VzIHN1cHBvcnQgd2lkZXIgZ2FtdXQgbGlrZSBCVDIwMjAuCj4gPj4g KyAqICAgICBUaGlzIGhlbHBzIHN3aXRjaCB0byBCVDIwMjAgbW9kZSBpZiB0aGUgQlQyMDIwIGVu Y29kZWQgdmlkZW8gc3RyZWFtCj4gPj4gKyAqICAgICBpcyBiZWluZyBwbGF5ZWQgYnkgdGhlIHVz ZXIsIHNhbWUgZm9yIGFueSBvdGhlciBjb2xvcnNwYWNlLiBUaGVyZWJ5Cj4gPj4gKyAqICAgICBn aXZpbmcgYSBnb29kIHZpc3VhbCBleHBlcmllbmNlIHRvIHVzZXJzLgo+ID4+ICsgKgo+ID4+ICsg KiAgICAgVGhlIGV4cGVjdGF0aW9uIGZyb20gdXNlcnNwYWNlIGlzIHRoYXQgaXQgc2hvdWxkIHBh cnNlIHRoZSBFRElECj4gPj4gKyAqICAgICBhbmQgZ2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4g VXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0aGUKPiA+PiArICogICAgIG9uZSBzdXBw b3J0ZWQuIFNpbmsgc3VwcG9ydGVkIGNvbG9yc3BhY2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkK PiA+PiArICogICAgIHVzZXJzcGFjZSBmcm9tIEVESUQgYW5kIGRyaXZlciB3aWxsIG5vdCBleHBs aWNpdGx5IGV4cG9zZSB0aGVtLgo+ID4+ICsgKgo+ID4+ICsgKiAgICAgQmFzaWNhbGx5IHRoZSBl eHBlY3RhdGlvbiBmcm9tIHVzZXJzcGFjZSBpczoKPiA+PiArICogICAgICAtIFNldCB1cCBDUlRD IERFR0FNTUEvQ1RNL0dBTU1BIHRvIGNvbnZlcnQgdG8gc29tZSBzaW5rCj4gPj4gKyAqICAgICAg ICBjb2xvcnNwYWNlCj4gPj4gKyAqICAgICAgLSBTZXQgdGhpcyBuZXcgcHJvcGVydHkgdG8gbGV0 IHRoZSBzaW5rIGtub3cgd2hhdCBpdAo+ID4+ICsgKiAgICAgICAgY29udmVydGVkIHRoZSBDUlRD IG91dHB1dCB0by4KPiA+PiArICogICAgICAtIFRoaXMgcHJvcGVydHkgaXMganVzdCB0byBpbmZv cm0gc2luayB3aGF0IGNvbG9yc3BhY2UKPiA+PiArICogICAgICAgIHNvdXJjZSBpcyB0cnlpbmcg dG8gZHJpdmUuCj4gPj4gKyAqCj4gPj4gKyAqIENhbGxlZCBieSBhIGRyaXZlciB0aGUgZmlyc3Qg dGltZSBpdCdzIG5lZWRlZCwgbXVzdCBiZSBhdHRhY2hlZCB0bwo+ID4+ICtkZXNpcmVkCj4gPj4g KyAqIGNvbm5lY3RvcnMuCj4gPj4gKyAqLwo+ID4+ICtpbnQgZHJtX21vZGVfY3JlYXRlX2NvbG9y c3BhY2VfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IKPiA+PiArKmNvbm5lY3Rvcikgewo+ ID4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Owo+ID4+ICsJc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKPiA+PiArCj4gPj4gKwlpZiAoY29ubmVjdG9yLT5jb25u ZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEgfHwKPiA+PiArCSAgICBjb25u ZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQikgewo+ID4+ ICsJCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LAo+ID5EUk1fTU9ERV9QUk9Q X0VOVU0sCj4gPj4gKwkJCQkJCSJDb2xvcnNwYWNlIiwKPiA+PiArCQkJCQkJaGRtaV9jb2xvcnNw YWNlcywKPiA+PiArCj4gPglBUlJBWV9TSVpFKGhkbWlfY29sb3JzcGFjZXMpKTsKPiA+PiArCQlp ZiAoIXByb3ApCj4gPj4gKwkJCXJldHVybiAtRU5PTUVNOwo+ID4+ICsJfSBlbHNlIHsKPiA+PiAr CQlEUk1fREVCVUdfS01TKCJDb2xvcnNwYWNlIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWRcbiIpOwo+ ID4+ICsJCXJldHVybiAwOwo+ID4+ICsJfQo+ID4+ICsKPiA+PiArCWNvbm5lY3Rvci0+Y29sb3Jz cGFjZV9wcm9wZXJ0eSA9IHByb3A7Cj4gPj4gKwo+ID4+ICsJcmV0dXJuIDA7Cj4gPj4gK30KPiA+ PiArRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jcmVhdGVfY29sb3JzcGFjZV9wcm9wZXJ0eSk7Cj4g Pj4gKwo+ID4+ICsvKioKPiA+PiAgICogZHJtX21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9w ZXJ0eSAtIGNyZWF0ZSBjb250ZW50IHR5cGUgcHJvcGVydHkKPiA+PiAgICogQGRldjogRFJNIGRl dmljZQo+ID4+ICAgKgo+ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9y LmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+PiBpbmRleCA5OTQxNjEzLi41OGRi NjZlIDEwMDY0NAo+ID4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4+IEBAIC0yNTMsNiArMjUzLDQyIEBA IGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIHsKPiA+PiAgCURSTV9NT0RFX1BBTkVMX09SSUVO VEFUSU9OX1JJR0hUX1VQLAo+ID4+ICB9Owo+ID4+Cj4gPj4gKy8qCj4gPj4gKyAqIFRoaXMgaXMg YSBjb25zb2xpZGF0ZWQgY29sb3JpbWV0cnkgbGlzdCBzdXBwb3J0ZWQgYnkgSERNSSBhbmQKPiA+ PiArICogRFAgcHJvdG9jb2wgc3RhbmRhcmQuIFRoZSByZXNwZWN0aXZlIGNvbm5lY3RvcnMgd2ls bCByZWdpc3Rlcgo+ID4+ICsgKiBhIHByb3BlcnR5IHdpdGggdGhlIHN1YnNldCBvZiB0aGlzIGxp c3QgKHN1cHBvcnRlZCBieSB0aGF0Cj4gPj4gKyAqIHJlc3BlY3RpdmUgcHJvdG9jb2wpLiBVc2Vy c3BhY2Ugd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgdGhyb3VnaAo+ID4+ICsgKiBhIGNvbG9yc3Bh Y2UgcHJvcGVydHkgd2hpY2ggd2lsbCBiZSBjcmVhdGVkIGFuZCBleHBvc2VkIHRvCj4gPj4gKyAq IHVzZXJzcGFjZS4KPiA+PiArICovCj4gPj4gKwo+ID4+ICsvKiBGb3IgRGVmYXVsdCBjYXNlLCBk cml2ZXIgd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgKi8KPiA+PiArI2RlZmluZSBEUk1fTU9ERV9D T0xPUklNRVRSWV9ERUZBVUxUCQkJMAo+ID4+ICsvKiBDRUEgODYxIE5vcm1hbCBDb2xvcmltZXRy eSBvcHRpb25zICovCj4gPj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfTk9fREFUQQkJ CTAKPiA+PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9TTVBURV8xNzBNCQkJMQo+ID4+ ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUNzA5CQkJMgo+ID4KPiA+U3RpbGwgbWlz c2luZyB0aGUgWUNiQ3IgaW5mb3JtYXRpb24gaW4gdGhlc2UgdHdvLgo+IAo+IEFzIHBlciBDVEEg ODYxLkcgc3BlYywgd2UgaGF2ZSB0aGVzZSBhcyBvbmx5IFNNUFRFXzE3ME0gYW5kIElUVS1SIEJU NzA5LAo+IHdpdGggbm8gc3BlY2lmaWMgbWVudGlvbiBvZiBSR0Igb3IgWUNiQ3IuIEhlbmNlLCBr ZXB0IGl0IGFzIHBlciBzcGVjLiBXZSBzZWVtCj4gdG8gaGF2ZSBhIGNvbW1vbiBmaWVsZCBmb3Ig Ym90aCBhcyBwZXIgQ1RBIHNwZWMuIENvcnJlY3QgbWUgaWYgbXkgdW5kZXJzdGFuZGluZwo+IGlz IHdyb25nLgoKQ2hlY2sKIlRhYmxlIDE0IFBpY3R1cmUgQ29sb3JpbWV0cnkgSW5kaWNhdGVkIGJ5 IHRoZSBSR0Igb3IgWUMgQiBDIFIgKFkpLAogQ29sb3JpbWV0cnkgKEMpIGFuZCBFeHRlbmRlZCBD b2xvcmltZXRyeSAoRUMpIEZpZWxkIFNldHRpbmdzIgoKPiAKPiA+Cj4gPj4gKy8qIENFQSA4NjEg RXh0ZW5kZWQgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ID4+ICsjZGVmaW5lIERSTV9NT0RFX0NP TE9SSU1FVFJZX1hWWUNDXzYwMQkJCTMKPiA+PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRS WV9YVllDQ183MDkJCQk0Cj4gPj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfU1lDQ182 MDEJCQk1Cj4gPj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfT1BZQ0NfNjAxCQkJNgo+ ID4+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCCQkJNwo+ID4+ICsjZGVmaW5l IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9ZQ0MJCQk4Cj4gPj4gKy8qIEJvdGggQlQyMDIw X1JHQiBhbmQgQlQyMDIwX1lDYkNiQ3IgaGF2ZSBzYW1lIHZhbHVlICovCj4gPj4gKyNkZWZpbmUg RFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1JHQgkJCTkKPiA+PiArI2RlZmluZSBEUk1fTU9E RV9DT0xPUklNRVRSWV9CVDIwMjBfQ1lDQwkJOQo+ID4KPiA+SSB0aG91Z2ggeW91IGRpZG4ndCB3 YW50IHRoZXNlIG51bWJlcnMgdG8gYmUgYmFzZWQgb24gdGhlIHNwZWMgbnVtYmVycz8gVGhpcwo+ ID5kdXBsaWNhdGVkIHZhbHVlIHNlZW1zIHRvIGdvIGFnYWluc3QgdGhhdCBpZGVhLgo+IAo+IFll YWgsIGZvciBIRE1JIHNvbWVob3cgd2FzIHRyeWluZyB0byB1dGlsaXplIHRoZSBkZWZpbml0aW9u cyB0byBhZHZhbnRhZ2UuIEJ1dCBJIGZlZWwsCj4gSXQncyBiZXR0ZXIgdG8gZGUtY291cGxlIHRo aXMuIERlZmluZSB0aGlzIGFzIG5vcm1hbCBlbnVtIHZhbHVlcyBzZXF1ZW50aWFsbHkgc28gdGhh dAo+IHVzZXJzcGFjZSBnZXQgcmVhZGFibGUgc2VyaWFsIG51bWJlciBraW5kIHZhbHVlcy4KPiBB bmQgdXNlIHRoZXNlIGluIGVuY29kZXIgZmlsZXMgdG8gZ2V0IHByb3BlciB2YWx1ZXMgdG8gYmUg cHJvZ3JhbW1lZCBhcyBwZXIgcmVzcGVjdGl2ZQo+IHNwZWMsIHdoaWxlIGRlZmluaW5nIHRob3Nl IHZhbHVlcyBwZXIgZW5jb2RlciBzZXBhcmF0ZWx5LiBIb3BlIHRoaXMgaXMgZmluZS4KPiAKPiA+ PiArLyogQWRkaXRpb25hbCBDb2xvcmltZXRyeSBleHRlbnNpb24gYWRkZWQgYXMgcGFydCBvZiBD VEEgODYxLkcgKi8KPiA+PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdC X0Q2NQkJMTAKPiA+PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdCX1RI RUFURVIJCTExCj4gPj4gKwo+ID4+ICsvKiBEUCBNU0EgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ ID4+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lDQkNSX0lUVV82MDEJCTEyCj4g Pj4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfWUNCQ1JfSVRVXzcwOQkJMTMKPiA+ Cj4gPlN0aWxsIGluY29uc2lzdGVudCBuYW1pbmcgaW4gbWFueSBwbGFjZXMgKElUVV8gdnMuIEJU LCBZQ0JDUiB2cy4gWUNDLCBvcmRlciBvZiB0aGUKPiA+dHdvKS4KPiAKPiBXaWxsIGZpeCB0aGlz LiBUaGFua3MgVmlsbGUuCj4gCj4gPgo+ID4+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1F VFJZX1NSR0IJCQkxNAo+ID4+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1JHQl9X SURFX0dBTVVUCQkxNQo+ID4+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1NDUkdC CQkJMTYKPiA+PiArCj4gPj4gIC8qKgo+ID4+ICAgKiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAt IHJ1bnRpbWUgZGF0YSBhYm91dCB0aGUgY29ubmVjdGVkIHNpbmsKPiA+PiAgICoKPiA+PiBAQCAt NTAzLDYgKzUzOSwxMyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPj4gIAl1bnNp Z25lZCBpbnQgY29udGVudF9wcm90ZWN0aW9uOwo+ID4+Cj4gPj4gIAkvKioKPiA+PiArCSAqIEBj b2xvcnNwYWNlOiBTdGF0ZSB2YXJpYWJsZSBmb3IgQ29ubmVjdG9yIHByb3BlcnR5IHRvIHJlcXVl c3QKPiA+PiArCSAqIGNvbG9yc3BhY2UgY2hhbmdlIG9uIFNpbmsuIFRoaXMgaXMgbW9zdCBjb21t b25seSB1c2VkIHRvIHN3aXRjaAo+ID4+ICsJICogdG8gd2lkZXIgY29sb3IgZ2FtdXRzIGxpa2Ug QlQyMDIwLgo+ID4+ICsJICovCj4gPj4gKwl1MzIgY29sb3JzcGFjZTsKPiA+PiArCj4gPj4gKwkv KioKPiA+PiAgCSAqIEB3cml0ZWJhY2tfam9iOiBXcml0ZWJhY2sgam9iIGZvciB3cml0ZWJhY2sg Y29ubmVjdG9ycwo+ID4+ICAJICoKPiA+PiAgCSAqIEhvbGRzIHRoZSBmcmFtZWJ1ZmZlciBhbmQg b3V0LWZlbmNlIGZvciBhIHdyaXRlYmFjayBjb25uZWN0b3IuIEFzCj4gPj4gQEAgLTk5NSw2ICsx MDM4LDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKPiA+PiAgCXN0cnVjdCBkcm1fcHJvcGVy dHkgKmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eTsKPiA+Pgo+ID4+ICAJLyoqCj4gPj4gKwkg KiBAY29sb3JzcGFjZV9wcm9wZXJ0eTogQ29ubmVjdG9yIHByb3BlcnR5IHRvIHNldCB0aGUgc3Vp dGFibGUKPiA+PiArCSAqIGNvbG9yc3BhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLgo+ID4+ICsJ ICovCj4gPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb2xvcnNwYWNlX3Byb3BlcnR5Owo+ID4+ ICsKPiA+PiArCS8qKgo+ID4+ICAJICogQHBhdGhfYmxvYl9wdHI6Cj4gPj4gIAkgKgo+ID4+ICAJ ICogRFJNIGJsb2IgcHJvcGVydHkgZGF0YSBmb3IgdGhlIERQIE1TVCBwYXRoIHByb3BlcnR5LiBU aGlzIHNob3VsZAo+ID4+IG9ubHkgQEAgLTEyNjksNiArMTMxOCw3IEBAIGludAo+ID4+IGRybV9j b25uZWN0b3JfYXR0YWNoX3Zycl9jYXBhYmxlX3Byb3BlcnR5KAo+ID4+ICBpbnQgZHJtX2Nvbm5l Y3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KAo+ID4+ICAJCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4+ICBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVj dF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiAraW50IGRybV9t b2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yCj4gPj4g Kypjb25uZWN0b3IpOwo+ID4+ICBpbnQgZHJtX21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+PiB2b2lkIGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfY29udGVudF90eXBlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUKPiA+KmZyYW1lLAo+ ID4+ICAJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZQo+ID4qY29ubl9zdGF0 ZSk7Cj4gPj4gLS0KPiA+PiAxLjkuMQo+ID4+Cj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPgo+ID4tLQo+ID5WaWxsZSBT eXJqw6Rsw6QKPiA+SW50ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==