From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 1/6] drm: Add Content protection type property Date: Thu, 1 Aug 2019 17:11:14 +0530 Message-ID: <20190801114119.28830-2-ramalingam.c@intel.com> References: <20190801114119.28830-1-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190801114119.28830-1-ramalingam.c@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 , intel-gfx Cc: Jani Nikula , Pekka Paalanen List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGEgRFJNIEVOVU0gcHJvcGVydHkgdG8gdGhlIHNlbGVjdGVkIGNvbm5l Y3RvcnMuClRoaXMgcHJvcGVydHkgaXMgdXNlZCBmb3IgbWVudGlvbmluZyB0aGUgcHJvdGVjdGVk IGNvbnRlbnQncyB0eXBlCmZyb20gdXNlcnNwYWNlIHRvIGtlcm5lbCBIRENQIGF1dGhlbnRpY2F0 aW9uLgoKVHlwZSBvZiB0aGUgc3RyZWFtIGlzIGRlY2lkZWQgYnkgdGhlIHByb3RlY3RlZCBjb250 ZW50IHByb3ZpZGVycy4KVHlwZSAwIGNvbnRlbnQgY2FuIGJlIHJlbmRlcmVkIG9uIGFueSBIRENQ IHByb3RlY3RlZCBkaXNwbGF5IHdpcmVzLgpCdXQgVHlwZSAxIGNvbnRlbnQgY2FuIGJlIHJlbmRl cmVkIG9ubHkgb24gSERDUDIuMiBwcm90ZWN0ZWQgcGF0aHMuCgpTbyB3aGVuIGEgdXNlcnNwYWNl IHNldHMgdGhpcyBwcm9wZXJ0eSB0byBUeXBlIDEgYW5kIHN0YXJ0cyB0aGUgSERDUAplbmFibGUs IGtlcm5lbCB3aWxsIGhvbm91ciBpdCBvbmx5IGlmIEhEQ1AyLjIgYXV0aGVudGljYXRpb24gaXMg dGhyb3VnaApmb3IgdHlwZSAxLiBFbHNlIEhEQ1AgZW5hYmxlIHdpbGwgYmUgZmFpbGVkLgoKUGVr a2EgaGF2ZSBjb21wbGV0ZWQgdGhlIFdlc3RvbiBEUk0tYmFja2VuZCByZXZpZXcgaW4KaHR0cHM6 Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3dheWxhbmQvd2VzdG9uL21lcmdlX3JlcXVlc3RzLzQ4 CmFuZCB0aGUgVUFQSSBmb3IgSERDUCAyLjIgbG9va3MgZ29vZC4KClRoZSB1c2Vyc3BhY2UgaXMg YWNjZXB0ZWQgaW4gV2VzdG9uLgoKdjI6CiAgY3BfY29udGVudF90eXBlIGlzIHJlcGxhY2VkIHdp dGggY29udGVudF9wcm90ZWN0aW9uX3R5cGUgW2RhbmllbF0KICBjaGVjayBhdCBhdG9taWNfc2V0 X3Byb3BlcnR5IGlzIHJlbW92ZWQgW01hYXJ0ZW5dCnYzOgogICVzL2NvbnRlbnRfcHJvdGVjdGlv bl90eXBlL2hkY3BfY29udGVudF90eXBlIFtQZWtrYV0KdjQ6CiAgcHJvcGVydHkgaXMgY3JlYXRl ZCBmb3IgdGhlIGZpcnN0IHJlcXVlc3RlZCBjb25uZWN0b3IgYW5kIHRoZW4gcmV1c2VkLgoJW0Rh bnZldF0KdjU6CiAga2VybmVsIGRvYyBuaXRzIGFkZHJlc3NlZCBbRGFuaWVsXQogIFJlYmFzZWQg YXMgcGFydCBvZiBwYXRjaCByZW9yZGVyaW5nLgp2NjoKICBLZXJuZWwgZG9jcyBhcmUgbW9kaWZp ZWQgW3Bla2thXQp2NzoKICBNb3JlIGRldGFpbHMgaW4gS2VybmVsIGRvY3MuIFtwZWtrYV0Kdjg6 CiAgRmV3IG1vcmUgY2xhcmlmaWNhdGlvbiBpbnRvIGtlcm5lbCBkb2Mgb2YgY29udGVudCB0eXBl IFtwZWtrYV0Kdjk6CiAgU21hbGwgZml4ZXMgaW4gY29kaW5nIHN0eWxlLgp2MTA6CiAgTW92aW5n IERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFeCBkZWZpbml0aW9uIHRvIGRybV9oZGNwLmggW3Bl a2thXQoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29t PgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQWNr ZWQtYnk6IFBla2thIFBhYWxhbmVuIDxwZWtrYS5wYWFsYW5lbkBjb2xsYWJvcmEuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgICAgICAgIHwgIDQgKysKIGRyaXZl cnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgICAgICAgIHwgNTEgKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5jICAgICAgICAgICAgICAgIHwgMzYg KysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNw LmMgfCAgNCArLQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgICAgICAgfCAg NyArKysrCiBpbmNsdWRlL2RybS9kcm1faGRjcC5oICAgICAgICAgICAgICAgICAgICB8ICA3ICsr Ky0KIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgICAgICAgIHwgIDYgKysrCiA3 IGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljX3VhcGkuYwppbmRleCBhYmUzOGJkZjg1YWUuLjE5YWUxMTlmMWE1ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwpAQCAtNzQ3LDYgKzc0Nyw4IEBAIHN0YXRpYyBpbnQg ZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQlzdGF0ZS0+Y29udGVudF9wcm90 ZWN0aW9uID0gdmFsOworCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5oZGNwX2NvbnRl bnRfdHlwZV9wcm9wZXJ0eSkgeworCQlzdGF0ZS0+aGRjcF9jb250ZW50X3R5cGUgPSB2YWw7CiAJ fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbG9yc3BhY2VfcHJvcGVydHkpIHsK IAkJc3RhdGUtPmNvbG9yc3BhY2UgPSB2YWw7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPndyaXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewpAQCAtODMxLDYgKzgzMyw4IEBAIGRybV9h dG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAogCQkJc3RhdGUtPmhkcl9vdXRwdXRfbWV0YWRhdGEtPmJhc2UuaWQgOiAwOwogCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsK IAkJKnZhbCA9IHN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb247CisJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25maWctPmhkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KSB7CisJCSp2YWwgPSBzdGF0 ZS0+aGRjcF9jb250ZW50X3R5cGU7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPndy aXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewogCQkvKiBXcml0ZWJhY2sgZnJhbWVidWZmZXIgaXMg b25lLXNob3QsIHdyaXRlIGFuZCBmb3JnZXQgKi8KIAkJKnZhbCA9IDA7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYwppbmRleCBkNDllMTlmM2RlM2EuLmNkZGI5N2Y3NTQxNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCkBAIC05ODgsNiArOTg4LDU3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3By b3BfZW51bV9saXN0IGhkbWlfY29sb3JzcGFjZXNbXSA9IHsKICAqCSAgaXMgbm8gbG9uZ2VyIHBy b3RlY3RlZCBhbmQgdXNlcnNwYWNlIHNob3VsZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbgogICoJ ICAod2hhdGV2ZXIgdGhhdCBtaWdodCBiZSkuCiAgKgorICogSERDUCBDb250ZW50IFR5cGU6Cisg KglUaGlzIEVudW0gcHJvcGVydHkgaXMgdXNlZCBieSB0aGUgdXNlcnNwYWNlIHRvIGRlY2xhcmUg dGhlIGNvbnRlbnQgdHlwZQorICoJb2YgdGhlIGRpc3BsYXkgc3RyZWFtLCB0byBrZXJuZWwuIEhl cmUgZGlzcGxheSBzdHJlYW0gc3RhbmRzIGZvciBhbnkKKyAqCWRpc3BsYXkgY29udGVudCB0aGF0 IHVzZXJzcGFjZSBpbnRlbmRlZCB0byBkaXNwbGF5IHRocm91Z2ggSERDUAorICoJZW5jcnlwdGlv bi4KKyAqCisgKglDb250ZW50IFR5cGUgb2YgYSBzdHJlYW0gaXMgZGVjaWRlZCBieSB0aGUgb3du ZXIgb2YgdGhlIHN0cmVhbSwgYXMKKyAqCSJIRENQIFR5cGUwIiBvciAiSERDUCBUeXBlMSIuCisg KgorICoJVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBjYW4gYmUgb25lIG9mIHRoZSBiZWxvdzoK KyAqCSAgLSAiSERDUCBUeXBlMCI6IERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCA9IDAKKyAq CSAgLSAiSERDUCBUeXBlMSI6IERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMSA9IDEKKyAqCisg KglXaGVuIGtlcm5lbCBzdGFydHMgdGhlIEhEQ1AgYXV0aGVudGljYXRpb24gKHNlZSAiQ29udGVu dCBQcm90ZWN0aW9uIgorICoJZm9yIGRldGFpbHMpLCBpdCB1c2VzIHRoZSBjb250ZW50IHR5cGUg aW4gIkhEQ1AgQ29udGVudCBUeXBlIgorICoJZm9yIHBlcmZvcm1pbmcgdGhlIEhEQ1AgYXV0aGVu dGljYXRpb24gd2l0aCB0aGUgZGlzcGxheSBzaW5rLgorICoKKyAqCVBsZWFzZSBub3RlIGluIEhE Q1Agc3BlYyB2ZXJzaW9ucywgYSBsaW5rIGNhbiBiZSBhdXRoZW50aWNhdGVkIHdpdGgKKyAqCUhE Q1AgMi4yIGZvciBDb250ZW50IFR5cGUgMC9Db250ZW50IFR5cGUgMS4gV2hlcmUgYXMgYSBsaW5r IGNhbiBiZQorICoJYXV0aGVudGljYXRlZCB3aXRoIEhEQ1AxLjQgb25seSBmb3IgQ29udGVudCBU eXBlIDAodGhvdWdoIGl0IGlzIGltcGxpY2l0CisgKglpbiBuYXR1cmUuIEFzIHRoZXJlIGlzIG5v IHJlZmVyZW5jZSBmb3IgQ29udGVudCBUeXBlIGluIEhEQ1AxLjQpLgorICoKKyAqCUhEQ1AyLjIg YXV0aGVudGljYXRpb24gcHJvdG9jb2wgaXRzZWxmIHRha2VzIHRoZSAiQ29udGVudCBUeXBlIiBh cyBhCisgKglwYXJhbWV0ZXIsIHdoaWNoIGlzIGEgaW5wdXQgZm9yIHRoZSBEUCBIRENQMi4yIGVu Y3J5cHRpb24gYWxnby4KKyAqCisgKglJbiBjYXNlIG9mIFR5cGUgMCBjb250ZW50IHByb3RlY3Rp b24gcmVxdWVzdCwga2VybmVsIGRyaXZlciBjYW4gY2hvb3NlCisgKgllaXRoZXIgb2YgSERDUCBz cGVjIHZlcnNpb25zIDEuNCBhbmQgMi4yLiBXaGVuIEhEQ1AyLjIgaXMgdXNlZCBmb3IKKyAqCSJI RENQIFR5cGUgMCIsIGEgSERDUCAyLjIgY2FwYWJsZSByZXBlYXRlciBpbiB0aGUgZG93bnN0cmVh bSBjYW4gc2VuZAorICoJdGhhdCBjb250ZW50IHRvIGEgSERDUCAxLjQgYXV0aGVudGljYXRlZCBI RENQIHNpbmsgKFR5cGUwIGxpbmspLgorICoJQnV0IGlmIHRoZSBjb250ZW50IGlzIGNsYXNzaWZp ZWQgYXMgIkhEQ1AgVHlwZSAxIiwgYWJvdmUgbWVudGlvbmVkCisgKglIRENQIDIuMiByZXBlYXRl ciB3b250IHNlbmQgdGhlIGNvbnRlbnQgdG8gdGhlIEhEQ1Agc2luayBhcyBpdCBjYW4ndAorICoJ YXV0aGVudGljYXRlIHRoZSBIRENQMS40IGNhcGFibGUgc2luayBmb3IgIkhEQ1AgVHlwZSAxIi4K KyAqCisgKglQbGVhc2Ugbm90ZSB1c2Vyc3BhY2UgY2FuIGJlIGlnbm9yYW50IG9mIHRoZSBIRENQ IHZlcnNpb25zIHVzZWQgYnkgdGhlCisgKglrZXJuZWwgZHJpdmVyIHRvIGFjaGlldmUgdGhlICJI RENQIENvbnRlbnQgVHlwZSIuCisgKgorICoJQXQgY3VycmVudCBzY2VuYXJpbywgY2xhc3NpZnlp bmcgYSBjb250ZW50IGFzIFR5cGUgMSBlbnN1cmVzIHRoYXQgdGhlCisgKgljb250ZW50IHdpbGwg YmUgZGlzcGxheWVkIG9ubHkgdGhyb3VnaCB0aGUgSERDUDIuMiBlbmNyeXB0ZWQgbGluay4KKyAq CisgKglOb3RlIHRoYXQgdGhlIEhEQ1AgQ29udGVudCBUeXBlIHByb3BlcnR5IGlzIGludHJvZHVj ZWQgYXQgSERDUCAyLjIsIGFuZAorICoJZGVmYXVsdHMgdG8gdHlwZSAwLiBJdCBpcyBvbmx5IGV4 cG9zZWQgYnkgZHJpdmVycyBzdXBwb3J0aW5nIEhEQ1AgMi4yCisgKgkoaGVuY2Ugc3VwcG9ydGlu ZyBUeXBlIDAgYW5kIFR5cGUgMSkuIEJhc2VkIG9uIGhvdyBuZXh0IHZlcnNpb25zIG9mCisgKglI RENQIHNwZWNzIGFyZSBkZWZpbmVkIGNvbnRlbnQgVHlwZSBjb3VsZCBiZSB1c2VkIGZvciBoaWdo ZXIgdmVyc2lvbnMKKyAqCXRvby4KKyAqCisgKglJZiBjb250ZW50IHR5cGUgaXMgY2hhbmdlZCB3 aGVuICJDb250ZW50IFByb3RlY3Rpb24iIGlzIG5vdCBVTkRFU0lSRUQsCisgKgl0aGVuIGtlcm5l bCB3aWxsIGRpc2FibGUgdGhlIEhEQ1AgYW5kIHJlLWVuYWJsZSB3aXRoIG5ldyB0eXBlIGluIHRo ZQorICoJc2FtZSBhdG9taWMgY29tbWl0LiBBbmQgd2hlbiAiQ29udGVudCBQcm90ZWN0aW9uIiBp cyBFTkFCTEVELCBpdCBtZWFucworICoJdGhhdCBsaW5rIGlzIEhEQ1AgYXV0aGVudGljYXRlZCBh bmQgZW5jcnlwdGVkLCBmb3IgdGhlIHRyYW5zbWlzc2lvbiBvZgorICoJdGhlIFR5cGUgb2Ygc3Ry ZWFtIG1lbnRpb25lZCBhdCAiSERDUCBDb250ZW50IFR5cGUiLgorICoKICAqIEhEUl9PVVRQVVRf TUVUQURBVEE6CiAgKglDb25uZWN0b3IgcHJvcGVydHkgdG8gZW5hYmxlIHVzZXJzcGFjZSB0byBz ZW5kIEhEUiBNZXRhZGF0YSB0bwogICoJZHJpdmVyLiBUaGlzIG1ldGFkYXRhIGlzIGJhc2VkIG9u IHRoZSBjb21wb3NpdGlvbiBhbmQgYmxlbmRpbmcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1faGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9oZGNwLmMKaW5kZXggY2Q4MzdiZDQw OWY3Li5jZTIzNWZkMWM4NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5jCkBAIC0zNDQsMjMgKzM0NCw0MSBAQCBz dGF0aWMgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fY3BfZW51bV9saXN0W10gPSB7CiB9 OwogRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2NvbnRlbnRfcHJvdGVjdGlvbl9uYW1lLCBkcm1f Y3BfZW51bV9saXN0KQogCitzdGF0aWMgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1faGRj cF9jb250ZW50X3R5cGVfZW51bV9saXN0W10gPSB7CisJeyBEUk1fTU9ERV9IRENQX0NPTlRFTlRf VFlQRTAsICJIRENQIFR5cGUwIiB9LAorCXsgRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUxLCAi SERDUCBUeXBlMSIgfSwKK307CitEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfaGRjcF9jb250ZW50 X3R5cGVfbmFtZSwKKwkJIGRybV9oZGNwX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3QpCisKIC8qKgog ICogZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5IC0gYXR0 YWNoIGNvbnRlbnQgcHJvdGVjdGlvbgogICogcHJvcGVydHkKICAqCiAgKiBAY29ubmVjdG9yOiBj b25uZWN0b3IgdG8gYXR0YWNoIENQIHByb3BlcnR5IG9uLgorICogQGhkY3BfY29udGVudF90eXBl OiBpcyBIRENQIENvbnRlbnQgVHlwZSBwcm9wZXJ0eSBuZWVkZWQgZm9yIGNvbm5lY3RvcgogICoK ICAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgY29udGVudCBwcm90ZWN0aW9uIG9u IHNlbGVjdCBjb25uZWN0b3JzLgogICogQ29udGVudCBQcm90ZWN0aW9uIGlzIGludGVudGlvbmFs bHkgdmFndWUgdG8gYWxsb3cgZm9yIGRpZmZlcmVudCB1bmRlcmx5aW5nCiAgKiB0ZWNobm9sb2dp ZXMsIGhvd2V2ZXIgaXQgaXMgbW9zdCBpbXBsZW1lbnRlZCBieSBIRENQLgogICoKKyAqIFdoZW4g aGRjcF9jb250ZW50X3R5cGUgaXMgdHJ1ZSBlbnVtIHByb3BlcnR5IGNhbGxlZCBIRENQIENvbnRl bnQgVHlwZSBpcworICogY3JlYXRlZCAoaWYgaXQgaXMgbm90IGFscmVhZHkpIGFuZCBhdHRhY2hl ZCB0byB0aGUgY29ubmVjdG9yLgorICoKKyAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCBmb3Igc2Vu ZGluZyB0aGUgcHJvdGVjdGVkIGNvbnRlbnQncyBzdHJlYW0gdHlwZQorICogZnJvbSB1c2Vyc3Bh Y2UgdG8ga2VybmVsIG9uIHNlbGVjdGVkIGNvbm5lY3RvcnMuIFByb3RlY3RlZCBjb250ZW50IHBy b3ZpZGVyCisgKiB3aWxsIGRlY2lkZSB0aGVpciB0eXBlIG9mIHRoZWlyIGNvbnRlbnQgYW5kIGRl Y2xhcmUgdGhlIHNhbWUgdG8ga2VybmVsLgorICoKKyAqIENvbnRlbnQgdHlwZSB3aWxsIGJlIHVz ZWQgZHVyaW5nIHRoZSBIRENQIDIuMiBhdXRoZW50aWNhdGlvbi4KKyAqIENvbnRlbnQgdHlwZSB3 aWxsIGJlIHNldCB0byAmZHJtX2Nvbm5lY3Rvcl9zdGF0ZS5oZGNwX2NvbnRlbnRfdHlwZS4KKyAq CiAgKiBUaGUgY29udGVudCBwcm90ZWN0aW9uIHdpbGwgYmUgc2V0IHRvICZkcm1fY29ubmVjdG9y X3N0YXRlLmNvbnRlbnRfcHJvdGVjdGlvbgogICoKICAqIFJldHVybnM6CiAgKiBaZXJvIG9uIHN1 Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuCiAgKi8KIGludCBkcm1fY29ubmVjdG9y X2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCi0JCXN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpCisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wg aGRjcF9jb250ZW50X3R5cGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+ZGV2OwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AgPQpAQCAtMzc3LDYgKzM5NSwyMiBA QCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KAog CQkJCSAgIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpOwogCWRldi0+bW9k ZV9jb25maWcuY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5ID0gcHJvcDsKIAorCWlmICghaGRj cF9jb250ZW50X3R5cGUpCisJCXJldHVybiAwOworCisJcHJvcCA9IGRldi0+bW9kZV9jb25maWcu aGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHk7CisJaWYgKCFwcm9wKQorCQlwcm9wID0gZHJtX3By b3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgIkhEQ1AgQ29udGVudCBUeXBlIiwKKwkJCQkJZHJt X2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdCwKKwkJCQkJQVJSQVlfU0laRSgKKwkJCQkJZHJt X2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdCkpOworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1F Tk9NRU07CisKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBw cm9wLAorCQkJCSAgIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCk7CisJZGV2LT5tb2RlX2Nv bmZpZy5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSA9IHByb3A7CisKIAlyZXR1cm4gMDsKIH0K IEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3By b3BlcnR5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf aGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNwLmMKaW5kZXgg MWZmYzFlNjFjMmJlLi5kZWVmMGU3NDcyNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfaGRjcC5jCkBAIC0xODM2LDcgKzE4MzYsOSBAQCBpbnQgaW50ZWxfaGRjcF9pbml0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoIXNoaW0pCiAJCXJldHVy biAtRUlOVkFMOwogCi0JcmV0ID0gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0 aW9uX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UpOworCXJldCA9CisJZHJtX2Nvbm5lY3Rvcl9h dHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsCisJCQkJ CQkJIGZhbHNlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKaW5k ZXggZmM1ZDA4NDM4MzMzLi4wYjk5OTdlMjc2ODkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTYwMiw2 ICs2MDIsMTIgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewogCSAqLwogCXVuc2lnbmVk IGludCBjb250ZW50X3R5cGU7CiAKKwkvKioKKwkgKiBAaGRjcF9jb250ZW50X3R5cGU6IENvbm5l Y3RvciBwcm9wZXJ0eSB0byBwYXNzIHRoZSB0eXBlIG9mCisJICogcHJvdGVjdGVkIGNvbnRlbnQu IFRoaXMgaXMgbW9zdCBjb21tb25seSB1c2VkIGZvciBIRENQLgorCSAqLworCXVuc2lnbmVkIGlu dCBoZGNwX2NvbnRlbnRfdHlwZTsKKwogCS8qKgogCSAqIEBzY2FsaW5nX21vZGU6IENvbm5lY3Rv ciBwcm9wZXJ0eSB0byBjb250cm9sIHRoZQogCSAqIHVwc2NhbGluZywgbW9zdGx5IHVzZWQgZm9y IGJ1aWx0LWluIHBhbmVscy4KQEAgLTE1MDIsNiArMTUwOCw3IEBAIGNvbnN0IGNoYXIgKmRybV9n ZXRfZHZpX2lfc2VsZWN0X25hbWUoaW50IHZhbCk7CiBjb25zdCBjaGFyICpkcm1fZ2V0X3R2X3N1 YmNvbm5lY3Rvcl9uYW1lKGludCB2YWwpOwogY29uc3QgY2hhciAqZHJtX2dldF90dl9zZWxlY3Rf bmFtZShpbnQgdmFsKTsKIGNvbnN0IGNoYXIgKmRybV9nZXRfY29udGVudF9wcm90ZWN0aW9uX25h bWUoaW50IHZhbCk7Citjb25zdCBjaGFyICpkcm1fZ2V0X2hkY3BfY29udGVudF90eXBlX25hbWUo aW50IHZhbCk7CiAKIGludCBkcm1fbW9kZV9jcmVhdGVfZHZpX2lfcHJvcGVydGllcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKIGludCBkcm1fbW9kZV9jcmVhdGVfdHZfbWFyZ2luX3Byb3BlcnRp ZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f aGRjcC5oIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAppbmRleCAxMzc3MWE0OTZlMmIuLjgyNDQ3 YWY5OGFhMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAorKysgYi9pbmNsdWRl L2RybS9kcm1faGRjcC5oCkBAIC0yOTEsNSArMjkxLDEwIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9y OwogYm9vbCBkcm1faGRjcF9jaGVja19rc3ZzX3Jldm9rZWQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAkJCQkgdTggKmtzdnMsIHUzMiBrc3ZfY291bnQpOwogaW50IGRybV9jb25uZWN0b3JfYXR0 YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgKLQkJc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7CisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGRj cF9jb250ZW50X3R5cGUpOworCisvKiBDb250ZW50IFR5cGUgY2xhc3NpZmljYXRpb24gZm9yIEhE Q1AyLjIgdnMgb3RoZXJzICovCisjZGVmaW5lIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMAkJ MAorI2RlZmluZSBEUk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTEJCTEKKwogI2VuZGlmCmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCmluZGV4IGY1N2VlYTA0ODFlMC4uM2JjYmUzMDMzOWYwIDEwMDY0NAotLS0g YS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fbW9k ZV9jb25maWcuaApAQCAtODQ5LDYgKzg0OSwxMiBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsK IAkgKi8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHk7 CiAKKwkvKioKKwkgKiBAaGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHk6IERSTSBFTlVNIHByb3Bl cnR5IGZvciB0eXBlIG9mCisJICogUHJvdGVjdGVkIENvbnRlbnQuCisJICovCisJc3RydWN0IGRy bV9wcm9wZXJ0eSAqaGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHk7CisKIAkvKiBkdW1iIGlvY3Rs IHBhcmFtZXRlcnMgKi8KIAl1aW50MzJfdCBwcmVmZXJyZWRfZGVwdGgsIHByZWZlcl9zaGFkb3c7 CiAKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4