From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 10/38] drm/i915: Implement HDCP2.2 repeater authentication Date: Sat, 9 Feb 2019 12:42:39 +0530 Message-ID: <1549696387-28268-11-git-send-email-ramalingam.c@intel.com> References: <1549696387-28268-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: <1549696387-28268-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 YWIxNi9jcHVfdG9fYmUxNi4gW1RvbWFzXQogIFJldmlld2VkLWJ5IFVtYS4KClNpZ25lZC1vZmYt Ynk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClJldmlld2VkLWJ5OiBVbWEgU2hh bmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYyB8IDEyNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog MSBmaWxlIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBkNjNmNjIwNTgxYWQuLjI0MDUxMTIwZDNiYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTA0MSw3ICsxMDQxLDcgQEAgc3RhdGljIGlu dCBoZGNwMl9wcmVwYXJlX3NrZXkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAog CXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBpbnQKK3N0 YXRpYyBpbnQKIGhkY3AyX3ZlcmlmeV9yZXBfdG9wb2xvZ3lfcHJlcGFyZV9hY2soc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAgICAgIHN0cnVjdCBoZGNwMl9yZXBfc2Vu ZF9yZWNlaXZlcmlkX2xpc3QKIAkJCQkJCQkJKnJlcF90b3BvbG9neSwKQEAgLTEwNzAsNyArMTA3 MCw3IEBAIGhkY3AyX3ZlcmlmeV9yZXBfdG9wb2xvZ3lfcHJlcGFyZV9hY2soc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBfX2F0dHJp YnV0ZV9fKCh1bnVzZWQpKSBpbnQKK3N0YXRpYyBpbnQKIGhkY3AyX3ZlcmlmeV9tcHJpbWUoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkgICAgc3RydWN0IGhkY3AyX3JlcF9z dHJlYW1fcmVhZHkgKnN0cmVhbV9yZWFkeSkKIHsKQEAgLTEyNzksNiArMTI3OSwxMTkgQEAgc3Rh dGljIGludCBoZGNwMl9zZXNzaW9uX2tleV9leGNoYW5nZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYworaW50IGhkY3AyX3Byb3BhZ2F0 ZV9zdHJlYW1fbWFuYWdlbWVudF9pbmZvKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKK3sKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5f dG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25u ZWN0b3ItPmhkY3A7CisJdW5pb24geworCQlzdHJ1Y3QgaGRjcDJfcmVwX3N0cmVhbV9tYW5hZ2Ug c3RyZWFtX21hbmFnZTsKKwkJc3RydWN0IGhkY3AyX3JlcF9zdHJlYW1fcmVhZHkgc3RyZWFtX3Jl YWR5OworCX0gbXNnczsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpzaGltID0gaGRj cC0+c2hpbTsKKwlpbnQgcmV0OworCisJLyogUHJlcGFyZSBSZXBlYXRlckF1dGhfU3RyZWFtX01h bmFnZSBtc2cgKi8KKwltc2dzLnN0cmVhbV9tYW5hZ2UubXNnX2lkID0gSERDUF8yXzJfUkVQX1NU UkVBTV9NQU5BR0U7CisJZHJtX2hkY3AyX3UzMl90b19zZXFfbnVtKG1zZ3Muc3RyZWFtX21hbmFn ZS5zZXFfbnVtX20sIGhkY3AtPnNlcV9udW1fbSk7CisKKwkvKiBLIG5vIG9mIHN0cmVhbXMgaXMg Zml4ZWQgYXMgMS4gU3RvcmVkIGFzIGJpZy1lbmRpYW4uICovCisJbXNncy5zdHJlYW1fbWFuYWdl LmsgPSBjcHVfdG9fYmUxNigxKTsKKworCS8qIEZvciBIRE1JIHRoaXMgaXMgZm9yY2VkIHRvIGJl IDB4MC4gRm9yIERQIFNTVCBhbHNvIHRoaXMgaXMgMHgwLiAqLworCW1zZ3Muc3RyZWFtX21hbmFn ZS5zdHJlYW1zWzBdLnN0cmVhbV9pZCA9IDA7CisJbXNncy5zdHJlYW1fbWFuYWdlLnN0cmVhbXNb MF0uc3RyZWFtX3R5cGUgPSBoZGNwLT5jb250ZW50X3R5cGU7CisKKwkvKiBTZW5kIGl0IHRvIFJl cGVhdGVyICovCisJcmV0ID0gc2hpbS0+d3JpdGVfMl8yX21zZyhpbnRlbF9kaWdfcG9ydCwgJm1z Z3Muc3RyZWFtX21hbmFnZSwKKwkJCQkgIHNpemVvZihtc2dzLnN0cmVhbV9tYW5hZ2UpKTsKKwlp ZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9IHNoaW0tPnJlYWRfMl8yX21zZyhp bnRlbF9kaWdfcG9ydCwgSERDUF8yXzJfUkVQX1NUUkVBTV9SRUFEWSwKKwkJCQkgJm1zZ3Muc3Ry ZWFtX3JlYWR5LCBzaXplb2YobXNncy5zdHJlYW1fcmVhZHkpKTsKKwlpZiAocmV0IDwgMCkKKwkJ cmV0dXJuIHJldDsKKworCWhkY3AtPnBvcnRfZGF0YS5zZXFfbnVtX20gPSBoZGNwLT5zZXFfbnVt X207CisJaGRjcC0+cG9ydF9kYXRhLnN0cmVhbXNbMF0uc3RyZWFtX3R5cGUgPSBoZGNwLT5jb250 ZW50X3R5cGU7CisKKwlyZXQgPSBoZGNwMl92ZXJpZnlfbXByaW1lKGNvbm5lY3RvciwgJm1zZ3Mu c3RyZWFtX3JlYWR5KTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWhkY3AtPnNl cV9udW1fbSsrOworCisJaWYgKGhkY3AtPnNlcV9udW1fbSA+IEhEQ1BfMl8yX1NFUV9OVU1fTUFY KSB7CisJCURSTV9ERUJVR19LTVMoInNlcV9udW1fbSByb2xsIG92ZXIuXG4iKTsKKwkJcmV0dXJu IC0xOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMKK2ludCBoZGNwMl9hdXRoZW50aWNh dGVfcmVwZWF0ZXJfdG9wb2xvZ3koc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQor eworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19k aWdfcG9ydChjb25uZWN0b3IpOworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rv ci0+aGRjcDsKKwl1bmlvbiB7CisJCXN0cnVjdCBoZGNwMl9yZXBfc2VuZF9yZWNlaXZlcmlkX2xp c3QgcmVjdmlkX2xpc3Q7CisJCXN0cnVjdCBoZGNwMl9yZXBfc2VuZF9hY2sgcmVwX2FjazsKKwl9 IG1zZ3M7CisJY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSA9IGhkY3AtPnNoaW07 CisJdTggKnJ4X2luZm87CisJdTMyIHNlcV9udW1fdjsKKwlpbnQgcmV0OworCisJcmV0ID0gc2hp bS0+cmVhZF8yXzJfbXNnKGludGVsX2RpZ19wb3J0LCBIRENQXzJfMl9SRVBfU0VORF9SRUNWSURf TElTVCwKKwkJCQkgJm1zZ3MucmVjdmlkX2xpc3QsIHNpemVvZihtc2dzLnJlY3ZpZF9saXN0KSk7 CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyeF9pbmZvID0gbXNncy5yZWN2aWRf bGlzdC5yeF9pbmZvOworCisJaWYgKEhEQ1BfMl8yX01BWF9DQVNDQURFX0VYQ0VFREVEKHJ4X2lu Zm9bMV0pIHx8CisJICAgIEhEQ1BfMl8yX01BWF9ERVZTX0VYQ0VFREVEKHJ4X2luZm9bMV0pKSB7 CisJCURSTV9ERUJVR19LTVMoIlRvcG9sb2d5IE1heCBTaXplIEV4Y2VlZGVkXG4iKTsKKwkJcmV0 dXJuIC1FSU5WQUw7CisJfQorCisJLyogQ29udmVydGluZyBhbmQgU3RvcmluZyB0aGUgc2VxX251 bV92IHRvIGxvY2FsIHZhcmlhYmxlIGFzIERXT1JEICovCisJc2VxX251bV92ID0gZHJtX2hkY3Ay X3NlcV9udW1fdG9fdTMyKG1zZ3MucmVjdmlkX2xpc3Quc2VxX251bV92KTsKKworCWlmIChzZXFf bnVtX3YgPCBoZGNwLT5zZXFfbnVtX3YpIHsKKwkJLyogUm9sbCBvdmVyIG9mIHRoZSBzZXFfbnVt X3YgZnJvbSByZXBlYXRlci4gUmVhdXRoZW50aWNhdGUuICovCisJCURSTV9ERUJVR19LTVMoIlNl cV9udW1fdiByb2xsIG92ZXIuXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0ID0g aGRjcDJfdmVyaWZ5X3JlcF90b3BvbG9neV9wcmVwYXJlX2Fjayhjb25uZWN0b3IsCisJCQkJCQkg ICAgJm1zZ3MucmVjdmlkX2xpc3QsCisJCQkJCQkgICAgJm1zZ3MucmVwX2Fjayk7CisJaWYgKHJl dCA8IDApCisJCXJldHVybiByZXQ7CisKKwloZGNwLT5zZXFfbnVtX3YgPSBzZXFfbnVtX3Y7CisJ cmV0ID0gc2hpbS0+d3JpdGVfMl8yX21zZyhpbnRlbF9kaWdfcG9ydCwgJm1zZ3MucmVwX2FjaywK KwkJCQkgIHNpemVvZihtc2dzLnJlcF9hY2spKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJl dDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhkY3AyX2F1dGhlbnRpY2F0ZV9yZXBl YXRlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJaW50IHJldDsKKwor CXJldCA9IGhkY3AyX2F1dGhlbnRpY2F0ZV9yZXBlYXRlcl90b3BvbG9neShjb25uZWN0b3IpOwor CWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIGhkY3AyX3Byb3BhZ2F0ZV9z dHJlYW1fbWFuYWdlbWVudF9pbmZvKGNvbm5lY3Rvcik7Cit9CisKIHN0YXRpYyBpbnQgaGRjcDJf YXV0aGVudGljYXRlX3Npbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewog CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19kaWdf cG9ydChjb25uZWN0b3IpOwpAQCAtMTMxMiw2ICsxNDI1LDE0IEBAIHN0YXRpYyBpbnQgaGRjcDJf YXV0aGVudGljYXRlX3Npbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJ cmV0dXJuIHJldDsKIAl9CiAKKwlpZiAoaGRjcC0+aXNfcmVwZWF0ZXIpIHsKKwkJcmV0ID0gaGRj cDJfYXV0aGVudGljYXRlX3JlcGVhdGVyKGNvbm5lY3Rvcik7CisJCWlmIChyZXQgPCAwKSB7CisJ CQlEUk1fREVCVUdfS01TKCJSZXBlYXRlciBBdXRoIEZhaWxlZC4gRXJyOiAlZFxuIiwgcmV0KTsK KwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisKIAloZGNwLT5wb3J0X2RhdGEuc3RyZWFtc1swXS5z dHJlYW1fdHlwZSA9IGhkY3AtPmNvbnRlbnRfdHlwZTsKIAlyZXQgPSBoZGNwMl9hdXRoZW50aWNh dGVfcG9ydChjb25uZWN0b3IpOwogCWlmIChyZXQgPCAwKQotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=