From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C3D8F6E34D for ; Fri, 12 Jul 2019 11:28:35 +0000 (UTC) From: Ramalingam C Date: Fri, 12 Jul 2019 09:59:48 +0530 Message-Id: <20190712042948.9855-1-ramalingam.c@intel.com> In-Reply-To: <20190703095446.14092-7-ramalingam.c@intel.com> References: <20190703095446.14092-7-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v9 6/8] 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 , Shankar Uma , Daniel Vetter List-ID: VG8gZGV0ZWN0IHRoZSBIRENQIHN0YXR1cyBjaGFuZ2Ugd2UgYXJlIHJlYWRpbmcgdGhlIHVldmVu dCBzZW50IHdpdGggdGhlCmNvcnJlc3BvbmRpbmcgY29ubmVjdG9yIGlkIGFuZCBwcm9wZXJ0eSBp ZC4KClRoaXMgYXZvaWRzIHRoZSBwb2xsaW5nIG9mIHRoZSBwcm9wZXJ0eSBldmVyeSBtU2VjLgoK djI6CiAgTWFkZSBpdCBhcyBzdWJ0ZXN0LiBSZW1haW5pbmcgdGVzdHMgd2lsbCB1c2UgcG9sbGlu Zy4gW0RhbmllbF0KdjM6CiAgZmFpbHVyZSB0byByZWNlaXZlIHRoZSB1ZXZlbnQgaXMgaGFuZGxl ZCBhcyBmYWlsdXJlIFtVbWFdCnY0OgogIEZvciBVTkRFU0lSRUQgc3RhdGUgbm8gdWV2ZW50IGlz IGV4cGVjdGVkLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50 ZWwuY29tPgpBY2tlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K UmV2aWV3ZWQtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5jb20+Ci0tLQogdGVz dHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIHwgMTU3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE1NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYyBiL3Rlc3Rz L2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwppbmRleCAyMTViN2E3YzBmYzcuLmViMGJkZTcwMDJk MCAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCisrKyBiL3Rlc3Rz L2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwpAQCAtMjQsNiArMjQsOSBAQAogCiAjaW5jbHVkZSA8 cG9sbC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL2Vwb2xsLmg+CisjaW5j bHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+CiAjaW5jbHVkZSAiaWd0Lmgi CiAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCiAjaW5jbHVkZSAiaWd0X2ttcy5oIgpAQCAtNDMsNiAr NDYsNyBAQCBzdHJ1Y3QgZGF0YSB7CiAjZGVmaW5lIENQX0xJQwkJCQkJKDEgPDwgMSkKICNkZWZp bmUgQ1BfTUVJX1JFTE9BRAkJCQkoMSA8PCAyKQogI2RlZmluZSBDUF9UWVBFX0NIQU5HRQkJCQko MSA8PCAzKQorI2RlZmluZSBDUF9VRVZFTlQJCQkJKDEgPDwgNCkKIAogI2RlZmluZSBDUF9VTkRF U0lSRUQJCQkJMAogI2RlZmluZSBDUF9ERVNJUkVECQkJCTEKQEAgLTEwMiw2ICsxMDYsMTM3IEBA IHN0YXRpYyBpbnQgd2FpdF9mbGlwX2V2ZW50KHZvaWQpCiAJcmV0dXJuIHJjOwogfQogCitzdGF0 aWMgYm9vbCBoZGNwX2V2ZW50KHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVudF9tb25pdG9yLAor CQkgICAgICAgc3RydWN0IHVkZXYgKnVkZXYsIHVpbnQzMl90IGNvbm5faWQsIHVpbnQzMl90IHBy b3BfaWQpCit7CisJc3RydWN0IHVkZXZfZGV2aWNlICpkZXY7CisJZGV2X3QgdWRldl9kZXZudW07 CisJc3RydWN0IHN0YXQgczsKKwljb25zdCBjaGFyICpob3RwbHVnLCAqY29ubmVjdG9yLCAqcHJv cGVydHk7CisJYm9vbCByZXQgPSBmYWxzZTsKKworCWRldiA9IHVkZXZfbW9uaXRvcl9yZWNlaXZl X2RldmljZSh1ZXZlbnRfbW9uaXRvcik7CisJaWYgKCFkZXYpCisJCWdvdG8gb3V0OworCisJdWRl dl9kZXZudW0gPSB1ZGV2X2RldmljZV9nZXRfZGV2bnVtKGRldik7CisJZnN0YXQoZGF0YS5kaXNw bGF5LmRybV9mZCwgJnMpOworCisJaG90cGx1ZyA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92 YWx1ZShkZXYsICJIT1RQTFVHIik7CisJaWYgKCEobWVtY21wKCZzLnN0X3JkZXYsICZ1ZGV2X2Rl dm51bSwgc2l6ZW9mKGRldl90KSkgPT0gMCAmJgorCSAgICBob3RwbHVnICYmIGF0b2koaG90cGx1 ZykgPT0gMSkpIHsKKwkJaWd0X2RlYnVnKCJOb3QgYSBIb3RwbHVnIGV2ZW50XG4iKTsKKwkJZ290 byBvdXRfZGV2OworCX0KKworCWNvbm5lY3RvciA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92 YWx1ZShkZXYsICJDT05ORUNUT1IiKTsKKwlpZiAoIShtZW1jbXAoJnMuc3RfcmRldiwgJnVkZXZf ZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9PSAwICYmCisJICAgIGNvbm5lY3RvciAmJiBhdG9pKGNv bm5lY3RvcikgPT0gY29ubl9pZCkpIHsKKwkJaWd0X2RlYnVnKCJOb3QgZm9yIGNvbm5lY3RvciBp ZDogJXVcbiIsIGNvbm5faWQpOworCQlnb3RvIG91dF9kZXY7CisJfQorCisJcHJvcGVydHkgPSB1 ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiUFJPUEVSVFkiKTsKKwlpZiAoISht ZW1jbXAoJnMuc3RfcmRldiwgJnVkZXZfZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9PSAwICYmCisJ ICAgIHByb3BlcnR5ICYmIGF0b2kocHJvcGVydHkpID09IHByb3BfaWQpKSB7CisJCWlndF9kZWJ1 ZygiTm90IGZvciBwcm9wZXJ0eSBpZDogJXVcbiIsIHByb3BfaWQpOworCQlnb3RvIG91dF9kZXY7 CisJfQorCXJldCA9IHRydWU7CisKK291dF9kZXY6CisJdWRldl9kZXZpY2VfdW5yZWYoZGV2KTsK K291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBoZGNwX3VkZXZfZmluaShzdHJ1 Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9uaXRvciwKKwkJCSAgIHN0cnVjdCB1ZGV2ICp1ZGV2 KQoreworCWlmICh1ZXZlbnRfbW9uaXRvcikKKwkJdWRldl9tb25pdG9yX3VucmVmKHVldmVudF9t b25pdG9yKTsKKwlpZiAodWRldikKKwkJdWRldl91bnJlZih1ZGV2KTsKK30KKworc3RhdGljIGlu dCBoZGNwX3VkZXZfaW5pdChzdHJ1Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9uaXRvciwKKwkJ CSAgc3RydWN0IHVkZXYgKnVkZXYpCit7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwl1ZGV2ID0g dWRldl9uZXcoKTsKKwlpZiAoIXVkZXYpIHsKKwkJaWd0X2luZm8oImZhaWxlZCB0byBjcmVhdGUg dWRldiBvYmplY3RcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwl1ZXZlbnRfbW9uaXRvciA9IHVk ZXZfbW9uaXRvcl9uZXdfZnJvbV9uZXRsaW5rKHVkZXYsICJ1ZGV2Iik7CisJaWYgKCF1ZXZlbnRf bW9uaXRvcikgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGNyZWF0ZSB1ZGV2IGV2ZW50IG1vbml0 b3JcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSB1ZGV2X21vbml0b3JfZmlsdGVyX2Fk ZF9tYXRjaF9zdWJzeXN0ZW1fZGV2dHlwZSh1ZXZlbnRfbW9uaXRvciwKKwkJCQkJCQkgICAgICAi ZHJtIiwKKwkJCQkJCQkgICAgICAiZHJtX21pbm9yIik7CisJaWYgKHJldCA8IDApIHsKKwkJaWd0 X2luZm8oImZhaWxlZCB0byBmaWx0ZXIgZm9yIGRybSBldmVudHNcbiIpOworCQlnb3RvIG91dDsK Kwl9CisKKwlyZXQgPSB1ZGV2X21vbml0b3JfZW5hYmxlX3JlY2VpdmluZyh1ZXZlbnRfbW9uaXRv cik7CisJaWYgKHJldCA8IDApIHsKKwkJaWd0X2luZm8oImZhaWxlZCB0byBlbmFibGUgdWRldiBl dmVudCByZWNlcHRpb25cbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXR1cm4gdWRldl9tb25p dG9yX2dldF9mZCh1ZXZlbnRfbW9uaXRvcik7CisKK291dDoKKwloZGNwX3VkZXZfZmluaSh1ZXZl bnRfbW9uaXRvciwgdWRldik7CisJcmV0dXJuIHJldDsKK30KKworI2RlZmluZSBNQVhfRVZFTlRT CTEwCitzdGF0aWMgYm9vbCB3YWl0X2Zvcl9oZGNwX2V2ZW50KHVpbnQzMl90IGNvbm5faWQsIHVp bnQzMl90IHByb3BfaWQsCisJCQkJdWludDMyX3QgdGltZW91dF9tU2VjKQoreworCisJc3RydWN0 IHVkZXZfbW9uaXRvciAqdWV2ZW50X21vbml0b3IgPSBOVUxMOworCXN0cnVjdCB1ZGV2ICp1ZGV2 ID0gTlVMTDsKKwlpbnQgdWRldl9mZCwgZXBvbGxfZmQ7CisJc3RydWN0IGVwb2xsX2V2ZW50IGV2 ZW50LCBldmVudHNbTUFYX0VWRU5UU107CisJYm9vbCByZXQgPSBmYWxzZTsKKworCXVkZXZfZmQg PSBoZGNwX3VkZXZfaW5pdCh1ZXZlbnRfbW9uaXRvciwgdWRldik7CisJaWYgKHVkZXZfZmQgPCAw KQorCQlyZXR1cm4gZmFsc2U7CisKKwllcG9sbF9mZCA9IGVwb2xsX2NyZWF0ZTEoMCk7CisJaWYg KGVwb2xsX2ZkID09IC0xKSB7CisJCWlndF9pbmZvKCJGYWlsZWQgdG8gY3JlYXRlIGVwb2xsIGZk LiAlZFxuIiwgZXBvbGxfZmQpOworCQlnb3RvIG91dF9lcF9jcmVhdGU7CisJfQorCisJZXZlbnQu ZXZlbnRzID0gRVBPTExJTiB8IEVQT0xMRVJSOworCWV2ZW50LmRhdGEuZmQgPSAwOworCisJaWYg KGVwb2xsX2N0bChlcG9sbF9mZCwgRVBPTExfQ1RMX0FERCwgdWRldl9mZCwgJmV2ZW50KSkgewor CQlpZ3RfaW5mbygiZmFpbGVkIHRvIGZkIGludG8gZXBvbGxcbiIpOworCQlnb3RvIG91dF9lcF9j dGw7CisJfQorCisJaWYgKGVwb2xsX3dhaXQoZXBvbGxfZmQsIGV2ZW50cywgTUFYX0VWRU5UUywg dGltZW91dF9tU2VjKSkKKwkJcmV0ID0gaGRjcF9ldmVudCh1ZXZlbnRfbW9uaXRvciwgdWRldiwg Y29ubl9pZCwgcHJvcF9pZCk7CisKK291dF9lcF9jdGw6CisJaWYgKGNsb3NlKGVwb2xsX2ZkKSkK KwkJaWd0X2luZm8oImZhaWxlZCB0byBjbG9zZSB0aGUgZXBvbGwgZmRcbiIpOworb3V0X2VwX2Ny ZWF0ZToKKwloZGNwX3VkZXZfZmluaSh1ZXZlbnRfbW9uaXRvciwgdWRldik7CisJcmV0dXJuIHJl dDsKK30KKwogc3RhdGljIGJvb2wKIHdhaXRfZm9yX3Byb3BfdmFsdWUoaWd0X291dHB1dF90ICpv dXRwdXQsIHVpbnQ2NF90IGV4cGVjdGVkLAogCQkgICAgdWludDMyX3QgdGltZW91dF9tU2VjKQpA QCAtMTA5LDEzICsyNDQsMjUgQEAgd2FpdF9mb3JfcHJvcF92YWx1ZShpZ3Rfb3V0cHV0X3QgKm91 dHB1dCwgdWludDY0X3QgZXhwZWN0ZWQsCiAJdWludDY0X3QgdmFsOwogCWludCBpOwogCi0JZm9y IChpID0gMDsgaSA8IHRpbWVvdXRfbVNlYzsgaSsrKSB7CisJaWYgKGRhdGEuY3BfdGVzdHMgJiBD UF9VRVZFTlQgJiYgZXhwZWN0ZWQgIT0gQ1BfVU5ERVNJUkVEKSB7CisJCWlndF9hc3NlcnRfZih3 YWl0X2Zvcl9oZGNwX2V2ZW50KG91dHB1dC0+aWQsCisJCQkgICAgIG91dHB1dC0+cHJvcHNbSUdU X0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT05dLAorCQkJICAgICB0aW1lb3V0X21TZWMpLCAi dWV2ZW50IGlzIG5vdCByZWNlaXZlZCIpOworCiAJCXZhbCA9IGlndF9vdXRwdXRfZ2V0X3Byb3Ao b3V0cHV0LAogCQkJCQkgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKIAkJaWYg KHZhbCA9PSBleHBlY3RlZCkKIAkJCXJldHVybiB0cnVlOwotCQl1c2xlZXAoMTAwMCk7CisJfSBl bHNlIHsKKwkJZm9yIChpID0gMDsgaSA8IHRpbWVvdXRfbVNlYzsgaSsrKSB7CisJCQl2YWwgPSBp Z3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKKwkJCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5U X1BST1RFQ1RJT04pOworCQkJaWYgKHZhbCA9PSBleHBlY3RlZCkKKwkJCQlyZXR1cm4gdHJ1ZTsK KwkJCXVzbGVlcCgxMDAwKTsKKwkJfQogCX0KKwogCWlndF9pbmZvKCJwcm9wX3ZhbHVlIG1pc21h dGNoICUiIFBSSWQ2NCAiICE9ICUiIFBSSWQ2NCAiXG4iLAogCQkgdmFsLCBleHBlY3RlZCk7CiAK QEAgLTQ5Myw2ICs2NDAsMTIgQEAgaWd0X21haW4KIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24o Q09NTUlUX0FUT01JQywgSERDUF9DT05URU5UX1RZUEVfMSk7CiAJfQogCisJaWd0X3N1YnRlc3Qo InVldmVudCIpIHsKKwkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CisJCWRh dGEuY3BfdGVzdHMgPSBDUF9VRVZFTlQ7CisJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1J VF9BVE9NSUMsIEhEQ1BfQ09OVEVOVF9UWVBFXzApOworCX0KKwogCWlndF9maXh0dXJlCiAJCWln dF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==