From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar via dri-devel Subject: [v16 1/4] drm: Add HDMI colorspace property Date: Wed, 13 Feb 2019 12:35:08 +0530 Message-ID: <1550041511-31565-2-git-send-email-uma.shankar@intel.com> References: <1550041511-31565-1-git-send-email-uma.shankar@intel.com> Reply-To: Uma Shankar Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1550041511-31565-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 bGwsIGRlZmluZWQgaW4gQ1RBIDg2MS5HIHNwZWMuCgp2MTI6IEFwcGVuZGVkIEJUNzA5IGFuZCBT TVBURSAxNzBNIHdpdGggWUNDIGluZm9ybWF0aW9uIGFzIHBlciBWaWxsZSdzCnJldmlldyBjb21t ZW50IHRvIGJlIGNsZWFyIGFuZCBub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBSR0IuCgp2MTM6IFJl b3JkZXIgdGhlIGNvbG9yc3BhY2UgbWFjcm9zLgoKU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIg PHVtYS5zaGFua2FyQGludGVsLmNvbT4KQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYyB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgfCA3OCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9jb25u ZWN0b3IuaCAgICAgICB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAxMzEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwppbmRleCAw YWFiZDQwLi40ZWI4MWYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCkBAIC03NDYsNiAr NzQ2LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJ CXN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb24gPSB2YWw7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKKwkJc3RhdGUtPmNvbG9yc3BhY2Ug PSB2YWw7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPndyaXRlYmFja19mYl9pZF9w cm9wZXJ0eSkgewogCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGRybV9mcmFtZWJ1ZmZl cl9sb29rdXAoZGV2LCBOVUxMLCB2YWwpOwogCQlpbnQgcmV0ID0gZHJtX2F0b21pY19zZXRfd3Jp dGViYWNrX2ZiX2Zvcl9jb25uZWN0b3Ioc3RhdGUsIGZiKTsKQEAgLTgxNCw2ICs4MTYsOCBAQCBz dGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAogCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlv OwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3R5cGVfcHJvcGVydHkp IHsKIAkJKnZhbCA9IHN0YXRlLT5jb250ZW50X3R5cGU7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsKKwkJKnZhbCA9IHN0YXRlLT5jb2xv cnNwYWNlOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVf cHJvcGVydHkpIHsKIAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21vZGU7CiAJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSkgewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKaW5kZXggZGQ0MGVmZi4uMDdkNjVhMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCkBAIC04MjYsNiArODI2LDMzIEBAIGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9i dXNfZm9ybWF0cyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbywKIH07CiBEUk1fRU5VTV9O QU1FX0ZOKGRybV9nZXRfY29udGVudF9wcm90ZWN0aW9uX25hbWUsIGRybV9jcF9lbnVtX2xpc3Qp CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGhkbWlfY29sb3JzcGFj ZXNbXSA9IHsKKwkvKiBGb3IgRGVmYXVsdCBjYXNlLCBkcml2ZXIgd2lsbCBzZXQgdGhlIGNvbG9y c3BhY2UgKi8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQsICJEZWZhdWx0IiB9LAor CS8qIFN0YW5kYXJkIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gQ0VBIDg2MSAqLwor CXsgRFJNX01PREVfQ09MT1JJTUVUUllfU01QVEVfMTcwTV9ZQ0MsICJTTVBURV8xNzBNX1lDQyIg fSwKKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUNzA5X1lDQywgIkJUNzA5X1lDQyIgfSwKKwkv KiBTdGFuZGFyZCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQg Ki8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWWUNDXzYwMSwgIlhWWUNDXzYwMSIgfSwKKwkv KiBIaWdoIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2LTItNCAqLwor CXsgRFJNX01PREVfQ09MT1JJTUVUUllfWFZZQ0NfNzA5LCAiWFZZQ0NfNzA5IiB9LAorCS8qIENv bG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTEvQW1lbmRtZW50IDEgKi8KKwl7IERSTV9N T0RFX0NPTE9SSU1FVFJZX1NZQ0NfNjAxLCAiU1lDQ182MDEiIH0sCisJLyogQ29sb3JpbWV0cnkg YmFzZWQgb24gSUVDIDYxOTY2LTItNSBbMzNdICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9P UFlDQ182MDEsICJvcFlDQ182MDEiIH0sCisJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYx OTY2LTItNSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BSR0IsICJvcFJHQiIgfSwKKwkv KiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIwICovCisJeyBEUk1fTU9ERV9DT0xP UklNRVRSWV9CVDIwMjBfQ1lDQywgIkJUMjAyMF9DWUNDIiB9LAorCS8qIENvbG9yaW1ldHJ5IGJh c2VkIG9uIElUVS1SIEJULjIwMjAgKi8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9S R0IsICJCVDIwMjBfUkdCIiB9LAorCS8qIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElUVS1SIEJULjIw MjAgKi8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9ZQ0MsICJCVDIwMjBfWUNDIiB9 LAorCS8qIEFkZGVkIGFzIHBhcnQgb2YgQWRkaXRpb25hbCBDb2xvcmltZXRyeSBFeHRlbnNpb24g aW4gODYxLkcgKi8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RDSV9QM19SR0JfRDY1LCAiRENJ LVAzX1JHQl9ENjUiIH0sCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9EQ0lfUDNfUkdCX1RIRUFU RVIsICJEQ0ktUDNfUkdCX1RoZWF0ZXIiIH0sCit9OworCiAvKioKICAqIERPQzogc3RhbmRhcmQg Y29ubmVjdG9yIHByb3BlcnRpZXMKICAqCkBAIC0xNTQ4LDYgKzE1NzUsNTcgQEAgaW50IGRybV9t b2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eSk7CiAK IC8qKgorICogRE9DOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGllcworICoKKyAqIENvbG9y c3BhY2U6CisgKiAgICAgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkgLSBjcmVh dGUgY29sb3JzcGFjZSBwcm9wZXJ0eQorICogICAgIFRoaXMgcHJvcGVydHkgaGVscHMgc2VsZWN0 IGEgc3VpdGFibGUgY29sb3JzcGFjZSBiYXNlZCBvbiB0aGUgc2luaworICogICAgIGNhcGFiaWxp dHkuIE1vZGVybiBzaW5rIGRldmljZXMgc3VwcG9ydCB3aWRlciBnYW11dCBsaWtlIEJUMjAyMC4K KyAqICAgICBUaGlzIGhlbHBzIHN3aXRjaCB0byBCVDIwMjAgbW9kZSBpZiB0aGUgQlQyMDIwIGVu Y29kZWQgdmlkZW8gc3RyZWFtCisgKiAgICAgaXMgYmVpbmcgcGxheWVkIGJ5IHRoZSB1c2VyLCBz YW1lIGZvciBhbnkgb3RoZXIgY29sb3JzcGFjZS4gVGhlcmVieQorICogICAgIGdpdmluZyBhIGdv b2QgdmlzdWFsIGV4cGVyaWVuY2UgdG8gdXNlcnMuCisgKgorICogICAgIFRoZSBleHBlY3RhdGlv biBmcm9tIHVzZXJzcGFjZSBpcyB0aGF0IGl0IHNob3VsZCBwYXJzZSB0aGUgRURJRAorICogICAg IGFuZCBnZXQgc3VwcG9ydGVkIGNvbG9yc3BhY2VzLiBVc2UgdGhpcyBwcm9wZXJ0eSBhbmQgc3dp dGNoIHRvIHRoZQorICogICAgIG9uZSBzdXBwb3J0ZWQuIFNpbmsgc3VwcG9ydGVkIGNvbG9yc3Bh Y2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkKKyAqICAgICB1c2Vyc3BhY2UgZnJvbSBFRElEIGFu ZCBkcml2ZXIgd2lsbCBub3QgZXhwbGljaXRseSBleHBvc2UgdGhlbS4KKyAqCisgKiAgICAgQmFz aWNhbGx5IHRoZSBleHBlY3RhdGlvbiBmcm9tIHVzZXJzcGFjZSBpczoKKyAqICAgICAgLSBTZXQg dXAgQ1JUQyBERUdBTU1BL0NUTS9HQU1NQSB0byBjb252ZXJ0IHRvIHNvbWUgc2luaworICogICAg ICAgIGNvbG9yc3BhY2UKKyAqICAgICAgLSBTZXQgdGhpcyBuZXcgcHJvcGVydHkgdG8gbGV0IHRo ZSBzaW5rIGtub3cgd2hhdCBpdAorICogICAgICAgIGNvbnZlcnRlZCB0aGUgQ1JUQyBvdXRwdXQg dG8uCisgKiAgICAgIC0gVGhpcyBwcm9wZXJ0eSBpcyBqdXN0IHRvIGluZm9ybSBzaW5rIHdoYXQg Y29sb3JzcGFjZQorICogICAgICAgIHNvdXJjZSBpcyB0cnlpbmcgdG8gZHJpdmUuCisgKgorICog Q2FsbGVkIGJ5IGEgZHJpdmVyIHRoZSBmaXJzdCB0aW1lIGl0J3MgbmVlZGVkLCBtdXN0IGJlIGF0 dGFjaGVkIHRvIGRlc2lyZWQKKyAqIGNvbm5lY3RvcnMuCisgKi8KK2ludCBkcm1fbW9kZV9jcmVh dGVfY29sb3JzcGFjZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQor eworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKKwlzdHJ1Y3QgZHJt X3Byb3BlcnR5ICpwcm9wOworCisJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJN X01PREVfQ09OTkVDVE9SX0hETUlBIHx8CisJICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUg PT0gRFJNX01PREVfQ09OTkVDVE9SX0hETUlCKSB7CisJCXByb3AgPSBkcm1fcHJvcGVydHlfY3Jl YXRlX2VudW0oZGV2LCBEUk1fTU9ERV9QUk9QX0VOVU0sCisJCQkJCQkiQ29sb3JzcGFjZSIsCisJ CQkJCQloZG1pX2NvbG9yc3BhY2VzLAorCQkJCQkJQVJSQVlfU0laRShoZG1pX2NvbG9yc3BhY2Vz KSk7CisJCWlmICghcHJvcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0gZWxzZSB7CisJCURSTV9E RUJVR19LTVMoIkNvbG9yc3BhY2UgcHJvcGVydHkgbm90IHN1cHBvcnRlZFxuIik7CisJCXJldHVy biAwOworCX0KKworCWNvbm5lY3Rvci0+Y29sb3JzcGFjZV9wcm9wZXJ0eSA9IHByb3A7CisKKwly ZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJv cGVydHkpOworCisvKioKICAqIGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkg LSBjcmVhdGUgY29udGVudCB0eXBlIHByb3BlcnR5CiAgKiBAZGV2OiBEUk0gZGV2aWNlCiAgKgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVkZS9kcm0vZHJt X2Nvbm5lY3Rvci5oCmluZGV4IDhmZTIyYWIuLjk1Nzk1YjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAg LTI1Myw2ICsyNTMsNDEgQEAgZW51bSBkcm1fcGFuZWxfb3JpZW50YXRpb24gewogCURSTV9NT0RF X1BBTkVMX09SSUVOVEFUSU9OX1JJR0hUX1VQLAogfTsKIAorLyoKKyAqIFRoaXMgaXMgYSBjb25z b2xpZGF0ZWQgY29sb3JpbWV0cnkgbGlzdCBzdXBwb3J0ZWQgYnkgSERNSSBhbmQKKyAqIERQIHBy b3RvY29sIHN0YW5kYXJkLiBUaGUgcmVzcGVjdGl2ZSBjb25uZWN0b3JzIHdpbGwgcmVnaXN0ZXIK KyAqIGEgcHJvcGVydHkgd2l0aCB0aGUgc3Vic2V0IG9mIHRoaXMgbGlzdCAoc3VwcG9ydGVkIGJ5 IHRoYXQKKyAqIHJlc3BlY3RpdmUgcHJvdG9jb2wpLiBVc2Vyc3BhY2Ugd2lsbCBzZXQgdGhlIGNv bG9yc3BhY2UgdGhyb3VnaAorICogYSBjb2xvcnNwYWNlIHByb3BlcnR5IHdoaWNoIHdpbGwgYmUg Y3JlYXRlZCBhbmQgZXhwb3NlZCB0bworICogdXNlcnNwYWNlLgorICovCisKKy8qIEZvciBEZWZh dWx0IGNhc2UsIGRyaXZlciB3aWxsIHNldCB0aGUgY29sb3JzcGFjZSAqLworI2RlZmluZSBEUk1f TU9ERV9DT0xPUklNRVRSWV9ERUZBVUxUCQkJMAorLyogQ0VBIDg2MSBOb3JtYWwgQ29sb3JpbWV0 cnkgb3B0aW9ucyAqLworI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9OT19EQVRBCQkJMAor I2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9TTVBURV8xNzBNX1lDQwkJMQorI2RlZmluZSBE Uk1fTU9ERV9DT0xPUklNRVRSWV9CVDcwOV9ZQ0MJCQkyCisvKiBDRUEgODYxIEV4dGVuZGVkIENv bG9yaW1ldHJ5IE9wdGlvbnMgKi8KKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfWFZZQ0Nf NjAxCQkJMworI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9YVllDQ183MDkJCQk0CisjZGVm aW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX1NZQ0NfNjAxCQkJNQorI2RlZmluZSBEUk1fTU9ERV9D T0xPUklNRVRSWV9PUFlDQ182MDEJCQk2CisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09Q UkdCCQkJNworI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfQ1lDQwkJOAorI2Rl ZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfUkdCCQkJOQorI2RlZmluZSBEUk1fTU9E RV9DT0xPUklNRVRSWV9CVDIwMjBfWUNDCQkJMTAKKy8qIEFkZGl0aW9uYWwgQ29sb3JpbWV0cnkg ZXh0ZW5zaW9uIGFkZGVkIGFzIHBhcnQgb2YgQ1RBIDg2MS5HICovCisjZGVmaW5lIERSTV9NT0RF X0NPTE9SSU1FVFJZX0RDSV9QM19SR0JfRDY1CQkxMQorI2RlZmluZSBEUk1fTU9ERV9DT0xPUklN RVRSWV9EQ0lfUDNfUkdCX1RIRUFURVIJCTEyCisKKy8qIERQIE1TQSBDb2xvcmltZXRyeSBPcHRp b25zICovCisjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX0JUNjAxX1lDQwkJMTMKKyNk ZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfQlQ3MDlfWUNDCQkxNAorI2RlZmluZSBEUk1f TU9ERV9EUF9DT0xPUklNRVRSWV9TUkdCCQkJMTUKKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJ TUVUUllfUkdCX1dJREVfR0FNVVQJCTE2CisjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZ X1NDUkdCCQkJMTcKKwogLyoqCiAgKiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAtIHJ1bnRpbWUg ZGF0YSBhYm91dCB0aGUgY29ubmVjdGVkIHNpbmsKICAqCkBAIC01MDMsNiArNTM4LDEzIEBAIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKIAl1bnNpZ25lZCBpbnQgY29udGVudF9wcm90ZWN0 aW9uOwogCiAJLyoqCisJICogQGNvbG9yc3BhY2U6IFN0YXRlIHZhcmlhYmxlIGZvciBDb25uZWN0 b3IgcHJvcGVydHkgdG8gcmVxdWVzdAorCSAqIGNvbG9yc3BhY2UgY2hhbmdlIG9uIFNpbmsuIFRo aXMgaXMgbW9zdCBjb21tb25seSB1c2VkIHRvIHN3aXRjaAorCSAqIHRvIHdpZGVyIGNvbG9yIGdh bXV0cyBsaWtlIEJUMjAyMC4KKwkgKi8KKwl1MzIgY29sb3JzcGFjZTsKKworCS8qKgogCSAqIEB3 cml0ZWJhY2tfam9iOiBXcml0ZWJhY2sgam9iIGZvciB3cml0ZWJhY2sgY29ubmVjdG9ycwogCSAq CiAJICogSG9sZHMgdGhlIGZyYW1lYnVmZmVyIGFuZCBvdXQtZmVuY2UgZm9yIGEgd3JpdGViYWNr IGNvbm5lY3Rvci4gQXMKQEAgLTk5NSw2ICsxMDM3LDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9y IHsKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHk7CiAK IAkvKioKKwkgKiBAY29sb3JzcGFjZV9wcm9wZXJ0eTogQ29ubmVjdG9yIHByb3BlcnR5IHRvIHNl dCB0aGUgc3VpdGFibGUKKwkgKiBjb2xvcnNwYWNlIHN1cHBvcnRlZCBieSB0aGUgc2luay4KKwkg Ki8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb2xvcnNwYWNlX3Byb3BlcnR5OworCisJLyoqCiAJ ICogQHBhdGhfYmxvYl9wdHI6CiAJICoKIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBkYXRhIGZvciB0 aGUgRFAgTVNUIHBhdGggcHJvcGVydHkuIFRoaXMgc2hvdWxkIG9ubHkKQEAgLTEyNjksNiArMTMx Nyw3IEBAIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF92cnJfY2FwYWJsZV9wcm9wZXJ0eSgKIGlu dCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCiAJCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwogaW50IGRybV9tb2RlX2NyZWF0ZV9hc3Bl Y3RfcmF0aW9fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CitpbnQgZHJtX21vZGVf Y3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cik7CiBpbnQgZHJtX21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKIHZvaWQgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9jb250ZW50X3R5cGUo c3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCiAJCQkJCSBjb25zdCBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs