From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v8 08/35] drm/i915: Implement HDCP2.2 repeater authentication Date: Tue, 27 Nov 2018 16:13:06 +0530 Message-ID: <1543315413-24302-9-git-send-email-ramalingam.c@intel.com> References: <1543315413-24302-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: <1543315413-24302-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 List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgSERDUDIuMiByZXBlYXRlcnMgYXV0aGVudGljYXRpb24gc3RlcHMgc3Vj aCBhcyB2ZXJpZnlpbmcKdGhlIGRvd25zdHJlYW0gdG9wb2xvZ3kgYW5kIHNlbmRpbmcgc3RyZWFt IG1hbmFnZW1lbnQgaW5mb3JtYXRpb24uCgp2MjoKICBSZWJhc2VkLgp2MzoKICBObyBDaGFuZ2Vz Lgp2NDoKICAtRUlOVkFMIGlzIHJldHVybmVkIGZvciB0b3BvbG9neSBlcnJvciBhbmQgcm9sbG92 ZXIgc2NlbmFyaW8uCiAgRW5kaWFubmVzcyBjb252ZXJzaW9uIGZ1bmMgZnJvbSBkcm1faGRjcC5o IGlzIHVzZWQgW1VtYV0KdjU6CiAgUmViYXNlZCBhcyBwYXJ0IG9mIHBhdGNoZXMgcmVvcmRlcmlu Zy4KICBEZWZpbmVkIHRoZSBtZWkgc2VydmljZSBmdW5jdGlvbnMgW0RhbmllbF0KdjY6CiAgUmVk ZWZpbmVkIHRoZSBtZWkgc2VydmljZSBmdW5jdGlvbnMgYXMgcGVyIGNvbXAgcmVkZXNpZ24uCnY3 OgogICVzL3VpbnR4eF90L3V4eAogIENoZWNrIGZvciBjb21wX21hc3RlciBpcyByZW1vdmVkLgp2 ODoKICBBZGp1c3QgdG8gdGhlIG5ldyBtZWkgaW50ZXJmYWNlLgogIHN0eWxlIGlzc3VlIGZpeGVk LgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDEyNSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9kcm0vZHJtX2hkY3AuaCAgICAgICAg ICAgIHwgIDE1ICsrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3Au YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCAwZDdmZWE5YzliYjEu LjY3OWYzYzE2NDU4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRj cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTA2OSw3ICsx MDY5LDcgQEAgc3RhdGljIGludCBoZGNwMl9wcmVwYXJlX3NrZXkoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBfX2F0dHJpYnV0ZV9f KCh1bnVzZWQpKSBpbnQKK3N0YXRpYyBpbnQKIGhkY3AyX3ZlcmlmeV9yZXBfdG9wb2xvZ3lfcHJl cGFyZV9hY2soc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAgICAgIHN0 cnVjdCBoZGNwMl9yZXBfc2VuZF9yZWNlaXZlcmlkX2xpc3QKIAkJCQkJCQkJKnJlcF90b3BvbG9n eSwKQEAgLTEwOTksNyArMTA5OSw3IEBAIGhkY3AyX3ZlcmlmeV9yZXBfdG9wb2xvZ3lfcHJlcGFy ZV9hY2soc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCXJldHVybiByZXQ7CiB9 CiAKLXN0YXRpYyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBpbnQKK3N0YXRpYyBpbnQKIGhkY3Ay X3ZlcmlmeV9tcHJpbWUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkgICAg c3RydWN0IGhkY3AyX3JlcF9zdHJlYW1fcmVhZHkgKnN0cmVhbV9yZWFkeSkKIHsKQEAgLTEzMTUs NiArMTMxNSwxMjEgQEAgc3RhdGljIGludCBoZGNwMl9zZXNzaW9uX2tleV9leGNoYW5nZShzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYwor aW50IGhkY3AyX3Byb3BhZ2F0ZV9zdHJlYW1fbWFuYWdlbWVudF9pbmZvKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKKwlzdHJ1Y3QgaW50ZWxf aGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJdW5pb24geworCQlzdHJ1Y3QgaGRjcDJf cmVwX3N0cmVhbV9tYW5hZ2Ugc3RyZWFtX21hbmFnZTsKKwkJc3RydWN0IGhkY3AyX3JlcF9zdHJl YW1fcmVhZHkgc3RyZWFtX3JlYWR5OworCX0gbXNnczsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfaGRj cF9zaGltICpzaGltID0gaGRjcC0+c2hpbTsKKwlpbnQgcmV0OworCisJLyogUHJlcGFyZSBSZXBl YXRlckF1dGhfU3RyZWFtX01hbmFnZSBtc2cgKi8KKwltc2dzLnN0cmVhbV9tYW5hZ2UubXNnX2lk ID0gSERDUF8yXzJfUkVQX1NUUkVBTV9NQU5BR0U7CisJcmV2ZXJzZV9lbmRpYW5uZXNzKG1zZ3Mu c3RyZWFtX21hbmFnZS5zZXFfbnVtX20sIEhEQ1BfMl8yX1NFUV9OVU1fTEVOLAorCQkJICAgKHU4 ICopJmhkY3AtPnNlcV9udW1fbSk7CisKKwkvKiBLIG5vIG9mIHN0cmVhbXMgaXMgZml4ZWQgYXMg MS4gU3RvcmVkIGFzIGJpZy1lbmRpYW4uICovCisJbXNncy5zdHJlYW1fbWFuYWdlLmsgPSBfX3N3 YWIxNigxKTsKKworCS8qIEZvciBIRE1JIHRoaXMgaXMgZm9yY2VkIHRvIGJlIDB4MC4gRm9yIERQ IFNTVCBhbHNvIHRoaXMgaXMgMHgwLiAqLworCW1zZ3Muc3RyZWFtX21hbmFnZS5zdHJlYW1zWzBd LnN0cmVhbV9pZCA9IDA7CisJbXNncy5zdHJlYW1fbWFuYWdlLnN0cmVhbXNbMF0uc3RyZWFtX3R5 cGUgPSBoZGNwLT5jb250ZW50X3R5cGU7CisKKwkvKiBTZW5kIGl0IHRvIFJlcGVhdGVyICovCisJ cmV0ID0gc2hpbS0+d3JpdGVfMl8yX21zZyhpbnRlbF9kaWdfcG9ydCwgJm1zZ3Muc3RyZWFtX21h bmFnZSwKKwkJCQkgIHNpemVvZihtc2dzLnN0cmVhbV9tYW5hZ2UpKTsKKwlpZiAocmV0IDwgMCkK KwkJcmV0dXJuIHJldDsKKworCXJldCA9IHNoaW0tPnJlYWRfMl8yX21zZyhpbnRlbF9kaWdfcG9y dCwgSERDUF8yXzJfUkVQX1NUUkVBTV9SRUFEWSwKKwkJCQkgJm1zZ3Muc3RyZWFtX3JlYWR5LCBz aXplb2YobXNncy5zdHJlYW1fcmVhZHkpKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsK KworCWhkY3AtPm1laV9kYXRhLnNlcV9udW1fbSA9IGhkY3AtPnNlcV9udW1fbTsKKwloZGNwLT5t ZWlfZGF0YS5zdHJlYW1zWzBdLnN0cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOworCisJ cmV0ID0gaGRjcDJfdmVyaWZ5X21wcmltZShjb25uZWN0b3IsICZtc2dzLnN0cmVhbV9yZWFkeSk7 CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwloZGNwLT5zZXFfbnVtX20rKzsKKwor CWlmIChoZGNwLT5zZXFfbnVtX20gPiBIRENQXzJfMl9TRVFfTlVNX01BWCkgeworCQlEUk1fREVC VUdfS01TKCJzZXFfbnVtX20gcm9sbCBvdmVyLlxuIik7CisJCXJldHVybiAtMTsKKwl9CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljCitpbnQgaGRjcDJfYXV0aGVudGljYXRlX3JlcGVhdGVyX3Rv cG9sb2d5KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVj dG9yKTsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJdW5p b24geworCQlzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfcmVjZWl2ZXJpZF9saXN0IHJlY3ZpZF9saXN0 OworCQlzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfYWNrIHJlcF9hY2s7CisJfSBtc2dzOworCWNvbnN0 IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0gPSBoZGNwLT5zaGltOworCXU4ICpyeF9pbmZv OworCXUzMiBzZXFfbnVtX3Y7CisJaW50IHJldDsKKworCXJldCA9IHNoaW0tPnJlYWRfMl8yX21z ZyhpbnRlbF9kaWdfcG9ydCwgSERDUF8yXzJfUkVQX1NFTkRfUkVDVklEX0xJU1QsCisJCQkJICZt c2dzLnJlY3ZpZF9saXN0LCBzaXplb2YobXNncy5yZWN2aWRfbGlzdCkpOworCWlmIChyZXQgPCAw KQorCQlyZXR1cm4gcmV0OworCisJcnhfaW5mbyA9IG1zZ3MucmVjdmlkX2xpc3QucnhfaW5mbzsK KworCWlmIChIRENQXzJfMl9NQVhfQ0FTQ0FERV9FWENFRURFRChyeF9pbmZvWzFdKSB8fAorCSAg ICBIRENQXzJfMl9NQVhfREVWU19FWENFRURFRChyeF9pbmZvWzFdKSkgeworCQlEUk1fREVCVUdf S01TKCJUb3BvbG9neSBNYXggU2l6ZSBFeGNlZWRlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOwor CX0KKworCS8qIENvbnZlcnRpbmcgYW5kIFN0b3JpbmcgdGhlIHNlcV9udW1fdiB0byBsb2NhbCB2 YXJpYWJsZSBhcyBEV09SRCAqLworCXJldmVyc2VfZW5kaWFubmVzcygodTggKikmc2VxX251bV92 LCBIRENQXzJfMl9TRVFfTlVNX0xFTiwKKwkJCSAgIG1zZ3MucmVjdmlkX2xpc3Quc2VxX251bV92 KTsKKworCWlmIChzZXFfbnVtX3YgPCBoZGNwLT5zZXFfbnVtX3YpIHsKKwkJLyogUm9sbCBvdmVy IG9mIHRoZSBzZXFfbnVtX3YgZnJvbSByZXBlYXRlci4gUmVhdXRoZW50aWNhdGUuICovCisJCURS TV9ERUJVR19LTVMoIlNlcV9udW1fdiByb2xsIG92ZXIuXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CisJfQorCisJcmV0ID0gaGRjcDJfdmVyaWZ5X3JlcF90b3BvbG9neV9wcmVwYXJlX2Fjayhjb25u ZWN0b3IsCisJCQkJCQkgICAgJm1zZ3MucmVjdmlkX2xpc3QsCisJCQkJCQkgICAgJm1zZ3MucmVw X2Fjayk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwloZGNwLT5zZXFfbnVtX3Yg PSBzZXFfbnVtX3Y7CisJcmV0ID0gc2hpbS0+d3JpdGVfMl8yX21zZyhpbnRlbF9kaWdfcG9ydCwg Jm1zZ3MucmVwX2FjaywKKwkJCQkgIHNpemVvZihtc2dzLnJlcF9hY2spKTsKKwlpZiAocmV0IDwg MCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhkY3AyX2F1 dGhlbnRpY2F0ZV9yZXBlYXRlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7 CisJaW50IHJldDsKKworCXJldCA9IGhkY3AyX2F1dGhlbnRpY2F0ZV9yZXBlYXRlcl90b3BvbG9n eShjb25uZWN0b3IpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIGhk Y3AyX3Byb3BhZ2F0ZV9zdHJlYW1fbWFuYWdlbWVudF9pbmZvKGNvbm5lY3Rvcik7Cit9CisKIHN0 YXRpYyBpbnQgaGRjcDJfYXV0aGVudGljYXRlX3Npbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOwpAQCAtMTM1Niw2ICsxNDcxLDEyIEBAIHN0 YXRpYyBpbnQgaGRjcDJfYXV0aGVudGljYXRlX3Npbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCQkJCQkgICAgICAgc2l6ZW9mKHN0cmVhbV90eXBlX21zZykpOwogCQlpZiAo cmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CisJfSBlbHNlIGlmIChoZGNwLT5pc19yZXBlYXRlcikg eworCQlyZXQgPSBoZGNwMl9hdXRoZW50aWNhdGVfcmVwZWF0ZXIoY29ubmVjdG9yKTsKKwkJaWYg KHJldCA8IDApIHsKKwkJCURSTV9ERUJVR19LTVMoIlJlcGVhdGVyIEF1dGggRmFpbGVkLiBFcnI6 ICVkXG4iLCByZXQpOworCQkJcmV0dXJuIHJldDsKKwkJfQogCX0KIAogCWhkY3AtPm1laV9kYXRh LnN0cmVhbXNbMF0uc3RyZWFtX3R5cGUgPSBoZGNwLT5jb250ZW50X3R5cGU7CmRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1faGRjcC5oIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaAppbmRleCBh NmRlMDljNWU0N2YuLjNlNDVhNzYxOGFiMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2hk Y3AuaAorKysgYi9pbmNsdWRlL2RybS9kcm1faGRjcC5oCkBAIC0yNTAsNCArMjUwLDE5IEBAIHN0 cnVjdCBoZGNwMl9kcF9lcnJhdGFfc3RyZWFtX3R5cGUgewogI2RlZmluZSBIRENQXzJfMl9IRE1J X1JYU1RBVFVTX1JFQURZKHgpCQkoKHgpICYgQklUKDIpKQogI2RlZmluZSBIRENQXzJfMl9IRE1J X1JYU1RBVFVTX1JFQVVUSF9SRVEoeCkJKCh4KSAmIEJJVCgzKSkKIAorLyoKKyAqIExpYnJhcnkg ZnVuY3Rpb25zIGZvciBlbmRpYW5uZXNzIGFyZSBhbGlnbmVkIGZvciAxNi8zMi82NCBiaXRzLgor ICogQnV0IGhkY3Agc2VxdWVuY2UgbnVtYmVycyBhcmUgMjRiaXRzLiBTbyBmb3IgdGhlaXIgQnl0 ZSBzd2FwcGluZywKKyAqIGEgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBkZXZlbG9wZWQuCisgKi8K K3N0YXRpYyBpbmxpbmUgdm9pZCByZXZlcnNlX2VuZGlhbm5lc3ModTggKmRlc3QsIHNpemVfdCBz eiwgdTggKnNyYykKK3sKKwl1MzIgaW5kZXg7CisKKwlpZiAoIXN6IHx8IHN6ID4gc2l6ZW9mKHUz MikpCisJCXJldHVybjsKKwlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBzejsgaW5kZXgrKykKKwkJ ZGVzdFtzeiAtIGluZGV4IC0gMV0gPSBzcmNbaW5kZXhdOworfQorCiAjZW5kaWYKLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK