From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 534876E126 for ; Thu, 21 Mar 2019 15:53:47 +0000 (UTC) From: Ramalingam C Date: Thu, 21 Mar 2019 21:25:20 +0530 Message-Id: <20190321155522.2848-5-ramalingam.c@intel.com> In-Reply-To: <20190321155522.2848-1-ramalingam.c@intel.com> References: <20190321155522.2848-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3 4/6] kms_content_protection: uevent for HDCP status change 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@ffwll.ch List-ID: VG8gZGV0ZWN0IHRoZSBIRENQIHN0YXR1cyBjaGFuZ2Ugd2UgYXJlIHJlYWRpbmcgdGhlIHVldmVu dCBzZW50IHdpdGggdGhlCmNvcnJlc3BvbmRpbmcgY29ubmVjdG9yIGlkIGFuZCBwcm9wZXJ0eSBp ZC4KClRoaXMgYXZvaWRzIHRoZSBwb2xsaW5nIG9mIHRoZSBwcm9wZXJ0eSBldmVyeSBtU2VjLgoK U2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0K IHRlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYyB8IDE1MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMgYi90 ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKaW5kZXggYWY2NGUzZWZlODYxLi5hYmJlY2M0 YjBjNTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYworKysgYi90 ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKQEAgLTI0LDYgKzI0LDkgQEAKIAogI2luY2x1 ZGUgPHBvbGwuaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9lcG9sbC5oPgor I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8bGlidWRldi5oPgogI2luY2x1ZGUgImln dC5oIgogI2luY2x1ZGUgImlndF9zeXNmcy5oIgogI2luY2x1ZGUgImlndF9rbXMuaCIKQEAgLTk1 LDIwICs5OCwxNTMgQEAgc3RhdGljIGludCB3YWl0X2ZsaXBfZXZlbnQodm9pZCkKIAlyZXR1cm4g cmM7CiB9CiAKK3N0YXRpYyBib29sIGhkY3BfZXZlbnQoc3RydWN0IHVkZXZfbW9uaXRvciAqdWV2 ZW50X21vbml0b3IsCisJCSAgICAgICBzdHJ1Y3QgdWRldiAqdWRldiwgdWludDMyX3QgY29ubl9p ZCwgdWludDMyX3QgcHJvcF9pZCkKK3sKKwlzdHJ1Y3QgdWRldl9kZXZpY2UgKmRldjsKKwlkZXZf dCB1ZGV2X2Rldm51bTsKKwlzdHJ1Y3Qgc3RhdCBzOworCWNvbnN0IGNoYXIgKmhvdHBsdWcsICpj b25uZWN0b3IsICpwcm9wZXJ0eTsKKwlib29sIHJldCA9IGZhbHNlOworCisJZGV2ID0gdWRldl9t b25pdG9yX3JlY2VpdmVfZGV2aWNlKHVldmVudF9tb25pdG9yKTsKKwlpZiAoIWRldikKKwkJZ290 byBvdXQ7CisKKwl1ZGV2X2Rldm51bSA9IHVkZXZfZGV2aWNlX2dldF9kZXZudW0oZGV2KTsKKwlm c3RhdChkYXRhLmRpc3BsYXkuZHJtX2ZkLCAmcyk7CisKKwlob3RwbHVnID0gdWRldl9kZXZpY2Vf Z2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIkhPVFBMVUciKTsKKwlpZiAoIShtZW1jbXAoJnMuc3Rf cmRldiwgJnVkZXZfZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9PSAwICYmCisJICAgIGhvdHBsdWcg JiYgYXRvaShob3RwbHVnKSA9PSAxKSkgeworCQlpZ3RfZGVidWcoIk5vdCBhIEhvdHBsdWcgZXZl bnRcbiIpOworCQlnb3RvIG91dF9kZXY7CisJfQorCisJY29ubmVjdG9yID0gdWRldl9kZXZpY2Vf Z2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIkNPTk5FQ1RPUiIpOworCWlmICghKG1lbWNtcCgmcy5z dF9yZGV2LCAmdWRldl9kZXZudW0sIHNpemVvZihkZXZfdCkpID09IDAgJiYKKwkgICAgY29ubmVj dG9yICYmIGF0b2koY29ubmVjdG9yKSA9PSBjb25uX2lkKSkgeworCQlpZ3RfZGVidWcoIk5vdCBm b3IgY29ubmVjdG9yIGlkOiAldVxuIiwgY29ubl9pZCk7CisJCWdvdG8gb3V0X2RldjsKKwl9CisK Kwlwcm9wZXJ0eSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJQUk9QRVJU WSIpOworCWlmICghKG1lbWNtcCgmcy5zdF9yZGV2LCAmdWRldl9kZXZudW0sIHNpemVvZihkZXZf dCkpID09IDAgJiYKKwkgICAgcHJvcGVydHkgJiYgYXRvaShwcm9wZXJ0eSkgPT0gcHJvcF9pZCkp IHsKKwkJaWd0X2RlYnVnKCJOb3QgZm9yIHByb3BlcnR5IGlkOiAldVxuIiwgcHJvcF9pZCk7CisJ CWdvdG8gb3V0X2RldjsKKwl9CisJcmV0ID0gdHJ1ZTsKKworb3V0X2RldjoKKwl1ZGV2X2Rldmlj ZV91bnJlZihkZXYpOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGhkY3Bf dWRldl9maW5pKHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVudF9tb25pdG9yLAorCQkJICAgc3Ry dWN0IHVkZXYgKnVkZXYpCit7CisJaWYgKHVldmVudF9tb25pdG9yKQorCQl1ZGV2X21vbml0b3Jf dW5yZWYodWV2ZW50X21vbml0b3IpOworCWlmICh1ZGV2KQorCQl1ZGV2X3VucmVmKHVkZXYpOwor fQorCitzdGF0aWMgaW50IGhkY3BfdWRldl9pbml0KHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVu dF9tb25pdG9yLAorCQkJICBzdHJ1Y3QgdWRldiAqdWRldikKK3sKKwlpbnQgcmV0ID0gLUVJTlZB TDsKKworCXVkZXYgPSB1ZGV2X25ldygpOworCWlmICghdWRldikgeworCQlpZ3RfaW5mbygiZmFp bGVkIHRvIGNyZWF0ZSB1ZGV2IG9iamVjdFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXVldmVu dF9tb25pdG9yID0gdWRldl9tb25pdG9yX25ld19mcm9tX25ldGxpbmsodWRldiwgInVkZXYiKTsK KwlpZiAoIXVldmVudF9tb25pdG9yKSB7CisJCWlndF9pbmZvKCJmYWlsZWQgdG8gY3JlYXRlIHVk ZXYgZXZlbnQgbW9uaXRvclxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IHVkZXZfbW9u aXRvcl9maWx0ZXJfYWRkX21hdGNoX3N1YnN5c3RlbV9kZXZ0eXBlKHVldmVudF9tb25pdG9yLAor CQkJCQkJCSAgICAgICJkcm0iLAorCQkJCQkJCSAgICAgICJkcm1fbWlub3IiKTsKKwlpZiAocmV0 IDwgMCkgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGZpbHRlciBmb3IgZHJtIGV2ZW50c1xuIik7 CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IHVkZXZfbW9uaXRvcl9lbmFibGVfcmVjZWl2aW5n KHVldmVudF9tb25pdG9yKTsKKwlpZiAocmV0IDwgMCkgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRv IGVuYWJsZSB1ZGV2IGV2ZW50IHJlY2VwdGlvblxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXJl dHVybiB1ZGV2X21vbml0b3JfZ2V0X2ZkKHVldmVudF9tb25pdG9yKTsKKworb3V0OgorCWhkY3Bf dWRldl9maW5pKHVldmVudF9tb25pdG9yLCB1ZGV2KTsKKwlyZXR1cm4gcmV0OworfQorCisjZGVm aW5lIE1BWF9FVkVOVFMJMTAKK3N0YXRpYyBib29sIHdhaXRfZm9yX2hkY3BfZXZlbnQodWludDMy X3QgY29ubl9pZCwgdWludDMyX3QgcHJvcF9pZCwKKwkJCQl1aW50MzJfdCB0aW1lb3V0X21TZWMp Cit7CisKKwlzdHJ1Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9uaXRvciA9IE5VTEw7CisJc3Ry dWN0IHVkZXYgKnVkZXYgPSBOVUxMOworCWludCB1ZGV2X2ZkLCBlcG9sbF9mZDsKKwlzdHJ1Y3Qg ZXBvbGxfZXZlbnQgZXZlbnQsIGV2ZW50c1tNQVhfRVZFTlRTXTsKKwlib29sIHJldCA9IGZhbHNl OworCisJdWRldl9mZCA9IGhkY3BfdWRldl9pbml0KHVldmVudF9tb25pdG9yLCB1ZGV2KTsKKwlp ZiAodWRldl9mZCA8IDApCisJCXJldHVybiBmYWxzZTsKKworCWVwb2xsX2ZkID0gZXBvbGxfY3Jl YXRlMSgwKTsKKwlpZiAoZXBvbGxfZmQgPT0gLTEpIHsKKwkJaWd0X2luZm8oIkZhaWxlZCB0byBj cmVhdGUgZXBvbGwgZmQuICVkXG4iLCBlcG9sbF9mZCk7CisJCWdvdG8gb3V0X2VwX2NyZWF0ZTsK Kwl9CisKKwlldmVudC5ldmVudHMgPSBFUE9MTElOIHwgRVBPTExFUlI7CisJZXZlbnQuZGF0YS5m ZCA9IDA7CisKKwlpZiAoZXBvbGxfY3RsKGVwb2xsX2ZkLCBFUE9MTF9DVExfQURELCB1ZGV2X2Zk LCAmZXZlbnQpKQorCXsKKwkJaWd0X2luZm8oImZhaWxlZCB0byBmZCBpbnRvIGVwb2xsXG4iKTsK KwkJZ290byBvdXRfZXBfY3RsOworCX0KKworCWlmIChlcG9sbF93YWl0KGVwb2xsX2ZkLCBldmVu dHMsIE1BWF9FVkVOVFMsIHRpbWVvdXRfbVNlYykpCisJCXJldCA9IGhkY3BfZXZlbnQodWV2ZW50 X21vbml0b3IsIHVkZXYsIGNvbm5faWQsIHByb3BfaWQpOworCitvdXRfZXBfY3RsOgorCWlmIChj bG9zZShlcG9sbF9mZCkpCisJCWlndF9pbmZvKCJmYWlsZWQgdG8gY2xvc2UgdGhlIGVwb2xsIGZk XG4iKTsKK291dF9lcF9jcmVhdGU6CisJaGRjcF91ZGV2X2ZpbmkodWV2ZW50X21vbml0b3IsIHVk ZXYpOworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBib29sCiB3YWl0X2Zvcl9wcm9wX3ZhbHVl KGlndF9vdXRwdXRfdCAqb3V0cHV0LCB1aW50NjRfdCBleHBlY3RlZCwKIAkJICAgIHVpbnQzMl90 IHRpbWVvdXRfbVNlYykKIHsKIAl1aW50NjRfdCB2YWw7Ci0JaW50IGk7CiAKLQlmb3IgKGkgPSAw OyBpIDwgdGltZW91dF9tU2VjOyBpKyspIHsKLQkJdmFsID0gaWd0X291dHB1dF9nZXRfcHJvcChv dXRwdXQsCi0JCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04pOwotCQlpZiAo dmFsID09IGV4cGVjdGVkKQotCQkJcmV0dXJuIHRydWU7Ci0JCXVzbGVlcCgxMDAwKTsKLQl9CisJ aWYgKHdhaXRfZm9yX2hkY3BfZXZlbnQob3V0cHV0LT5pZCwKKwkJCQlvdXRwdXQtPnByb3BzW0lH VF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OXSwKKwkJCQl0aW1lb3V0X21TZWMpKQorCQlp Z3RfZGVidWcoImhkY3AgZXZlbnQgcmVjZWl2ZWRcbiIpOworCisJdmFsID0gaWd0X291dHB1dF9n ZXRfcHJvcChvdXRwdXQsIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKKwlpZiAo dmFsID09IGV4cGVjdGVkKQorCQlyZXR1cm4gdHJ1ZTsKKwogCWlndF9pbmZvKCJwcm9wX3ZhbHVl IG1pc21hdGNoICUiIFBSSWQ2NCAiICE9ICUiIFBSSWQ2NCAiXG4iLAogCQkgdmFsLCBleHBlY3Rl ZCk7CiAKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2