From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v10 11/40] drm/i915: Implement HDCP2.2 repeater authentication Date: Thu, 31 Jan 2019 12:29:27 +0530 Message-ID: <1548917996-28081-12-git-send-email-ramalingam.c@intel.com> References: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@ffwll.ch, tomas.winkler@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgSERDUDIuMiByZXBlYXRlcnMgYXV0aGVudGljYXRpb24gc3RlcHMgc3Vj aCBhcyB2ZXJpZnlpbmcKdGhlIGRvd25zdHJlYW0gdG9wb2xvZ3kgYW5kIHNlbmRpbmcgc3RyZWFt IG1hbmFnZW1lbnQgaW5mb3JtYXRpb24uCgp2MjogUmViYXNlZC4KdjM6CiAgLUVJTlZBTCBpcyBy ZXR1cm5lZCBmb3IgdG9wb2xvZ3kgZXJyb3IgYW5kIHJvbGxvdmVyIHNjZW5hcmlvLgogIEVuZGlh bm5lc3MgY29udmVyc2lvbiBmdW5jIGZyb20gZHJtX2hkY3AuaCBpcyB1c2VkIFtVbWFdCnY0Ogog IFJlYmFzZWQgYXMgcGFydCBvZiBwYXRjaGVzIHJlb3JkZXJpbmcuCiAgRGVmaW5lZCB0aGUgbWVp IHNlcnZpY2UgZnVuY3Rpb25zIFtEYW5pZWxdCnY1OgogIFJlZGVmaW5lZCB0aGUgbWVpIHNlcnZp Y2UgZnVuY3Rpb25zIGFzIHBlciBjb21wIHJlZGVzaWduLgp2NjoKICAlcy91aW50eHhfdC91eHgK ICBDaGVjayBmb3IgY29tcF9tYXN0ZXIgaXMgcmVtb3ZlZC4Kdjc6CiAgQWRqdXN0IHRvIHRoZSBu ZXcgbWVpIGludGVyZmFjZS4KICBzdHlsZSBpc3N1ZSBmaXhlZC4Kdjg6CiAgZHJtX2hkY3AuaCBj aGFuZ2UgaXMgbW92ZWQgaW50byBzZXBhcmF0ZSBwYXRjaCBbRGFuaWVsXQp2OToKICAlcy9fX3N3 YWIxNi9jcHVfdG9fYmUxNi4gW1RvbWFzXQoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxy YW1hbGluZ2FtLmNAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMg fCAxMjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFu Z2VkLCAxMjMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZGNwLmMKaW5kZXggMWM4MWUxN2RjNmM0Li4zYjhkM2E0YjVlNmUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZGNwLmMKQEAgLTEwMzIsNyArMTAzMiw3IEBAIHN0YXRpYyBpbnQgaGRjcDJfcHJl cGFyZV9za2V5KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlyZXR1cm4gcmV0 OwogfQogCi1zdGF0aWMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgaW50CitzdGF0aWMgaW50CiBo ZGNwMl92ZXJpZnlfcmVwX3RvcG9sb2d5X3ByZXBhcmVfYWNrKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciwKIAkJCQkgICAgICBzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfcmVjZWl2ZXJp ZF9saXN0CiAJCQkJCQkJCSpyZXBfdG9wb2xvZ3ksCkBAIC0xMDYxLDcgKzEwNjEsNyBAQCBoZGNw Ml92ZXJpZnlfcmVwX3RvcG9sb2d5X3ByZXBhcmVfYWNrKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvciwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgX19hdHRyaWJ1dGVfXygodW51 c2VkKSkgaW50CitzdGF0aWMgaW50CiBoZGNwMl92ZXJpZnlfbXByaW1lKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICAgIHN0cnVjdCBoZGNwMl9yZXBfc3RyZWFtX3JlYWR5 ICpzdHJlYW1fcmVhZHkpCiB7CkBAIC0xMjcwLDYgKzEyNzAsMTE5IEBAIHN0YXRpYyBpbnQgaGRj cDJfc2Vzc2lvbl9rZXlfZXhjaGFuZ2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogCXJldHVybiAwOwogfQogCitzdGF0aWMKK2ludCBoZGNwMl9wcm9wYWdhdGVfc3RyZWFtX21h bmFnZW1lbnRfaW5mbyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25uX3RvX2RpZ19wb3J0 KGNvbm5lY3Rvcik7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNw OworCXVuaW9uIHsKKwkJc3RydWN0IGhkY3AyX3JlcF9zdHJlYW1fbWFuYWdlIHN0cmVhbV9tYW5h Z2U7CisJCXN0cnVjdCBoZGNwMl9yZXBfc3RyZWFtX3JlYWR5IHN0cmVhbV9yZWFkeTsKKwl9IG1z Z3M7CisJY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSA9IGhkY3AtPnNoaW07CisJ aW50IHJldDsKKworCS8qIFByZXBhcmUgUmVwZWF0ZXJBdXRoX1N0cmVhbV9NYW5hZ2UgbXNnICov CisJbXNncy5zdHJlYW1fbWFuYWdlLm1zZ19pZCA9IEhEQ1BfMl8yX1JFUF9TVFJFQU1fTUFOQUdF OworCWRybV9oZGNwMl91MzJfdG9fc2VxX251bShtc2dzLnN0cmVhbV9tYW5hZ2Uuc2VxX251bV9t LCBoZGNwLT5zZXFfbnVtX20pOworCisJLyogSyBubyBvZiBzdHJlYW1zIGlzIGZpeGVkIGFzIDEu IFN0b3JlZCBhcyBiaWctZW5kaWFuLiAqLworCW1zZ3Muc3RyZWFtX21hbmFnZS5rID0gY3B1X3Rv X2JlMTYoMSk7CisKKwkvKiBGb3IgSERNSSB0aGlzIGlzIGZvcmNlZCB0byBiZSAweDAuIEZvciBE UCBTU1QgYWxzbyB0aGlzIGlzIDB4MC4gKi8KKwltc2dzLnN0cmVhbV9tYW5hZ2Uuc3RyZWFtc1sw XS5zdHJlYW1faWQgPSAwOworCW1zZ3Muc3RyZWFtX21hbmFnZS5zdHJlYW1zWzBdLnN0cmVhbV90 eXBlID0gaGRjcC0+Y29udGVudF90eXBlOworCisJLyogU2VuZCBpdCB0byBSZXBlYXRlciAqLwor CXJldCA9IHNoaW0tPndyaXRlXzJfMl9tc2coaW50ZWxfZGlnX3BvcnQsICZtc2dzLnN0cmVhbV9t YW5hZ2UsCisJCQkJICBzaXplb2YobXNncy5zdHJlYW1fbWFuYWdlKSk7CisJaWYgKHJldCA8IDAp CisJCXJldHVybiByZXQ7CisKKwlyZXQgPSBzaGltLT5yZWFkXzJfMl9tc2coaW50ZWxfZGlnX3Bv cnQsIEhEQ1BfMl8yX1JFUF9TVFJFQU1fUkVBRFksCisJCQkJICZtc2dzLnN0cmVhbV9yZWFkeSwg c2l6ZW9mKG1zZ3Muc3RyZWFtX3JlYWR5KSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7 CisKKwloZGNwLT5wb3J0X2RhdGEuc2VxX251bV9tID0gaGRjcC0+c2VxX251bV9tOworCWhkY3At PnBvcnRfZGF0YS5zdHJlYW1zWzBdLnN0cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOwor CisJcmV0ID0gaGRjcDJfdmVyaWZ5X21wcmltZShjb25uZWN0b3IsICZtc2dzLnN0cmVhbV9yZWFk eSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwloZGNwLT5zZXFfbnVtX20rKzsK KworCWlmIChoZGNwLT5zZXFfbnVtX20gPiBIRENQXzJfMl9TRVFfTlVNX01BWCkgeworCQlEUk1f REVCVUdfS01TKCJzZXFfbnVtX20gcm9sbCBvdmVyLlxuIik7CisJCXJldHVybiAtMTsKKwl9CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljCitpbnQgaGRjcDJfYXV0aGVudGljYXRlX3JlcGVhdGVy X3RvcG9sb2d5KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29u bmVjdG9yKTsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJ dW5pb24geworCQlzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfcmVjZWl2ZXJpZF9saXN0IHJlY3ZpZF9s aXN0OworCQlzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfYWNrIHJlcF9hY2s7CisJfSBtc2dzOworCWNv bnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0gPSBoZGNwLT5zaGltOworCXU4ICpyeF9p bmZvOworCXUzMiBzZXFfbnVtX3Y7CisJaW50IHJldDsKKworCXJldCA9IHNoaW0tPnJlYWRfMl8y X21zZyhpbnRlbF9kaWdfcG9ydCwgSERDUF8yXzJfUkVQX1NFTkRfUkVDVklEX0xJU1QsCisJCQkJ ICZtc2dzLnJlY3ZpZF9saXN0LCBzaXplb2YobXNncy5yZWN2aWRfbGlzdCkpOworCWlmIChyZXQg PCAwKQorCQlyZXR1cm4gcmV0OworCisJcnhfaW5mbyA9IG1zZ3MucmVjdmlkX2xpc3QucnhfaW5m bzsKKworCWlmIChIRENQXzJfMl9NQVhfQ0FTQ0FERV9FWENFRURFRChyeF9pbmZvWzFdKSB8fAor CSAgICBIRENQXzJfMl9NQVhfREVWU19FWENFRURFRChyeF9pbmZvWzFdKSkgeworCQlEUk1fREVC VUdfS01TKCJUb3BvbG9neSBNYXggU2l6ZSBFeGNlZWRlZFxuIik7CisJCXJldHVybiAtRUlOVkFM OworCX0KKworCS8qIENvbnZlcnRpbmcgYW5kIFN0b3JpbmcgdGhlIHNlcV9udW1fdiB0byBsb2Nh bCB2YXJpYWJsZSBhcyBEV09SRCAqLworCXNlcV9udW1fdiA9IGRybV9oZGNwMl9zZXFfbnVtX3Rv X3UzMihtc2dzLnJlY3ZpZF9saXN0LnNlcV9udW1fdik7CisKKwlpZiAoc2VxX251bV92IDwgaGRj cC0+c2VxX251bV92KSB7CisJCS8qIFJvbGwgb3ZlciBvZiB0aGUgc2VxX251bV92IGZyb20gcmVw ZWF0ZXIuIFJlYXV0aGVudGljYXRlLiAqLworCQlEUk1fREVCVUdfS01TKCJTZXFfbnVtX3Ygcm9s bCBvdmVyLlxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IGhkY3AyX3Zlcmlm eV9yZXBfdG9wb2xvZ3lfcHJlcGFyZV9hY2soY29ubmVjdG9yLAorCQkJCQkJICAgICZtc2dzLnJl Y3ZpZF9saXN0LAorCQkJCQkJICAgICZtc2dzLnJlcF9hY2spOworCWlmIChyZXQgPCAwKQorCQly ZXR1cm4gcmV0OworCisJaGRjcC0+c2VxX251bV92ID0gc2VxX251bV92OworCXJldCA9IHNoaW0t PndyaXRlXzJfMl9tc2coaW50ZWxfZGlnX3BvcnQsICZtc2dzLnJlcF9hY2ssCisJCQkJICBzaXpl b2YobXNncy5yZXBfYWNrKSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIGludCBoZGNwMl9hdXRoZW50aWNhdGVfcmVwZWF0ZXIoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCWludCByZXQ7CisKKwlyZXQgPSBoZGNw Ml9hdXRoZW50aWNhdGVfcmVwZWF0ZXJfdG9wb2xvZ3koY29ubmVjdG9yKTsKKwlpZiAocmV0IDwg MCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBoZGNwMl9wcm9wYWdhdGVfc3RyZWFtX21hbmFn ZW1lbnRfaW5mbyhjb25uZWN0b3IpOworfQorCiBzdGF0aWMgaW50IGhkY3AyX2F1dGhlbnRpY2F0 ZV9zaW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVj dG9yKTsKQEAgLTEzMDMsNiArMTQxNiwxNCBAQCBzdGF0aWMgaW50IGhkY3AyX2F1dGhlbnRpY2F0 ZV9zaW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJCXJldHVybiByZXQ7 CiAJfQogCisJaWYgKGhkY3AtPmlzX3JlcGVhdGVyKSB7CisJCXJldCA9IGhkY3AyX2F1dGhlbnRp Y2F0ZV9yZXBlYXRlcihjb25uZWN0b3IpOworCQlpZiAocmV0IDwgMCkgeworCQkJRFJNX0RFQlVH X0tNUygiUmVwZWF0ZXIgQXV0aCBGYWlsZWQuIEVycjogJWRcbiIsIHJldCk7CisJCQlyZXR1cm4g cmV0OworCQl9CisJfQorCiAJaGRjcC0+cG9ydF9kYXRhLnN0cmVhbXNbMF0uc3RyZWFtX3R5cGUg PSBoZGNwLT5jb250ZW50X3R5cGU7CiAJcmV0ID0gaGRjcDJfYXV0aGVudGljYXRlX3BvcnQoY29u bmVjdG9yKTsKIAlpZiAocmV0IDwgMCkKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK