From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 09/17] drm: create hdmi output property Date: Tue, 4 Jul 2017 19:41:56 +0530 Message-ID: <1499177524-26292-10-git-send-email-shashank.sharma@intel.com> References: <1499177524-26292-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499177524-26292-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , Jose Abreu List-Id: intel-gfx@lists.freedesktop.org SERNSSBkaXNwbGF5cyBjYW4gc3VwcG9ydCB2YXJpb3VzIG91dHB1dCB0eXBlcywgYmFzZWQgb24K dGhlIGNvbG9yIHNwYWNlIGFuZCBzdWJzYW1wbGluZyB0eXBlLiBUaGUgcG9zc2libGUKb3V0cHV0 cyBmcm9tIGEgSERNSSAyLjAgbW9uaXRvciBjb3VsZCBiZToKIC0gUkdCCiAtIFlDQkNSIDQ0NAog LSBZQ0JDUiA0MjIKIC0gWUNCQ1IgNDIwCgpUaGlzIHBhdGNoIGFkZHMgYSBkcm0gcHJvcGVydHkg ImhkbWlfb3V0cHV0X2Zvcm1hdCIsIHVzaW5nIHdoaWNoLAphIHVzZXIgY2FuIHNwZWNpZnkgaXRz IHByZWZlcmVuY2UsIGZvciB0aGUgSERNSSBvdXRwdXQgdHlwZS4gVGhlCm91dHB1dCB0eXBlIGVu dW1zIGFyZSBzaW1pbGFyIHRvIHRoZSBtZW50aW9uZWQgb3V0cHV0cyBhYm92ZS4gVG8KaGFuZGxl IHZhcmlvdXMgc3Vic2FtcGxpbmcgb2YgWUNCQ1Igb3V0cHV0IHR5cGVzLCB0aGlzIHByb3BlcnR5 CmFsbG93cyB0d28gc3BlY2lhbCBjYXNlczoKIC0gRFJNX0hETUlfT1VUUFVUX1lDQkNSX0hRCiAg IFRoaXMgaW5kaWNhdGVzIHByZWZlcnJlZCBvdXRwdXQgc2hvdWxkIGJlIFlDQkNSIG91dHB1dCwg d2l0aCBoaWdoZXN0CiAgIHN1YnNhbXBsaW5nIHJhdGUgYnkgdGhlIHNvdXJjZS9zaW5rLCB3aGlj aCBjYW4gYmUgdHlwaWNhbGx5OgogCS0geWNiY3I0NDQKIAktIHljYmNyNDIyCiAJLSB5Y2JjcjQy MAogLSBEUk1fSERNSV9PVVRQVVRfWUNCQ1JfTFEKICAgVGhpcyBpbmRpY2F0ZXMgcHJlZmVycmVk IG91dHB1dCBzaG91bGQgYmUgWUNCQ1Igb3V0cHV0LCB3aXRoIGxvd2VzdAogICBzdWJzYW1wbGlu ZyByYXRlIHN1cHBvcnRlZCBieSBzb3VyY2Uvc2luaywgd2hpY2ggY2FuIGJlOgogCS0geWNiY3I0 MjAKIAktIHljYmNyNDIyCiAJLSB5Y2JjcjQ0NAoKRGVmYXVsdCB2YWx1ZSBvZiB0aGUgcHJvcGVy dHkgaXMgc2V0IHRvIDAgPSBSR0IsIHNvIG5vIGNoYW5nZXMgaWYgeW91CmRvbnQgc2V0IHRoZSBw cm9wZXJ0eS4KClBTOiBXaGlsZSBkb2luZyBtb2Rlc2V0IGZvciBZQ0JDUiA0MjAgb25seSBtb2Rl cywgdGhpcyBwcm9wZXJ0eSBpcwogICAgaWdub3JlZCwgYXMgdGhvc2UgdGltaW5ncyBjYW4gYmUg c3VwcG9ydGVkIG9ubHkgaW4gWUNCQ1IgNDIwCiAgICBvdXRwdXQgbW9kZS4KClYyOiBBZGRlZCBk ZXNjcmlwdGlvbiBmb3IgdGhlIG5ldyB2YXJpYWJsZSB0byBhZGRyZXNzIGJ1aWxkIHdhcm5pbmcK VjM6IFJlYmFzZQpWNDogUmViYXNlClY1OiBBZGRlZCBnZXRfcHJvcGVydHkgY291bnRlcnBhcnQg dG8gZml4IElHVCBCQVQgZmFpbHVyZXMgKEJBVC9DSSkKICAgIERhbnZldDoKICAgIC0gQWRkIGRv Y3VtZW50YXRpb24gZm9yIHRoZSBuZXcgcHJvcGVydHkKICAgIC0gQ3JlYXRlIGEgc3ViLXNlY3Rp b24gZm9yIEhETUkgcHJvcGVydGllcywgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvcgogICAgICBm ZXcgbW9yZSBIRE1JIHByb3BldGllcy4gQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3I6CgktIEJyb2Fk Y2FzdCBSR0IKCS0gYXNwZWN0IHJhdGlvCgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+CkNjOiBKb3NlIEFicmV1IDxqb2FicmV1QHN5bm9wc3lzLmNvbT4K Q2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogRG9jdW1l bnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgICAgICAgfCAxMiArKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jICAgICAgICB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMgfCAgNCArKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAg IHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjX2ludGVybmFsLmggfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVf Y29uZmlnLmMgICB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYyAg fCAxMyArKysrKysrCiBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICB8IDE4ICsr KysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgIHwgIDUgKysrCiA5 IGZpbGVzIGNoYW5nZWQsIDEyOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9k cm0ta21zLnJzdAppbmRleCAzMDcyODQxLi5kY2RkNmZmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0 aW9uL2dwdS9kcm0ta21zLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdApA QCAtNTA4LDYgKzUwOCwxOCBAQCBTdGFuZGFyZCBDb25uZWN0b3IgUHJvcGVydGllcwogLi4ga2Vy bmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKICAgIDpkb2M6IHN0YW5k YXJkIGNvbm5lY3RvciBwcm9wZXJ0aWVzCiAKK1N0YW5kYXJkIEhETUkgUHJvcGVydGllcworLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKKyAgIDpkb2M6IGhkbWlfb3V0cHV0X2Zvcm1hdAorCisuLiBr ZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworICAgOmRvYzogYXNw ZWN0IHJhdGlvIHByb3BlcnR5CisKKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tb2Rlcy5jCisgICA6ZG9jOiBCcm9hZGNhc3QgUkdCIHByb3BlcnR5CisKIFBsYW5l IENvbXBvc2l0aW9uIFByb3BlcnRpZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMKaW5kZXggMDljYTY2Mi4uYWRjYjg5ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j CkBAIC0xMTkyLDYgKzExOTIsOCBAQCBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCXN0YXRlLT5waWN0dXJlX2Fz cGVjdF9yYXRpbyA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2Nh bGluZ19tb2RlX3Byb3BlcnR5KSB7CiAJCXN0YXRlLT5zY2FsaW5nX21vZGUgPSB2YWw7CisJfSBl bHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhkbWlfb3V0cHV0X3Byb3BlcnR5KSB7CisJCXN0 YXRlLT5oZG1pX291dHB1dCA9IHZhbDsKIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0 b21pY19zZXRfcHJvcGVydHkpIHsKIAkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19z ZXRfcHJvcGVydHkoY29ubmVjdG9yLAogCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKQEAgLTEy NzIsNiArMTI3NCw4IEBAIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0 X3JhdGlvOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVf cHJvcGVydHkpIHsKIAkJKnZhbCA9IHN0YXRlLT5zY2FsaW5nX21vZGU7CisJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25maWctPmhkbWlfb3V0cHV0X3Byb3BlcnR5KSB7CisJCSp2YWwgPSBzdGF0 ZS0+aGRtaV9vdXRwdXQ7CiAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0 X3Byb3BlcnR5KSB7CiAJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3Bl cnR5KGNvbm5lY3RvciwKIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCmluZGV4IDIzZTQ2NjEuLjJlNzQ1OWYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCkBAIC02MzcsNiArNjM3LDEwIEBAIGRybV9hdG9taWNfaGVscGVyX2No ZWNrX21vZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCWlmIChvbGRfY29ubmVjdG9y X3N0YXRlLT5saW5rX3N0YXR1cyAhPQogCQkJICAgIG5ld19jb25uZWN0b3Jfc3RhdGUtPmxpbmtf c3RhdHVzKQogCQkJCW5ld19jcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwor CisJCQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+aGRtaV9vdXRwdXQgIT0KKwkJCSAgICBuZXdf Y29ubmVjdG9yX3N0YXRlLT5oZG1pX291dHB1dCkKKwkJCQluZXdfY3J0Y19zdGF0ZS0+Y29ubmVj dG9yc19jaGFuZ2VkID0gdHJ1ZTsKIAkJfQogCiAJCWlmIChmdW5jcy0+YXRvbWljX2NoZWNrKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggODA3MmU2ZS4uODM1NzkxOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2Nvbm5lY3Rvci5jCkBAIC0yMjcsNiArMjI3LDExIEBAIGludCBkcm1fY29ubmVjdG9yX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICAgICAgY29uZmlnLT5lZGlkX3Byb3BlcnR5 LAogCQkJCQkgICAgICAwKTsKIAorCWlmIChjb25uZWN0b3JfdHlwZSAhPSBEUk1fTU9ERV9DT05O RUNUT1JfVklSVFVBTCkKKwkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+ YmFzZSwKKwkJCQkJICAgY29uZmlnLT5oZG1pX291dHB1dF9wcm9wZXJ0eSwKKwkJCQkJICAgMCk7 CisKIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAogCQkJCSAg ICAgIGNvbmZpZy0+ZHBtc19wcm9wZXJ0eSwgMCk7CiAKQEAgLTYxNyw2ICs2MjIsMjYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2xpbmtfc3RhdHVzX2VudW1f bGlzdFtdID0gewogfTsKIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9saW5rX3N0YXR1c19uYW1l LCBkcm1fbGlua19zdGF0dXNfZW51bV9saXN0KQogCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w cm9wX2VudW1fbGlzdCBkcm1faGRtaV9vdXRwdXRfZW51bV9saXN0W10gPSB7CisJeyBEUk1fSERN SV9PVVRQVVRfREVGQVVMVF9SR0IsICJvdXRwdXRfcmdiIiB9LAorCXsgRFJNX0hETUlfT1VUUFVU X1lDQkNSNDQ0LCAib3V0cHV0X3ljYmNyNDQ0IiB9LAorCXsgRFJNX0hETUlfT1VUUFVUX1lDQkNS NDIyLCAib3V0cHV0X3ljYmNyNDIyIiB9LAorCXsgRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwLCAi b3V0cHV0X3ljYmNyNDIwIiB9LAorCXsgRFJNX0hETUlfT1VUUFVUX1lDQkNSX0hRLCAib3V0cHV0 X3ljYmNyX2hpZ2hfc3Vic2FtcGxpbmciIH0sCisJeyBEUk1fSERNSV9PVVRQVVRfWUNCQ1JfTFEs ICJvdXRwdXRfeWNiY3JfbG93X3N1YnNhbXBsaW5nIiB9LAorCXsgRFJNX0hETUlfT1VUUFVUX0lO VkFMSUQsICJpbnZhbGlkX291dHB1dCIgfSwKK307CisKKy8qKgorICogZHJtX2dldF9oZG1pX291 dHB1dF9uYW1lIC0gcmV0dXJuIGEgc3RyaW5nIGZvciBhIGdpdmVuIGhkbWkgb3V0cHV0IGVudW0K KyAqIEB0eXBlOiBlbnVtIG9mIG91dHB1dCB0eXBlCisgKi8KK2NvbnN0IGNoYXIgKmRybV9nZXRf aGRtaV9vdXRwdXRfbmFtZShlbnVtIGRybV9oZG1pX291dHB1dF90eXBlIHR5cGUpCit7CisJcmV0 dXJuIGRybV9oZG1pX291dHB1dF9lbnVtX2xpc3RbdHlwZV0ubmFtZTsKK30KK0VYUE9SVF9TWU1C T0woZHJtX2dldF9oZG1pX291dHB1dF9uYW1lKTsKKwogLyoqCiAgKiBkcm1fZGlzcGxheV9pbmZv X3NldF9idXNfZm9ybWF0cyAtIHNldCB0aGUgc3VwcG9ydGVkIGJ1cyBmb3JtYXRzCiAgKiBAaW5m bzogZGlzcGxheSBpbmZvIHRvIHN0b3JlIGJ1cyBmb3JtYXRzIGluCkBAIC02OTcsNyArNzIyLDM2 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGRybV90dl9zdWJjb25u ZWN0b3JfZW51bV9saXN0W10gPSB7CiAJeyBEUk1fTU9ERV9TVUJDT05ORUNUT1JfU0NBUlQsICAg ICAiU0NBUlQiICAgICB9LCAvKiBUVi1vdXQgKi8KIH07CiBEUk1fRU5VTV9OQU1FX0ZOKGRybV9n ZXRfdHZfc3ViY29ubmVjdG9yX25hbWUsCi0JCSBkcm1fdHZfc3ViY29ubmVjdG9yX2VudW1fbGlz dCkKKwkJIGRybV90dl9zdWJjb25uZWN0b3JfZW51bV9saXN0KTsKKworLyoqCisgKiBET0M6IGhk bWlfb3V0cHV0X2Zvcm1hdAorICoKKyAqIGhkbWlfb3V0cHV0X2Zvcm1hdDoKKyAqCUVudW0gcHJv cGVydHkgd2hpY2ggYWxsb3dzIGEgdXNlcnNwYWNlIHRvIHByb3ZpZGUgaXRzIHByZWZlcmVuY2Ug Zm9yIGEKKyAqCUhETUkgb3V0cHV0IGZvcm1hdC4gU3RhbmRhcmQgSERNSSAxLjRiIG91dHB1dHMg Y2FuIHN1cHBvcnQgUkdCL1lDQkNSNDQ0CisgKglZQ0JDUjQyMiBvdXRwdXQgZm9ybWF0cywgd2hl cmVhcyBIRE1JIDIuMCBvdXRwdXRzIGNhbiBhZGRpdGlvbmFsbHkKKyAqCXN1cHBvcnQgWUNCQ1I0 MjAgb3V0cHV0LiBEZWZhdWx0IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpcyBIRE1JIG91dHB1dAor ICoJUkdCLgorICoKKyAqCUEgZHJpdmVyIGNhbiBhdHRhY2ggdG8gdGhpcyBwcm9wZXJ0eSwgYW5k IHRoZW4gaGFuZGxlIHRoZSBIRE1JIG91dHB1dAorICoJYmFzZWQgb24gaXRzIGNhcGFiaWxpdGll cyBhbmQgc2luayBzdXBwb3J0LiBUaGVyZSBhcmUgZmV3IGhlbHBlcgorICoJZnVuY3Rpb25zIGF2 YWlsYWJsZSBpbiBkcm1fbW9kZXMuYyB3aGljaCBjYW4gaGVscCBpbiBmaW5kaW5nIHRoZSBiZXN0 CisgKglzdWl0YWJsZSBvdXRwdXQgY29uc2lkZXJpbmcgYSBzaW5rL3NvdXJjZS9tb2RlIGNvbWJp bmF0aW9uLiBSZWZlciB0bworICoJZHJtX21vZGVzLmM6ZHJtX2Rpc3BsYXlfaW5mb19oZG1pX291 dHB1dF90eXBlKCkKKyAqLworaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX2hkbWlfcHJvcGVydGll cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7 CisKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImhkbWlfb3V0cHV0 X2Zvcm1hdCIsCisJCQkJCWRybV9oZG1pX291dHB1dF9lbnVtX2xpc3QsCisJCQkJCUFSUkFZX1NJ WkUoZHJtX2hkbWlfb3V0cHV0X2VudW1fbGlzdCkpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1F Tk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5oZG1pX291dHB1dF9wcm9wZXJ0eSA9IHByb3A7CisJ cmV0dXJuIDA7Cit9CiAKIC8qKgogICogRE9DOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGll cwpAQCAtMTAyNCw2ICsxMDc4LDE5IEBAIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9zY2FsaW5n X21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIH0KIEVYUE9S VF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfc2NhbGluZ19tb2RlX3Byb3BlcnR5KTsKIAor CisvKioKKyAqIERPQzogYXNwZWN0IHJhdGlvIHByb3BlcnR5CisgKgorICogYXNwZWN0IHJhdGlv OgorICoJRW51bSBwcm9wZXJ0eSB0byBvdmVycmlkZSB0aGUgSERNSSBvdXRwdXQncyBhc3BlY3Qg cmF0aW8uCisgKglXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0LCB0aGUgYXNwZWN0IHJhdGlvIG9m IHRoZSBmcmFtZSBpbgorICoJQVZJIGluZm9mcmFtZXMgaXMgc2V0IGFzIHBlciB0aGUgcHJvcGVy dHkgdmFsdWUuIEZvciBleGFtcGxlCisgKglpZiB1c2Vyc3BhY2Ugc2V0cyB0aGUgcHJvcGVydHkg dmFsdWUgdG8gRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfNF8zCisgKgl0aGUgb3V0cHV0IGFzcGVj dCByYXRpbyBpcyBzZXQgdG8gNDozIChyZWdhcmRsZXNzIG9mIHRoZSBQQVIgb2YgbW9kZSkKKyAq CisgKi8KKwogLyoqCiAgKiBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5IC0g Y3JlYXRlIGFzcGVjdCByYXRpbyBwcm9wZXJ0eQogICogQGRldjogRFJNIGRldmljZQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaW50ZXJuYWwuaAppbmRleCBkMDc3YzU0Li5lNmM0YWRjIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaW50ZXJuYWwuaApAQCAtMTQwLDYgKzE0MCw3IEBAIGludCBkcm1fbW9kZV9j b25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKIAkJCQkg ICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCiAJCQkJICAgIHVpbnQ2NF90IHZhbHVl KTsKIGludCBkcm1fY29ubmVjdG9yX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVzKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOworaW50IGRybV9jb25uZWN0b3JfY3JlYXRlX2hkbWlfcHJvcGVydGll cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGNvbnN0IGNoYXIgKmRybV9nZXRfY29ubmVjdG9y X2ZvcmNlX25hbWUoZW51bSBkcm1fY29ubmVjdG9yX2ZvcmNlIGZvcmNlKTsKIAogLyogSU9DVEwg Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwppbmRleCBkOTg2MjI1Li4zYmE5MjYyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCkBAIC0yMTAsNiArMjEwLDEwIEBAIHN0YXRpYyBpbnQg ZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJcmV0ID0gZHJtX2Nvbm5lY3Rvcl9jcmVh dGVfaGRtaV9wcm9wZXJ0aWVzKGRldik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCXBy b3AgPSBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oZGV2LCBEUk1fTU9ERV9QUk9QX0lNTVVUQUJM RSwKIAkJCQkJInR5cGUiLCBkcm1fcGxhbmVfdHlwZV9lbnVtX2xpc3QsCiAJCQkJCUFSUkFZX1NJ WkUoZHJtX3BsYW5lX3R5cGVfZW51bV9saXN0KSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMu YwppbmRleCA5NTFlODM0Li5kMDdkZTQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tb2Rlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vZGVzLmMK QEAgLTEwNCw2ICsxMDQsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xp c3QgYnJvYWRjYXN0X3JnYl9uYW1lc1tdID0gewogCXsgSU5URUxfQlJPQURDQVNUX1JHQl9MSU1J VEVELCAiTGltaXRlZCAxNjoyMzUiIH0sCiB9OwogCisvKioKKyAqIERPQzogQnJvYWRjYXN0IFJH QiBwcm9wZXJ0eQorICoKKyAqIEJyb2FkY2FzdCBSR0I6CisgKglFbnVtIHByb3BlcnR5IHRvIGlu ZGljYXRlIFJHQiBjb2xvciByYW5nZSBvZiBhIEhETUkgb3V0cHV0LgorICoJRm9yIGxpbWl0ZWQg cmFuZ2UgUkdCIG91dHB1dHMsIGEgcmVtYXBwaW5nIG9mIHBpeGVsIHZhbHVlcyBmcm9tIDAtMjU1 CisgKglzaG91bGQgYmUgcmVtYXBlZCB0byBhIHJhbmdlIG9mIDE2LTIzNS4gV2hlbiB0aGlzIHBy b3BlcnR5IGlzIHNldCB0bworICoJTGltaXRlZCAxNjoyMzUgYW5kIENUTSBpcyBzZXQsIHRoZSBo YXJkd2FyZSB3aWxsIGJlIHByb2dyYW1tZWQgd2l0aCB0aGUKKyAqCXJlc3VsdCBvZiB0aGUgbXVs dGlwbGljYXRpb24gb2YgQ1RNIGJ5IHRoZSBsaW1pdGVkICByYW5nZSBtYXRyaXgsIHRvCisgKgll bnN1cmUgdGhlIHBpeGVscyBub3JtYWx5IGluIHRoZSByYW5nZSAwLi4xLjAgYXJlIHJlbWFwcGVk IHRvIHRoZSByYW5nZQorICoJMTYvMjU1Li4yMzUvMjU1LgorICoKKyAqLwogdm9pZAogaW50ZWxf YXR0YWNoX2Jyb2FkY2FzdF9yZ2JfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1 ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCA0YmMwODgyLi4zNzczNjAwIDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Nvbm5l Y3Rvci5oCkBAIC0zMTksNiArMzE5LDE3IEBAIHN0cnVjdCBkcm1fdHZfY29ubmVjdG9yX3N0YXRl IHsKIAl1bnNpZ25lZCBpbnQgaHVlOwogfTsKIAorLyogSERNSSBvdXRwdXQgcGl4ZWwgZm9ybWF0 ICovCitlbnVtIGRybV9oZG1pX291dHB1dF90eXBlIHsKKwlEUk1fSERNSV9PVVRQVVRfREVGQVVM VF9SR0IsIC8qIGRlZmF1bHQgUkdCICovCisJRFJNX0hETUlfT1VUUFVUX1lDQkNSNDQ0LCAvKiBZ Q0JDUiA0NDQgKi8KKwlEUk1fSERNSV9PVVRQVVRfWUNCQ1I0MjIsIC8qIFlDQkNSIDQyMiAqLwor CURSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMCwgLyogWUNCQ1IgNDIwICovCisJRFJNX0hETUlfT1VU UFVUX1lDQkNSX0hRLCAvKiBIaWdoZXN0IHN1YnNhbXBsZWQgWVVWICovCisJRFJNX0hETUlfT1VU UFVUX1lDQkNSX0xRLCAvKiBMb3dlc3Qgc3Vic2FtcGxlZCBZVVYgKi8KKwlEUk1fSERNSV9PVVRQ VVRfSU5WQUxJRCwgLyogR3Vlc3Mgd2hhdCA/ICovCit9OworCiAvKioKICAqIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlIC0gbXV0YWJsZSBjb25uZWN0b3Igc3RhdGUKICAqIEBjb25uZWN0b3I6 IGJhY2twb2ludGVyIHRvIHRoZSBjb25uZWN0b3IKQEAgLTM2Myw2ICszNzQsMTIgQEAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgewogCSAqIHVwc2NhbGluZywgbW9zdGx5IHVzZWQgZm9yIGJ1 aWx0LWluIHBhbmVscy4KIAkgKi8KIAl1bnNpZ25lZCBpbnQgc2NhbGluZ19tb2RlOworCisJLyoq CisJICogQGhkbWlfb3V0cHV0OiBDb25uZWN0b3IgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKKwkg KiBIRE1JIG91dHB1dCBtb2RlIChSR0IvWUNCQ1I0NDQvNDIyLzQyMCkuCisJICovCisJZW51bSBk cm1faGRtaV9vdXRwdXRfdHlwZSBoZG1pX291dHB1dDsKIH07CiAKIC8qKgpAQCAtOTkxLDYgKzEw MDgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2Nvbm5lY3Rvcl91bnJlZmVyZW5jZShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBjb25zdCBjaGFyICpkcm1fZ2V0X2Nvbm5l Y3Rvcl9zdGF0dXNfbmFtZShlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1cyk7CiBjb25z dCBjaGFyICpkcm1fZ2V0X3N1YnBpeGVsX29yZGVyX25hbWUoZW51bSBzdWJwaXhlbF9vcmRlciBv cmRlcik7Citjb25zdCBjaGFyICpkcm1fZ2V0X2hkbWlfb3V0cHV0X25hbWUoZW51bSBkcm1faGRt aV9vdXRwdXRfdHlwZSB0eXBlKTsKIGNvbnN0IGNoYXIgKmRybV9nZXRfZHBtc19uYW1lKGludCB2 YWwpOwogY29uc3QgY2hhciAqZHJtX2dldF9kdmlfaV9zdWJjb25uZWN0b3JfbmFtZShpbnQgdmFs KTsKIGNvbnN0IGNoYXIgKmRybV9nZXRfZHZpX2lfc2VsZWN0X25hbWUoaW50IHZhbCk7CmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCmluZGV4IDQyOTgxNzEuLjE4ODcyNjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5o CkBAIC03NDAsNiArNzQwLDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewogCSAqIHRoZSBw b3NpdGlvbiBvZiB0aGUgb3V0cHV0IG9uIHRoZSBob3N0J3Mgc2NyZWVuLgogCSAqLwogCXN0cnVj dCBkcm1fcHJvcGVydHkgKnN1Z2dlc3RlZF95X3Byb3BlcnR5OworCS8qKgorCSAqIEBoZG1pX291 dHB1dF9wcm9wZXJ0eTogb3V0cHV0IHBpeGVsIGZvcm1hdCBmcm9tIEhETUkgZGlzcGxheQorCSAq IERlZmF1bHQgaXMgc2V0IGZvciBSR0IKKwkgKi8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpoZG1p X291dHB1dF9wcm9wZXJ0eTsKIAogCS8qIGR1bWIgaW9jdGwgcGFyYW1ldGVycyAqLwogCXVpbnQz Ml90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK