From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C5FA6E178 for ; Wed, 3 Jul 2019 16:53:52 +0000 (UTC) From: Ramalingam C Date: Wed, 3 Jul 2019 15:24:44 +0530 Message-Id: <20190703095446.14092-7-ramalingam.c@intel.com> In-Reply-To: <20190703095446.14092-1-ramalingam.c@intel.com> References: <20190703095446.14092-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v8 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 Cc: Daniel Vetter List-ID: VG8gZGV0ZWN0IHRoZSBIRENQIHN0YXR1cyBjaGFuZ2Ugd2UgYXJlIHJlYWRpbmcgdGhlIHVldmVu dCBzZW50IHdpdGggdGhlCmNvcnJlc3BvbmRpbmcgY29ubmVjdG9yIGlkIGFuZCBwcm9wZXJ0eSBp ZC4KClRoaXMgYXZvaWRzIHRoZSBwb2xsaW5nIG9mIHRoZSBwcm9wZXJ0eSBldmVyeSBtU2VjLgoK djI6CiAgTWFkZSBpdCBhcyBzdWJ0ZXN0LiBSZW1haW5pbmcgdGVzdHMgd2lsbCB1c2UgcG9sbGlu Zy4gW0RhbmllbF0KdjM6CiAgZmFpbHVyZSB0byByZWNlaXZlIHRoZSB1ZXZlbnQgaXMgaGFuZGxl ZCBhcyBmYWlsdXJlIFtVbWFdCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5n YW0uY0BpbnRlbC5jb20+CkFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZm d2xsLmNoPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4K LS0tCiB0ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMgfCAxNTcgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTU1IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5j IGIvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCmluZGV4IDIxNWI3YTdjMGZjNy4uOTdk YjBiNzQ1MWMwIDEwMDY0NAotLS0gYS90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKKysr IGIvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCkBAIC0yNCw2ICsyNCw5IEBACiAKICNp bmNsdWRlIDxwb2xsLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvZXBvbGwu aD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGxpYnVkZXYuaD4KICNpbmNsdWRl ICJpZ3QuaCIKICNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKICNpbmNsdWRlICJpZ3Rfa21zLmgiCkBA IC00Myw2ICs0Niw3IEBAIHN0cnVjdCBkYXRhIHsKICNkZWZpbmUgQ1BfTElDCQkJCQkoMSA8PCAx KQogI2RlZmluZSBDUF9NRUlfUkVMT0FECQkJCSgxIDw8IDIpCiAjZGVmaW5lIENQX1RZUEVfQ0hB TkdFCQkJCSgxIDw8IDMpCisjZGVmaW5lIENQX1VFVkVOVAkJCQkoMSA8PCA0KQogCiAjZGVmaW5l IENQX1VOREVTSVJFRAkJCQkwCiAjZGVmaW5lIENQX0RFU0lSRUQJCQkJMQpAQCAtMTAyLDYgKzEw NiwxMzcgQEAgc3RhdGljIGludCB3YWl0X2ZsaXBfZXZlbnQodm9pZCkKIAlyZXR1cm4gcmM7CiB9 CiAKK3N0YXRpYyBib29sIGhkY3BfZXZlbnQoc3RydWN0IHVkZXZfbW9uaXRvciAqdWV2ZW50X21v bml0b3IsCisJCSAgICAgICBzdHJ1Y3QgdWRldiAqdWRldiwgdWludDMyX3QgY29ubl9pZCwgdWlu dDMyX3QgcHJvcF9pZCkKK3sKKwlzdHJ1Y3QgdWRldl9kZXZpY2UgKmRldjsKKwlkZXZfdCB1ZGV2 X2Rldm51bTsKKwlzdHJ1Y3Qgc3RhdCBzOworCWNvbnN0IGNoYXIgKmhvdHBsdWcsICpjb25uZWN0 b3IsICpwcm9wZXJ0eTsKKwlib29sIHJldCA9IGZhbHNlOworCisJZGV2ID0gdWRldl9tb25pdG9y X3JlY2VpdmVfZGV2aWNlKHVldmVudF9tb25pdG9yKTsKKwlpZiAoIWRldikKKwkJZ290byBvdXQ7 CisKKwl1ZGV2X2Rldm51bSA9IHVkZXZfZGV2aWNlX2dldF9kZXZudW0oZGV2KTsKKwlmc3RhdChk YXRhLmRpc3BsYXkuZHJtX2ZkLCAmcyk7CisKKwlob3RwbHVnID0gdWRldl9kZXZpY2VfZ2V0X3By b3BlcnR5X3ZhbHVlKGRldiwgIkhPVFBMVUciKTsKKwlpZiAoIShtZW1jbXAoJnMuc3RfcmRldiwg JnVkZXZfZGV2bnVtLCBzaXplb2YoZGV2X3QpKSA9PSAwICYmCisJICAgIGhvdHBsdWcgJiYgYXRv aShob3RwbHVnKSA9PSAxKSkgeworCQlpZ3RfZGVidWcoIk5vdCBhIEhvdHBsdWcgZXZlbnRcbiIp OworCQlnb3RvIG91dF9kZXY7CisJfQorCisJY29ubmVjdG9yID0gdWRldl9kZXZpY2VfZ2V0X3By b3BlcnR5X3ZhbHVlKGRldiwgIkNPTk5FQ1RPUiIpOworCWlmICghKG1lbWNtcCgmcy5zdF9yZGV2 LCAmdWRldl9kZXZudW0sIHNpemVvZihkZXZfdCkpID09IDAgJiYKKwkgICAgY29ubmVjdG9yICYm IGF0b2koY29ubmVjdG9yKSA9PSBjb25uX2lkKSkgeworCQlpZ3RfZGVidWcoIk5vdCBmb3IgY29u bmVjdG9yIGlkOiAldVxuIiwgY29ubl9pZCk7CisJCWdvdG8gb3V0X2RldjsKKwl9CisKKwlwcm9w ZXJ0eSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJQUk9QRVJUWSIpOwor CWlmICghKG1lbWNtcCgmcy5zdF9yZGV2LCAmdWRldl9kZXZudW0sIHNpemVvZihkZXZfdCkpID09 IDAgJiYKKwkgICAgcHJvcGVydHkgJiYgYXRvaShwcm9wZXJ0eSkgPT0gcHJvcF9pZCkpIHsKKwkJ aWd0X2RlYnVnKCJOb3QgZm9yIHByb3BlcnR5IGlkOiAldVxuIiwgcHJvcF9pZCk7CisJCWdvdG8g b3V0X2RldjsKKwl9CisJcmV0ID0gdHJ1ZTsKKworb3V0X2RldjoKKwl1ZGV2X2RldmljZV91bnJl ZihkZXYpOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGhkY3BfdWRldl9m aW5pKHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVudF9tb25pdG9yLAorCQkJICAgc3RydWN0IHVk ZXYgKnVkZXYpCit7CisJaWYgKHVldmVudF9tb25pdG9yKQorCQl1ZGV2X21vbml0b3JfdW5yZWYo dWV2ZW50X21vbml0b3IpOworCWlmICh1ZGV2KQorCQl1ZGV2X3VucmVmKHVkZXYpOworfQorCitz dGF0aWMgaW50IGhkY3BfdWRldl9pbml0KHN0cnVjdCB1ZGV2X21vbml0b3IgKnVldmVudF9tb25p dG9yLAorCQkJICBzdHJ1Y3QgdWRldiAqdWRldikKK3sKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwor CXVkZXYgPSB1ZGV2X25ldygpOworCWlmICghdWRldikgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRv IGNyZWF0ZSB1ZGV2IG9iamVjdFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXVldmVudF9tb25p dG9yID0gdWRldl9tb25pdG9yX25ld19mcm9tX25ldGxpbmsodWRldiwgInVkZXYiKTsKKwlpZiAo IXVldmVudF9tb25pdG9yKSB7CisJCWlndF9pbmZvKCJmYWlsZWQgdG8gY3JlYXRlIHVkZXYgZXZl bnQgbW9uaXRvclxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IHVkZXZfbW9uaXRvcl9m aWx0ZXJfYWRkX21hdGNoX3N1YnN5c3RlbV9kZXZ0eXBlKHVldmVudF9tb25pdG9yLAorCQkJCQkJ CSAgICAgICJkcm0iLAorCQkJCQkJCSAgICAgICJkcm1fbWlub3IiKTsKKwlpZiAocmV0IDwgMCkg eworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGZpbHRlciBmb3IgZHJtIGV2ZW50c1xuIik7CisJCWdv dG8gb3V0OworCX0KKworCXJldCA9IHVkZXZfbW9uaXRvcl9lbmFibGVfcmVjZWl2aW5nKHVldmVu dF9tb25pdG9yKTsKKwlpZiAocmV0IDwgMCkgeworCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGVuYWJs ZSB1ZGV2IGV2ZW50IHJlY2VwdGlvblxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXJldHVybiB1 ZGV2X21vbml0b3JfZ2V0X2ZkKHVldmVudF9tb25pdG9yKTsKKworb3V0OgorCWhkY3BfdWRldl9m aW5pKHVldmVudF9tb25pdG9yLCB1ZGV2KTsKKwlyZXR1cm4gcmV0OworfQorCisjZGVmaW5lIE1B WF9FVkVOVFMJMTAKK3N0YXRpYyBib29sIHdhaXRfZm9yX2hkY3BfZXZlbnQodWludDMyX3QgY29u bl9pZCwgdWludDMyX3QgcHJvcF9pZCwKKwkJCQl1aW50MzJfdCB0aW1lb3V0X21TZWMpCit7CisK KwlzdHJ1Y3QgdWRldl9tb25pdG9yICp1ZXZlbnRfbW9uaXRvciA9IE5VTEw7CisJc3RydWN0IHVk ZXYgKnVkZXYgPSBOVUxMOworCWludCB1ZGV2X2ZkLCBlcG9sbF9mZDsKKwlzdHJ1Y3QgZXBvbGxf ZXZlbnQgZXZlbnQsIGV2ZW50c1tNQVhfRVZFTlRTXTsKKwlib29sIHJldCA9IGZhbHNlOworCisJ dWRldl9mZCA9IGhkY3BfdWRldl9pbml0KHVldmVudF9tb25pdG9yLCB1ZGV2KTsKKwlpZiAodWRl dl9mZCA8IDApCisJCXJldHVybiBmYWxzZTsKKworCWVwb2xsX2ZkID0gZXBvbGxfY3JlYXRlMSgw KTsKKwlpZiAoZXBvbGxfZmQgPT0gLTEpIHsKKwkJaWd0X2luZm8oIkZhaWxlZCB0byBjcmVhdGUg ZXBvbGwgZmQuICVkXG4iLCBlcG9sbF9mZCk7CisJCWdvdG8gb3V0X2VwX2NyZWF0ZTsKKwl9CisK KwlldmVudC5ldmVudHMgPSBFUE9MTElOIHwgRVBPTExFUlI7CisJZXZlbnQuZGF0YS5mZCA9IDA7 CisKKwlpZiAoZXBvbGxfY3RsKGVwb2xsX2ZkLCBFUE9MTF9DVExfQURELCB1ZGV2X2ZkLCAmZXZl bnQpKSB7CisJCWlndF9pbmZvKCJmYWlsZWQgdG8gZmQgaW50byBlcG9sbFxuIik7CisJCWdvdG8g b3V0X2VwX2N0bDsKKwl9CisKKwlpZiAoZXBvbGxfd2FpdChlcG9sbF9mZCwgZXZlbnRzLCBNQVhf RVZFTlRTLCB0aW1lb3V0X21TZWMpKQorCQlyZXQgPSBoZGNwX2V2ZW50KHVldmVudF9tb25pdG9y LCB1ZGV2LCBjb25uX2lkLCBwcm9wX2lkKTsKKworb3V0X2VwX2N0bDoKKwlpZiAoY2xvc2UoZXBv bGxfZmQpKQorCQlpZ3RfaW5mbygiZmFpbGVkIHRvIGNsb3NlIHRoZSBlcG9sbCBmZFxuIik7Citv dXRfZXBfY3JlYXRlOgorCWhkY3BfdWRldl9maW5pKHVldmVudF9tb25pdG9yLCB1ZGV2KTsKKwly ZXR1cm4gcmV0OworfQorCiBzdGF0aWMgYm9vbAogd2FpdF9mb3JfcHJvcF92YWx1ZShpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgdWludDY0X3QgZXhwZWN0ZWQsCiAJCSAgICB1aW50MzJfdCB0aW1lb3V0 X21TZWMpCkBAIC0xMDksMTMgKzI0NCwyNSBAQCB3YWl0X2Zvcl9wcm9wX3ZhbHVlKGlndF9vdXRw dXRfdCAqb3V0cHV0LCB1aW50NjRfdCBleHBlY3RlZCwKIAl1aW50NjRfdCB2YWw7CiAJaW50IGk7 CiAKLQlmb3IgKGkgPSAwOyBpIDwgdGltZW91dF9tU2VjOyBpKyspIHsKKwlpZiAoZGF0YS5jcF90 ZXN0cyAmIENQX1VFVkVOVCkgeworCQlpZ3RfYXNzZXJ0X2Yod2FpdF9mb3JfaGRjcF9ldmVudChv dXRwdXQtPmlkLAorCQkJICAgICBvdXRwdXQtPnByb3BzW0lHVF9DT05ORUNUT1JfQ09OVEVOVF9Q Uk9URUNUSU9OXSwKKwkJCSAgICAgdGltZW91dF9tU2VjKSwgInVldmVudCBpcyBub3QgcmVjZWl2 ZWQiKTsKKwogCQl2YWwgPSBpZ3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKIAkJCQkJICBJR1Rf Q09OTkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTik7CiAJCWlmICh2YWwgPT0gZXhwZWN0ZWQpCiAJ CQlyZXR1cm4gdHJ1ZTsKLQkJdXNsZWVwKDEwMDApOworCX0gZWxzZSB7CisJCWZvciAoaSA9IDA7 IGkgPCB0aW1lb3V0X21TZWM7IGkrKykgeworCQkJdmFsID0gaWd0X291dHB1dF9nZXRfcHJvcChv dXRwdXQsCisJCQkJCQkgIElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OKTsKKwkJCWlm ICh2YWwgPT0gZXhwZWN0ZWQpCisJCQkJcmV0dXJuIHRydWU7CisJCQl1c2xlZXAoMTAwMCk7CisJ CX0KIAl9CisKIAlpZ3RfaW5mbygicHJvcF92YWx1ZSBtaXNtYXRjaCAlIiBQUklkNjQgIiAhPSAl IiBQUklkNjQgIlxuIiwKIAkJIHZhbCwgZXhwZWN0ZWQpOwogCkBAIC00OTMsNiArNjQwLDEyIEBA IGlndF9tYWluCiAJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIEhEQ1Bf Q09OVEVOVF9UWVBFXzEpOwogCX0KIAorCWlndF9zdWJ0ZXN0KCJ1ZXZlbnQiKSB7CisJCWlndF9y ZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOworCQlkYXRhLmNwX3Rlc3RzID0gQ1BfVUVW RU5UOworCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBIRENQX0NPTlRF TlRfVFlQRV8wKTsKKwl9CisKIAlpZ3RfZml4dHVyZQogCQlpZ3RfZGlzcGxheV9maW5pKCZkYXRh LmRpc3BsYXkpOwogfQotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2lndC1kZXY=