From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v8 1/2] drm: Add colorspace connector property Date: Tue, 29 Jan 2019 21:22:55 +0530 Message-ID: <1548777176-16783-2-git-send-email-uma.shankar@intel.com> References: <1548777176-16783-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: <1548777176-16783-1-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: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3JlYXRlIGEgbmV3IGNvbm5lY3RvciBwcm9wZXJ0eSB0byBwcm9ncmFtIGNvbG9yc3BhY2UgdG8g c2luayBkZXZpY2VzLgpNb2Rlcm4gc2luayBkZXZpY2VzIHN1cHBvcnQgbW9yZSB0aGFuIDEgdHlw ZSBvZiBjb2xvcnNwYWNlIGxpa2UgNjAxLAo3MDksIEJUMjAyMCBldGMuIFRoaXMgaGVscHMgdG8g c3dpdGNoIGJhc2VkIG9uIGNvbnRlbnQgdHlwZSB3aGljaCBpcwp0byBiZSBkaXNwbGF5ZWQuIFRo ZSBkZWNpc2lvbiBsaWVzIHdpdGggY29tcG9zaXRvcnMgYXMgdG8gaW4gd2hpY2gKc2NlbmFyaW9z LCBhIHBhcnRpY3VsYXIgY29sb3JzcGFjZSB3aWxsIGJlIHBpY2tlZC4KClRoaXMgd2lsbCBiZSBo ZWxwZnVsIG1vc3RseSB0byBzd2l0Y2ggdG8gaGlnaGVyIGdhbXV0IGNvbG9yc3BhY2VzCmxpa2Ug QlQyMDIwIHdoZW4gdGhlIG1lZGlhIGNvbnRlbnQgaXMgZW5jb2RlZCBhcyBCVDIwMjAuIFRoZXJl YnkKZ2l2aW5nIGEgZ29vZCB2aXN1YWwgZXhwZXJpZW5jZSB0byB1c2Vycy4KClRoZSBleHBlY3Rh dGlvbiBmcm9tIHVzZXJzcGFjZSBpcyB0aGF0IGl0IHNob3VsZCBwYXJzZSB0aGUgRURJRAphbmQg Z2V0IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0 byB0aGUKb25lIHN1cHBvcnRlZC4gRHJpdmVyIHdpbGwgZXhwb3NlIHRoZSBwbGF0Zm9ybSBzdXBw b3J0ZWQgY29sb3JzcGFjZXMsCmhvd2V2ZXIgc2luayBzdXBwb3J0ZWQgY29sb3JzcGFjZXMgc2hv dWxkIGJlIHJldHJpZXZlZCBieSB1c2Vyc3BhY2UKZnJvbSBFRElELgoKQmFzaWNhbGx5IHRoZSBl eHBlY3RhdGlvbiBmcm9tIHVzZXJzcGFjZSBpczoKIC0gU2V0IHVwIENSVEMgREVHQU1NQS9DVE0v R0FNTUEgdG8gY29udmVydCB0byBzb21lIHNpbmsKICAgY29sb3JzcGFjZQogLSBTZXQgdGhpcyBu ZXcgcHJvcGVydHkgdG8gbGV0IHRoZSBzaW5rIGtub3cgd2hhdCBpdAogICBjb252ZXJ0ZWQgdGhl IENSVEMgb3V0cHV0IHRvLgoKdjI6IEFkZHJlc3NlZCBNYWFydGVuIGFuZCBWaWxsZSdzIHJldmll dyBjb21tZW50cy4gRW5oYW5jZWQKdGhlIGNvbG9yc3BhY2UgZW51bSB0byBpbmNvcnBvcmF0ZSBi b3RoIEhETUkgYW5kIERQIHN1cHBvcnRlZApjb2xvcnNwYWNlcy4gQWxzbywgYWRkZWQgYSBkZWZh dWx0IG9wdGlvbiBmb3IgY29sb3JzcGFjZS4KCnYzOiBSZW1vdmVkIEFkb2JlIHJlZmVyZW5jZXMg ZnJvbSBlbnVtIGRlZmluaXRpb25zIGFzIHBlcgpWaWxsZSwgSGFucyBWZXJrdWlsIGFuZCBKb25h cyBLYXJsbWFuIHN1Z2dlc3Rpb25zLiBDaGFuZ2VkCkRlZmF1bHQgdG8gYW4gdW5zZXQgc3RhdGUg d2hlcmUgZHJpdmVyIHdpbGwgYXNzaWduIHRoZSBjb2xvcnNwYWNlCmlzIG5vdCBjaG9zZW4gYnkg dXNlciwgc3VnZ2VzdGVkIGJ5IFZpbGxlIGFuZCBNYWFydGVuLiBBZGRyZXNzZWQKb3RoZXIgbWlz YyByZXZpZXcgY29tbWVudHMgZnJvbSBNYWFydGVuLiBTcGxpdCB0aGUgY2hhbmdlcyB0bwpoYXZl IHNlcGFyYXRlIGNvbG9yc3BhY2UgcHJvcGVydHkgZm9yIERQIGFuZCBIRE1JLgoKdjQ6IEFkZHJl c3NlZCBDaHJpcyBhbmQgVmlsbGUncyByZXZpZXcgY29tbWVudHMsIGFuZCBjcmVhdGVkIGEKY29t bW9uIGNvbG9yc3BhY2UgcHJvcGVydHkgZm9yIERQIGFuZCBIRE1JLCBmaWx0ZXJlZCB0aGUgbGlz dApiYXNlZCBvbiB0aGUgY29sb3JzcGFjZXMgc3VwcG9ydGVkIGJ5IHRoZSByZXNwZWN0aXZlIHBy b3RvY29sCnN0YW5kYXJkLgoKdjU6IE1hZGUgdGhlIHByb3BlcnR5IGNyZWF0aW9uIGhlbHBlciBh Y2NlcHQgZW51bSBsaXN0IGJhc2VkIG9uCnBsYXRmb3JtIGNhcGFiaWx0aWVzIGFzIHN1Z2dlc3Rl ZCBieSBTaGFzaGFuay4gQ29uc29saWRhdGVkIEhETUkKYW5kIERQIHByb3BlcnR5IGNyZWF0aW9u IGluIHRoZSBjb21tb24gaGVscGVyLgoKdjY6IEFkZHJlc3NlZCBTaGFzaGFuaydzIHJldmlldyBj b21tZW50cy4KCnY3OiBBZGRlZCBkZWZpbmVzIGluc3RlYWQgb2YgZW51bSBpbiB1YXBpIGFzIHBl ciBCcmlhbiBTdGFya2V5J3MKc3VnZ2VzdGlvbiBpbiBvcmRlciB0byBnbyB3aXRoIHN0cmluZyBt YXRjaGluZyBhdCB1c2Vyc3BhY2UuIFVwZGF0ZWQKdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGFkZCBt b3JlIGRldGFpbHMgYXMgd2VsbCBrZXJuZWwgZG9jcy4KCnY4OiBBZGRyZXNzZWQgTWFhcnRlbidz IHJldmlldyBjb21tZW50cy4KClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmth ckBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDQg KysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICB8IDk1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAg ICAgIHwgMTcgKysrKysrKwogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMzIg KysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYwppbmRleCA5YTFmNDFhLi45YjVkNDRmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jCkBAIC03NDYsNiArNzQ2LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWlj X2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJCXN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb24gPSB2 YWw7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVy dHkpIHsKKwkJc3RhdGUtPmNvbG9yc3BhY2UgPSB2YWw7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPndyaXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewogCQlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBOVUxMLCB2YWwpOwogCQlp bnQgcmV0ID0gZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3Ioc3RhdGUs IGZiKTsKQEAgLTgxNCw2ICs4MTYsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9y X3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkqdmFsID0g c3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29u ZmlnLT5jb250ZW50X3R5cGVfcHJvcGVydHkpIHsKIAkJKnZhbCA9IHN0YXRlLT5jb250ZW50X3R5 cGU7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVy dHkpIHsKKwkJKnZhbCA9IHN0YXRlLT5jb2xvcnNwYWNlOwogCX0gZWxzZSBpZiAocHJvcGVydHkg PT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVfcHJvcGVydHkpIHsKIAkJKnZhbCA9IHN0YXRlLT5z Y2FsaW5nX21vZGU7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRf cHJvdGVjdGlvbl9wcm9wZXJ0eSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggODQ3NTM5 Ni4uZTg1NzVkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCkBAIC04MjYsNiArODI2LDU0IEBA IGludCBkcm1fZGlzcGxheV9pbmZvX3NldF9idXNfZm9ybWF0cyhzdHJ1Y3QgZHJtX2Rpc3BsYXlf aW5mbyAqaW5mbywKIH07CiBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfY29udGVudF9wcm90ZWN0 aW9uX25hbWUsIGRybV9jcF9lbnVtX2xpc3QpCiAKKy8qIExpc3Qgb2YgSERNSSBDb2xvcnNwYWNl cyBzdXBwb3J0ZWQgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGhk bWlfY29sb3JzcGFjZXNbXSA9IHsKKwkvKiBGb3IgRGVmYXVsdCBjYXNlLCBkcml2ZXIgd2lsbCBz ZXQgdGhlIGNvbG9yc3BhY2UgKi8KKwl7IERSTV9NT0RFX0NPTE9SSU1FVFJZX0RFRkFVTFQsICJE ZWZhdWx0IiB9LAorCS8qIFN0YW5kYXJkIERlZmluaXRpb24gQ29sb3JpbWV0cnkgYmFzZWQgb24g Q0VBIDg2MSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfSVRVXzYwMSwgIklUVV82MDEiIH0s CisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9JVFVfNzA5LCAiSVRVXzcwOSIgfSwKKwkvKiBTdGFu ZGFyZCBEZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIElFQyA2MTk2Ni0yLTQgKi8KKwl7 IERSTV9NT0RFX0NPTE9SSU1FVFJZX1hWX1lDQ182MDEsICJYVl9ZQ0NfNjAxIiB9LAorCS8qIEhp Z2ggRGVmaW5pdGlvbiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCisJeyBE Uk1fTU9ERV9DT0xPUklNRVRSWV9YVl9ZQ0NfNzA5LCAiWFZfWUNDXzcwOSIgfSwKKwkvKiBDb2xv cmltZXRyeSBiYXNlZCBvbiBJRUMgNjE5NjYtMi0xL0FtZW5kbWVudCAxICovCisJeyBEUk1fTU9E RV9DT0xPUklNRVRSWV9TX1lDQ182MDEsICJTX1lDQ182MDEiIH0sCisJLyogQ29sb3JpbWV0cnkg YmFzZWQgb24gSUVDIDYxOTY2LTItNSBbMzNdICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9P UFlDQ182MDEsICJvcFlDQ182MDEiIH0sCisJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYx OTY2LTItNSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BSR0IsICJvcFJHQiIgfSwKKwkv KiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIwICovCisJeyBEUk1fTU9ERV9DT0xP UklNRVRSWV9CVDIwMjBfUkdCLCAiQlQyMDIwX1JHQiIgfSwKKwkvKiBDb2xvcmltZXRyeSBiYXNl ZCBvbiBJVFUtUiBCVC4yMDIwICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfWUND LCAiQlQyMDIwX1lDQyIgfSwKKwkvKiBDb2xvcmltZXRyeSBiYXNlZCBvbiBJVFUtUiBCVC4yMDIw ICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9CVDIwMjBfQ1lDQywgIkJUMjAyMF9DWUNDIiB9 LAorfTsKKworLyogTGlzdCBvZiBEUCBDb2xvcnNwYWNlcyBzdXBwb3J0ZWQgKi8KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGRwX2NvbG9yc3BhY2VzW10gPSB7CisJLyog Rm9yIERlZmF1bHQgY2FzZSwgZHJpdmVyIHdpbGwgc2V0IHRoZSBjb2xvcnNwYWNlICovCisJeyBE Uk1fTU9ERV9DT0xPUklNRVRSWV9ERUZBVUxULCAiRGVmYXVsdCIgfSwKKwkvKiBTdGFuZGFyZCBE ZWZpbml0aW9uIENvbG9yaW1ldHJ5IGJhc2VkIG9uIENFQSA4NjEgKi8KKwl7IERSTV9NT0RFX0NP TE9SSU1FVFJZX0lUVV82MDEsICJJVFVfNjAxIiB9LAorCXsgRFJNX01PREVfQ09MT1JJTUVUUllf SVRVXzcwOSwgIklUVV83MDkiIH0sCisJLyogU3RhbmRhcmQgRGVmaW5pdGlvbiBDb2xvcmltZXRy eSBiYXNlZCBvbiBJRUMgNjE5NjYtMi00ICovCisJeyBEUk1fTU9ERV9DT0xPUklNRVRSWV9YVl9Z Q0NfNjAxLCAiWFZfWUNDXzYwMSIgfSwKKwkvKiBIaWdoIERlZmluaXRpb24gQ29sb3JpbWV0cnkg YmFzZWQgb24gSUVDIDYxOTY2LTItNCAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfWFZfWUND XzcwOSwgIlhWX1lDQ183MDkiIH0sCisJLyogQ29sb3JpbWV0cnkgYmFzZWQgb24gSUVDIDYxOTY2 LTItNSAqLworCXsgRFJNX01PREVfQ09MT1JJTUVUUllfT1BSR0IsICJvcFJHQiIgfSwKKwkvKiBE UCBNU0EgQ29sb3JpbWV0cnkgKi8KKwl7IERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lfQ0JDUl9J VFVfNjAxLCAiWUNCQ1JfSVRVXzYwMSIgfSwKKwl7IERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lf Q0JDUl9JVFVfNzA5LCAiWUNCQ1JfSVRVXzcwOSIgfSwKKwl7IERSTV9NT0RFX0RQX0NPTE9SSU1F VFJZX1NSR0IsICJzUkdCIiB9LAorCXsgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfUkdCX1dJREVf R0FNVVQsICJSR0IgV2lkZSBHYW11dCIgfSwKKwl7IERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1ND UkdCLCAic2NSR0IiIH0sCisJeyBEUk1fTU9ERV9EUF9DT0xPUklNRVRSWV9EQ0lfUDMsICJEQ0kt UDMiIH0sCisJeyBEUk1fTU9ERV9EUF9DT0xPUklNRVRSWV9DVVNUT01fQ09MT1JfUFJPRklMRSwg IkN1c3RvbSBQcm9maWxlIiB9LAorfTsKKwogLyoqCiAgKiBET0M6IHN0YW5kYXJkIGNvbm5lY3Rv ciBwcm9wZXJ0aWVzCiAgKgpAQCAtMTU0OCw2ICsxNTk2LDUzIEBAIGludCBkcm1fbW9kZV9jcmVh dGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiBFWFBPUlRf U1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOwogCiAvKioKKyAq IERPQzogc3RhbmRhcmQgY29ubmVjdG9yIHByb3BlcnRpZXMKKyAqCisgKiBDb2xvcnNwYWNlOgor ICogICAgIGRybV9tb2RlX2NyZWF0ZV9jb2xvcnNwYWNlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbG9y c3BhY2UgcHJvcGVydHkKKyAqICAgICBUaGlzIHByb3BlcnR5IGhlbHBzIHNlbGVjdCBhIHN1aXRh YmxlIGNvbG9yc3BhY2UgYmFzZWQgb24gdGhlIHNpbmsKKyAqICAgICBjYXBhYmlsaXR5LiBNb2Rl cm4gc2luayBkZXZpY2VzIHN1cHBvcnQgd2lkZXIgZ2FtdXQgbGlrZSBCVDIwMjAuCisgKiAgICAg VGhpcyBoZWxwcyBzd2l0Y2ggdG8gQlQyMDIwIG1vZGUgaWYgdGhlIEJUMjAyMCBlbmNvZGVkIHZp ZGVvIHN0cmVhbQorICogICAgIGlzIGJlaW5nIHBsYXllZCBieSB0aGUgdXNlciwgc2FtZSBmb3Ig YW55IG90aGVyIGNvbG9yc3BhY2UuIFRoZXJlYnkKKyAqICAgICBnaXZpbmcgYSBnb29kIHZpc3Vh bCBleHBlcmllbmNlIHRvIHVzZXJzLgorICoKKyAqICAgICBUaGUgZXhwZWN0YXRpb24gZnJvbSB1 c2Vyc3BhY2UgaXMgdGhhdCBpdCBzaG91bGQgcGFyc2UgdGhlIEVESUQKKyAqICAgICBhbmQgZ2V0 IHN1cHBvcnRlZCBjb2xvcnNwYWNlcy4gVXNlIHRoaXMgcHJvcGVydHkgYW5kIHN3aXRjaCB0byB0 aGUKKyAqICAgICBvbmUgc3VwcG9ydGVkLiBEcml2ZXIgd2lsbCBleHBvc2UgdGhlIHBsYXRmb3Jt IHN1cHBvcnRlZCBjb2xvcnNwYWNlcywKKyAqICAgICBob3dldmVyIHNpbmsgc3VwcG9ydGVkIGNv bG9yc3BhY2VzIHNob3VsZCBiZSByZXRyaWV2ZWQgYnkgdXNlcnNwYWNlCisgKiAgICAgZnJvbSBF RElELgorICoKKyAqICAgICBCYXNpY2FsbHkgdGhlIGV4cGVjdGF0aW9uIGZyb20gdXNlcnNwYWNl IGlzOgorICogICAgICAtIFNldCB1cCBDUlRDIERFR0FNTUEvQ1RNL0dBTU1BIHRvIGNvbnZlcnQg dG8gc29tZSBzaW5rCisgKiAgICAgICAgY29sb3JzcGFjZQorICogICAgICAtIFNldCB0aGlzIG5l dyBwcm9wZXJ0eSB0byBsZXQgdGhlIHNpbmsga25vdyB3aGF0IGl0CisgKiAgICAgICAgY29udmVy dGVkIHRoZSBDUlRDIG91dHB1dCB0by4KKyAqICAgICAgLSBUaGlzIHByb3BlcnR5IGlzIGp1c3Qg dG8gaW5mb3JtIHNpbmsgd2hhdCBjb2xvcnNwYWNlCisgKiAgICAgICAgc291cmNlIGlzIHRyeWlu ZyB0byBkcml2ZS4KKyAqCisgKiAgICAgQ2FsbGVkIGJ5IGEgZHJpdmVyIHRoZSBmaXJzdCB0aW1l IGl0J3MgbmVlZGVkLCBtdXN0IGJlIGF0dGFjaGVkIHRvCisgKiAgICAgZGVzaXJlZCBjb25uZWN0 b3JzLgorICovCitpbnQgZHJtX21vZGVfY3JlYXRlX2NvbG9yc3BhY2VfcHJvcGVydHkoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJY29uc3Qgc3RydWN0IGRybV9wcm9wX2Vu dW1fbGlzdCAqcHJvcHMsCisJCQkJCWludCBudW1fdmFsdWVzKQoreworCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOwor CisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfZW51bShkZXYsIERSTV9NT0RFX1BST1BfRU5V TSwKKwkJCQkJIkNvbG9yc3BhY2UiLAorCQkJCQlwcm9wcywgbnVtX3ZhbHVlcyk7CisJaWYgKCFw cm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNvbm5lY3Rvci0+Y29sb3JzcGFjZV9wcm9wZXJ0 eSA9IHByb3A7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRl X2NvbG9yc3BhY2VfcHJvcGVydHkpOworCisvKioKICAqIGRybV9tb2RlX2NyZWF0ZV9jb250ZW50 X3R5cGVfcHJvcGVydHkgLSBjcmVhdGUgY29udGVudCB0eXBlIHByb3BlcnR5CiAgKiBAZGV2OiBE Uk0gZGV2aWNlCiAgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIv aW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCmluZGV4IDk5NDE2MTMuLmUzMmNkMTEgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1f Y29ubmVjdG9yLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX3V0aWwuaD4K IAogI2luY2x1ZGUgPHVhcGkvZHJtL2RybV9tb2RlLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9wcm9w ZXJ0eS5oPgogCiBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3M7CiBzdHJ1Y3QgZHJt X21vZGVzZXRfYWNxdWlyZV9jdHg7CkBAIC01MDMsNiArNTA0LDEzIEBAIHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlIHsKIAl1bnNpZ25lZCBpbnQgY29udGVudF9wcm90ZWN0aW9uOwogCiAJLyoq CisJICogQGNvbG9yc3BhY2U6IFN0YXRlIHZhcmlhYmxlIGZvciBDb25uZWN0b3IgcHJvcGVydHkg dG8gcmVxdWVzdAorCSAqIGNvbG9yc3BhY2UgY2hhbmdlIG9uIFNpbmsuIFRoaXMgaXMgbW9zdCBj b21tb25seSB1c2VkIHRvIHN3aXRjaAorCSAqIHRvIHdpZGVyIGNvbG9yIGdhbXV0cyBsaWtlIEJU MjAyMC4KKwkgKi8KKwl1MzIgY29sb3JzcGFjZTsKKworCS8qKgogCSAqIEB3cml0ZWJhY2tfam9i OiBXcml0ZWJhY2sgam9iIGZvciB3cml0ZWJhY2sgY29ubmVjdG9ycwogCSAqCiAJICogSG9sZHMg dGhlIGZyYW1lYnVmZmVyIGFuZCBvdXQtZmVuY2UgZm9yIGEgd3JpdGViYWNrIGNvbm5lY3Rvci4g QXMKQEAgLTk5NSw2ICsxMDAzLDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKIAlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpjb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHk7CiAKIAkvKioKKwkgKiBA Y29sb3JzcGFjZV9wcm9wZXJ0eTogQ29ubmVjdG9yIHByb3BlcnR5IHRvIHNldCB0aGUgc3VpdGFi bGUKKwkgKiBjb2xvcnNwYWNlIHN1cHBvcnRlZCBieSB0aGUgc2luay4KKwkgKi8KKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5ICpjb2xvcnNwYWNlX3Byb3BlcnR5OworCisJLyoqCiAJICogQHBhdGhfYmxv Yl9wdHI6CiAJICoKIAkgKiBEUk0gYmxvYiBwcm9wZXJ0eSBkYXRhIGZvciB0aGUgRFAgTVNUIHBh dGggcHJvcGVydHkuIFRoaXMgc2hvdWxkIG9ubHkKQEAgLTEyNjksNiArMTI4Myw5IEBAIGludCBk cm1fY29ubmVjdG9yX2F0dGFjaF92cnJfY2FwYWJsZV9wcm9wZXJ0eSgKIGludCBkcm1fY29ubmVj dG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCiAJCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpOwogaW50IGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJv cGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CitpbnQgZHJtX21vZGVfY3JlYXRlX2NvbG9y c3BhY2VfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJY29u c3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCAqcHJvcHMsCisJCQkJCWludCBudW1fdmFsdWVz KTsKIGludCBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwogdm9pZCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2NvbnRlbnRfdHlwZShz dHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKIAkJCQkJIGNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9k cm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAppbmRleCBhNDM5YzJl Li4xNGJmZGEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC0yMTAsNiArMjEwLDM4IEBACiAjZGVmaW5l IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEICAgICAxCiAjZGVmaW5lIERSTV9N T0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEICAgICAyCiAKKy8qCisgKiBUaGlzIGlzIGEg Y29uc29saWRhdGVkIGNvbG9yaW1ldHJ5IGxpc3Qgc3VwcG9ydGVkIGJ5IEhETUkgYW5kCisgKiBE UCBwcm90b2NvbCBzdGFuZGFyZC4gVGhlIHJlc3BlY3RpdmUgY29ubmVjdG9ycyB3aWxsIHJlZ2lz dGVyCisgKiBhIHByb3BlcnR5IHdpdGggdGhlIHN1YnNldCBvZiB0aGlzIGxpc3QgKHN1cHBvcnRl ZCBieSB0aGF0CisgKiByZXNwZWN0aXZlIHByb3RvY29sKS4gVXNlcnNwYWNlIHdpbGwgc2V0IHRo ZSBjb2xvcnNwYWNlIHRocm91Z2gKKyAqIGEgY29sb3JzcGFjZSBwcm9wZXJ0eSB3aGljaCB3aWxs IGJlIGNyZWF0ZWQgYW5kIGV4cG9zZWQgdG8KKyAqIHVzZXJzcGFjZS4KKyAqLworCisvKiBGb3Ig RGVmYXVsdCBjYXNlLCBkcml2ZXIgd2lsbCBzZXQgdGhlIGNvbG9yc3BhY2UgKi8KKyNkZWZpbmUg RFJNX01PREVfQ09MT1JJTUVUUllfREVGQVVMVAkJCTAKKy8qIENFQSA4NjEgTm9ybWFsIENvbG9y aW1ldHJ5IG9wdGlvbnMgKi8KKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfSVRVXzYwMQkJ CTEKKyNkZWZpbmUgRFJNX01PREVfQ09MT1JJTUVUUllfSVRVXzcwOQkJCTIKKy8qIENFQSA4NjEg RXh0ZW5kZWQgQ29sb3JpbWV0cnkgT3B0aW9ucyAqLworI2RlZmluZSBEUk1fTU9ERV9DT0xPUklN RVRSWV9YVl9ZQ0NfNjAxCQkJMworI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9YVl9ZQ0Nf NzA5CQkJNAorI2RlZmluZSBEUk1fTU9ERV9DT0xPUklNRVRSWV9TX1lDQ182MDEJCQk1CisjZGVm aW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX09QWUNDXzYwMQkJCTYKKyNkZWZpbmUgRFJNX01PREVf Q09MT1JJTUVUUllfT1BSR0IJCQk3CisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAy MF9SR0IJCQk4CisjZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9ZQ0MJCQk5Cisj ZGVmaW5lIERSTV9NT0RFX0NPTE9SSU1FVFJZX0JUMjAyMF9DWUNDCQkxMAorLyogRFAgTVNBIENv bG9yaW1ldHJ5IE9wdGlvbnMgKi8KKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfWV9D QkNSX0lUVV82MDEJCTExCisjZGVmaW5lIERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1lfQ0JDUl9J VFVfNzA5CQkxMgorI2RlZmluZSBEUk1fTU9ERV9EUF9DT0xPUklNRVRSWV9TUkdCCQkJMTMKKyNk ZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllfUkdCX1dJREVfR0FNVVQJCTE0CisjZGVmaW5l IERSTV9NT0RFX0RQX0NPTE9SSU1FVFJZX1NDUkdCCQkJMTUKKyNkZWZpbmUgRFJNX01PREVfRFBf Q09MT1JJTUVUUllfRENJX1AzCQkJMTYKKyNkZWZpbmUgRFJNX01PREVfRFBfQ09MT1JJTUVUUllf Q1VTVE9NX0NPTE9SX1BST0ZJTEUJMTcKKwogc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKIAlf X3UzMiBjbG9jazsKIAlfX3UxNiBoZGlzcGxheTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK