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 31665894E7 for ; Thu, 2 May 2019 13:14:33 +0000 (UTC) From: Ramalingam C Date: Thu, 2 May 2019 18:46:23 +0530 Message-Id: <20190502131625.27551-7-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 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@lists.freedesktop.org, daniel.vetter@intel.com, arkadiusz.hiler@intel.com List-ID: VG8gZGV0ZWN0IHRoZSBIRENQIHN0YXR1cyBjaGFuZ2Ugd2UgYXJlIHJlYWRpbmcgdGhlIHVldmVu dCBzZW50IHdpdGggdGhlCmNvcnJlc3BvbmRpbmcgY29ubmVjdG9yIGlkIGFuZCBwcm9wZXJ0eSBp ZC4KClRoaXMgYXZvaWRzIHRoZSBwb2xsaW5nIG9mIHRoZSBwcm9wZXJ0eSBldmVyeSBtU2VjLgoK djI6CiAgTWFkZSBpdCBhcyBzdWJ0ZXN0LiBSZW1haW5pbmcgdGVzdHMgd2lsbCB1c2UgcG9sbGlu Zy4gW0RhbmllbF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGlu dGVsLmNvbT4KQWNrZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ Ci0tLQogdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIHwgMTYyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE1OCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24u YyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwppbmRleCAxNDhhYmE5Mjg4OGMuLmNj OGFiZGE0ODcwMiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCisr KyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwpAQCAtMjQsNiArMjQsOSBAQAogCiAj aW5jbHVkZSA8cG9sbC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL2Vwb2xs Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+CiAjaW5jbHVk ZSAiaWd0LmgiCiAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCiAjaW5jbHVkZSAiaWd0X2ttcy5oIgpA QCAtNDMsNiArNDYsNyBAQCBzdHJ1Y3QgZGF0YSB7CiAjZGVmaW5lIENQX0xJQwkJCQkJKDEgPDwg MSkKICNkZWZpbmUgQ1BfTUVJX1JFTE9BRAkJCQkoMSA8PCAyKQogI2RlZmluZSBDUF9UWVBFX0NI QU5HRQkJCQkoMSA8PCAzKQorI2RlZmluZSBDUF9VRVZFTlQJCQkJKDEgPDwgNCkKIAogI2RlZmlu ZSBDUF9VTkRFU0lSRUQJCQkJMAogI2RlZmluZSBDUF9ERVNJUkVECQkJCTEKQEAgLTEwMiw2ICsx MDYsMTM4IEBAIHN0YXRpYyBpbnQgd2FpdF9mbGlwX2V2ZW50KHZvaWQpCiAJcmV0dXJuIHJjOwog fQogCitzdGF0aWMgYm9vbCBoZGNwX2V2ZW50KHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVudF9t b25pdG9yLAorCQkgICAgICAgc3RydWN0IHVkZXYgKnVkZXYsIHVpbnQzMl90IGNvbm5faWQsIHVp bnQzMl90IHByb3BfaWQpCit7CisJc3RydWN0IHVkZXZfZGV2aWNlICpkZXY7CisJZGV2X3QgdWRl dl9kZXZudW07CisJc3RydWN0IHN0YXQgczsKKwljb25zdCBjaGFyICpob3RwbHVnLCAqY29ubmVj dG9yLCAqcHJvcGVydHk7CisJYm9vbCByZXQgPSBmYWxzZTsKKworCWRldiA9IHVkZXZfbW9uaXRv cl9yZWNlaXZlX2RldmljZSh1ZXZlbnRfbW9uaXRvcik7CisJaWYgKCFkZXYpCisJCWdvdG8gb3V0 OworCisJdWRldl9kZXZudW0gPSB1ZGV2X2RldmljZV9nZXRfZGV2bnVtKGRldik7CisJZnN0YXQo ZGF0YS5kaXNwbGF5LmRybV9mZCwgJnMpOworCisJaG90cGx1ZyA9IHVkZXZfZGV2aWNlX2dldF9w cm9wZXJ0eV92YWx1ZShkZXYsICJIT1RQTFVHIik7CisJaWYgKCEobWVtY21wKCZzLnN0X3JkZXYs ICZ1ZGV2X2Rldm51bSwgc2l6ZW9mKGRldl90KSkgPT0gMCAmJgorCSAgICBob3RwbHVnICYmIGF0 b2koaG90cGx1ZykgPT0gMSkpIHsKKwkJaWd0X2RlYnVnKCJOb3QgYSBIb3RwbHVnIGV2ZW50XG4i KTsKKwkJZ290byBvdXRfZGV2OworCX0KKworCWNvbm5lY3RvciA9IHVkZXZfZGV2aWNlX2dldF9w cm9wZXJ0eV92YWx1ZShkZXYsICJDT05ORUNUT1IiKTsKKwlpZiAoIShtZW1jbXAoJnMuc3RfcmRl diwgJnVkZXZfZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9PSAwICYmCisJICAgIGNvbm5lY3RvciAm JiBhdG9pKGNvbm5lY3RvcikgPT0gY29ubl9pZCkpIHsKKwkJaWd0X2RlYnVnKCJOb3QgZm9yIGNv bm5lY3RvciBpZDogJXVcbiIsIGNvbm5faWQpOworCQlnb3RvIG91dF9kZXY7CisJfQorCisJcHJv cGVydHkgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiUFJPUEVSVFkiKTsK KwlpZiAoIShtZW1jbXAoJnMuc3RfcmRldiwgJnVkZXZfZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9 PSAwICYmCisJICAgIHByb3BlcnR5ICYmIGF0b2kocHJvcGVydHkpID09IHByb3BfaWQpKSB7CisJ CWlndF9kZWJ1ZygiTm90IGZvciBwcm9wZXJ0eSBpZDogJXVcbiIsIHByb3BfaWQpOworCQlnb3Rv IG91dF9kZXY7CisJfQorCXJldCA9IHRydWU7CisKK291dF9kZXY6CisJdWRldl9kZXZpY2VfdW5y ZWYoZGV2KTsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBoZGNwX3VkZXZf ZmluaShzdHJ1Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9uaXRvciwKKwkJCSAgIHN0cnVjdCB1 ZGV2ICp1ZGV2KQoreworCWlmICh1ZXZlbnRfbW9uaXRvcikKKwkJdWRldl9tb25pdG9yX3VucmVm KHVldmVudF9tb25pdG9yKTsKKwlpZiAodWRldikKKwkJdWRldl91bnJlZih1ZGV2KTsKK30KKwor c3RhdGljIGludCBoZGNwX3VkZXZfaW5pdChzdHJ1Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9u aXRvciwKKwkJCSAgc3RydWN0IHVkZXYgKnVkZXYpCit7CisJaW50IHJldCA9IC1FSU5WQUw7CisK Kwl1ZGV2ID0gdWRldl9uZXcoKTsKKwlpZiAoIXVkZXYpIHsKKwkJaWd0X2luZm8oImZhaWxlZCB0 byBjcmVhdGUgdWRldiBvYmplY3RcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwl1ZXZlbnRfbW9u aXRvciA9IHVkZXZfbW9uaXRvcl9uZXdfZnJvbV9uZXRsaW5rKHVkZXYsICJ1ZGV2Iik7CisJaWYg KCF1ZXZlbnRfbW9uaXRvcikgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGNyZWF0ZSB1ZGV2IGV2 ZW50IG1vbml0b3JcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSB1ZGV2X21vbml0b3Jf ZmlsdGVyX2FkZF9tYXRjaF9zdWJzeXN0ZW1fZGV2dHlwZSh1ZXZlbnRfbW9uaXRvciwKKwkJCQkJ CQkgICAgICAiZHJtIiwKKwkJCQkJCQkgICAgICAiZHJtX21pbm9yIik7CisJaWYgKHJldCA8IDAp IHsKKwkJaWd0X2luZm8oImZhaWxlZCB0byBmaWx0ZXIgZm9yIGRybSBldmVudHNcbiIpOworCQln b3RvIG91dDsKKwl9CisKKwlyZXQgPSB1ZGV2X21vbml0b3JfZW5hYmxlX3JlY2VpdmluZyh1ZXZl bnRfbW9uaXRvcik7CisJaWYgKHJldCA8IDApIHsKKwkJaWd0X2luZm8oImZhaWxlZCB0byBlbmFi bGUgdWRldiBldmVudCByZWNlcHRpb25cbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXR1cm4g dWRldl9tb25pdG9yX2dldF9mZCh1ZXZlbnRfbW9uaXRvcik7CisKK291dDoKKwloZGNwX3VkZXZf ZmluaSh1ZXZlbnRfbW9uaXRvciwgdWRldik7CisJcmV0dXJuIHJldDsKK30KKworI2RlZmluZSBN QVhfRVZFTlRTCTEwCitzdGF0aWMgYm9vbCB3YWl0X2Zvcl9oZGNwX2V2ZW50KHVpbnQzMl90IGNv bm5faWQsIHVpbnQzMl90IHByb3BfaWQsCisJCQkJdWludDMyX3QgdGltZW91dF9tU2VjKQorewor CisJc3RydWN0IHVkZXZfbW9uaXRvciAqdWV2ZW50X21vbml0b3IgPSBOVUxMOworCXN0cnVjdCB1 ZGV2ICp1ZGV2ID0gTlVMTDsKKwlpbnQgdWRldl9mZCwgZXBvbGxfZmQ7CisJc3RydWN0IGVwb2xs X2V2ZW50IGV2ZW50LCBldmVudHNbTUFYX0VWRU5UU107CisJYm9vbCByZXQgPSBmYWxzZTsKKwor CXVkZXZfZmQgPSBoZGNwX3VkZXZfaW5pdCh1ZXZlbnRfbW9uaXRvciwgdWRldik7CisJaWYgKHVk ZXZfZmQgPCAwKQorCQlyZXR1cm4gZmFsc2U7CisKKwllcG9sbF9mZCA9IGVwb2xsX2NyZWF0ZTEo MCk7CisJaWYgKGVwb2xsX2ZkID09IC0xKSB7CisJCWlndF9pbmZvKCJGYWlsZWQgdG8gY3JlYXRl IGVwb2xsIGZkLiAlZFxuIiwgZXBvbGxfZmQpOworCQlnb3RvIG91dF9lcF9jcmVhdGU7CisJfQor CisJZXZlbnQuZXZlbnRzID0gRVBPTExJTiB8IEVQT0xMRVJSOworCWV2ZW50LmRhdGEuZmQgPSAw OworCisJaWYgKGVwb2xsX2N0bChlcG9sbF9mZCwgRVBPTExfQ1RMX0FERCwgdWRldl9mZCwgJmV2 ZW50KSkKKwl7CisJCWlndF9pbmZvKCJmYWlsZWQgdG8gZmQgaW50byBlcG9sbFxuIik7CisJCWdv dG8gb3V0X2VwX2N0bDsKKwl9CisKKwlpZiAoZXBvbGxfd2FpdChlcG9sbF9mZCwgZXZlbnRzLCBN QVhfRVZFTlRTLCB0aW1lb3V0X21TZWMpKQorCQlyZXQgPSBoZGNwX2V2ZW50KHVldmVudF9tb25p dG9yLCB1ZGV2LCBjb25uX2lkLCBwcm9wX2lkKTsKKworb3V0X2VwX2N0bDoKKwlpZiAoY2xvc2Uo ZXBvbGxfZmQpKQorCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGNsb3NlIHRoZSBlcG9sbCBmZFxuIik7 CitvdXRfZXBfY3JlYXRlOgorCWhkY3BfdWRldl9maW5pKHVldmVudF9tb25pdG9yLCB1ZGV2KTsK KwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgYm9vbAogd2FpdF9mb3JfcHJvcF92YWx1ZShpZ3Rf b3V0cHV0X3QgKm91dHB1dCwgdWludDY0X3QgZXhwZWN0ZWQsCiAJCSAgICB1aW50MzJfdCB0aW1l b3V0X21TZWMpCkBAIC0xMDksMTMgKzI0NSwyNSBAQCB3YWl0X2Zvcl9wcm9wX3ZhbHVlKGlndF9v dXRwdXRfdCAqb3V0cHV0LCB1aW50NjRfdCBleHBlY3RlZCwKIAl1aW50NjRfdCB2YWw7CiAJaW50 IGk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgdGltZW91dF9tU2VjOyBpKyspIHsKLQkJdmFsID0gaWd0 X291dHB1dF9nZXRfcHJvcChvdXRwdXQsCi0JCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BS T1RFQ1RJT04pOworCWlmIChkYXRhLmNwX3Rlc3RzICYgQ1BfVUVWRU5UKSB7CisJCWlmICh3YWl0 X2Zvcl9oZGNwX2V2ZW50KG91dHB1dC0+aWQsCisJCQkJb3V0cHV0LT5wcm9wc1tJR1RfQ09OTkVD VE9SX0NPTlRFTlRfUFJPVEVDVElPTl0sCisJCQkJdGltZW91dF9tU2VjKSkKKwkJCWlndF9kZWJ1 ZygiaGRjcCBldmVudCByZWNlaXZlZFxuIik7CisKKwkJdmFsID0gaWd0X291dHB1dF9nZXRfcHJv cChvdXRwdXQsIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKIAkJaWYgKHZhbCA9 PSBleHBlY3RlZCkKIAkJCXJldHVybiB0cnVlOwotCQl1c2xlZXAoMTAwMCk7CisJfSBlbHNlIHsK KwkJZm9yIChpID0gMDsgaSA8IHRpbWVvdXRfbVNlYzsgaSsrKSB7CisJCQl2YWwgPSBpZ3Rfb3V0 cHV0X2dldF9wcm9wKG91dHB1dCwKKwkJCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RF Q1RJT04pOworCQkJaWYgKHZhbCA9PSBleHBlY3RlZCkKKwkJCQlyZXR1cm4gdHJ1ZTsKKwkJCXVz bGVlcCgxMDAwKTsKKwkJfQogCX0KKwogCWlndF9pbmZvKCJwcm9wX3ZhbHVlIG1pc21hdGNoICUi IFBSSWQ2NCAiICE9ICUiIFBSSWQ2NCAiXG4iLAogCQkgdmFsLCBleHBlY3RlZCk7CiAKQEAgLTQ4 NCw2ICs2MzIsMTIgQEAgaWd0X21haW4KIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlU X0FUT01JQywgSERDUF9DT05URU5UX1RZUEVfMSk7CiAJfQogCisJaWd0X3N1YnRlc3QoInVldmVu dCIpIHsKKwkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CisJCWRhdGEuY3Bf dGVzdHMgPSBDUF9VRVZFTlQ7CisJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9N SUMsIEhEQ1BfQ09OVEVOVF9UWVBFXzApOworCX0KKwogCWlndF9maXh0dXJlCiAJCWlndF9kaXNw bGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldg==