From mboxrd@z Thu Jan 1 00:00:00 1970 From: StanLis Subject: [PATCH v9 1/2] drm: content-type property for HDMI connector Date: Mon, 7 May 2018 16:16:40 +0300 Message-ID: <20180507131641.3885-2-stanislav.lisovskiy@intel.com> References: <20180507131641.3885-1-stanislav.lisovskiy@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180507131641.3885-1-stanislav.lisovskiy@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRlbC5jb20+ CgpBZGRlZCBjb250ZW50X3R5cGUgcHJvcGVydHkgdG8gZHJtX2Nvbm5lY3Rvcl9zdGF0ZQppbiBv cmRlciB0byBwcm9wZXJseSBoYW5kbGUgZXh0ZXJuYWwgSERNSSBUViBjb250ZW50LXR5cGUgc2V0 dGluZy4KCnYyOgogKiBNb3ZlZCBoZWxwZXIgZnVuY3Rpb24gd2hpY2ggYXR0YWNoZXMgY29udGVu dCB0eXBlIHByb3BlcnR5CiAgIHRvIHRoZSBkcm0gY29yZSwgYXMgd2FzIHN1Z2dlc3RlZC4KICAg UmVtb3ZlZCByZWR1bmRhbnQgY29ubmVjdG9yIHN0YXRlIGluaXRpYWxpemF0aW9uLgoKdjM6CiAq IFJlbW92ZWQgY2FwcyBpbiBkcm1fY29udGVudF90eXBlX2VudW1fbGlzdC4KICAgQWZ0ZXIgc29t ZSBkaXNjdXNzaW9uIGl0IHR1cm5lZCBvdXQgdGhhdCBIRE1JIFNwZWMgMS40CiAgIHdhcyB3cm9u Z2x5IGFzc3VtaW5nIHRoYXQgSVQgQ29udGVudChpdGMpIGJpdCBkb2Vzbid0IGFmZmVjdAogICBD b250ZW50IHR5cGUgc3RhdGVzLCBob3dldmVyIGl0YyBiaXQgbmVlZHMgdG8gYmUgbWFudXB1bGF0 ZWQKICAgYXMgd2VsbC4gSW4gb3JkZXIgdG8gbm90IGV4cG9zZSBhZGRpdGlvbmFsIHByb3BlcnR5 IGZvciBpdGMsCiAgIGZvciBzYWtlIG9mIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gYmlu ZCB0aG9zZSB0b2dldGhlcgogICBpbiBzYW1lICJjb250ZW50IHR5cGUiIHByb3BlcnR5LgoKdjQ6 CiAqIEFkZGVkIGl0X2NvbnRlbnQgY2hlY2tpbmcgaW4gaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jf YXRvbWljX2NoZWNrLgogICBGaXhlZCBkb2N1bWVudGF0aW9uIGZvciBuZXcgY29udGVudCB0eXBl IGVudW0uCgp2NToKICogTW92ZWQgcGF0Y2ggcmV2aXNpb24ncyBkZXNjcmlwdGlvbiB0byBjb21t aXQgbWVzc2FnZXMuCgp2NjoKICogTWlub3IgbmFtaW5nIGZpeCBmb3IgdGhlIGNvbnRlbnQgdHlw ZSBlbnVtZXJhdGlvbiBzdHJpbmcuCgp2NzoKICogRml4IHBhcmFtZXRlciBuYW1lIGZvciBkb2N1 bWVudGF0aW9uIGFuZCBwYXJhbWV0ZXIgYWxpZ25tZW50CiAgIGluIG9yZGVyIG5vdCB0byBnZXQg d2FybmluZy4gQWRkZWQgQ29udGVudCBUeXBlIGRlc2NyaXB0aW9uIHRvCiAgIG5ldyBIRE1JIGNv bm5lY3RvciBwcm9wZXJ0aWVzIHNlY3Rpb24uCgp2ODoKICogVGhyb3duIGF3YXkgdW5uZWVkZWQg bnVtYmVycyBmcm9tIEhETUkgY29udGVudC10eXBlIHByb3BlcnR5CiAgIGRlc2NyaXB0aW9uLiBT d2l0Y2ggdG8gc3RyaW5ncyBkZXNyaXB0aW9uIGluc3RlYWQgb2YgcGxhaW4KICAgZGVmaW5pdGlv bnMuCgp2OToKICogTW92ZWQgYXdheSBoZG1pIHNwZWNpZmljIGNvbnRlbnQtdHlwZSBlbnVtIGZy b20KICAgZHJtX2Nvbm5lY3Rvcl9zdGF0ZS4gQ29udGVudCB0eXBlIHByb3BlcnR5IHNob3VsZCBw cm9iYWJseSBub3QKICAgYmUgYm91bmQgdG8gYW55IHNwZWNpZmljIGNvbm5lY3RvciBpbnRlcmZh Y2UgaW4KICAgZHJtX2Nvbm5lY3Rvcl9zdGF0ZS4KICAgU2FtZSBwcm9iYWJseSBzaG91bGQgYmUg ZG9uZSB0byBoZG1pX3BpY3R1cmVfYXNwZWN0X3JhdGlvbiBlbnVtCiAgIHdoaWNoIGlzIGFsc28g Y29udGFpbmVkIGluIGRybV9jb25uZWN0b3Jfc3RhdGUuIEFkZGVkIHNwZWNpYWwKICAgaGVscGVy IGZ1bmN0aW9uIHRvIGdldCBkZXJpdmUgaGRtaSBzcGVjaWZpYyByZWxldmFudCBpbmZvZnJhbWUK ICAgZmllbGRzLgoKU2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2 Lmxpc292c2tpeUBpbnRlbC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3Qg ICAgICAgIHwgIDYgKysrCiBEb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVydGllcy5jc3YgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgfCAgNCArKwogZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgIHwgNzQgKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAgIHwgNTUgKysrKysr KysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICAgfCAx MiArKysrKwogaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAgICAgIHwgIDYgKysrCiBp bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICAgfCAgNSArKwogaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oICAgICAgICAgIHwgIDcgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDE3MCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3Qg Yi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdAppbmRleCAxZGZmZDFhYzRjZDQuLmUyMzNj MjYyNmJkMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKKysrIGIv RG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKQEAgLTUxNyw2ICs1MTcsMTIgQEAgU3RhbmRh cmQgQ29ubmVjdG9yIFByb3BlcnRpZXMKIC4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jCiAgICA6ZG9jOiBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGllcwog CitIRE1JIFNwZWNpZmljIENvbm5lY3RvciBQcm9wZXJ0aWVzCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorCisuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0 b3IuYworICAgOmRvYzogSERNSSBjb25uZWN0b3IgcHJvcGVydGllcworCiBQbGFuZSBDb21wb3Np dGlvbiBQcm9wZXJ0aWVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdp dCBhL0RvY3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdiBiL0RvY3VtZW50YXRpb24v Z3B1L2ttcy1wcm9wZXJ0aWVzLmNzdgppbmRleCAwN2VkMjJlYTNiZDYuLmJmZGUwNGVkZGQxNCAx MDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2CisrKyBiL0Rv Y3VtZW50YXRpb24vZ3B1L2ttcy1wcm9wZXJ0aWVzLmNzdgpAQCAtMTcsNiArMTcsNyBAQCBPd25l ciBNb2R1bGUvRHJpdmVycyxHcm91cCxQcm9wZXJ0eSBOYW1lLFR5cGUsUHJvcGVydHkgVmFsdWVz LE9iamVjdCBhdHRhY2hlZCxEZQogLFZpcnR1YWwgR1BVLOKAnHN1Z2dlc3RlZCBY4oCdLFJBTkdF LCJNaW49MCwgTWF4PTB4ZmZmZmZmZmYiLENvbm5lY3Rvcixwcm9wZXJ0eSB0byBzdWdnZXN0IGFu IFggb2Zmc2V0IGZvciBhIGNvbm5lY3RvcgogLCzigJxzdWdnZXN0ZWQgWeKAnSxSQU5HRSwiTWlu PTAsIE1heD0weGZmZmZmZmZmIixDb25uZWN0b3IscHJvcGVydHkgdG8gc3VnZ2VzdCBhbiBZIG9m ZnNldCBmb3IgYSBjb25uZWN0b3IKICxPcHRpb25hbCwiIiJhc3BlY3QgcmF0aW8iIiIsRU5VTSwi eyAiIk5vbmUiIiwgIiI0OjMiIiwgIiIxNjo5IiIgfSIsQ29ubmVjdG9yLFREQgorLE9wdGlvbmFs LCIiImNvbnRlbnQgdHlwZSIiIixFTlVNLCJ7ICIiTm8gRGF0YSIiLCAiIkdyYXBoaWNzIiIsICIi UGhvdG8iIiwgIiJDaW5lbWEiIiwgIiJHYW1lIiIgfSIsQ29ubmVjdG9yLFRCRAogaTkxNSxHZW5l cmljLCIiIkJyb2FkY2FzdCBSR0IiIiIsRU5VTSwieyAiIkF1dG9tYXRpYyIiLCAiIkZ1bGwiIiwg IiJMaW1pdGVkIDE2OjIzNSIiIH0iLENvbm5lY3RvciwiV2hlbiB0aGlzIHByb3BlcnR5IGlzIHNl dCB0byBMaW1pdGVkIDE2OjIzNSBhbmQgQ1RNIGlzIHNldCwgdGhlIGhhcmR3YXJlIHdpbGwgYmUg cHJvZ3JhbW1lZCB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIG11bHRpcGxpY2F0aW9uIG9mIENUTSBi eSB0aGUgbGltaXRlZCByYW5nZSBtYXRyaXggdG8gZW5zdXJlIHRoZSBwaXhlbHMgbm9ybWFseSBp biB0aGUgcmFuZ2UgMC4uMS4wIGFyZSByZW1hcHBlZCB0byB0aGUgcmFuZ2UgMTYvMjU1Li4yMzUv MjU1LiIKICws4oCcYXVkaW/igJ0sRU5VTSwieyAiImZvcmNlLWR2aSIiLCAiIm9mZiIiLCAiImF1 dG8iIiwgIiJvbiIiIH0iLENvbm5lY3RvcixUQkQKICxTRFZPLVRWLOKAnG1vZGXigJ0sRU5VTSwi eyAiIk5UU0NfTSIiLCAiIk5UU0NfSiIiLCAiIk5UU0NfNDQzIiIsICIiUEFMX0IiIiB9IGV0Yy4i LENvbm5lY3RvcixUQkQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IDNkOWFlMDU3YTZjZC4uNmMxZTFl Nzc0NTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTEyNzAsNiArMTI3MCw4IEBAIHN0YXRpYyBp bnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAJCQlzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7CiAJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25maWctPmFzcGVjdF9yYXRpb19wcm9wZXJ0eSkgewogCQlzdGF0ZS0+cGlj dHVyZV9hc3BlY3RfcmF0aW8gPSB2YWw7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWct PmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgeworCQlzdGF0ZS0+Y29udGVudF90eXBlID0gdmFsOwog CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVfcHJvcGVydHkp IHsKIAkJc3RhdGUtPnNjYWxpbmdfbW9kZSA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbm5lY3Rvci0+Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KSB7CkBAIC0xMzU1LDYgKzEz NTcsOCBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKIAkJKnZhbCA9IHN0YXRlLT5saW5rX3N0YXR1czsKIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+YXNwZWN0X3JhdGlvX3Byb3BlcnR5KSB7CiAJCSp2YWwg PSBzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW87CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBj b25maWctPmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgeworCQkqdmFsID0gc3RhdGUtPmNvbnRlbnRf dHlwZTsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3By b3BlcnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwogCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29ubmVjdG9yLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2Nvbm5lY3Rvci5jCmluZGV4IGIzY2RlODk3Y2Q4MC4uZmU2MzM5NWYxNTlkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKQEAgLTcyMCw2ICs3MjAsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2FzcGVjdF9yYXRpb19lbnVtX2xpc3RbXSA9IHsKIAl7 IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzksICIxNjo5IiB9LAogfTsKIAorc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3Rb XSA9IHsKKwl7IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9OT19EQVRBLCAiTm8gRGF0YSIgfSwKKwl7 IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUywgIkdyYXBoaWNzIiB9LAorCXsgRFJNX01P REVfQ09OVEVOVF9UWVBFX1BIT1RPLCAiUGhvdG8iIH0sCisJeyBEUk1fTU9ERV9DT05URU5UX1RZ UEVfQ0lORU1BLCAiQ2luZW1hIiB9LAorCXsgRFJNX01PREVfQ09OVEVOVF9UWVBFX0dBTUUsICJH YW1lIiB9LAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJt X3BhbmVsX29yaWVudGF0aW9uX2VudW1fbGlzdFtdID0gewogCXsgRFJNX01PREVfUEFORUxfT1JJ RU5UQVRJT05fTk9STUFMLAkiTm9ybWFsIgl9LAogCXsgRFJNX01PREVfUEFORUxfT1JJRU5UQVRJ T05fQk9UVE9NX1VQLAkiVXBzaWRlIERvd24iCX0sCkBAIC05OTYsNiArMTAwNCw0NSBAQCBpbnQg ZHJtX21vZGVfY3JlYXRlX2R2aV9pX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX2R2aV9pX3Byb3BlcnRpZXMpOwogCisK Ky8qKgorICogRE9DOiBIRE1JIGNvbm5lY3RvciBwcm9wZXJ0aWVzCisgKgorICogY29udGVudCB0 eXBlIChIRE1JIHNwZWNpZmljKToKKyAqCUluZGljYXRlcyBjb250ZW50IHR5cGUgc2V0dGluZyB0 byBiZSB1c2VkIGluIEhETUkgaW5mb2ZyYW1lcyB0byBpbmRpY2F0ZQorICoJY29udGVudCB0eXBl IGZvciB0aGUgZXh0ZXJuYWwgZGV2aWNlLCBzbyB0aGF0IGl0IGFkanVzdHMgaXQncyBkaXNwbGF5 CisgKglzZXR0aW5ncyBhY2NvcmRpbmdseS4KKyAqCisgKglUaGUgdmFsdWUgb2YgdGhpcyBwcm9w ZXJ0eSBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CisgKgorICoJTm8gRGF0YToKKyAqCQlD b250ZW50IHR5cGUgaXMgdW5rbm93bgorICoJR3JhcGhpY3M6CisgKgkJQ29udGVudCB0eXBlIGlz IGdyYXBoaWNzCisgKglQaG90bzoKKyAqCQlDb250ZW50IHR5cGUgaXMgcGhvdG8KKyAqCUNpbmVt YToKKyAqCQlDb250ZW50IHR5cGUgaXMgY2luZW1hCisgKglHYW1lOgorICoJCUNvbnRlbnQgdHlw ZSBpcyBnYW1lCisgKi8KKworLyoqCisgKiBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3R5 cGVfcHJvcGVydHkgLSBhdHRhY2ggY29udGVudC10eXBlIHByb3BlcnR5CisgKiBAY29ubmVjdG9y OiBjb25uZWN0b3IgdG8gYXR0YWNoIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eSBvbi4KKyAqCisgKiBD YWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUgYSBIRE1JIGNvbm5lY3RvciBpcyBtYWRl LgorICovCitpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF90eXBlX3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJaWYgKCFkcm1fbW9kZV9jcmVhdGVf Y29udGVudF90eXBlX3Byb3BlcnR5KGNvbm5lY3Rvci0+ZGV2KSkKKwkJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKKwkJCQkJICAgY29ubmVjdG9yLT5kZXYtPm1v ZGVfY29uZmlnLmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSwKKwkJCQkJICAgRFJNX01PREVfQ09OVEVO VF9UWVBFX05PX0RBVEEpOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29ubmVj dG9yX2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkpOworCiAvKioKICAqIGRybV9jcmVhdGVf dHZfcHJvcGVydGllcyAtIGNyZWF0ZSBUViBzcGVjaWZpYyBjb25uZWN0b3IgcHJvcGVydGllcwog ICogQGRldjogRFJNIGRldmljZQpAQCAtMTI2MCw2ICsxMzA3LDMzIEBAIGludCBkcm1fbW9kZV9j cmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB9CiBF WFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOwogCisv KioKKyAqIGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkgLSBjcmVhdGUgY29u dGVudCB0eXBlIHByb3BlcnR5CisgKiBAZGV2OiBEUk0gZGV2aWNlCisgKgorICogQ2FsbGVkIGJ5 IGEgZHJpdmVyIHRoZSBmaXJzdCB0aW1lIGl0J3MgbmVlZGVkLCBtdXN0IGJlIGF0dGFjaGVkIHRv IGRlc2lyZWQKKyAqIGNvbm5lY3RvcnMuCisgKgorICogUmV0dXJuczoKKyAqIFplcm8gb24gc3Vj Y2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KKyAqLworaW50IGRybV9tb2RlX2NyZWF0 ZV9jb250ZW50X3R5cGVfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlpZiAo ZGV2LT5tb2RlX2NvbmZpZy5jb250ZW50X3R5cGVfcHJvcGVydHkpCisJCXJldHVybiAwOworCisJ ZGV2LT5tb2RlX2NvbmZpZy5jb250ZW50X3R5cGVfcHJvcGVydHkgPQorCQlkcm1fcHJvcGVydHlf Y3JlYXRlX2VudW0oZGV2LCAwLCAiY29udGVudCB0eXBlIiwKKwkJCQkJIGRybV9jb250ZW50X3R5 cGVfZW51bV9saXN0LAorCQkJCQkgQVJSQVlfU0laRShkcm1fY29udGVudF90eXBlX2VudW1fbGlz dCkpOworCisJaWYgKGRldi0+bW9kZV9jb25maWcuY29udGVudF90eXBlX3Byb3BlcnR5ID09IE5V TEwpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRy bV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkpOworCiAvKioKICAqIGRybV9tb2Rl X2NyZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3BlcnRpZXMgLSBjcmVhdGUgc3VnZ2VzdHMgb2Zm c2V0IHByb3BlcnRpZXMKICAqIEBkZXY6IERSTSBkZXZpY2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKaW5kZXggMTM0 MDY5ZjM2NDgyLi45ZWNkYTBiMmE0ZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZWRpZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCkBAIC00ODY4LDYgKzQ4Njgs MTQgQEAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRt aV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKIAogCWZyYW1lLT5waWN0dXJlX2FzcGVjdCA9IEhETUlf UElDVFVSRV9BU1BFQ1RfTk9ORTsKIAorCS8qCisJICogQXMgc29tZSBkcml2ZXJzIGRvbid0IHN1 cHBvcnQgYXRvbWljLCB3ZSBjYW4ndCB1c2UgY29ubmVjdG9yIHN0YXRlLgorCSAqIFNvIGp1c3Qg aW5pdGlhbGl6ZSB0aGUgZnJhbWUgd2l0aCBkZWZhdWx0IHZhbHVlcywganVzdCB0aGUgc2FtZSB3 YXkKKwkgKiBhcyBpdCdzIGRvbmUgd2l0aCBvdGhlciBwcm9wZXJ0aWVzIGhlcmUuCisJICovCisJ ZnJhbWUtPmNvbnRlbnRfdHlwZSA9IEhETUlfQ09OVEVOVF9UWVBFX0dSQVBISUNTOworCWZyYW1l LT5pdGMgPSAwOworCiAJLyoKIAkgKiBQb3B1bGF0ZSBwaWN0dXJlIGFzcGVjdCByYXRpbyBmcm9t IGVpdGhlcgogCSAqIHVzZXIgaW5wdXQgKGlmIHNwZWNpZmllZCkgb3IgZnJvbSB0aGUgQ0VBIG1v ZGUgbGlzdC4KQEAgLTQ4ODYsNiArNDg5NCw1MyBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAogfQogRVhQ T1JUX1NZTUJPTChkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKTsKIAor LyoqCisgKiBkcm1faGRtaV9nZXRfaXRjX2JpdF9mcm9tX3Byb3BlcnR5KCkgLSBnZXQgdGhlIEhE TUkgSVQgY29udGVudCBiaXQKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZyb20gY29udGVudCB0eXBlIHByb3BlcnR5LgorICogY29udGVudF90eXBlOiBDb250ZW50 IHR5cGUgRFJNIHByb3BlcnR5IHZhbHVlCisgKgorICovCitib29sCitkcm1faGRtaV9nZXRfaXRj X2JpdF9mcm9tX3Byb3BlcnR5KHVuc2lnbmVkIGludCBjb250ZW50X3R5cGUpCit7CisJLyogV2hl bmV2ZXIgc29tZXRoaW5nIGVsc2UgdGhhbiAiTm8gRGF0YSIsIElUIENvbnRlbnQgYml0IG11c3Qg YmUgc2V0ICovCisJcmV0dXJuIGNvbnRlbnRfdHlwZSAhPSBEUk1fTU9ERV9DT05URU5UX1RZUEVf Tk9fREFUQSA/IHRydWUgOiBmYWxzZTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2hkbWlfZ2V0X2l0 Y19iaXRfZnJvbV9wcm9wZXJ0eSk7CisKKy8qKgorICogZHJtX2hkbWlfZ2V0X2NvbnRlbnRfdHlw ZV9mcm9tX3Byb3BlcnR5KCkgLSBnZXQgdGhlIEhETUkgY29udGVudCB0eXBlIGJpdHMKKyAqICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBjb250ZW50IHR5 cGUgcHJvcGVydHkuCisgKiBjb250ZW50X3R5cGU6IENvbnRlbnQgdHlwZSBEUk0gcHJvcGVydHkg dmFsdWUKKyAqCisgKi8KK2VudW0gaGRtaV9jb250ZW50X3R5cGUKK2RybV9oZG1pX2dldF9jb250 ZW50X3R5cGVfZnJvbV9wcm9wZXJ0eSh1bnNpZ25lZCBpbnQgY29udGVudF90eXBlKQoreworCWVu dW0gaGRtaV9jb250ZW50X3R5cGUgcmV0OworCisJc3dpdGNoIChjb250ZW50X3R5cGUpIHsKKwlj YXNlIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HUkFQSElDUzoKKwkJcmV0ID0gSERNSV9DT05URU5U X1RZUEVfR1JBUEhJQ1M7CisJCWJyZWFrOworCWNhc2UgRFJNX01PREVfQ09OVEVOVF9UWVBFX0NJ TkVNQToKKwkJcmV0ID0gSERNSV9DT05URU5UX1RZUEVfQ0lORU1BOworCQlicmVhazsKKwljYXNl IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FOgorCQlyZXQgPSBIRE1JX0NPTlRFTlRfVFlQRV9H QU1FOworCQlicmVhazsKKwljYXNlIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9QSE9UTzoKKwkJcmV0 ID0gSERNSV9DT05URU5UX1RZUEVfUEhPVE87CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCS8qIEdy YXBoaWNzIGlzIHRoZSBkZWZhdWx0KDApICovCisJCXJldCA9IEhETUlfQ09OVEVOVF9UWVBFX0dS QVBISUNTOworCX0KKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChkcm1faGRtaV9nZXRf Y29udGVudF90eXBlX2Zyb21fcHJvcGVydHkpOworCisKIC8qKgogICogZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9xdWFudF9yYW5nZSgpIC0gZmlsbCB0aGUgSERNSSBBVkkgaW5mb2ZyYW1lCiAgKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWFudGl6YXRpb24gcmFuZ2Ug aW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCA2NzVjYzNmOGNmODUuLjE3OGZhM2YzZjVm NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaApAQCAtNDE4LDYgKzQxOCwxNiBAQCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSB7CiAJICovCiAJZW51bSBoZG1pX3BpY3R1cmVfYXNwZWN0IHBpY3R1cmVfYXNw ZWN0X3JhdGlvOwogCisKKwkvKioKKwkgKiBAY29udGVudF90eXBlOiBDb25uZWN0b3IgcHJvcGVy dHkgdG8gY29udHJvbCB0aGUKKwkgKiBIRE1JIGluZm9mcmFtZSBjb250ZW50IHR5cGUgc2V0dGlu Zy4KKwkgKiBUaGUgJURSTV9NT0RFX0NPTlRFTlRfVFlQRV9cKiB2YWx1ZXMgbXVjaAorCSAqIG1h dGNoIHRoZSB2YWx1ZXMuCisJICovCisJdW5zaWduZWQgaW50IGNvbnRlbnRfdHlwZTsKKworCiAJ LyoqCiAJICogQHNjYWxpbmdfbW9kZTogQ29ubmVjdG9yIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhl CiAJICogdXBzY2FsaW5nLCBtb3N0bHkgdXNlZCBmb3IgYnVpbHQtaW4gcGFuZWxzLgpAQCAtMTA4 OSwxMSArMTA5OSwxMyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRpZXMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHVuc2lnbmVkIGludCBudW1fbW9kZXMsCiAJCQkJICBj b25zdCBjaGFyICogY29uc3QgbW9kZXNbXSk7CiBpbnQgZHJtX21vZGVfY3JlYXRlX3NjYWxpbmdf bW9kZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2ludCBkcm1fY29ubmVjdG9y X2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmRldik7 CiBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfc2NhbGluZ19tb2RlX3Byb3BlcnR5KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCSAgICAgICB1MzIgc2NhbGluZ19tb2RlX21h c2spOwogaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0 eSgKIAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiBpbnQgZHJtX21vZGVfY3Jl YXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2ludCBk cm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwogaW50IGRybV9tb2RlX2NyZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3BlcnRpZXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7CiAKIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3BhdGhf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCmluZGV4IDhkODlh OWMzNzQ4ZC4uNGUyNjRjNGQ4YTliIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5o CisrKyBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKQEAgLTM1MCw2ICszNTAsMTIgQEAgZHJtX2xv YWRfZWRpZF9maXJtd2FyZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogfQogI2Vu ZGlmCiAKK2Jvb2wKK2RybV9oZG1pX2dldF9pdGNfYml0X2Zyb21fcHJvcGVydHkodW5zaWduZWQg aW50IGNvbnRlbnRfdHlwZSk7CisKK2VudW0gaGRtaV9jb250ZW50X3R5cGUKK2RybV9oZG1pX2dl dF9jb250ZW50X3R5cGVfZnJvbV9wcm9wZXJ0eSh1bnNpZ25lZCBpbnQgY29udGVudF90eXBlKTsK KwogaW50CiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBo ZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAogCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBi L2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCmluZGV4IDMzYjNhOTZkNjZkMC4uZmI0NTgz OTE3OWRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAorKysgYi9p bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaApAQCAtNzI2LDYgKzcyNiwxMSBAQCBzdHJ1Y3Qg ZHJtX21vZGVfY29uZmlnIHsKIAkgKiBIRE1JIGluZm9mcmFtZSBhc3BlY3QgcmF0aW8gc2V0dGlu Zy4KIAkgKi8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICphc3BlY3RfcmF0aW9fcHJvcGVydHk7CisJ LyoqCisJICogQGNvbnRlbnRfdHlwZV9wcm9wZXJ0eTogT3B0aW9uYWwgY29ubmVjdG9yIHByb3Bl cnR5IHRvIGNvbnRyb2wgdGhlCisJICogSERNSSBpbmZvZnJhbWUgY29udGVudCB0eXBlIHNldHRp bmcuCisJICovCisJc3RydWN0IGRybV9wcm9wZXJ0eSAqY29udGVudF90eXBlX3Byb3BlcnR5Owog CS8qKgogCSAqIEBkZWdhbW1hX2x1dF9wcm9wZXJ0eTogT3B0aW9uYWwgQ1JUQyBwcm9wZXJ0eSB0 byBzZXQgdGhlIExVVCB1c2VkIHRvCiAJICogY29udmVydCB0aGUgZnJhbWVidWZmZXIncyBjb2xv cnMgdG8gbGluZWFyIGdhbW1hLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCmluZGV4IDUwYmNmNDIxNGZmOS4uY2Fk OWUwOWZmYWVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC05NCw2ICs5NCwxMyBAQCBleHRlcm4gIkMi IHsKICNkZWZpbmUgRFJNX01PREVfUElDVFVSRV9BU1BFQ1RfNF8zCQkxCiAjZGVmaW5lIERSTV9N T0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzkJCTIKIAorLyogQ29udGVudCB0eXBlIG9wdGlvbnMgKi8K KyNkZWZpbmUgRFJNX01PREVfQ09OVEVOVF9UWVBFX05PX0RBVEEJCTAKKyNkZWZpbmUgRFJNX01P REVfQ09OVEVOVF9UWVBFX0dSQVBISUNTCQkxCisjZGVmaW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQ RV9QSE9UTwkJMgorI2RlZmluZSBEUk1fTU9ERV9DT05URU5UX1RZUEVfQ0lORU1BCQkzCisjZGVm aW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FCQk0CisKIC8qIEFzcGVjdCByYXRpbyBmbGFn IGJpdG1hc2sgKDQgYml0cyAyMjoxOSkgKi8KICNkZWZpbmUgRFJNX01PREVfRkxBR19QSUNfQVJf TUFTSwkJKDB4MEY8PDE5KQogI2RlZmluZSAgRFJNX01PREVfRkxBR19QSUNfQVJfTk9ORSBcCi0t IAoyLjE3LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=