From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7355A6E3A2 for ; Thu, 30 May 2019 14:58:25 +0000 (UTC) From: Ramalingam C Date: Thu, 30 May 2019 20:30:55 +0530 Message-Id: <20190530150057.12770-7-ramalingam.c@intel.com> In-Reply-To: <20190530150057.12770-1-ramalingam.c@intel.com> References: <20190530150057.12770-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v7 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: uma.shankar@intel.com, daniel.vetter@intel.com, igt-dev@lists.freedesktop.org List-ID: VG8gZGV0ZWN0IHRoZSBIRENQIHN0YXR1cyBjaGFuZ2Ugd2UgYXJlIHJlYWRpbmcgdGhlIHVldmVu dCBzZW50IHdpdGggdGhlCmNvcnJlc3BvbmRpbmcgY29ubmVjdG9yIGlkIGFuZCBwcm9wZXJ0eSBp ZC4KClRoaXMgYXZvaWRzIHRoZSBwb2xsaW5nIG9mIHRoZSBwcm9wZXJ0eSBldmVyeSBtU2VjLgoK djI6CiAgTWFkZSBpdCBhcyBzdWJ0ZXN0LiBSZW1haW5pbmcgdGVzdHMgd2lsbCB1c2UgcG9sbGlu Zy4gW0RhbmllbF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGlu dGVsLmNvbT4KQWNrZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ Ci0tLQogdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIHwgMTU4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24u YyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwppbmRleCAyMTViN2E3YzBmYzcuLmFi NmEyZGE1NWMyMyAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCisr KyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwpAQCAtMjQsNiArMjQsOSBAQAogCiAj aW5jbHVkZSA8cG9sbC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL2Vwb2xs Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+CiAjaW5jbHVk ZSAiaWd0LmgiCiAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCiAjaW5jbHVkZSAiaWd0X2ttcy5oIgpA QCAtNDMsNiArNDYsNyBAQCBzdHJ1Y3QgZGF0YSB7CiAjZGVmaW5lIENQX0xJQwkJCQkJKDEgPDwg MSkKICNkZWZpbmUgQ1BfTUVJX1JFTE9BRAkJCQkoMSA8PCAyKQogI2RlZmluZSBDUF9UWVBFX0NI QU5HRQkJCQkoMSA8PCAzKQorI2RlZmluZSBDUF9VRVZFTlQJCQkJKDEgPDwgNCkKIAogI2RlZmlu ZSBDUF9VTkRFU0lSRUQJCQkJMAogI2RlZmluZSBDUF9ERVNJUkVECQkJCTEKQEAgLTEwMiw2ICsx MDYsMTM3IEBAIHN0YXRpYyBpbnQgd2FpdF9mbGlwX2V2ZW50KHZvaWQpCiAJcmV0dXJuIHJjOwog 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 ZW50KSkgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGZkIGludG8gZXBvbGxcbiIpOworCQlnb3Rv IG91dF9lcF9jdGw7CisJfQorCisJaWYgKGVwb2xsX3dhaXQoZXBvbGxfZmQsIGV2ZW50cywgTUFY X0VWRU5UUywgdGltZW91dF9tU2VjKSkKKwkJcmV0ID0gaGRjcF9ldmVudCh1ZXZlbnRfbW9uaXRv ciwgdWRldiwgY29ubl9pZCwgcHJvcF9pZCk7CisKK291dF9lcF9jdGw6CisJaWYgKGNsb3NlKGVw b2xsX2ZkKSkKKwkJaWd0X2luZm8oImZhaWxlZCB0byBjbG9zZSB0aGUgZXBvbGwgZmRcbiIpOwor b3V0X2VwX2NyZWF0ZToKKwloZGNwX3VkZXZfZmluaSh1ZXZlbnRfbW9uaXRvciwgdWRldik7CisJ cmV0dXJuIHJldDsKK30KKwogc3RhdGljIGJvb2wKIHdhaXRfZm9yX3Byb3BfdmFsdWUoaWd0X291 dHB1dF90ICpvdXRwdXQsIHVpbnQ2NF90IGV4cGVjdGVkLAogCQkgICAgdWludDMyX3QgdGltZW91 dF9tU2VjKQpAQCAtMTA5LDEzICsyNDQsMjYgQEAgd2FpdF9mb3JfcHJvcF92YWx1ZShpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgdWludDY0X3QgZXhwZWN0ZWQsCiAJdWludDY0X3QgdmFsOwogCWludCBp OwogCi0JZm9yIChpID0gMDsgaSA8IHRpbWVvdXRfbVNlYzsgaSsrKSB7CisJaWYgKGRhdGEuY3Bf dGVzdHMgJiBDUF9VRVZFTlQpIHsKKwkJaWYgKHdhaXRfZm9yX2hkY3BfZXZlbnQob3V0cHV0LT5p ZCwKKwkJCQlvdXRwdXQtPnByb3BzW0lHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OXSwK KwkJCQl0aW1lb3V0X21TZWMpKQorCQkJaWd0X2RlYnVnKCJoZGNwIGV2ZW50IHJlY2VpdmVkXG4i KTsKKwogCQl2YWwgPSBpZ3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKIAkJCQkJICBJR1RfQ09O TkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTik7CiAJCWlmICh2YWwgPT0gZXhwZWN0ZWQpCiAJCQly ZXR1cm4gdHJ1ZTsKLQkJdXNsZWVwKDEwMDApOworCX0gZWxzZSB7CisJCWZvciAoaSA9IDA7IGkg PCB0aW1lb3V0X21TZWM7IGkrKykgeworCQkJdmFsID0gaWd0X291dHB1dF9nZXRfcHJvcChvdXRw dXQsCisJCQkJCQkgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKKwkJCWlmICh2 YWwgPT0gZXhwZWN0ZWQpCisJCQkJcmV0dXJuIHRydWU7CisJCQl1c2xlZXAoMTAwMCk7CisJCX0K IAl9CisKIAlpZ3RfaW5mbygicHJvcF92YWx1ZSBtaXNtYXRjaCAlIiBQUklkNjQgIiAhPSAlIiBQ UklkNjQgIlxuIiwKIAkJIHZhbCwgZXhwZWN0ZWQpOwogCkBAIC00OTMsNiArNjQxLDEyIEBAIGln dF9tYWluCiAJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIEhEQ1BfQ09O VEVOVF9UWVBFXzEpOwogCX0KIAorCWlndF9zdWJ0ZXN0KCJ1ZXZlbnQiKSB7CisJCWlndF9yZXF1 aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOworCQlkYXRhLmNwX3Rlc3RzID0gQ1BfVUVWRU5U OworCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBIRENQX0NPTlRFTlRf VFlQRV8wKTsKKwl9CisKIAlpZ3RfZml4dHVyZQogCQlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLmRp c3BsYXkpOwogfQotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXY=