From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bhawanpreet Lakha Subject: [PATCH 05/20] drm: Add Content protection type property Date: Thu, 29 Aug 2019 12:22:38 -0400 Message-ID: <20190829162253.10195-6-Bhawanpreet.Lakha@amd.com> References: <20190829162253.10195-1-Bhawanpreet.Lakha@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190829162253.10195-1-Bhawanpreet.Lakha-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Ramalingam C RnJvbTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIGEgRFJNIEVOVU0gcHJvcGVydHkgdG8gdGhlIHNlbGVjdGVkIGNvbm5lY3RvcnMuClRoaXMg cHJvcGVydHkgaXMgdXNlZCBmb3IgbWVudGlvbmluZyB0aGUgcHJvdGVjdGVkIGNvbnRlbnQncyB0 eXBlCmZyb20gdXNlcnNwYWNlIHRvIGtlcm5lbCBIRENQIGF1dGhlbnRpY2F0aW9uLgoKVHlwZSBv ZiB0aGUgc3RyZWFtIGlzIGRlY2lkZWQgYnkgdGhlIHByb3RlY3RlZCBjb250ZW50IHByb3ZpZGVy cy4KVHlwZSAwIGNvbnRlbnQgY2FuIGJlIHJlbmRlcmVkIG9uIGFueSBIRENQIHByb3RlY3RlZCBk aXNwbGF5IHdpcmVzLgpCdXQgVHlwZSAxIGNvbnRlbnQgY2FuIGJlIHJlbmRlcmVkIG9ubHkgb24g SERDUDIuMiBwcm90ZWN0ZWQgcGF0aHMuCgpTbyB3aGVuIGEgdXNlcnNwYWNlIHNldHMgdGhpcyBw cm9wZXJ0eSB0byBUeXBlIDEgYW5kIHN0YXJ0cyB0aGUgSERDUAplbmFibGUsIGtlcm5lbCB3aWxs IGhvbm91ciBpdCBvbmx5IGlmIEhEQ1AyLjIgYXV0aGVudGljYXRpb24gaXMgdGhyb3VnaApmb3Ig dHlwZSAxLiBFbHNlIEhEQ1AgZW5hYmxlIHdpbGwgYmUgZmFpbGVkLgoKUGVra2EgaGF2ZSBjb21w bGV0ZWQgdGhlIFdlc3RvbiBEUk0tYmFja2VuZCByZXZpZXcgaW4KaHR0cHM6Ly9naXRsYWIuZnJl ZWRlc2t0b3Aub3JnL3dheWxhbmQvd2VzdG9uL21lcmdlX3JlcXVlc3RzLzQ4CmFuZCB0aGUgVUFQ SSBmb3IgSERDUCAyLjIgbG9va3MgZ29vZC4KClRoZSB1c2Vyc3BhY2UgaXMgYWNjZXB0ZWQgaW4g V2VzdG9uLgoKdjI6CiAgY3BfY29udGVudF90eXBlIGlzIHJlcGxhY2VkIHdpdGggY29udGVudF9w cm90ZWN0aW9uX3R5cGUgW2RhbmllbF0KICBjaGVjayBhdCBhdG9taWNfc2V0X3Byb3BlcnR5IGlz IHJlbW92ZWQgW01hYXJ0ZW5dCnYzOgogICVzL2NvbnRlbnRfcHJvdGVjdGlvbl90eXBlL2hkY3Bf Y29udGVudF90eXBlIFtQZWtrYV0KdjQ6CiAgcHJvcGVydHkgaXMgY3JlYXRlZCBmb3IgdGhlIGZp cnN0IHJlcXVlc3RlZCBjb25uZWN0b3IgYW5kIHRoZW4gcmV1c2VkLgoJW0RhbnZldF0KdjU6CiAg a2VybmVsIGRvYyBuaXRzIGFkZHJlc3NlZCBbRGFuaWVsXQogIFJlYmFzZWQgYXMgcGFydCBvZiBw YXRjaCByZW9yZGVyaW5nLgp2NjoKICBLZXJuZWwgZG9jcyBhcmUgbW9kaWZpZWQgW3Bla2thXQp2 NzoKICBNb3JlIGRldGFpbHMgaW4gS2VybmVsIGRvY3MuIFtwZWtrYV0Kdjg6CiAgRmV3IG1vcmUg Y2xhcmlmaWNhdGlvbiBpbnRvIGtlcm5lbCBkb2Mgb2YgY29udGVudCB0eXBlIFtwZWtrYV0Kdjk6 CiAgU21hbGwgZml4ZXMgaW4gY29kaW5nIHN0eWxlLgp2MTA6CiAgTW92aW5nIERSTV9NT0RFX0hE Q1BfQ09OVEVOVF9UWVBFeCBkZWZpbml0aW9uIHRvIGRybV9oZGNwLmggW3Bla2thXQoKU2lnbmVk LW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgpSZXZpZXdlZC1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQWNrZWQtYnk6IFBla2th IFBhYWxhbmVuIDxwZWtrYS5wYWFsYW5lbkBjb2xsYWJvcmEuY29tPgpBY2tlZC1ieTogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJl ZWRlc2t0b3Aub3JnL3BhdGNoLzMyMDk1Ny8/c2VyaWVzPTU3MjMyJnJldj0xNAotLS0KIGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyB8ICA0ICsrKwogZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYyAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJp dmVycy9ncHUvZHJtL2RybV9oZGNwLmMgICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgIDQgKystCiBpbmNsdWRlL2Ry bS9kcm1fY29ubmVjdG9yLmggICAgICAgfCAgNyArKysrKwogaW5jbHVkZS9kcm0vZHJtX2hkY3Au aCAgICAgICAgICAgIHwgIDcgKysrKy0KIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAg ICB8ICA2ICsrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCmluZGV4IDQxMzFlNjY5Nzg1YS4uYTg1 ZjNjY2ZlNjk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCkBAIC03MzgsNiArNzM4LDgg QEAgc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJCXN0YXRl LT5jb250ZW50X3Byb3RlY3Rpb24gPSB2YWw7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25m aWctPmhkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KSB7CisJCXN0YXRlLT5oZGNwX2NvbnRlbnRf dHlwZSA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+Y29sb3JzcGFj ZV9wcm9wZXJ0eSkgewogCQlzdGF0ZS0+Y29sb3JzcGFjZSA9IHZhbDsKIAl9IGVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7CkBAIC04MTYsNiAr ODE4LDggQEAgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCiAJCSp2YWwgPSBzdGF0ZS0+c2NhbGluZ19tb2RlOwogCX0gZWxz ZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkpIHsK IAkJKnZhbCA9IHN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb247CisJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25maWctPmhkY3BfY29udGVudF90eXBlX3Byb3BlcnR5KSB7CisJCSp2YWwgPSBzdGF0 ZS0+aGRjcF9jb250ZW50X3R5cGU7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPndy aXRlYmFja19mYl9pZF9wcm9wZXJ0eSkgewogCQkvKiBXcml0ZWJhY2sgZnJhbWVidWZmZXIgaXMg b25lLXNob3QsIHdyaXRlIGFuZCBmb3JnZXQgKi8KIAkJKnZhbCA9IDA7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYwppbmRleCAxMWZjZDI1YmM2NDAuLjNiMDkxMGIzNmVmNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCkBAIC05NTYsNiArOTU2LDU3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3By 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 ZWFtIG1lbnRpb25lZCBhdCAiSERDUCBDb250ZW50IFR5cGUiLgorICoKICAqIG1heCBicGM6CiAg KglUaGlzIHJhbmdlIHByb3BlcnR5IGlzIHVzZWQgYnkgdXNlcnNwYWNlIHRvIGxpbWl0IHRoZSBi aXQgZGVwdGguIFdoZW4KICAqCXVzZWQgdGhlIGRyaXZlciB3b3VsZCBsaW1pdCB0aGUgYnBjIGlu IGFjY29yZGFuY2Ugd2l0aCB0aGUgdmFsaWQgcmFuZ2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1faGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9oZGNwLmMKaW5kZXggMGRhN2Iz NzE4YmFkLi43NTQwMjQ2MzQ2NmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRj cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faGRjcC5jCkBAIC0zNDIsMjMgKzM0Miw0MSBA QCBzdGF0aWMgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fY3BfZW51bV9saXN0W10gPSB7 CiB9OwogRFJNX0VOVU1fTkFNRV9GTihkcm1fZ2V0X2NvbnRlbnRfcHJvdGVjdGlvbl9uYW1lLCBk cm1fY3BfZW51bV9saXN0KQogCitzdGF0aWMgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1f aGRjcF9jb250ZW50X3R5cGVfZW51bV9saXN0W10gPSB7CisJeyBEUk1fTU9ERV9IRENQX0NPTlRF TlRfVFlQRTAsICJIRENQIFR5cGUwIiB9LAorCXsgRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUx LCAiSERDUCBUeXBlMSIgfSwKK307CitEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfaGRjcF9jb250 ZW50X3R5cGVfbmFtZSwKKwkJIGRybV9oZGNwX2NvbnRlbnRfdHlwZV9lbnVtX2xpc3QpCisKIC8q KgogICogZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5IC0g YXR0YWNoIGNvbnRlbnQgcHJvdGVjdGlvbgogICogcHJvcGVydHkKICAqCiAgKiBAY29ubmVjdG9y OiBjb25uZWN0b3IgdG8gYXR0YWNoIENQIHByb3BlcnR5IG9uLgorICogQGhkY3BfY29udGVudF90 eXBlOiBpcyBIRENQIENvbnRlbnQgVHlwZSBwcm9wZXJ0eSBuZWVkZWQgZm9yIGNvbm5lY3Rvcgog ICoKICAqIFRoaXMgaXMgdXNlZCB0byBhZGQgc3VwcG9ydCBmb3IgY29udGVudCBwcm90ZWN0aW9u IG9uIHNlbGVjdCBjb25uZWN0b3JzLgogICogQ29udGVudCBQcm90ZWN0aW9uIGlzIGludGVudGlv bmFsbHkgdmFndWUgdG8gYWxsb3cgZm9yIGRpZmZlcmVudCB1bmRlcmx5aW5nCiAgKiB0ZWNobm9s b2dpZXMsIGhvd2V2ZXIgaXQgaXMgbW9zdCBpbXBsZW1lbnRlZCBieSBIRENQLgogICoKKyAqIFdo ZW4gaGRjcF9jb250ZW50X3R5cGUgaXMgdHJ1ZSBlbnVtIHByb3BlcnR5IGNhbGxlZCBIRENQIENv bnRlbnQgVHlwZSBpcworICogY3JlYXRlZCAoaWYgaXQgaXMgbm90IGFscmVhZHkpIGFuZCBhdHRh Y2hlZCB0byB0aGUgY29ubmVjdG9yLgorICoKKyAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCBmb3Ig c2VuZGluZyB0aGUgcHJvdGVjdGVkIGNvbnRlbnQncyBzdHJlYW0gdHlwZQorICogZnJvbSB1c2Vy c3BhY2UgdG8ga2VybmVsIG9uIHNlbGVjdGVkIGNvbm5lY3RvcnMuIFByb3RlY3RlZCBjb250ZW50 IHByb3ZpZGVyCisgKiB3aWxsIGRlY2lkZSB0aGVpciB0eXBlIG9mIHRoZWlyIGNvbnRlbnQgYW5k IGRlY2xhcmUgdGhlIHNhbWUgdG8ga2VybmVsLgorICoKKyAqIENvbnRlbnQgdHlwZSB3aWxsIGJl IHVzZWQgZHVyaW5nIHRoZSBIRENQIDIuMiBhdXRoZW50aWNhdGlvbi4KKyAqIENvbnRlbnQgdHlw ZSB3aWxsIGJlIHNldCB0byAmZHJtX2Nvbm5lY3Rvcl9zdGF0ZS5oZGNwX2NvbnRlbnRfdHlwZS4K KyAqCiAgKiBUaGUgY29udGVudCBwcm90ZWN0aW9uIHdpbGwgYmUgc2V0IHRvICZkcm1fY29ubmVj dG9yX3N0YXRlLmNvbnRlbnRfcHJvdGVjdGlvbgogICoKICAqIFJldHVybnM6CiAgKiBaZXJvIG9u IHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuCiAgKi8KIGludCBkcm1fY29ubmVj dG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCi0JCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJv b2wgaGRjcF9jb250ZW50X3R5cGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5l Y3Rvci0+ZGV2OwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3AgPQpAQCAtMzc1LDYgKzM5Mywy MiBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5 KAogCQkJCSAgIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpOwogCWRldi0+ bW9kZV9jb25maWcuY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5ID0gcHJvcDsKIAorCWlmICgh aGRjcF9jb250ZW50X3R5cGUpCisJCXJldHVybiAwOworCisJcHJvcCA9IGRldi0+bW9kZV9jb25m aWcuaGRjcF9jb250ZW50X3R5cGVfcHJvcGVydHk7CisJaWYgKCFwcm9wKQorCQlwcm9wID0gZHJt X3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgIkhEQ1AgQ29udGVudCBUeXBlIiwKKwkJCQkJ ZHJtX2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdCwKKwkJCQkJQVJSQVlfU0laRSgKKwkJCQkJ ZHJtX2hkY3BfY29udGVudF90eXBlX2VudW1fbGlzdCkpOworCWlmICghcHJvcCkKKwkJcmV0dXJu IC1FTk9NRU07CisKKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LCBwcm9wLAorCQkJCSAgIERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMCk7CisJZGV2LT5tb2Rl X2NvbmZpZy5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSA9IHByb3A7CisKIAlyZXR1cm4gMDsK IH0KIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9u X3Byb3BlcnR5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3Au YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCA1MzZjZGRjNzRkMjIu LjIyMDE0MzY5NmIyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRj cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTc5OSw3ICsx Nzk5LDkgQEAgaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IsCiAJaWYgKCFzaGltKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXJldCA9IGRybV9jb25u ZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl KTsKKwlyZXQgPQorCWRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9w ZXJ0eSgmY29ubmVjdG9yLT5iYXNlLAorCQkJCQkJCSBmYWxzZSk7CiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCmluZGV4IGRhOWUxZjA4N2ZlNC4uOWUyZjFhOWRlMmEw IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC01NTYsNiArNTU2LDEyIEBAIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlIHsKIAkgKi8KIAl1bnNpZ25lZCBpbnQgY29udGVudF90eXBlOwogCisJLyoqCisJ ICogQGhkY3BfY29udGVudF90eXBlOiBDb25uZWN0b3IgcHJvcGVydHkgdG8gcGFzcyB0aGUgdHlw ZSBvZgorCSAqIHByb3RlY3RlZCBjb250ZW50LiBUaGlzIGlzIG1vc3QgY29tbW9ubHkgdXNlZCBm b3IgSERDUC4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgaGRjcF9jb250ZW50X3R5cGU7CisKIAkvKioK IAkgKiBAc2NhbGluZ19tb2RlOiBDb25uZWN0b3IgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKIAkg KiB1cHNjYWxpbmcsIG1vc3RseSB1c2VkIGZvciBidWlsdC1pbiBwYW5lbHMuCkBAIC0xMzI2LDYg KzEzMzIsNyBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X2R2aV9pX3NlbGVjdF9uYW1lKGludCB2YWwp OwogY29uc3QgY2hhciAqZHJtX2dldF90dl9zdWJjb25uZWN0b3JfbmFtZShpbnQgdmFsKTsKIGNv bnN0IGNoYXIgKmRybV9nZXRfdHZfc2VsZWN0X25hbWUoaW50IHZhbCk7CiBjb25zdCBjaGFyICpk cm1fZ2V0X2NvbnRlbnRfcHJvdGVjdGlvbl9uYW1lKGludCB2YWwpOworY29uc3QgY2hhciAqZHJt X2dldF9oZGNwX2NvbnRlbnRfdHlwZV9uYW1lKGludCB2YWwpOwogCiBpbnQgZHJtX21vZGVfY3Jl YXRlX2R2aV9pX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBpbnQgZHJtX21v ZGVfY3JlYXRlX3R2X21hcmdpbl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaCBiL2luY2x1ZGUvZHJtL2RybV9oZGNw LmgKaW5kZXggMTM3NzFhNDk2ZTJiLi44MjQ0N2FmOThhYTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9oZGNwLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaApAQCAtMjkxLDUgKzI5 MSwxMCBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvcjsKIGJvb2wgZHJtX2hkY3BfY2hlY2tfa3N2c19y ZXZva2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHU4ICprc3ZzLCB1MzIga3N2X2Nv dW50KTsKIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVy dHkoCi0JCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOworCQlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLCBib29sIGhkY3BfY29udGVudF90eXBlKTsKKworLyogQ29udGVu dCBUeXBlIGNsYXNzaWZpY2F0aW9uIGZvciBIRENQMi4yIHZzIG90aGVycyAqLworI2RlZmluZSBE Uk1fTU9ERV9IRENQX0NPTlRFTlRfVFlQRTAJCTAKKyNkZWZpbmUgRFJNX01PREVfSERDUF9DT05U RU5UX1RZUEUxCQkxCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVf Y29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAppbmRleCA1NzY0ZWUzYzc0 NTMuLmIzNTliNWI3MWViOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKQEAgLTg0Miw2ICs4NDIsMTIg QEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAq Y29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5OwogCisJLyoqCisJICogQGhkY3BfY29udGVudF90 eXBlX3Byb3BlcnR5OiBEUk0gRU5VTSBwcm9wZXJ0eSBmb3IgdHlwZSBvZgorCSAqIFByb3RlY3Rl ZCBDb250ZW50LgorCSAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmhkY3BfY29udGVudF90eXBl X3Byb3BlcnR5OworCiAJLyogZHVtYiBpb2N0bCBwYXJhbWV0ZXJzICovCiAJdWludDMyX3QgcHJl ZmVycmVkX2RlcHRoLCBwcmVmZXJfc2hhZG93OwogCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==