From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v10 1/3] drm: Add HDMI colorspace property Date: Mon, 4 Feb 2019 17:25:09 +0200 Message-ID: <20190204152509.GH20097@intel.com> References: <1548852866-32349-1-git-send-email-uma.shankar@intel.com> <1548852866-32349-2-git-send-email-uma.shankar@intel.com> <20190201185011.GB20097@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: <20190201185011.GB20097@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com, dri-devel@lists.freedesktop.org, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBGZWIgMDEsIDIwMTkgYXQgMDg6NTA6MTFQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgSmFuIDMwLCAyMDE5IGF0IDA2OjI0OjI0UE0gKzA1MzAsIFVtYSBT aGFua2FyIHdyb3RlOgo+ID4gQ3JlYXRlIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSB0byBwcm9n cmFtIGNvbG9yc3BhY2UgdG8gc2luawo+ID4gZGV2aWNlcy4gTW9kZXJuIHNpbmsgZGV2aWNlcyBz dXBwb3J0IG1vcmUgdGhhbiAxIHR5cGUgb2YKPiA+IGNvbG9yc3BhY2UgbGlrZSA2MDEsIDcwOSwg QlQyMDIwIGV0Yy4gVGhpcyBoZWxwcyB0byBzd2l0Y2gKPiA+IGJhc2VkIG9uIGNvbnRlbnQgdHlw ZSB3aGljaCBpcyB0byBiZSBkaXNwbGF5ZWQuIFRoZSBkZWNpc2lvbgo+ID4gbGllcyB3aXRoIGNv bXBvc2l0b3JzIGFzIHRvIGluIHdoaWNoIHNjZW5hcmlvcywgYSBwYXJ0aWN1bGFyCj4gPiBjb2xv cnNwYWNlIHdpbGwgYmUgcGlja2VkLgo+ID4gCj4gPiBUaGlzIHdpbGwgYmUgaGVscGZ1bCBtb3N0 bHkgdG8gc3dpdGNoIHRvIGhpZ2hlciBnYW11dCBjb2xvcnNwYWNlcwo+ID4gbGlrZSBCVDIwMjAg d2hlbiB0aGUgbWVkaWEgY29udGVudCBpcyBlbmNvZGVkIGFzIEJUMjAyMC4gVGhlcmVieQo+ID4g Z2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5jZSB0byB1c2Vycy4KPiA+IAo+ID4gVGhlIGV4 cGVjdGF0aW9uIGZyb20gdXNlcnNwYWNlIGlzIHRoYXQgaXQgc2hvdWxkIHBhcnNlIHRoZSBFRElE Cj4gPiBhbmQgZ2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5k IHN3aXRjaCB0byB0aGUKPiA+IG9uZSBzdXBwb3J0ZWQuIFNpbmsgc3VwcG9ydGVkIGNvbG9yc3Bh Y2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkKPiA+IHVzZXJzcGFjZSBmcm9tIEVESUQgYW5kIGRy aXZlciB3aWxsIG5vdCBleHBsaWNpdGx5IGV4cG9zZSB0aGVtLgo+ID4gCj4gPiBCYXNpY2FsbHkg dGhlIGV4cGVjdGF0aW9uIGZyb20gdXNlcnNwYWNlIGlzOgo+ID4gIC0gU2V0IHVwIENSVEMgREVH QU1NQS9DVE0vR0FNTUEgdG8gY29udmVydCB0byBzb21lIHNpbmsKPiA+ICAgIGNvbG9yc3BhY2UK PiA+ICAtIFNldCB0aGlzIG5ldyBwcm9wZXJ0eSB0byBsZXQgdGhlIHNpbmsga25vdyB3aGF0IGl0 Cj4gPiAgICBjb252ZXJ0ZWQgdGhlIENSVEMgb3V0cHV0IHRvLgo+ID4gCj4gPiB2MjogQWRkcmVz c2VkIE1hYXJ0ZW4gYW5kIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLiBFbmhhbmNlZAo+ID4gdGhl IGNvbG9yc3BhY2UgZW51bSB0byBpbmNvcnBvcmF0ZSBib3RoIEhETUkgYW5kIERQIHN1cHBvcnRl ZAo+ID4gY29sb3JzcGFjZXMuIEFsc28sIGFkZGVkIGEgZGVmYXVsdCBvcHRpb24gZm9yIGNvbG9y c3BhY2UuCj4gPiAKPiA+IHYzOiBSZW1vdmVkIEFkb2JlIHJlZmVyZW5jZXMgZnJvbSBlbnVtIGRl ZmluaXRpb25zIGFzIHBlcgo+ID4gVmlsbGUsIEhhbnMgVmVya3VpbCBhbmQgSm9uYXMgS2FybG1h biBzdWdnZXN0aW9ucy4gQ2hhbmdlZAo+ID4gRGVmYXVsdCB0byBhbiB1bnNldCBzdGF0ZSB3aGVy ZSBkcml2ZXIgd2lsbCBhc3NpZ24gdGhlIGNvbG9yc3BhY2UKPiA+IGlzIG5vdCBjaG9zZW4gYnkg dXNlciwgc3VnZ2VzdGVkIGJ5IFZpbGxlIGFuZCBNYWFydGVuLiBBZGRyZXNzZWQKPiA+IG90aGVy IG1pc2MgcmV2aWV3IGNvbW1lbnRzIGZyb20gTWFhcnRlbi4gU3BsaXQgdGhlIGNoYW5nZXMgdG8K PiA+IGhhdmUgc2VwYXJhdGUgY29sb3JzcGFjZSBwcm9wZXJ0eSBmb3IgRFAgYW5kIEhETUkuCj4g PiAKPiA+IHY0OiBBZGRyZXNzZWQgQ2hyaXMgYW5kIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLCBh bmQgY3JlYXRlZCBhCj4gPiBjb21tb24gY29sb3JzcGFjZSBwcm9wZXJ0eSBmb3IgRFAgYW5kIEhE TUksIGZpbHRlcmVkIHRoZSBsaXN0Cj4gPiBiYXNlZCBvbiB0aGUgY29sb3JzcGFjZXMgc3VwcG9y dGVkIGJ5IHRoZSByZXNwZWN0aXZlIHByb3RvY29sCj4gPiBzdGFuZGFyZC4KPiA+IAo+ID4gdjU6 IE1hZGUgdGhlIHByb3BlcnR5IGNyZWF0aW9uIGhlbHBlciBhY2NlcHQgZW51bSBsaXN0IGJhc2Vk IG9uCj4gPiBwbGF0Zm9ybSBjYXBhYmlsdGllcyBhcyBzdWdnZXN0ZWQgYnkgU2hhc2hhbmsuIENv bnNvbGlkYXRlZCBIRE1JCj4gPiBhbmQgRFAgcHJvcGVydHkgY3JlYXRpb24gaW4gdGhlIGNvbW1v biBoZWxwZXIuCj4gPiAKPiA+IHY2OiBBZGRyZXNzZWQgU2hhc2hhbmsncyByZXZpZXcgY29tbWVu dHMuCj4gPiAKPiA+IHY3OiBBZGRlZCBkZWZpbmVzIGluc3RlYWQgb2YgZW51bSBpbiB1YXBpIGFz IHBlciBCcmlhbiBTdGFya2V5J3MKPiA+IHN1Z2dlc3Rpb24gaW4gb3JkZXIgdG8gZ28gd2l0aCBz dHJpbmcgbWF0Y2hpbmcgYXQgdXNlcnNwYWNlLiBVcGRhdGVkCj4gPiB0aGUgY29tbWl0IG1lc3Nh Z2UgdG8gYWRkIG1vcmUgZGV0YWlscyBhcyB3ZWxsIGtlcm5lbCBkb2NzLgo+ID4gCj4gPiB2ODog QWRkcmVzc2VkIE1hYXJ0ZW4ncyByZXZpZXcgY29tbWVudHMuCj4gPiAKPiA+IHY5OiBSZW1vdmVk IG1hY3JvIGRlZmluZXMgZnJvbSB1YXBpIGFzIHBlciBCcmlhbiBTdGFya2V5IGFuZCBEYW5pZWwK PiA+IFN0b25lJ3MgY29tbWVudHMgYW5kIG1vdmVkIHRvIGRybSBpbmNsdWRlIGZpbGUuIE1vdmVk IGJhY2sgdG8gb2xkZXIKPiA+IGRlc2lnbiB3aXRoIGV4cG9zaW5nIGFsbCBIRE1JIGNvbG9yc3Bh Y2VzIHRvIHVzZXJzcGFjZSBzaW5jZSBpbmZvZnJhbWUKPiA+IGNhcGFiaWxpdHkgaXMgdGhlcmUg ZXZlbiBvbiBsZWdhY3kgcGxhdGZvcm1zLCBhcyBwZXIgVmlsbGUncyByZXZpZXcKPiA+IGNvbW1l bnRzLgo+ID4gCj4gPiB2MTA6IEZpeGVkIHNwYXJzZSB3YXJuaW5ncywgdXBkYXRlZCB0aGUgUkIg ZnJvbSBNYWFydGVuIGFuZCBKYW5pJ3MgYWNrLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBVbWEg U2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgo+ID4gQWNrZWQtYnk6IEphbmkgTmlrdWxh IDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gPiBSZXZpZXdlZC1ieTogU2hhc2hhbmsgU2hhcm1h IDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ID4gUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFu a2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgfCAgNCArKysKPiA+ICBkcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiA+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgfCA0NiAr KysrKysrKysrKysrKysrKysrKysrKysKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDEyNSBpbnNlcnRp b25zKCspCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPiA+IGluZGV4IDlhMWY0 MWEuLjliNWQ0NGYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+ID4gQEAg LTc0Niw2ICs3NDYsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCXJldHVybiAtRUlO VkFMOwo+ID4gIAkJfQo+ID4gIAkJc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9IHZhbDsKPiA+ ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkp IHsKPiA+ICsJCXN0YXRlLT5jb2xvcnNwYWNlID0gdmFsOwo+ID4gIAl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7Cj4gPiAgCQlzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBOVUxMLCB2 YWwpOwo+ID4gIAkJaW50IHJldCA9IGRybV9hdG9taWNfc2V0X3dyaXRlYmFja19mYl9mb3JfY29u bmVjdG9yKHN0YXRlLCBmYik7Cj4gPiBAQCAtODE0LDYgKzgxNiw4IEBAIHN0YXRpYyBpbnQgZHJt X2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCj4gPiAgCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwo+ID4gIAl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y29udGVudF90eXBlX3Byb3BlcnR5KSB7Cj4g PiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlwZTsKPiA+ICsJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKPiA+ICsJCSp2YWwgPSBzdGF0 ZS0+Y29sb3JzcGFjZTsKPiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNj YWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ID4gIAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21vZGU7 Cj4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rp b25fcHJvcGVydHkpIHsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gaW5kZXggODQ3NTM5 Ni4uZWQxMGRkOSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9y LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+IEBAIC04MjYs NiArODI2LDMwIEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKPiA+ICB9Owo+ID4gIERSTV9FTlVNX05BTUVfRk4oZHJt X2dldF9jb250ZW50X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2NwX2VudW1fbGlzdCkKPiA+ICAKPiA+ ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBoZG1pX2NvbG9yc3BhY2Vz W10gPSB7Cj4gPiArCS8qIEZvciBEZWZhdWx0IGNhc2UsIGRyaXZlciB3aWxsIHNldCB0aGUgY29s b3JzcGFjZSAqLwo+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQsICJEZWZhdWx0 IiB9LAo+ID4gKwkvKiBTdGFuZGFyZCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIENF QSA4NjEgKi8KPiA+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9JVFVfNjAxLCAiSVRVXzYwMSIg fSwKPiAKPiBUaGUgc3BlYyBubyBsb25nZXIgaGFzIHRoZSBCVC42MDEgbm90ZSBoZXJlLiBXaGlj aCBJIGd1ZXNzIG1ha2VzIHNlbnNlCj4gc2luY2UgQlQuNjAxIGRpZG4ndCBldmVuIHNwZWNpZnkg YW55IGNvbG9yIHByaW1hcmllcyBpbml0aWFsbHkuIExhdGVyCj4gdmVyc2lvbnMgZG8gYnkgdGhl eSBoYXZlIGRpc3RpbmN0IHByaW1hcmllcyBmb3IgTlRTQyB2cy4gUEFMLiBUaGUgc3BlYwo+IGNh bGxzIHRoaXMganVzdCBTTVBURSAxNzBNIG5vdywgc28gSSB0aGluayB3ZSBzaG91bGQgZG8gdGhl IHNhbWUuCj4gCj4gPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfSVRVXzcwOSwgIklUVV83MDki IH0sCj4gPiArCS8qIFN0YW5kYXJkIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVD IDYxOTY2LTItNCAqLwo+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWX1lDQ182MDEsICJY Vl9ZQ0NfNjAxIiB9LAo+ID4gKwkvKiBIaWdoIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQg b24gSUVDIDYxOTY2LTItNCAqLwo+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWX1lDQ183 MDksICJYVl9ZQ0NfNzA5IiB9LAo+ID4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5 NjYtMi0xL0FtZW5kbWVudCAxICovCj4gPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfU19ZQ0Nf NjAxLCAiU19ZQ0NfNjAxIiB9LAo+ID4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5 NjYtMi01IFszM10gKi8KPiA+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlDQ182MDEsICJv cFlDQ182MDEiIH0sCj4gCj4gVGhlIHNwZWxsaW5nIGlzIHJhdGhlciBpbmNvbnNpc3RlbnQgaGVy ZS4gWFZfIHZzLiBTXyB2cy4gb3AuIFdoeSBub3QgdXNlCj4gdGhlIHNhbWUgc3BlbGxpbmcgc3R5 bGUgZm9yIGFsbD8KPiAKPiA+ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTIt NSAqLwo+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCLCAib3BSR0IiIH0sCj4gPiAr CS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElUVS1SIEJULjIwMjAgKi8KPiA+ICsJeyBEUk1fTU9E RV9DT0xPUklNRVRSWV9CVDIwMjBfUkdCLCAiQlQyMDIwX1JHQiIgfSwKPiA+ICsJLyogQ29sb3Jp bWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLwo+ID4gKwl7IERSTV9NT0RFX0NPTE9SSU1F VFJZX0JUMjAyMF9ZQ0MsICJCVDIwMjBfWUNDIiB9LAo+ID4gKwkvKiBDb2xvcmltZXRyeSBiYXNl ZCBvbiBJVFUtUiBCVC4yMDIwICovCj4gPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIw X0NZQ0MsICJCVDIwMjBfQ1lDQyIgfSwKPiAKPiAiQlQyMDIwIiB2cy4gIklUVV83MDkiIGlzIHJh dGhlciBpbmNvbnNpc3RlbnQgYXMgd2VsbC4KPiAKPiBXZSBhbHNvIHNlZW0gdG8gYmUgbWlzc2lu ZyB0aGUgdHdvIERDSS1QMyB0aGluZ3MgaGVyZS4KPiAKPiA+ICt9Owo+ID4gKwo+ID4gIC8qKgo+ ID4gICAqIERPQzogc3RhbmRhcmQgY29ubmVjdG9yIHByb3BlcnRpZXMKPiA+ICAgKgo+ID4gQEAg LTE1NDgsNiArMTU3Miw1NyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIEVYUE9SVF9TWU1CT0woZHJtX21vZGVf Y3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eSk7Cj4gPiAgCj4gPiAgLyoqCj4gPiArICogRE9D OiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGllcwo+ID4gKyAqCj4gPiArICogQ29sb3JzcGFj ZToKPiA+ICsgKiAgICAgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkgLSBjcmVh dGUgY29sb3JzcGFjZSBwcm9wZXJ0eQo+ID4gKyAqICAgICBUaGlzIHByb3BlcnR5IGhlbHBzIHNl bGVjdCBhIHN1aXRhYmxlIGNvbG9yc3BhY2UgYmFzZWQgb24gdGhlIHNpbmsKPiA+ICsgKiAgICAg Y2FwYWJpbGl0eS4gTW9kZXJuIHNpbmsgZGV2aWNlcyBzdXBwb3J0IHdpZGVyIGdhbXV0IGxpa2Ug QlQyMDIwLgo+ID4gKyAqICAgICBUaGlzIGhlbHBzIHN3aXRjaCB0byBCVDIwMjAgbW9kZSBpZiB0 aGUgQlQyMDIwIGVuY29kZWQgdmlkZW8gc3RyZWFtCj4gPiArICogICAgIGlzIGJlaW5nIHBsYXll ZCBieSB0aGUgdXNlciwgc2FtZSBmb3IgYW55IG90aGVyIGNvbG9yc3BhY2UuIFRoZXJlYnkKPiA+ ICsgKiAgICAgZ2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5jZSB0byB1c2Vycy4KPiA+ICsg Kgo+ID4gKyAqICAgICBUaGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3BhY2UgaXMgdGhhdCBpdCBz aG91bGQgcGFyc2UgdGhlIEVESUQKPiA+ICsgKiAgICAgYW5kIGdldCBzdXBwb3J0ZWQgY29sb3Jz cGFjZXMuIFVzZSB0aGlzIHByb3BlcnR5IGFuZCBzd2l0Y2ggdG8gdGhlCj4gPiArICogICAgIG9u ZSBzdXBwb3J0ZWQuIFNpbmsgc3VwcG9ydGVkIGNvbG9yc3BhY2VzIHNob3VsZCBiZSByZXRyaWV2 ZWQgYnkKPiA+ICsgKiAgICAgdXNlcnNwYWNlIGZyb20gRURJRCBhbmQgZHJpdmVyIHdpbGwgbm90 IGV4cGxpY2l0bHkgZXhwb3NlIHRoZW0uCj4gPiArICoKPiA+ICsgKiAgICAgQmFzaWNhbGx5IHRo ZSBleHBlY3RhdGlvbiBmcm9tIHVzZXJzcGFjZSBpczoKPiA+ICsgKiAgICAgIC0gU2V0IHVwIENS VEMgREVHQU1NQS9DVE0vR0FNTUEgdG8gY29udmVydCB0byBzb21lIHNpbmsKPiA+ICsgKiAgICAg ICAgY29sb3JzcGFjZQo+ID4gKyAqICAgICAgLSBTZXQgdGhpcyBuZXcgcHJvcGVydHkgdG8gbGV0 IHRoZSBzaW5rIGtub3cgd2hhdCBpdAo+ID4gKyAqICAgICAgICBjb252ZXJ0ZWQgdGhlIENSVEMg b3V0cHV0IHRvLgo+ID4gKyAqICAgICAgLSBUaGlzIHByb3BlcnR5IGlzIGp1c3QgdG8gaW5mb3Jt IHNpbmsgd2hhdCBjb2xvcnNwYWNlCj4gPiArICogICAgICAgIHNvdXJjZSBpcyB0cnlpbmcgdG8g ZHJpdmUuCj4gPiArICoKPiA+ICsgKiBDYWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUg aXQncyBuZWVkZWQsIG11c3QgYmUgYXR0YWNoZWQgdG8gZGVzaXJlZAo+ID4gKyAqIGNvbm5lY3Rv cnMuCj4gPiArICovCj4gPiAraW50IGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gPiArCXN0cnVjdCBkcm1fcHJvcGVydHkg KnByb3A7Cj4gPiArCj4gPiArCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9N T0RFX0NPTk5FQ1RPUl9IRE1JQSB8fAo+ID4gKwkgICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlw ZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUIpIHsKPiA+ICsJCXByb3AgPSBkcm1fcHJvcGVy dHlfY3JlYXRlX2VudW0oZGV2LCBEUk1fTU9ERV9QUk9QX0VOVU0sCj4gPiArCQkJCQkJIkNvbG9y c3BhY2UiLAo+ID4gKwkJCQkJCWhkbWlfY29sb3JzcGFjZXMsCj4gPiArCQkJCQkJQVJSQVlfU0la RShoZG1pX2NvbG9yc3BhY2VzKSk7Cj4gPiArCQlpZiAoIXByb3ApCj4gPiArCQkJcmV0dXJuIC1F Tk9NRU07Cj4gPiArCX0gZWxzZSB7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJDb2xvcnNwYWNlIHBy b3BlcnR5IG5vdCBzdXBwb3J0ZWRcbiIpOwo+ID4gKwkJcmV0dXJuIDA7Cj4gPiArCX0KPiA+ICsK PiA+ICsJY29ubmVjdG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5ID0gcHJvcDsKPiA+ICsKPiA+ICsJ cmV0dXJuIDA7Cj4gPiArfQo+ID4gK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2NvbG9y c3BhY2VfcHJvcGVydHkpOwo+ID4gKwo+ID4gKy8qKgo+ID4gICAqIGRybV9tb2RlX2NyZWF0ZV9j b250ZW50X3R5cGVfcHJvcGVydHkgLSBjcmVhdGUgY29udGVudCB0eXBlIHByb3BlcnR5Cj4gPiAg ICogQGRldjogRFJNIGRldmljZQo+ID4gICAqCj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiBpbmRleCA5 OTQxNjEzLi4yOTQ5NWIzIDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oCj4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiA+IEBAIC0yNTMsNiAr MjUzLDM4IEBAIGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIHsKPiA+ICAJRFJNX01PREVfUEFO RUxfT1JJRU5UQVRJT05fUklHSFRfVVAsCj4gPiAgfTsKPiA+ICAKPiA+ICsvKgo+ID4gKyAqIFRo aXMgaXMgYSBjb25zb2xpZGF0ZWQgY29sb3JpbWV0cnkgbGlzdCBzdXBwb3J0ZWQgYnkgSERNSSBh bmQKPiA+ICsgKiBEUCBwcm90b2NvbCBzdGFuZGFyZC4gVGhlIHJlc3BlY3RpdmUgY29ubmVjdG9y cyB3aWxsIHJlZ2lzdGVyCj4gPiArICogYSBwcm9wZXJ0eSB3aXRoIHRoZSBzdWJzZXQgb2YgdGhp cyBsaXN0IChzdXBwb3J0ZWQgYnkgdGhhdAo+ID4gKyAqIHJlc3BlY3RpdmUgcHJvdG9jb2wpLiBV c2Vyc3BhY2Ugd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgdGhyb3VnaAo+ID4gKyAqIGEgY29sb3Jz cGFjZSBwcm9wZXJ0eSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgYW5kIGV4cG9zZWQgdG8KPiA+ICsg KiB1c2Vyc3BhY2UuCj4gPiArICovCj4gPiArCj4gPiArLyogRm9yIERlZmF1bHQgY2FzZSwgZHJp dmVyIHdpbGwgc2V0IHRoZSBjb2xvcnNwYWNlICovCj4gPiArI2RlZmluZSBEUk1fTU9ERV9DT0xP UklNRVRSWV9ERUZBVUxUCQkJMAo+ID4gKy8qIENFQSA4NjEgTm9ybWFsIENvbG9yaW1ldHJ5IG9w dGlvbnMgKi8KPiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0lUVV82MDEJCQkxCj4g PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9JVFVfNzA5CQkJMgo+ID4gKy8qIENFQSA4 NjEgRXh0ZW5kZWQgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ID4gKyNkZWZpbmUgRFJNX01PREVf Q09MT1JJTUVUUllfWFZfWUNDXzYwMQkJCTMKPiA+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1F VFJZX1hWX1lDQ183MDkJCQk0Cj4gPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9TX1lD Q182MDEJCQk1Cj4gPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlDQ182MDEJCQk2 Cj4gPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFJHQgkJCTcKPiA+ICsjZGVmaW5l IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9SR0IJCQk4Cj4gPiArI2RlZmluZSBEUk1fTU9E RV9DT0xPUklNRVRSWV9CVDIwMjBfWUNDCQkJOQo+ID4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJ TUVUUllfQlQyMDIwX0NZQ0MJCTEwCj4gPiArLyogRFAgTVNBIENvbG9yaW1ldHJ5IE9wdGlvbnMg Ki8KPiA+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lfQ0JDUl9JVFVfNjAxCQkx MQo+ID4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfWV9DQkNSX0lUVV83MDkJCTEy Cj4gPiArI2RlZmluZSBEUk1fTU9ERV9EUF9DT0xPUklNRVRSWV9TUkdCCQkJMTMKPiA+ICsjZGVm aW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1JHQl9XSURFX0dBTVVUCQkxNAo+ID4gKyNkZWZp bmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfU0NSR0IJCQkxNQo+ID4gKyNkZWZpbmUgRFJNX01P REVfRFBfQ09MT1JJTUVUUllfRENJX1AzCQkJMTYKPiA+ICsjZGVmaW5lIERSTV9NT0RFX0RQX0NP TE9SSU1FVFJZX0NVU1RPTV9DT0xPUl9QUk9GSUxFCTE3Cj4gCj4gSSB0aGluayBzb21lIGtpbmQg b2YgbWFjcm8gdG8gZGVmaW5lIHRoZXNlIHdvdWxkIGJlIGdvb2QuIEFzc3VtaW5nIHdlJ3JlCj4g dHJ5aW5nIGRpcmVjdGx5IGludGVycHJldCB0aGVzZSBhcyB0aGUgQy9FQy9BQ0UgYml0cy4gSSBj YW4ndCByZW1lbWJlcgo+IGlmIG11bHRpcGxlIGVudW0gdmFsdWVzIGNhbiBoYXZlIHRoZSBzYW1l IGludGVnZXIgdmFsdWUuIElmIG5vdCB3ZSdkCj4gYWxzbyBuZWVkIGEgWUNiQ3IgdnMuIFJHQiBi aXQgaW4gdGhlcmUgc29tZXdoZXJlLiBBc3N1bWluZyB3ZSB3YW50IHRvCj4ga2VlcCBSR0IgYW5k IFlDYkNyIHNlcGFyYXRlLiBDdXJyZW50bHkgb25seSBCVC4yMDIwIGhhcyBhIGNvbmZsaWN0Cj4g YmV0d2VlbiB0aGUgdHdvLgoKU28gSSB0aGluayBJJ20gbGVhbmluZyB0b3dhcmRzIGhhdmluZyBz ZXBhcmF0ZSBZQ2JDciB2cy4gUkdCIHZhbHVlcwood2hpY2ggaXMgd2hhdCB5b3UgaGFkIGhlcmUg YWxyZWFkeSwgd2l0aCBCVC4yMDIwIGJlaW5nIHRoZSBvbmx5CmNhc2Ugd2hlcmUgdGhhdCBhY3R1 YWxseSBtYXR0ZXJzKS4gVGhhdCB3YXkgc29tZW9uZSBjb3VsZCBldmVuIGRvCllDYkNyIDQ6NDo0 IHBhc3N0aHJvdWdoIGJ5IGp1c3Qgc3R1ZmZpbmcgWVVWIGRhdGEgaW50byB0aGVpciBSR0IKZnJh bWVidWZmZXIgKHdpdGggdGhlIGNvbXBvbmVudHMgc3dpenpsZWQgdGhlIHJpZ2h0IHdheSkuCgpU aGUgb25lIHRoaW5nIHRoYXQgcmF0aGVyIGJyZWFrcyB0aGF0IHVzZWNhc2UgaXMgdGhlIGF1dG9t YWdpYyA0awpZQ2JDciA0OjI6MCBmYWxsYmFjay4gU28gaW4gaW4gb3JkZXIgdG8gZ3VhcmFudGVl IHRoYXQgdGhpbmdzCndvcmsgY29ycmVjdGx5IEkgZ3Vlc3Mgd2Ugc3RpbGwgbmVlZCBleHBsY2l0 IGNvbnRyb2wgb3ZlciB0aGUKb3V0cHV0IENTQy4KCkllLiBzb21lIGtpbmQgb2Ygb3V0cHV0IGNv bG9yIGVuY29kaW5nIHByb3AgbGlrZSB0aGlzOgoJZGVmYXVsdCAvKiBjdXJyZW50IGJlaGF2aW91 ciAqLwoJeWNiY3IgQlQuNjAxCgl5Y2JjciBCVC43MDkKCXljYmNyIEJULjIwMjAKCS8qIG5vIHlj YmNyIDQ6MjowIGZhbGxiYWNrIGZvciBiZWxvdyBtb2Rlcz8gKi8KCXJnYiA0OjQ6NAoJeWNiY3Ig NDo0OjQgQlQuNjAxCgl5Y2JjciA0OjQ6NCBCVC43MDkKCXljYmNyIDQ6NDo0IEJULjIwMjAKCXlj YmNyIDQ6MjoyIEJULjYwMQoJeWNiY3IgNDoyOjIgQlQuNzA5Cgl5Y2JjciA0OjI6MiBCVC4yMDIw Cgl5Y2JjciA0OjI6MCBCVC42MDEKCXljYmNyIDQ6MjowIEJULjcwOQoJeWNiY3IgNDoyOjAgQlQu MjAyMAoKSG1tLiBJbiBmYWN0IHRoZSBhdXRvbWFnaWMgNDoyOjAgZmFsbGJhY2sgc29ydCBvZiBi cmVha3MgdGhlCmNvbG9yc3BhY2UgcHJvcCBhbHJlZHkgYmVjYXVzZSBpZiBzb21lb25lIHNldCBh biBSR0IgY29sb3JzcGFjZQpidXQgd2UgZW5kIHVwIGNvbnZlcnRpbmcgdG8gWUNiQ3IgNDoyOjAg d2hhdCBzaG91bGQgd2UgdGVsbCB0aGUKc2luaz8gTWF5YmUgd2UganVzdCByZWplY3QgdGhlIG1v ZGVzZXQgaW4gdGhhdCBjYXNlIGFuZCB0ZWxsCnVzZXJzIHRoZXkgbmVlZCB0byB3YWl0IGZvciB0 aGUgb3V0cHV0IGNvbG9yIGVuY29kaW5nIHByb3AgdG8Kc3VwcG9ydCB0aGF0IHVzZWNhc2U/Cgo+ IAo+ID4gKwo+ID4gIC8qKgo+ID4gICAqIHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvIC0gcnVudGlt ZSBkYXRhIGFib3V0IHRoZSBjb25uZWN0ZWQgc2luawo+ID4gICAqCj4gPiBAQCAtNTAzLDYgKzUz NSwxMyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPiAgCXVuc2lnbmVkIGludCBj b250ZW50X3Byb3RlY3Rpb247Cj4gPiAgCj4gPiAgCS8qKgo+ID4gKwkgKiBAY29sb3JzcGFjZTog U3RhdGUgdmFyaWFibGUgZm9yIENvbm5lY3RvciBwcm9wZXJ0eSB0byByZXF1ZXN0Cj4gPiArCSAq IGNvbG9yc3BhY2UgY2hhbmdlIG9uIFNpbmsuIFRoaXMgaXMgbW9zdCBjb21tb25seSB1c2VkIHRv IHN3aXRjaAo+ID4gKwkgKiB0byB3aWRlciBjb2xvciBnYW11dHMgbGlrZSBCVDIwMjAuCj4gPiAr CSAqLwo+ID4gKwl1MzIgY29sb3JzcGFjZTsKPiA+ICsKPiA+ICsJLyoqCj4gPiAgCSAqIEB3cml0 ZWJhY2tfam9iOiBXcml0ZWJhY2sgam9iIGZvciB3cml0ZWJhY2sgY29ubmVjdG9ycwo+ID4gIAkg Kgo+ID4gIAkgKiBIb2xkcyB0aGUgZnJhbWVidWZmZXIgYW5kIG91dC1mZW5jZSBmb3IgYSB3cml0 ZWJhY2sgY29ubmVjdG9yLiBBcwo+ID4gQEAgLTk5NSw2ICsxMDM0LDEyIEBAIHN0cnVjdCBkcm1f Y29ubmVjdG9yIHsKPiA+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqY29udGVudF9wcm90ZWN0aW9u X3Byb3BlcnR5Owo+ID4gIAo+ID4gIAkvKioKPiA+ICsJICogQGNvbG9yc3BhY2VfcHJvcGVydHk6 IENvbm5lY3RvciBwcm9wZXJ0eSB0byBzZXQgdGhlIHN1aXRhYmxlCj4gPiArCSAqIGNvbG9yc3Bh Y2Ugc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLgo+ID4gKwkgKi8KPiA+ICsJc3RydWN0IGRybV9wcm9w ZXJ0eSAqY29sb3JzcGFjZV9wcm9wZXJ0eTsKPiA+ICsKPiA+ICsJLyoqCj4gPiAgCSAqIEBwYXRo X2Jsb2JfcHRyOgo+ID4gIAkgKgo+ID4gIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBkYXRhIGZvciB0 aGUgRFAgTVNUIHBhdGggcHJvcGVydHkuIFRoaXMgc2hvdWxkIG9ubHkKPiA+IEBAIC0xMjY5LDYg KzEzMTQsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfdnJyX2NhcGFibGVfcHJvcGVydHko Cj4gPiAgaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0 eSgKPiA+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gIGludCBkcm1f bW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owo+ID4gK2ludCBkcm1fbW9kZV9jcmVhdGVfY29sb3JzcGFjZV9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiA+ICBpbnQgZHJtX21vZGVfY3JlYXRlX2NvbnRlbnRf dHlwZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICB2b2lkIGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfY29udGVudF90eXBlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZy YW1lLAo+ID4gIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKTsKPiA+IC0tIAo+ID4gMS45LjEKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gLS0gCj4gVmlsbGUgU3lyasOk bMOkCj4gSW50ZWwKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==