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 18:31:33 +0200 Message-ID: <20190205163133.GS20097@intel.com> References: <1549382617-8951-1-git-send-email-uma.shankar@intel.com> <1549382617-8951-2-git-send-email-uma.shankar@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: <1549382617-8951-2-git-send-email-uma.shankar@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, maarten.lankhorst@intel.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBGZWIgMDUsIDIwMTkgYXQgMDk6MzM6MzRQTSArMDUzMCwgVW1hIFNoYW5rYXIgd3Jv dGU6Cj4gQ3JlYXRlIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSB0byBwcm9ncmFtIGNvbG9yc3Bh Y2UgdG8gc2luawo+IGRldmljZXMuIE1vZGVybiBzaW5rIGRldmljZXMgc3VwcG9ydCBtb3JlIHRo YW4gMSB0eXBlIG9mCj4gY29sb3JzcGFjZSBsaWtlIDYwMSwgNzA5LCBCVDIwMjAgZXRjLiBUaGlz IGhlbHBzIHRvIHN3aXRjaAo+IGJhc2VkIG9uIGNvbnRlbnQgdHlwZSB3aGljaCBpcyB0byBiZSBk aXNwbGF5ZWQuIFRoZSBkZWNpc2lvbgo+IGxpZXMgd2l0aCBjb21wb3NpdG9ycyBhcyB0byBpbiB3 aGljaCBzY2VuYXJpb3MsIGEgcGFydGljdWxhcgo+IGNvbG9yc3BhY2Ugd2lsbCBiZSBwaWNrZWQu Cj4gCj4gVGhpcyB3aWxsIGJlIGhlbHBmdWwgbW9zdGx5IHRvIHN3aXRjaCB0byBoaWdoZXIgZ2Ft dXQgY29sb3JzcGFjZXMKPiBsaWtlIEJUMjAyMCB3aGVuIHRoZSBtZWRpYSBjb250ZW50IGlzIGVu Y29kZWQgYXMgQlQyMDIwLiBUaGVyZWJ5Cj4gZ2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5j ZSB0byB1c2Vycy4KPiAKPiBUaGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3BhY2UgaXMgdGhhdCBp dCBzaG91bGQgcGFyc2UgdGhlIEVESUQKPiBhbmQgZ2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4g VXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0aGUKPiBvbmUgc3VwcG9ydGVkLiBTaW5r IHN1cHBvcnRlZCBjb2xvcnNwYWNlcyBzaG91bGQgYmUgcmV0cmlldmVkIGJ5Cj4gdXNlcnNwYWNl IGZyb20gRURJRCBhbmQgZHJpdmVyIHdpbGwgbm90IGV4cGxpY2l0bHkgZXhwb3NlIHRoZW0uCj4g Cj4gQmFzaWNhbGx5IHRoZSBleHBlY3RhdGlvbiBmcm9tIHVzZXJzcGFjZSBpczoKPiAgLSBTZXQg dXAgQ1JUQyBERUdBTU1BL0NUTS9HQU1NQSB0byBjb252ZXJ0IHRvIHNvbWUgc2luawo+ICAgIGNv bG9yc3BhY2UKPiAgLSBTZXQgdGhpcyBuZXcgcHJvcGVydHkgdG8gbGV0IHRoZSBzaW5rIGtub3cg d2hhdCBpdAo+ICAgIGNvbnZlcnRlZCB0aGUgQ1JUQyBvdXRwdXQgdG8uCj4gCj4gdjI6IEFkZHJl c3NlZCBNYWFydGVuIGFuZCBWaWxsZSdzIHJldmlldyBjb21tZW50cy4gRW5oYW5jZWQKPiB0aGUg Y29sb3JzcGFjZSBlbnVtIHRvIGluY29ycG9yYXRlIGJvdGggSERNSSBhbmQgRFAgc3VwcG9ydGVk Cj4gY29sb3JzcGFjZXMuIEFsc28sIGFkZGVkIGEgZGVmYXVsdCBvcHRpb24gZm9yIGNvbG9yc3Bh Y2UuCj4gCj4gdjM6IFJlbW92ZWQgQWRvYmUgcmVmZXJlbmNlcyBmcm9tIGVudW0gZGVmaW5pdGlv bnMgYXMgcGVyCj4gVmlsbGUsIEhhbnMgVmVya3VpbCBhbmQgSm9uYXMgS2FybG1hbiBzdWdnZXN0 aW9ucy4gQ2hhbmdlZAo+IERlZmF1bHQgdG8gYW4gdW5zZXQgc3RhdGUgd2hlcmUgZHJpdmVyIHdp bGwgYXNzaWduIHRoZSBjb2xvcnNwYWNlCj4gaXMgbm90IGNob3NlbiBieSB1c2VyLCBzdWdnZXN0 ZWQgYnkgVmlsbGUgYW5kIE1hYXJ0ZW4uIEFkZHJlc3NlZAo+IG90aGVyIG1pc2MgcmV2aWV3IGNv bW1lbnRzIGZyb20gTWFhcnRlbi4gU3BsaXQgdGhlIGNoYW5nZXMgdG8KPiBoYXZlIHNlcGFyYXRl IGNvbG9yc3BhY2UgcHJvcGVydHkgZm9yIERQIGFuZCBIRE1JLgo+IAo+IHY0OiBBZGRyZXNzZWQg Q2hyaXMgYW5kIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLCBhbmQgY3JlYXRlZCBhCj4gY29tbW9u IGNvbG9yc3BhY2UgcHJvcGVydHkgZm9yIERQIGFuZCBIRE1JLCBmaWx0ZXJlZCB0aGUgbGlzdAo+ IGJhc2VkIG9uIHRoZSBjb2xvcnNwYWNlcyBzdXBwb3J0ZWQgYnkgdGhlIHJlc3BlY3RpdmUgcHJv dG9jb2wKPiBzdGFuZGFyZC4KPiAKPiB2NTogTWFkZSB0aGUgcHJvcGVydHkgY3JlYXRpb24gaGVs cGVyIGFjY2VwdCBlbnVtIGxpc3QgYmFzZWQgb24KPiBwbGF0Zm9ybSBjYXBhYmlsdGllcyBhcyBz dWdnZXN0ZWQgYnkgU2hhc2hhbmsuIENvbnNvbGlkYXRlZCBIRE1JCj4gYW5kIERQIHByb3BlcnR5 IGNyZWF0aW9uIGluIHRoZSBjb21tb24gaGVscGVyLgo+IAo+IHY2OiBBZGRyZXNzZWQgU2hhc2hh bmsncyByZXZpZXcgY29tbWVudHMuCj4gCj4gdjc6IEFkZGVkIGRlZmluZXMgaW5zdGVhZCBvZiBl bnVtIGluIHVhcGkgYXMgcGVyIEJyaWFuIFN0YXJrZXkncwo+IHN1Z2dlc3Rpb24gaW4gb3JkZXIg dG8gZ28gd2l0aCBzdHJpbmcgbWF0Y2hpbmcgYXQgdXNlcnNwYWNlLiBVcGRhdGVkCj4gdGhlIGNv bW1pdCBtZXNzYWdlIHRvIGFkZCBtb3JlIGRldGFpbHMgYXMgd2VsbCBrZXJuZWwgZG9jcy4KPiAK PiB2ODogQWRkcmVzc2VkIE1hYXJ0ZW4ncyByZXZpZXcgY29tbWVudHMuCj4gCj4gdjk6IFJlbW92 ZWQgbWFjcm8gZGVmaW5lcyBmcm9tIHVhcGkgYXMgcGVyIEJyaWFuIFN0YXJrZXkgYW5kIERhbmll bAo+IFN0b25lJ3MgY29tbWVudHMgYW5kIG1vdmVkIHRvIGRybSBpbmNsdWRlIGZpbGUuIE1vdmVk IGJhY2sgdG8gb2xkZXIKPiBkZXNpZ24gd2l0aCBleHBvc2luZyBhbGwgSERNSSBjb2xvcnNwYWNl cyB0byB1c2Vyc3BhY2Ugc2luY2UgaW5mb2ZyYW1lCj4gY2FwYWJpbGl0eSBpcyB0aGVyZSBldmVu IG9uIGxlZ2FjeSBwbGF0Zm9ybXMsIGFzIHBlciBWaWxsZSdzIHJldmlldwo+IGNvbW1lbnRzLgo+ IAo+IHYxMDogRml4ZWQgc3BhcnNlIHdhcm5pbmdzLCB1cGRhdGVkIHRoZSBSQiBmcm9tIE1hYXJ0 ZW4gYW5kIEphbmkncyBhY2suCj4gCj4gdjExOiBBZGRyZXNzZWQgVmlsbGUncyByZXZpZXcgY29t bWVudHMuIFVwZGF0ZWQgdGhlIE1hY3JvIG5hbWluZyBhbmQKPiBhZGRlZCBEQ0ktUDMgY29sb3Jz cGFjZSBhcyB3ZWxsIGRlZmluZWQgaW4gQ0VBIDg2MS5HIHNwZWMuCj4gCj4gU2lnbmVkLW9mZi1i eTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KPiBBY2tlZC1ieTogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiBSZXZpZXdlZC1ieTogU2hhc2hhbmsgU2hh cm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBNYWFydGVuIExh bmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgfCAgNCArKwo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jICAgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgNTAgKysrKysrKysr KysrKysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwo+IGluZGV4IDlhMWY0MWEuLjliNWQ0NGYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gQEAgLTc0Niw2ICs3NDYsOCBAQCBzdGF0 aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAo+ICAJCQlyZXR1cm4gLUVJTlZBTDsKPiAgCQl9Cj4gIAkJc3RhdGUt PmNvbnRlbnRfcHJvdGVjdGlvbiA9IHZhbDsKPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29u bmVjdG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7Cj4gKwkJc3RhdGUtPmNvbG9yc3BhY2UgPSB2 YWw7Cj4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3By b3BlcnR5KSB7Cj4gIAkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBkcm1fZnJhbWVidWZm ZXJfbG9va3VwKGRldiwgTlVMTCwgdmFsKTsKPiAgCQlpbnQgcmV0ID0gZHJtX2F0b21pY19zZXRf d3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3Ioc3RhdGUsIGZiKTsKPiBAQCAtODE0LDYgKzgxNiw4 IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJKnZhbCA9IHN0YXRlLT5waWN0dXJlX2FzcGVj dF9yYXRpbzsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3R5cGVf cHJvcGVydHkpIHsKPiAgCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlwZTsKPiArCX0gZWxzZSBp ZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7Cj4gKwkJKnZh bCA9IHN0YXRlLT5jb2xvcnNwYWNlOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0 b3ItPnNjYWxpbmdfbW9kZV9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19t b2RlOwo+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRfcHJvdGVj dGlvbl9wcm9wZXJ0eSkgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IDg0NzUzOTYu LjQzMDk4NzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBAQCAtODI2LDYgKzgyNiwz MyBAQCBpbnQgZHJtX2Rpc3BsYXlfaW5mb19zZXRfYnVzX2Zvcm1hdHMoc3RydWN0IGRybV9kaXNw bGF5X2luZm8gKmluZm8sCj4gIH07Cj4gIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9jb250ZW50 X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2NwX2VudW1fbGlzdCkKPiAgCj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGhkbWlfY29sb3JzcGFjZXNbXSA9IHsKPiArCS8qIEZv ciBEZWZhdWx0IGNhc2UsIGRyaXZlciB3aWxsIHNldCB0aGUgY29sb3JzcGFjZSAqLwo+ICsJeyBE Uk1fTU9ERV9DT0xPUklNRVRSWV9ERUZBVUxULCAiRGVmYXVsdCIgfSwKPiArCS8qIFN0YW5kYXJk IERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gQ0VBIDg2MSAqLwo+ICsJeyBEUk1fTU9E RV9DT0xPUklNRVRSWV9TTVBURV8xNzBNLCAiU01QVEVfMTcwTSIgfSwKPiArCXsgRFJNX01PREVf Q09MT1JJTUVUUllfQlQ3MDksICJCVDcwOSIgfSwKPiArCS8qIFN0YW5kYXJkIERlZmluaXRpb24g Q29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItNCAqLwo+ICsJeyBEUk1fTU9ERV9DT0xP UklNRVRSWV9YVllDQ182MDEsICJYVllDQ182MDEiIH0sCj4gKwkvKiBIaWdoIERlZmluaXRpb24g Q29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItNCAqLwo+ICsJeyBEUk1fTU9ERV9DT0xP UklNRVRSWV9YVllDQ183MDksICJYVllDQ183MDkiIH0sCj4gKwkvKiBDb2xvcmltZXRyeSBiYXNl ZCBvbiBJRUMgNjE5NjYtMi0xL0FtZW5kbWVudCAxICovCj4gKwl7IERSTV9NT0RFX0NPTE9SSU1F VFJZX1NZQ0NfNjAxLCAiU1lDQ182MDEiIH0sCj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJ RUMgNjE5NjYtMi01IFszM10gKi8KPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BZQ0NfNjAx LCAib3BZQ0NfNjAxIiB9LAo+ICsJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTIt NSAqLwo+ICsJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFJHQiwgIm9wUkdCIiB9LAo+ICsJLyog Q29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLwo+ICsJeyBEUk1fTU9ERV9DT0xP UklNRVRSWV9CVDIwMjBfWUNDLCAiQlQyMDIwX1lDQyIgfSwKPiArCS8qIENvbG9yaW1ldHJ5IGJh c2VkIG9uIElUVS1SIEJULjIwMjAgKi8KPiArCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIw X1JHQiwgIkJUMjAyMF9SR0IiIH0sCj4gKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBC VC4yMDIwICovCj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9DWUNDLCAiQlQyMDIw X0NZQ0MiIH0sCj4gKwkvKiBBZGRlZCBhcyBwYXJ0IG9mIEFkZGl0aW9uYWwgQ29sb3JpbWV0cnkg RXh0ZW5zaW9uIGluIDg2MS5HICovCj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RDSV9QM19S R0JfRDY1LCAiRENJLVAzX1JHQl9ENjUiIH0sCj4gKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RD SV9QM19SR0JfVEhFQVRFUiwgIkRDSS1QM19SR0JfVGhlYXRlciIgfSwKPiArfTsKPiArCj4gIC8q Kgo+ICAgKiBET0M6IHN0YW5kYXJkIGNvbm5lY3RvciBwcm9wZXJ0aWVzCj4gICAqCj4gQEAgLTE1 NDgsNiArMTU3NSw1NyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0 ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOwo+ICAKPiAgLyoqCj4gKyAqIERPQzogc3RhbmRhcmQg Y29ubmVjdG9yIHByb3BlcnRpZXMKPiArICoKPiArICogQ29sb3JzcGFjZToKPiArICogICAgIGRy bV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbG9yc3BhY2UgcHJv cGVydHkKPiArICogICAgIFRoaXMgcHJvcGVydHkgaGVscHMgc2VsZWN0IGEgc3VpdGFibGUgY29s b3JzcGFjZSBiYXNlZCBvbiB0aGUgc2luawo+ICsgKiAgICAgY2FwYWJpbGl0eS4gTW9kZXJuIHNp bmsgZGV2aWNlcyBzdXBwb3J0IHdpZGVyIGdhbXV0IGxpa2UgQlQyMDIwLgo+ICsgKiAgICAgVGhp cyBoZWxwcyBzd2l0Y2ggdG8gQlQyMDIwIG1vZGUgaWYgdGhlIEJUMjAyMCBlbmNvZGVkIHZpZGVv IHN0cmVhbQo+ICsgKiAgICAgaXMgYmVpbmcgcGxheWVkIGJ5IHRoZSB1c2VyLCBzYW1lIGZvciBh bnkgb3RoZXIgY29sb3JzcGFjZS4gVGhlcmVieQo+ICsgKiAgICAgZ2l2aW5nIGEgZ29vZCB2aXN1 YWwgZXhwZXJpZW5jZSB0byB1c2Vycy4KPiArICoKPiArICogICAgIFRoZSBleHBlY3RhdGlvbiBm cm9tIHVzZXJzcGFjZSBpcyB0aGF0IGl0IHNob3VsZCBwYXJzZSB0aGUgRURJRAo+ICsgKiAgICAg YW5kIGdldCBzdXBwb3J0ZWQgY29sb3JzcGFjZXMuIFVzZSB0aGlzIHByb3BlcnR5IGFuZCBzd2l0 Y2ggdG8gdGhlCj4gKyAqICAgICBvbmUgc3VwcG9ydGVkLiBTaW5rIHN1cHBvcnRlZCBjb2xvcnNw YWNlcyBzaG91bGQgYmUgcmV0cmlldmVkIGJ5Cj4gKyAqICAgICB1c2Vyc3BhY2UgZnJvbSBFRElE IGFuZCBkcml2ZXIgd2lsbCBub3QgZXhwbGljaXRseSBleHBvc2UgdGhlbS4KPiArICoKPiArICog ICAgIEJhc2ljYWxseSB0aGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3BhY2UgaXM6Cj4gKyAqICAg ICAgLSBTZXQgdXAgQ1JUQyBERUdBTU1BL0NUTS9HQU1NQSB0byBjb252ZXJ0IHRvIHNvbWUgc2lu awo+ICsgKiAgICAgICAgY29sb3JzcGFjZQo+ICsgKiAgICAgIC0gU2V0IHRoaXMgbmV3IHByb3Bl cnR5IHRvIGxldCB0aGUgc2luayBrbm93IHdoYXQgaXQKPiArICogICAgICAgIGNvbnZlcnRlZCB0 aGUgQ1JUQyBvdXRwdXQgdG8uCj4gKyAqICAgICAgLSBUaGlzIHByb3BlcnR5IGlzIGp1c3QgdG8g aW5mb3JtIHNpbmsgd2hhdCBjb2xvcnNwYWNlCj4gKyAqICAgICAgICBzb3VyY2UgaXMgdHJ5aW5n IHRvIGRyaXZlLgo+ICsgKgo+ICsgKiBDYWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUg aXQncyBuZWVkZWQsIG11c3QgYmUgYXR0YWNoZWQgdG8gZGVzaXJlZAo+ICsgKiBjb25uZWN0b3Jz Lgo+ICsgKi8KPiAraW50IGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjb25uZWN0b3ItPmRldjsKPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gKwo+ ICsJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0hE TUlBIHx8Cj4gKwkgICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05O RUNUT1JfSERNSUIpIHsKPiArCQlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwg RFJNX01PREVfUFJPUF9FTlVNLAo+ICsJCQkJCQkiQ29sb3JzcGFjZSIsCj4gKwkJCQkJCWhkbWlf Y29sb3JzcGFjZXMsCj4gKwkJCQkJCUFSUkFZX1NJWkUoaGRtaV9jb2xvcnNwYWNlcykpOwo+ICsJ CWlmICghcHJvcCkKPiArCQkJcmV0dXJuIC1FTk9NRU07Cj4gKwl9IGVsc2Ugewo+ICsJCURSTV9E RUJVR19LTVMoIkNvbG9yc3BhY2UgcHJvcGVydHkgbm90IHN1cHBvcnRlZFxuIik7Cj4gKwkJcmV0 dXJuIDA7Cj4gKwl9Cj4gKwo+ICsJY29ubmVjdG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5ID0gcHJv cDsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0 ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fbW9kZV9jcmVhdGVf Y29udGVudF90eXBlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eQo+ICAg KiBAZGV2OiBEUk0gZGV2aWNlCj4gICAqCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IGluZGV4IDk5NDE2MTMu LjU4ZGI2NmUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTI1Myw2ICsyNTMsNDIgQEAgZW51 bSBkcm1fcGFuZWxfb3JpZW50YXRpb24gewo+ICAJRFJNX01PREVfUEFORUxfT1JJRU5UQVRJT05f UklHSFRfVVAsCj4gIH07Cj4gIAo+ICsvKgo+ICsgKiBUaGlzIGlzIGEgY29uc29saWRhdGVkIGNv bG9yaW1ldHJ5IGxpc3Qgc3VwcG9ydGVkIGJ5IEhETUkgYW5kCj4gKyAqIERQIHByb3RvY29sIHN0 YW5kYXJkLiBUaGUgcmVzcGVjdGl2ZSBjb25uZWN0b3JzIHdpbGwgcmVnaXN0ZXIKPiArICogYSBw cm9wZXJ0eSB3aXRoIHRoZSBzdWJzZXQgb2YgdGhpcyBsaXN0IChzdXBwb3J0ZWQgYnkgdGhhdAo+ ICsgKiByZXNwZWN0aXZlIHByb3RvY29sKS4gVXNlcnNwYWNlIHdpbGwgc2V0IHRoZSBjb2xvcnNw YWNlIHRocm91Z2gKPiArICogYSBjb2xvcnNwYWNlIHByb3BlcnR5IHdoaWNoIHdpbGwgYmUgY3Jl YXRlZCBhbmQgZXhwb3NlZCB0bwo+ICsgKiB1c2Vyc3BhY2UuCj4gKyAqLwo+ICsKPiArLyogRm9y IERlZmF1bHQgY2FzZSwgZHJpdmVyIHdpbGwgc2V0IHRoZSBjb2xvcnNwYWNlICovCj4gKyNkZWZp bmUgRFJNX01PREVfQ09MT1JJTUVUUllfREVGQVVMVAkJCTAKPiArLyogQ0VBIDg2MSBOb3JtYWwg Q29sb3JpbWV0cnkgb3B0aW9ucyAqLwo+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX05P X0RBVEEJCQkwCj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfU01QVEVfMTcwTQkJCTEK PiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDcwOQkJCTIKClN0aWxsIG1pc3Npbmcg dGhlIFlDYkNyIGluZm9ybWF0aW9uIGluIHRoZXNlIHR3by4KCj4gKy8qIENFQSA4NjEgRXh0ZW5k ZWQgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZ X1hWWUNDXzYwMQkJCTMKPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9YVllDQ183MDkJ CQk0Cj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfU1lDQ182MDEJCQk1Cj4gKyNkZWZp bmUgRFJNX01PREVfQ09MT1JJTUVUUllfT1BZQ0NfNjAxCQkJNgo+ICsjZGVmaW5lIERSTV9NT0RF X0NPTE9SSU1FVFJZX09QUkdCCQkJNwo+ICsjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JU MjAyMF9ZQ0MJCQk4Cj4gKy8qIEJvdGggQlQyMDIwX1JHQiBhbmQgQlQyMDIwX1lDYkNiQ3IgaGF2 ZSBzYW1lIHZhbHVlICovCj4gKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1JH QgkJCTkKPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfQ1lDQwkJOQoKSSB0 aG91Z2ggeW91IGRpZG4ndCB3YW50IHRoZXNlIG51bWJlcnMgdG8gYmUgYmFzZWQgb24gdGhlCnNw ZWMgbnVtYmVycz8gVGhpcyBkdXBsaWNhdGVkIHZhbHVlIHNlZW1zIHRvIGdvIGFnYWluc3QgdGhh dAppZGVhLgoKPiArLyogQWRkaXRpb25hbCBDb2xvcmltZXRyeSBleHRlbnNpb24gYWRkZWQgYXMg cGFydCBvZiBDVEEgODYxLkcgKi8KPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lf UDNfUkdCX0Q2NQkJMTAKPiArI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdC X1RIRUFURVIJCTExCj4gKwo+ICsvKiBEUCBNU0EgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLwo+ICsj ZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lDQkNSX0lUVV82MDEJCTEyCj4gKyNkZWZp bmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfWUNCQ1JfSVRVXzcwOQkJMTMKClN0aWxsIGluY29u c2lzdGVudCBuYW1pbmcgaW4gbWFueSBwbGFjZXMgKElUVV8gdnMuIEJULApZQ0JDUiB2cy4gWUND LCBvcmRlciBvZiB0aGUgdHdvKS4KCj4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllf U1JHQgkJCTE0Cj4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfUkdCX1dJREVfR0FN VVQJCTE1Cj4gKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfU0NSR0IJCQkxNgo+ICsK PiAgLyoqCj4gICAqIHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvIC0gcnVudGltZSBkYXRhIGFib3V0 IHRoZSBjb25uZWN0ZWQgc2luawo+ICAgKgo+IEBAIC01MDMsNiArNTM5LDEzIEBAIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlIHsKPiAgCXVuc2lnbmVkIGludCBjb250ZW50X3Byb3RlY3Rpb247 Cj4gIAo+ICAJLyoqCj4gKwkgKiBAY29sb3JzcGFjZTogU3RhdGUgdmFyaWFibGUgZm9yIENvbm5l Y3RvciBwcm9wZXJ0eSB0byByZXF1ZXN0Cj4gKwkgKiBjb2xvcnNwYWNlIGNoYW5nZSBvbiBTaW5r LiBUaGlzIGlzIG1vc3QgY29tbW9ubHkgdXNlZCB0byBzd2l0Y2gKPiArCSAqIHRvIHdpZGVyIGNv bG9yIGdhbXV0cyBsaWtlIEJUMjAyMC4KPiArCSAqLwo+ICsJdTMyIGNvbG9yc3BhY2U7Cj4gKwo+ ICsJLyoqCj4gIAkgKiBAd3JpdGViYWNrX2pvYjogV3JpdGViYWNrIGpvYiBmb3Igd3JpdGViYWNr IGNvbm5lY3RvcnMKPiAgCSAqCj4gIAkgKiBIb2xkcyB0aGUgZnJhbWVidWZmZXIgYW5kIG91dC1m ZW5jZSBmb3IgYSB3cml0ZWJhY2sgY29ubmVjdG9yLiBBcwo+IEBAIC05OTUsNiArMTAzOCwxMiBA QCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250ZW50 X3Byb3RlY3Rpb25fcHJvcGVydHk7Cj4gIAo+ICAJLyoqCj4gKwkgKiBAY29sb3JzcGFjZV9wcm9w ZXJ0eTogQ29ubmVjdG9yIHByb3BlcnR5IHRvIHNldCB0aGUgc3VpdGFibGUKPiArCSAqIGNvbG9y c3BhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLgo+ICsJICovCj4gKwlzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpjb2xvcnNwYWNlX3Byb3BlcnR5Owo+ICsKPiArCS8qKgo+ICAJICogQHBhdGhfYmxvYl9w dHI6Cj4gIAkgKgo+ICAJICogRFJNIGJsb2IgcHJvcGVydHkgZGF0YSBmb3IgdGhlIERQIE1TVCBw YXRoIHByb3BlcnR5LiBUaGlzIHNob3VsZCBvbmx5Cj4gQEAgLTEyNjksNiArMTMxOCw3IEBAIGlu dCBkcm1fY29ubmVjdG9yX2F0dGFjaF92cnJfY2FwYWJsZV9wcm9wZXJ0eSgKPiAgaW50IGRybV9j b25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgKPiAgCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9hc3BlY3Rf cmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gK2ludCBkcm1fbW9kZV9j cmVhdGVfY29sb3JzcGFjZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y KTsKPiAgaW50IGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9jb250ZW50X3R5 cGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gIAkJCQkJIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKPiAtLSAKPiAxLjkuMQo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK