From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v12 1/4] drm: Add HDMI colorspace property Date: Tue, 5 Feb 2019 22:33:21 +0530 Message-ID: <1549386204-25694-2-git-send-email-uma.shankar@intel.com> References: <1549386204-25694-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1549386204-25694-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: ville.syrjala@intel.com, emil.l.velikov@gmail.com, Uma Shankar , maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3JlYXRlIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSB0byBwcm9ncmFtIGNvbG9yc3BhY2UgdG8g c2luawpkZXZpY2VzLiBNb2Rlcm4gc2luayBkZXZpY2VzIHN1cHBvcnQgbW9yZSB0aGFuIDEgdHlw ZSBvZgpjb2xvcnNwYWNlIGxpa2UgNjAxLCA3MDksIEJUMjAyMCBldGMuIFRoaXMgaGVscHMgdG8g c3dpdGNoCmJhc2VkIG9uIGNvbnRlbnQgdHlwZSB3aGljaCBpcyB0byBiZSBkaXNwbGF5ZWQuIFRo ZSBkZWNpc2lvbgpsaWVzIHdpdGggY29tcG9zaXRvcnMgYXMgdG8gaW4gd2hpY2ggc2NlbmFyaW9z LCBhIHBhcnRpY3VsYXIKY29sb3JzcGFjZSB3aWxsIGJlIHBpY2tlZC4KClRoaXMgd2lsbCBiZSBo ZWxwZnVsIG1vc3RseSB0byBzd2l0Y2ggdG8gaGlnaGVyIGdhbXV0IGNvbG9yc3BhY2VzCmxpa2Ug QlQyMDIwIHdoZW4gdGhlIG1lZGlhIGNvbnRlbnQgaXMgZW5jb2RlZCBhcyBCVDIwMjAuIFRoZXJl YnkKZ2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5jZSB0byB1c2Vycy4KClRoZSBleHBlY3Rh dGlvbiBmcm9tIHVzZXJzcGFjZSBpcyB0aGF0IGl0IHNob3VsZCBwYXJzZSB0aGUgRURJRAphbmQg Z2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0 byB0aGUKb25lIHN1cHBvcnRlZC4gU2luayBzdXBwb3J0ZWQgY29sb3JzcGFjZXMgc2hvdWxkIGJl IHJldHJpZXZlZCBieQp1c2Vyc3BhY2UgZnJvbSBFRElEIGFuZCBkcml2ZXIgd2lsbCBub3QgZXhw bGljaXRseSBleHBvc2UgdGhlbS4KCkJhc2ljYWxseSB0aGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vy c3BhY2UgaXM6CiAtIFNldCB1cCBDUlRDIERFR0FNTUEvQ1RNL0dBTU1BIHRvIGNvbnZlcnQgdG8g c29tZSBzaW5rCiAgIGNvbG9yc3BhY2UKIC0gU2V0IHRoaXMgbmV3IHByb3BlcnR5IHRvIGxldCB0 aGUgc2luayBrbm93IHdoYXQgaXQKICAgY29udmVydGVkIHRoZSBDUlRDIG91dHB1dCB0by4KCnYy OiBBZGRyZXNzZWQgTWFhcnRlbiBhbmQgVmlsbGUncyByZXZpZXcgY29tbWVudHMuIEVuaGFuY2Vk CnRoZSBjb2xvcnNwYWNlIGVudW0gdG8gaW5jb3Jwb3JhdGUgYm90aCBIRE1JIGFuZCBEUCBzdXBw b3J0ZWQKY29sb3JzcGFjZXMuIEFsc28sIGFkZGVkIGEgZGVmYXVsdCBvcHRpb24gZm9yIGNvbG9y c3BhY2UuCgp2MzogUmVtb3ZlZCBBZG9iZSByZWZlcmVuY2VzIGZyb20gZW51bSBkZWZpbml0aW9u cyBhcyBwZXIKVmlsbGUsIEhhbnMgVmVya3VpbCBhbmQgSm9uYXMgS2FybG1hbiBzdWdnZXN0aW9u cy4gQ2hhbmdlZApEZWZhdWx0IHRvIGFuIHVuc2V0IHN0YXRlIHdoZXJlIGRyaXZlciB3aWxsIGFz c2lnbiB0aGUgY29sb3JzcGFjZQppcyBub3QgY2hvc2VuIGJ5IHVzZXIsIHN1Z2dlc3RlZCBieSBW aWxsZSBhbmQgTWFhcnRlbi4gQWRkcmVzc2VkCm90aGVyIG1pc2MgcmV2aWV3IGNvbW1lbnRzIGZy b20gTWFhcnRlbi4gU3BsaXQgdGhlIGNoYW5nZXMgdG8KaGF2ZSBzZXBhcmF0ZSBjb2xvcnNwYWNl IHByb3BlcnR5IGZvciBEUCBhbmQgSERNSS4KCnY0OiBBZGRyZXNzZWQgQ2hyaXMgYW5kIFZpbGxl J3MgcmV2aWV3IGNvbW1lbnRzLCBhbmQgY3JlYXRlZCBhCmNvbW1vbiBjb2xvcnNwYWNlIHByb3Bl cnR5IGZvciBEUCBhbmQgSERNSSwgZmlsdGVyZWQgdGhlIGxpc3QKYmFzZWQgb24gdGhlIGNvbG9y c3BhY2VzIHN1cHBvcnRlZCBieSB0aGUgcmVzcGVjdGl2ZSBwcm90b2NvbApzdGFuZGFyZC4KCnY1 OiBNYWRlIHRoZSBwcm9wZXJ0eSBjcmVhdGlvbiBoZWxwZXIgYWNjZXB0IGVudW0gbGlzdCBiYXNl ZCBvbgpwbGF0Zm9ybSBjYXBhYmlsdGllcyBhcyBzdWdnZXN0ZWQgYnkgU2hhc2hhbmsuIENvbnNv bGlkYXRlZCBIRE1JCmFuZCBEUCBwcm9wZXJ0eSBjcmVhdGlvbiBpbiB0aGUgY29tbW9uIGhlbHBl ci4KCnY2OiBBZGRyZXNzZWQgU2hhc2hhbmsncyByZXZpZXcgY29tbWVudHMuCgp2NzogQWRkZWQg ZGVmaW5lcyBpbnN0ZWFkIG9mIGVudW0gaW4gdWFwaSBhcyBwZXIgQnJpYW4gU3RhcmtleSdzCnN1 Z2dlc3Rpb24gaW4gb3JkZXIgdG8gZ28gd2l0aCBzdHJpbmcgbWF0Y2hpbmcgYXQgdXNlcnNwYWNl LiBVcGRhdGVkCnRoZSBjb21taXQgbWVzc2FnZSB0byBhZGQgbW9yZSBkZXRhaWxzIGFzIHdlbGwg a2VybmVsIGRvY3MuCgp2ODogQWRkcmVzc2VkIE1hYXJ0ZW4ncyByZXZpZXcgY29tbWVudHMuCgp2 OTogUmVtb3ZlZCBtYWNybyBkZWZpbmVzIGZyb20gdWFwaSBhcyBwZXIgQnJpYW4gU3RhcmtleSBh bmQgRGFuaWVsClN0b25lJ3MgY29tbWVudHMgYW5kIG1vdmVkIHRvIGRybSBpbmNsdWRlIGZpbGUu IE1vdmVkIGJhY2sgdG8gb2xkZXIKZGVzaWduIHdpdGggZXhwb3NpbmcgYWxsIEhETUkgY29sb3Jz cGFjZXMgdG8gdXNlcnNwYWNlIHNpbmNlIGluZm9mcmFtZQpjYXBhYmlsaXR5IGlzIHRoZXJlIGV2 ZW4gb24gbGVnYWN5IHBsYXRmb3JtcywgYXMgcGVyIFZpbGxlJ3MgcmV2aWV3CmNvbW1lbnRzLgoK djEwOiBGaXhlZCBzcGFyc2Ugd2FybmluZ3MsIHVwZGF0ZWQgdGhlIFJCIGZyb20gTWFhcnRlbiBh bmQgSmFuaSdzIGFjay4KCnYxMTogQWRkcmVzc2VkIFZpbGxlJ3MgcmV2aWV3IGNvbW1lbnRzLiBV cGRhdGVkIHRoZSBNYWNybyBuYW1pbmcgYW5kCmFkZGVkIERDSS1QMyBjb2xvcnNwYWNlIGFzIHdl bGwgZGVmaW5lZCBpbiBDRUEgODYxLkcgc3BlYy4KClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2Fy IDx1bWEuc2hhbmthckBpbnRlbC5jb20+CkFja2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1 bGFAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFy bWFAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMgfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgIHwgNzggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fY29u bmVjdG9yLmggICAgICAgfCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDEzMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCmluZGV4 IDBhYWJkNDAuLjRlYjgxZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKQEAgLTc0Niw2 ICs3NDYsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0K IAkJc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9IHZhbDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbm5lY3Rvci0+Y29sb3JzcGFjZV9wcm9wZXJ0eSkgeworCQlzdGF0ZS0+Y29sb3JzcGFj ZSA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lk X3Byb3BlcnR5KSB7CiAJCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gZHJtX2ZyYW1lYnVm ZmVyX2xvb2t1cChkZXYsIE5VTEwsIHZhbCk7CiAJCWludCByZXQgPSBkcm1fYXRvbWljX3NldF93 cml0ZWJhY2tfZmJfZm9yX2Nvbm5lY3RvcihzdGF0ZSwgZmIpOwpAQCAtODE0LDYgKzgxNiw4IEBA IHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSp2YWwgPSBzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0 aW87CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmNvbnRlbnRfdHlwZV9wcm9wZXJ0 eSkgewogCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRfdHlwZTsKKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbm5lY3Rvci0+Y29sb3JzcGFjZV9wcm9wZXJ0eSkgeworCQkqdmFsID0gc3RhdGUtPmNv bG9yc3BhY2U7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPnNjYWxpbmdfbW9k ZV9wcm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPnNjYWxpbmdfbW9kZTsKIAl9IGVsc2UgaWYg KHByb3BlcnR5ID09IGNvbm5lY3Rvci0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwppbmRleCBkZDQwZWZmLi41YzZmNTI0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y29ubmVjdG9yLmMKQEAgLTgyNiw2ICs4MjYsMzMgQEAgaW50IGRybV9kaXNwbGF5X2luZm9fc2V0 X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvLAogfTsKIERSTV9FTlVN X05BTUVfRk4oZHJtX2dldF9jb250ZW50X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2NwX2VudW1fbGlz dCkKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgaGRtaV9jb2xvcnNw YWNlc1tdID0geworCS8qIEZvciBEZWZhdWx0IGNhc2UsIGRyaXZlciB3aWxsIHNldCB0aGUgY29s b3JzcGFjZSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfREVGQVVMVCwgIkRlZmF1bHQiIH0s CisJLyogU3RhbmRhcmQgRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBDRUEgODYxICov CisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9TTVBURV8xNzBNLCAiU01QVEVfMTcwTSIgfSwKKwl7 IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUNzA5LCAiQlQ3MDkiIH0sCisJLyogU3RhbmRhcmQgRGVm aW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCisJeyBEUk1fTU9E RV9DT0xPUklNRVRSWV9YVllDQ182MDEsICJYVllDQ182MDEiIH0sCisJLyogSGlnaCBEZWZpbml0 aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQgKi8KKwl7IERSTV9NT0RFX0NP TE9SSU1FVFJZX1hWWUNDXzcwOSwgIlhWWUNDXzcwOSIgfSwKKwkvKiBDb2xvcmltZXRyeSBiYXNl ZCBvbiBJRUMgNjE5NjYtMi0xL0FtZW5kbWVudCAxICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRS WV9TWUNDXzYwMSwgIlNZQ0NfNjAxIiB9LAorCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2 MTk2Ni0yLTUgWzMzXSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BZQ0NfNjAxLCAib3BZ Q0NfNjAxIiB9LAorCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTUgKi8KKwl7 IERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCLCAib3BSR0IiIH0sCisJLyogQ29sb3JpbWV0cnkg YmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIw X1lDQywgIkJUMjAyMF9ZQ0MiIH0sCisJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQu MjAyMCAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIwX1JHQiwgIkJUMjAyMF9SR0Ii IH0sCisJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSVRVLVIgQlQuMjAyMCAqLworCXsgRFJNX01P REVfQ09MT1JJTUVUUllfQlQyMDIwX0NZQ0MsICJCVDIwMjBfQ1lDQyIgfSwKKwkvKiBBZGRlZCBh cyBwYXJ0IG9mIEFkZGl0aW9uYWwgQ29sb3JpbWV0cnkgRXh0ZW5zaW9uIGluIDg2MS5HICovCisJ eyBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdCX0Q2NSwgIkRDSS1QM19SR0JfRDY1IiB9 LAorCXsgRFJNX01PREVfQ09MT1JJTUVUUllfRENJX1AzX1JHQl9USEVBVEVSLCAiRENJLVAzX1JH Ql9UaGVhdGVyIiB9LAorfTsKKwogLyoqCiAgKiBET0M6IHN0YW5kYXJkIGNvbm5lY3RvciBwcm9w ZXJ0aWVzCiAgKgpAQCAtMTU0OCw2ICsxNTc1LDU3IEBAIGludCBkcm1fbW9kZV9jcmVhdGVfYXNw ZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiBFWFBPUlRfU1lNQk9M KGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOwogCiAvKioKKyAqIERPQzog c3RhbmRhcmQgY29ubmVjdG9yIHByb3BlcnRpZXMKKyAqCisgKiBDb2xvcnNwYWNlOgorICogICAg IGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbG9yc3BhY2Ug cHJvcGVydHkKKyAqICAgICBUaGlzIHByb3BlcnR5IGhlbHBzIHNlbGVjdCBhIHN1aXRhYmxlIGNv bG9yc3BhY2UgYmFzZWQgb24gdGhlIHNpbmsKKyAqICAgICBjYXBhYmlsaXR5LiBNb2Rlcm4gc2lu ayBkZXZpY2VzIHN1cHBvcnQgd2lkZXIgZ2FtdXQgbGlrZSBCVDIwMjAuCisgKiAgICAgVGhpcyBo ZWxwcyBzd2l0Y2ggdG8gQlQyMDIwIG1vZGUgaWYgdGhlIEJUMjAyMCBlbmNvZGVkIHZpZGVvIHN0 cmVhbQorICogICAgIGlzIGJlaW5nIHBsYXllZCBieSB0aGUgdXNlciwgc2FtZSBmb3IgYW55IG90 aGVyIGNvbG9yc3BhY2UuIFRoZXJlYnkKKyAqICAgICBnaXZpbmcgYSBnb29kIHZpc3VhbCBleHBl cmllbmNlIHRvIHVzZXJzLgorICoKKyAqICAgICBUaGUgZXhwZWN0YXRpb24gZnJvbSB1c2Vyc3Bh Y2UgaXMgdGhhdCBpdCBzaG91bGQgcGFyc2UgdGhlIEVESUQKKyAqICAgICBhbmQgZ2V0IHN1cHBv cnRlZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0aGUKKyAq ICAgICBvbmUgc3VwcG9ydGVkLiBTaW5rIHN1cHBvcnRlZCBjb2xvcnNwYWNlcyBzaG91bGQgYmUg cmV0cmlldmVkIGJ5CisgKiAgICAgdXNlcnNwYWNlIGZyb20gRURJRCBhbmQgZHJpdmVyIHdpbGwg bm90IGV4cGxpY2l0bHkgZXhwb3NlIHRoZW0uCisgKgorICogICAgIEJhc2ljYWxseSB0aGUgZXhw ZWN0YXRpb24gZnJvbSB1c2Vyc3BhY2UgaXM6CisgKiAgICAgIC0gU2V0IHVwIENSVEMgREVHQU1N QS9DVE0vR0FNTUEgdG8gY29udmVydCB0byBzb21lIHNpbmsKKyAqICAgICAgICBjb2xvcnNwYWNl CisgKiAgICAgIC0gU2V0IHRoaXMgbmV3IHByb3BlcnR5IHRvIGxldCB0aGUgc2luayBrbm93IHdo YXQgaXQKKyAqICAgICAgICBjb252ZXJ0ZWQgdGhlIENSVEMgb3V0cHV0IHRvLgorICogICAgICAt IFRoaXMgcHJvcGVydHkgaXMganVzdCB0byBpbmZvcm0gc2luayB3aGF0IGNvbG9yc3BhY2UKKyAq ICAgICAgICBzb3VyY2UgaXMgdHJ5aW5nIHRvIGRyaXZlLgorICoKKyAqIENhbGxlZCBieSBhIGRy aXZlciB0aGUgZmlyc3QgdGltZSBpdCdzIG5lZWRlZCwgbXVzdCBiZSBhdHRhY2hlZCB0byBkZXNp cmVkCisgKiBjb25uZWN0b3JzLgorICovCitpbnQgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2Vf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cDsKKworCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RP Ul9IRE1JQSB8fAorCSAgICBjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NP Tk5FQ1RPUl9IRE1JQikgeworCQlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwg RFJNX01PREVfUFJPUF9FTlVNLAorCQkJCQkJIkNvbG9yc3BhY2UiLAorCQkJCQkJaGRtaV9jb2xv cnNwYWNlcywKKwkJCQkJCUFSUkFZX1NJWkUoaGRtaV9jb2xvcnNwYWNlcykpOworCQlpZiAoIXBy b3ApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9IGVsc2UgeworCQlEUk1fREVCVUdfS01TKCJDb2xv cnNwYWNlIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWRcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlj b25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkgPSBwcm9wOworCisJcmV0dXJuIDA7Cit9CitF WFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5KTsKKworLyoq CiAgKiBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbnRl bnQgdHlwZSBwcm9wZXJ0eQogICogQGRldjogRFJNIGRldmljZQogICoKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaApp bmRleCA4ZmUyMmFiLi44ZDUxNWI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC0yNTMsNiArMjUzLDQy IEBAIGVudW0gZHJtX3BhbmVsX29yaWVudGF0aW9uIHsKIAlEUk1fTU9ERV9QQU5FTF9PUklFTlRB VElPTl9SSUdIVF9VUCwKIH07CiAKKy8qCisgKiBUaGlzIGlzIGEgY29uc29saWRhdGVkIGNvbG9y aW1ldHJ5IGxpc3Qgc3VwcG9ydGVkIGJ5IEhETUkgYW5kCisgKiBEUCBwcm90b2NvbCBzdGFuZGFy ZC4gVGhlIHJlc3BlY3RpdmUgY29ubmVjdG9ycyB3aWxsIHJlZ2lzdGVyCisgKiBhIHByb3BlcnR5 IHdpdGggdGhlIHN1YnNldCBvZiB0aGlzIGxpc3QgKHN1cHBvcnRlZCBieSB0aGF0CisgKiByZXNw ZWN0aXZlIHByb3RvY29sKS4gVXNlcnNwYWNlIHdpbGwgc2V0IHRoZSBjb2xvcnNwYWNlIHRocm91 Z2gKKyAqIGEgY29sb3JzcGFjZSBwcm9wZXJ0eSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgYW5kIGV4 cG9zZWQgdG8KKyAqIHVzZXJzcGFjZS4KKyAqLworCisvKiBGb3IgRGVmYXVsdCBjYXNlLCBkcml2 ZXIgd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgKi8KKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVU UllfREVGQVVMVAkJCTAKKy8qIENFQSA4NjEgTm9ybWFsIENvbG9yaW1ldHJ5IG9wdGlvbnMgKi8K KyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfTk9fREFUQQkJCTAKKyNkZWZpbmUgRFJNX01P REVfQ09MT1JJTUVUUllfU01QVEVfMTcwTQkJCTEKKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVU UllfQlQ3MDkJCQkyCisvKiBDRUEgODYxIEV4dGVuZGVkIENvbG9yaW1ldHJ5IE9wdGlvbnMgKi8K KyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfWFZZQ0NfNjAxCQkJMworI2RlZmluZSBEUk1f TU9ERV9DT0xPUklNRVRSWV9YVllDQ183MDkJCQk0CisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1F VFJZX1NZQ0NfNjAxCQkJNQorI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9PUFlDQ182MDEJ CQk2CisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09QUkdCCQkJNworI2RlZmluZSBEUk1f TU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfWUNDCQkJOAorLyogQm90aCBCVDIwMjBfUkdCIGFuZCBC VDIwMjBfWUNiQ2JDciBoYXZlIHNhbWUgdmFsdWUgKi8KKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJ TUVUUllfQlQyMDIwX1JHQgkJCTkKKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfQlQyMDIw X0NZQ0MJCTkKKy8qIEFkZGl0aW9uYWwgQ29sb3JpbWV0cnkgZXh0ZW5zaW9uIGFkZGVkIGFzIHBh cnQgb2YgQ1RBIDg2MS5HICovCisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0RDSV9QM19S R0JfRDY1CQkxMAorI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdCX1RIRUFU RVIJCTExCisKKy8qIERQIE1TQSBDb2xvcmltZXRyeSBPcHRpb25zICovCisjZGVmaW5lIERSTV9N T0RFX0RQX0NPTE9SSU1FVFJZX1lDQkNSX0lUVV82MDEJCTEyCisjZGVmaW5lIERSTV9NT0RFX0RQ X0NPTE9SSU1FVFJZX1lDQkNSX0lUVV83MDkJCTEzCisjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9S SU1FVFJZX1NSR0IJCQkxNAorI2RlZmluZSBEUk1fTU9ERV9EUF9DT0xPUklNRVRSWV9SR0JfV0lE RV9HQU1VVAkJMTUKKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfU0NSR0IJCQkxNgor CiAvKioKICAqIHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvIC0gcnVudGltZSBkYXRhIGFib3V0IHRo ZSBjb25uZWN0ZWQgc2luawogICoKQEAgLTUwMyw2ICs1MzksMTMgQEAgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgewogCXVuc2lnbmVkIGludCBjb250ZW50X3Byb3RlY3Rpb247CiAKIAkvKioK KwkgKiBAY29sb3JzcGFjZTogU3RhdGUgdmFyaWFibGUgZm9yIENvbm5lY3RvciBwcm9wZXJ0eSB0 byByZXF1ZXN0CisJICogY29sb3JzcGFjZSBjaGFuZ2Ugb24gU2luay4gVGhpcyBpcyBtb3N0IGNv bW1vbmx5IHVzZWQgdG8gc3dpdGNoCisJICogdG8gd2lkZXIgY29sb3IgZ2FtdXRzIGxpa2UgQlQy MDIwLgorCSAqLworCXUzMiBjb2xvcnNwYWNlOworCisJLyoqCiAJICogQHdyaXRlYmFja19qb2I6 IFdyaXRlYmFjayBqb2IgZm9yIHdyaXRlYmFjayBjb25uZWN0b3JzCiAJICoKIAkgKiBIb2xkcyB0 aGUgZnJhbWVidWZmZXIgYW5kIG91dC1mZW5jZSBmb3IgYSB3cml0ZWJhY2sgY29ubmVjdG9yLiBB cwpAQCAtOTk1LDYgKzEwMzgsMTIgQEAgc3RydWN0IGRybV9jb25uZWN0b3IgewogCXN0cnVjdCBk cm1fcHJvcGVydHkgKmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eTsKIAogCS8qKgorCSAqIEBj b2xvcnNwYWNlX3Byb3BlcnR5OiBDb25uZWN0b3IgcHJvcGVydHkgdG8gc2V0IHRoZSBzdWl0YWJs ZQorCSAqIGNvbG9yc3BhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLgorCSAqLworCXN0cnVjdCBk cm1fcHJvcGVydHkgKmNvbG9yc3BhY2VfcHJvcGVydHk7CisKKwkvKioKIAkgKiBAcGF0aF9ibG9i X3B0cjoKIAkgKgogCSAqIERSTSBibG9iIHByb3BlcnR5IGRhdGEgZm9yIHRoZSBEUCBNU1QgcGF0 aCBwcm9wZXJ0eS4gVGhpcyBzaG91bGQgb25seQpAQCAtMTI2OSw2ICsxMzE4LDcgQEAgaW50IGRy bV9jb25uZWN0b3JfYXR0YWNoX3Zycl9jYXBhYmxlX3Byb3BlcnR5KAogaW50IGRybV9jb25uZWN0 b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgKIAkJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7CiBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2ludCBkcm1fbW9kZV9jcmVhdGVfY29sb3Jz cGFjZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBkcm1f bW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owogdm9pZCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2NvbnRlbnRfdHlwZShzdHJ1Y3QgaGRtaV9h dmlfaW5mb2ZyYW1lICpmcmFtZSwKIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK