From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC204894E7 for ; Thu, 2 May 2019 13:14:31 +0000 (UTC) From: Ramalingam C Date: Thu, 2 May 2019 18:46:20 +0530 Message-Id: <20190502131625.27551-4-ramalingam.c@intel.com> In-Reply-To: <20190502131625.27551-1-ramalingam.c@intel.com> References: <20190502131625.27551-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v6 3/8] kms_content_protection: Content type support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org, daniel.vetter@intel.com, arkadiusz.hiler@intel.com List-ID: QWRkcyBhIGNvbm5lY3RvciBwcm9wZXJ0eSBjYWxsZWQgIkNQX0NvbnRlbnRfVHlwZSIKCkNvbnRl bnQgVHlwZSB0YWtlcyB0d28gdmFsdWVzIHdoaWNoIGNsYXNzaWZpZXMgdGhlIGNvbnRlbnQgc3Ry ZWFtOgoJVHlwZSAwOiBTdHJlYW0gdGhhdCBjYW4gYmUgdHJhbm1pdHRlZCBvbiBIRENQMS40L0hE Q1AyLjIKCVR5cGUgMTogU3RyZWFtIHRoYXQgbmVlZHMgSERDUDIuMiBlbmNyeXB0aW9uIG9ubHku CgpTbyB3aGVuIFR5cGUgMSBpcyBzZXQgS01EIGlzIGZvcmNlZCB0byBlbmFibGUgSERDUDIuMiBv bmx5LgoKRm9yIFR5cGUgMCByZXF1ZXN0LCBLZXJuZWwgY2hvb3NlcyB0aGUgaGlnaGVzdCBjYXBh YmxlIEhEQ1AgdmVyc2lvbgoodjIuMikgZmlyc3QuIElmIHRoYXQgZmFpbHMsIHRoZW4gaXQgZmFs bCBiYWNrIHRvIHRoZSBuZXh0IGF2YWlsYmxlCnZlcnNpb24odjEuNCkgYmVmb3JlIGFib25kb25p bmcgSERDUCBhdXRlaG50aWNhdGlvbiBhdHRlbXB0cy4KClBsZWFzZSBub3RlIGNvbnRlbnRfdHlw ZSBpcyBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQgd2hlbiAiQ29udGVudApQcm90ZWN0aW9uIiBpcyBp biBVTkRFU0lSRUQgc3RhdGUuCgp2MjoKICBzL2NwX2NvbnRlbnRfdHlwZS9jb250ZW50X3B0b3Rl Y3Rpb25fdHlwZSBbZGFudmV0XQp2MzoKICBzL2NvbnRlbnRfcHJvdGVjdGlvbl90eXBlL0hEQ1Ag Q29udGVudCBUeXBlIFtQZWtrYV0KdjQ6CiAgUmViYXNlZAoKU2lnbmVkLW9mZi1ieTogUmFtYWxp bmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgpBY2tlZC1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBsaWIvaWd0X2ttcy5jICAgICAgICAgICAgICAg ICAgfCAgMSArCiBsaWIvaWd0X2ttcy5oICAgICAgICAgICAgICAgICAgfCAgMSArCiB0ZXN0cy9r bXNfY29udGVudF9wcm90ZWN0aW9uLmMgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4IGRmOWFh ZmQyNGJmOC4uMThmMDU1NjY4N2RlIDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5jCisrKyBiL2xp Yi9pZ3Rfa21zLmMKQEAgLTIyMiw2ICsyMjIsNyBAQCBjb25zdCBjaGFyICogY29uc3QgaWd0X2Nv bm5lY3Rvcl9wcm9wX25hbWVzW0lHVF9OVU1fQ09OTkVDVE9SX1BST1BTXSA9IHsKIAlbSUdUX0NP Tk5FQ1RPUl9CUk9BRENBU1RfUkdCXSA9ICJCcm9hZGNhc3QgUkdCIiwKIAlbSUdUX0NPTk5FQ1RP Ul9DT05URU5UX1BST1RFQ1RJT05dID0gIkNvbnRlbnQgUHJvdGVjdGlvbiIsCiAJW0lHVF9DT05O RUNUT1JfVlJSX0NBUEFCTEVdID0gInZycl9jYXBhYmxlIiwKKwlbSUdUX0NPTk5FQ1RPUl9IRENQ X0NPTlRFTlRfVFlQRV0gPSAiSERDUCBDb250ZW50IFR5cGUiLAogfTsKIAogLyoKZGlmZiAtLWdp dCBhL2xpYi9pZ3Rfa21zLmggYi9saWIvaWd0X2ttcy5oCmluZGV4IDM4YmRjMDhmM2Q1MC4uYjE0 MzBhNTE3MzA1IDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5oCisrKyBiL2xpYi9pZ3Rfa21zLmgK QEAgLTEyMyw2ICsxMjMsNyBAQCBlbnVtIGlndF9hdG9taWNfY29ubmVjdG9yX3Byb3BlcnRpZXMg ewogICAgICAgIElHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQiwKICAgICAgICBJR1RfQ09OTkVD VE9SX0NPTlRFTlRfUFJPVEVDVElPTiwKICAgICAgICBJR1RfQ09OTkVDVE9SX1ZSUl9DQVBBQkxF LAorICAgICAgIElHVF9DT05ORUNUT1JfSERDUF9DT05URU5UX1RZUEUsCiAgICAgICAgSUdUX05V TV9DT05ORUNUT1JfUFJPUFMKIH07CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3By b3RlY3Rpb24uYyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwppbmRleCBlM2JiMzlm NDJhZGEuLjQ4OGM1MDhiMGJiMCAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVj dGlvbi5jCisrKyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwpAQCAtNDQsNiArNDQs MTMgQEAgc3RydWN0IGRhdGEgewogI2RlZmluZSBDUF9ERVNJUkVECQkJCTEKICNkZWZpbmUgQ1Bf RU5BQkxFRAkJCQkyCiAKKy8qCisgKiBIRENQX0NPTlRFTlRfVFlQRV8wIGNhbiBiZSBoYW5kbGVk IG9uIGJvdGggSERDUDEuNCBhbmQgSERDUDIuMi4gV2hlcmUgYXMKKyAqIEhEQ1BfQ09OVEVOVF9U WVBFXzEgY2FuIGJlIGhhbmRsZWQgb25seSB0aHJvdWdoIEhEQ1AyLjIuCisgKi8KKyNkZWZpbmUg SERDUF9DT05URU5UX1RZUEVfMAkJCQkwCisjZGVmaW5lIEhEQ1BfQ09OVEVOVF9UWVBFXzEJCQkJ MQorCiAjZGVmaW5lIExJQ19QRVJJT0RfTVNFQwkJCQkoNCAqIDEwMDApCiAvKiBLZXJuZWwgcmV0 cnkgY291bnQ9MywgTWF4IHRpbWUgcGVyIGF1dGhlbnRpY2F0aW9uIGFsbG93ZWQgPSA2U2VjICov CiAjZGVmaW5lIEtFUk5FTF9BVVRIX1RJTUVfQUxMT1dFRF9NU0VDCQkoMyAqICA2ICogMTAwMCkK QEAgLTE1OSw3ICsxNjYsOCBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3dpdGhfZmIoY29uc3QgZW51 bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0LAogCWNvbW1pdF9kaXNwbGF5X2FuZF93 YWl0X2Zvcl9mbGlwKHMpOwogfQogCi1zdGF0aWMgYm9vbCB0ZXN0X2NwX2VuYWJsZShpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMpCitzdGF0aWMgYm9vbCB0ZXN0 X2NwX2VuYWJsZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMs CisJCQkgICBpbnQgY29udGVudF90eXBlKQogewogCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAm ZGF0YS5kaXNwbGF5OwogCWlndF9wbGFuZV90ICpwcmltYXJ5OwpAQCAtMTY5LDYgKzE3NywxMCBA QCBzdGF0aWMgYm9vbCB0ZXN0X2NwX2VuYWJsZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBp Z3RfY29tbWl0X3N0eWxlIHMpCiAKIAlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwK IAkJCQkgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OLCBDUF9ERVNJUkVEKTsKKwlp ZiAob3V0cHV0LT5wcm9wc1tJR1RfQ09OTkVDVE9SX0hEQ1BfQ09OVEVOVF9UWVBFXSkKKwkJaWd0 X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsCisJCQkJCSAgSUdUX0NPTk5FQ1RPUl9IRENQ X0NPTlRFTlRfVFlQRSwKKwkJCQkJICBjb250ZW50X3R5cGUpOwogCWlndF9kaXNwbGF5X2NvbW1p dDIoZGlzcGxheSwgcyk7CiAKIAlyZXQgPSB3YWl0X2Zvcl9wcm9wX3ZhbHVlKG91dHB1dCwgQ1Bf RU5BQkxFRCwKQEAgLTIwNSwxMyArMjE3LDE0IEBAIHN0YXRpYyB2b2lkIHRlc3RfY3BfZGlzYWJs ZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMpCiB9CiAKIHN0 YXRpYyB2b2lkIHRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkoaWd0X291dHB1dF90ICpvdXRwdXQs Ci0JCQkJICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsIGludCByZXRyeSkKKwkJCQkgICAg ICBlbnVtIGlndF9jb21taXRfc3R5bGUgcywgaW50IHJldHJ5LAorCQkJCSAgICAgIGludCBjb250 ZW50X3R5cGUpCiB7CiAJYm9vbCByZXQ7CiAKIAlkbyB7CiAJCXRlc3RfY3BfZGlzYWJsZShvdXRw dXQsIHMpOwotCQlyZXQgPSB0ZXN0X2NwX2VuYWJsZShvdXRwdXQsIHMpOworCQlyZXQgPSB0ZXN0 X2NwX2VuYWJsZShvdXRwdXQsIHMsIGNvbnRlbnRfdHlwZSk7CiAKIAkJaWYgKCFyZXQgJiYgLS1y ZXRyeSkKIAkJCWlndF9kZWJ1ZygiUmV0cnkgKCVkLzIpIC4uLlxuIiwgMyAtIHJldHJ5KTsKQEAg LTI0NCw3ICsyNTcsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2xpYyhpZ3Rfb3V0cHV0X3QgKm91 dHB1dCkKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0 KGlndF9vdXRwdXRfdCAqb3V0cHV0LAotCQkJCQkgICAgICBlbnVtIGlndF9jb21taXRfc3R5bGUg cykKKwkJCQkJICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsCisJCQkJCSAgICAgIGludCBj b250ZW50X3R5cGUpCiB7CiAJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLmRpc3BsYXk7 CiAJaWd0X3BsYW5lX3QgKnByaW1hcnk7CkBAIC0yNjUsNyArMjc5LDcgQEAgc3RhdGljIHZvaWQg dGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAqb3V0cHV0LAog CQkJY29udGludWU7CiAKIAkJbW9kZXNldF93aXRoX2ZiKHBpcGUsIG91dHB1dCwgcyk7Ci0JCXRl c3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAzKTsKKwkJdGVzdF9jcF9lbmFibGVf d2l0aF9yZXRyeShvdXRwdXQsIHMsIDMsIGNvbnRlbnRfdHlwZSk7CiAKIAkJaWYgKGRhdGEuY3Bf dGVzdHMgJiBDUF9MSUMpCiAJCQl0ZXN0X2NwX2xpYyhvdXRwdXQpOwpAQCAtMjgyLDcgKzI5Niw4 IEBAIHN0YXRpYyB2b2lkIHRlc3RfY29udGVudF9wcm90ZWN0aW9uX29uX291dHB1dChpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwKIAkJCXJldCA9IHdhaXRfZm9yX3Byb3BfdmFsdWUob3V0cHV0LCBDUF9F TkFCTEVELAogCQkJCQkJICBLRVJORUxfQVVUSF9USU1FX0FMTE9XRURfTVNFQyk7CiAJCQlpZiAo IXJldCkKLQkJCQl0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5KG91dHB1dCwgcywgMik7CisJCQkJ dGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsCisJCQkJCQkJICAyLCBjb250ZW50 X3R5cGUpOwogCQl9CiAKIAkJdGVzdF9jcF9kaXNhYmxlKG91dHB1dCwgcyk7CkBAIC0zMDksNyAr MzI0LDggQEAgc3RhdGljIHZvaWQgX19kZWJ1Z2ZzX3JlYWQoaW50IGZkLCBjb25zdCBjaGFyICpw YXJhbSwgY2hhciAqYnVmLCBpbnQgbGVuKQogCiAjZGVmaW5lIGRlYnVnZnNfcmVhZChmZCwgcCwg YXJyKSBfX2RlYnVnZnNfcmVhZChmZCwgcCwgYXJyLCBzaXplb2YoYXJyKSkKIAotI2RlZmluZSBN QVhfU0lOS19IRENQX0NBUF9CVUZfTEVOCTUwMAorI2RlZmluZSBNQVhfU0lOS19IRENQX0NBUF9C VUZfTEVOCTUwMDAKKwogc3RhdGljIGJvb2wgc2lua19oZGNwX2NhcGFibGUoaWd0X291dHB1dF90 ICpvdXRwdXQpCiB7CiAJY2hhciBidWZbTUFYX1NJTktfSERDUF9DQVBfQlVGX0xFTl07CkBAIC0z MjcsOSArMzQzLDI1IEBAIHN0YXRpYyBib29sIHNpbmtfaGRjcF9jYXBhYmxlKGlndF9vdXRwdXRf dCAqb3V0cHV0KQogCXJldHVybiBzdHJzdHIoYnVmLCAiSERDUDEuNCIpOwogfQogCitzdGF0aWMg Ym9vbCBzaW5rX2hkY3AyX2NhcGFibGUoaWd0X291dHB1dF90ICpvdXRwdXQpCit7CisJY2hhciBi dWZbTUFYX1NJTktfSERDUF9DQVBfQlVGX0xFTl07CisJaW50IGZkOworCisJZmQgPSBpZ3RfZGVi dWdmc19jb25uZWN0b3JfZGlyKGRhdGEuZHJtX2ZkLCBvdXRwdXQtPm5hbWUsIE9fUkRPTkxZKTsK KwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZmFsc2U7CisKKwlkZWJ1Z2ZzX3JlYWQoZmQsICJpOTE1 X2hkY3Bfc2lua19jYXBhYmlsaXR5IiwgYnVmKTsKKwljbG9zZShmZCk7CisKKwlpZ3RfZGVidWco IlNpbmsgY2FwYWJpbGl0eTogJXNcbiIsIGJ1Zik7CisKKwlyZXR1cm4gc3Ryc3RyKGJ1ZiwgIkhE Q1AyLjIiKTsKK30KIAogc3RhdGljIHZvaWQKLXRlc3RfY29udGVudF9wcm90ZWN0aW9uKGVudW0g aWd0X2NvbW1pdF9zdHlsZSBzKQordGVzdF9jb250ZW50X3Byb3RlY3Rpb24oZW51bSBpZ3RfY29t bWl0X3N0eWxlIHMsIGludCBjb250ZW50X3R5cGUpCiB7CiAJaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSA9ICZkYXRhLmRpc3BsYXk7CiAJaWd0X291dHB1dF90ICpvdXRwdXQ7CkBAIC0zMzksMTQgKzM3 MSwyMyBAQCB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihlbnVtIGlndF9jb21taXRfc3R5bGUgcykK IAkJaWYgKCFvdXRwdXQtPnByb3BzW0lHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OXSkK IAkJCWNvbnRpbnVlOwogCisJCWlmICghb3V0cHV0LT5wcm9wc1tJR1RfQ09OTkVDVE9SX0hEQ1Bf Q09OVEVOVF9UWVBFXSAmJgorCQkgICAgY29udGVudF90eXBlKQorCQkJY29udGludWU7CisKIAkJ aWd0X2luZm8oIkNQIFRlc3QgZXhlY3V0aW9uIG9uICVzXG4iLCBvdXRwdXQtPm5hbWUpOwotCQlp ZiAoIXNpbmtfaGRjcF9jYXBhYmxlKG91dHB1dCkpIHsKKworCQlpZiAoY29udGVudF90eXBlICYm ICFzaW5rX2hkY3AyX2NhcGFibGUob3V0cHV0KSkgeworCQkJaWd0X2luZm8oIlx0U2tpcCAlcyAo U2luayBoYXMgbm8gSERDUDIuMiBzdXBwb3J0KVxuIiwKKwkJCQkgb3V0cHV0LT5uYW1lKTsKKwkJ CWNvbnRpbnVlOworCQl9IGVsc2UgaWYgKCFzaW5rX2hkY3BfY2FwYWJsZShvdXRwdXQpKSB7CiAJ CQlpZ3RfaW5mbygiXHRTa2lwICVzIChTaW5rIGhhcyBubyBIRENQIHN1cHBvcnQpXG4iLAogCQkJ CSBvdXRwdXQtPm5hbWUpOwogCQkJY29udGludWU7CiAJCX0KIAotCQl0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbl9vbl9vdXRwdXQob3V0cHV0LCBzKTsKKwkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb25f b25fb3V0cHV0KG91dHB1dCwgcywgY29udGVudF90eXBlKTsKIAkJdmFsaWRfdGVzdHMrKzsKIAl9 CiAKQEAgLTM2NCwyMyArNDA1LDI4IEBAIGlndF9tYWluCiAJfQogCiAJaWd0X3N1YnRlc3QoImxl Z2FjeSIpCi0JCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9MRUdBQ1kpOworCQl0ZXN0 X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfTEVHQUNZLCBIRENQX0NPTlRFTlRfVFlQRV8wKTsK IAogCWlndF9zdWJ0ZXN0KCJhdG9taWMiKSB7CiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5p c19hdG9taWMpOwotCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDKTsKKwkJ dGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlUX0FUT01JQywgSERDUF9DT05URU5UX1RZUEVf MCk7CiAJfQogCiAJaWd0X3N1YnRlc3QoImF0b21pYy1kcG1zIikgewogCQlpZ3RfcmVxdWlyZShk YXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJZGF0YS5jcF90ZXN0cyA9IENQX0RQTVM7Ci0JCXRl c3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMpOworCQl0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbihDT01NSVRfQVRPTUlDLCBIRENQX0NPTlRFTlRfVFlQRV8wKTsKIAl9CiAKIAlpZ3Rf c3VidGVzdCgiTElDIikgewogCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsK IAkJZGF0YS5jcF90ZXN0cyA9IENQX0xJQzsKLQkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09N TUlUX0FUT01JQyk7CisJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIEhE Q1BfQ09OVEVOVF9UWVBFXzApOworCX0KKworCWlndF9zdWJ0ZXN0KCJ0eXBlMSIpIHsKKwkJaWd0 X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CisJCXRlc3RfY29udGVudF9wcm90ZWN0 aW9uKENPTU1JVF9BVE9NSUMsIEhEQ1BfQ09OVEVOVF9UWVBFXzEpOwogCX0KIAogCWlndF9maXh0 dXJlCi0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==