From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v9 12/39] drm/i915: Implement HDCP2.2 repeater authentication Date: Thu, 13 Dec 2018 09:31:14 +0530 Message-ID: <1544673701-6353-13-git-send-email-ramalingam.c@intel.com> References: <1544673701-6353-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: <1544673701-6353-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, seanpaul@chromium.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 aGFuZ2UgaXMgbW92ZWQgaW50byBzZXBhcmF0ZSBwYXRjaCBbRGFuaWVsXQoKU2lnbmVkLW9mZi1i eTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDEyMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBmMWYwZWYyOTRlMjAuLmI1MmRh NWMzMTU5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtOTc4LDcgKzk3OCw3IEBA IHN0YXRpYyBpbnQgaGRjcDJfcHJlcGFyZV9za2V5KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvciwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgX19hdHRyaWJ1dGVfXygodW51c2Vk KSkgaW50CitzdGF0aWMgaW50CiBoZGNwMl92ZXJpZnlfcmVwX3RvcG9sb2d5X3ByZXBhcmVfYWNr KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICAgICBzdHJ1Y3QgaGRj cDJfcmVwX3NlbmRfcmVjZWl2ZXJpZF9saXN0CiAJCQkJCQkJCSpyZXBfdG9wb2xvZ3ksCkBAIC05 OTksNyArOTk5LDcgQEAgaGRjcDJfdmVyaWZ5X3JlcF90b3BvbG9neV9wcmVwYXJlX2FjayhzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGlj IF9fYXR0cmlidXRlX18oKHVudXNlZCkpIGludAorc3RhdGljIGludAogaGRjcDJfdmVyaWZ5X21w cmltZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSAgICBzdHJ1Y3QgaGRj cDJfcmVwX3N0cmVhbV9yZWFkeSAqc3RyZWFtX3JlYWR5KQogewpAQCAtMTE4Miw2ICsxMTgyLDEx OSBAQCBzdGF0aWMgaW50IGhkY3AyX3Nlc3Npb25fa2V5X2V4Y2hhbmdlKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljCitpbnQgaGRjcDJf cHJvcGFnYXRlX3N0cmVhbV9tYW5hZ2VtZW50X2luZm8oc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNw ID0gJmNvbm5lY3Rvci0+aGRjcDsKKwl1bmlvbiB7CisJCXN0cnVjdCBoZGNwMl9yZXBfc3RyZWFt X21hbmFnZSBzdHJlYW1fbWFuYWdlOworCQlzdHJ1Y3QgaGRjcDJfcmVwX3N0cmVhbV9yZWFkeSBz dHJlYW1fcmVhZHk7CisJfSBtc2dzOworCWNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNo aW0gPSBoZGNwLT5zaGltOworCWludCByZXQ7CisKKwkvKiBQcmVwYXJlIFJlcGVhdGVyQXV0aF9T dHJlYW1fTWFuYWdlIG1zZyAqLworCW1zZ3Muc3RyZWFtX21hbmFnZS5tc2dfaWQgPSBIRENQXzJf Ml9SRVBfU1RSRUFNX01BTkFHRTsKKwlkcm1faGRjcDJfdTMyX3RvX3NlcV9udW0obXNncy5zdHJl YW1fbWFuYWdlLnNlcV9udW1fbSwgaGRjcC0+c2VxX251bV9tKTsKKworCS8qIEsgbm8gb2Ygc3Ry ZWFtcyBpcyBmaXhlZCBhcyAxLiBTdG9yZWQgYXMgYmlnLWVuZGlhbi4gKi8KKwltc2dzLnN0cmVh bV9tYW5hZ2UuayA9IF9fc3dhYjE2KDEpOworCisJLyogRm9yIEhETUkgdGhpcyBpcyBmb3JjZWQg dG8gYmUgMHgwLiBGb3IgRFAgU1NUIGFsc28gdGhpcyBpcyAweDAuICovCisJbXNncy5zdHJlYW1f bWFuYWdlLnN0cmVhbXNbMF0uc3RyZWFtX2lkID0gMDsKKwltc2dzLnN0cmVhbV9tYW5hZ2Uuc3Ry ZWFtc1swXS5zdHJlYW1fdHlwZSA9IGhkY3AtPmNvbnRlbnRfdHlwZTsKKworCS8qIFNlbmQgaXQg dG8gUmVwZWF0ZXIgKi8KKwlyZXQgPSBzaGltLT53cml0ZV8yXzJfbXNnKGludGVsX2RpZ19wb3J0 LCAmbXNncy5zdHJlYW1fbWFuYWdlLAorCQkJCSAgc2l6ZW9mKG1zZ3Muc3RyZWFtX21hbmFnZSkp OworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gc2hpbS0+cmVhZF8yXzJf bXNnKGludGVsX2RpZ19wb3J0LCBIRENQXzJfMl9SRVBfU1RSRUFNX1JFQURZLAorCQkJCSAmbXNn cy5zdHJlYW1fcmVhZHksIHNpemVvZihtc2dzLnN0cmVhbV9yZWFkeSkpOworCWlmIChyZXQgPCAw KQorCQlyZXR1cm4gcmV0OworCisJaGRjcC0+cG9ydF9kYXRhLnNlcV9udW1fbSA9IGhkY3AtPnNl cV9udW1fbTsKKwloZGNwLT5wb3J0X2RhdGEuc3RyZWFtc1swXS5zdHJlYW1fdHlwZSA9IGhkY3At PmNvbnRlbnRfdHlwZTsKKworCXJldCA9IGhkY3AyX3ZlcmlmeV9tcHJpbWUoY29ubmVjdG9yLCAm bXNncy5zdHJlYW1fcmVhZHkpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJaGRj cC0+c2VxX251bV9tKys7CisKKwlpZiAoaGRjcC0+c2VxX251bV9tID4gSERDUF8yXzJfU0VRX05V TV9NQVgpIHsKKwkJRFJNX0RFQlVHX0tNUygic2VxX251bV9tIHJvbGwgb3Zlci5cbiIpOworCQly ZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYworaW50IGhkY3AyX2F1dGhl bnRpY2F0ZV9yZXBlYXRlcl90b3BvbG9neShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCit7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25u X3RvX2RpZ19wb3J0KGNvbm5lY3Rvcik7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29u bmVjdG9yLT5oZGNwOworCXVuaW9uIHsKKwkJc3RydWN0IGhkY3AyX3JlcF9zZW5kX3JlY2VpdmVy aWRfbGlzdCByZWN2aWRfbGlzdDsKKwkJc3RydWN0IGhkY3AyX3JlcF9zZW5kX2FjayByZXBfYWNr OworCX0gbXNnczsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpzaGltID0gaGRjcC0+ c2hpbTsKKwl1OCAqcnhfaW5mbzsKKwl1MzIgc2VxX251bV92OworCWludCByZXQ7CisKKwlyZXQg PSBzaGltLT5yZWFkXzJfMl9tc2coaW50ZWxfZGlnX3BvcnQsIEhEQ1BfMl8yX1JFUF9TRU5EX1JF Q1ZJRF9MSVNULAorCQkJCSAmbXNncy5yZWN2aWRfbGlzdCwgc2l6ZW9mKG1zZ3MucmVjdmlkX2xp c3QpKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJ4X2luZm8gPSBtc2dzLnJl Y3ZpZF9saXN0LnJ4X2luZm87CisKKwlpZiAoSERDUF8yXzJfTUFYX0NBU0NBREVfRVhDRUVERUQo cnhfaW5mb1sxXSkgfHwKKwkgICAgSERDUF8yXzJfTUFYX0RFVlNfRVhDRUVERUQocnhfaW5mb1sx XSkpIHsKKwkJRFJNX0RFQlVHX0tNUygiVG9wb2xvZ3kgTWF4IFNpemUgRXhjZWVkZWRcbiIpOwor CQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBDb252ZXJ0aW5nIGFuZCBTdG9yaW5nIHRoZSBz ZXFfbnVtX3YgdG8gbG9jYWwgdmFyaWFibGUgYXMgRFdPUkQgKi8KKwlkcm1faGRjcDJfc2VxX251 bV90b191MzIoJnNlcV9udW1fdiwgbXNncy5yZWN2aWRfbGlzdC5zZXFfbnVtX3YpOworCisJaWYg KHNlcV9udW1fdiA8IGhkY3AtPnNlcV9udW1fdikgeworCQkvKiBSb2xsIG92ZXIgb2YgdGhlIHNl cV9udW1fdiBmcm9tIHJlcGVhdGVyLiBSZWF1dGhlbnRpY2F0ZS4gKi8KKwkJRFJNX0RFQlVHX0tN UygiU2VxX251bV92IHJvbGwgb3Zlci5cbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwly ZXQgPSBoZGNwMl92ZXJpZnlfcmVwX3RvcG9sb2d5X3ByZXBhcmVfYWNrKGNvbm5lY3RvciwKKwkJ CQkJCSAgICAmbXNncy5yZWN2aWRfbGlzdCwKKwkJCQkJCSAgICAmbXNncy5yZXBfYWNrKTsKKwlp ZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWhkY3AtPnNlcV9udW1fdiA9IHNlcV9udW1f djsKKwlyZXQgPSBzaGltLT53cml0ZV8yXzJfbXNnKGludGVsX2RpZ19wb3J0LCAmbXNncy5yZXBf YWNrLAorCQkJCSAgc2l6ZW9mKG1zZ3MucmVwX2FjaykpOworCWlmIChyZXQgPCAwKQorCQlyZXR1 cm4gcmV0OworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGRjcDJfYXV0aGVudGljYXRl X3JlcGVhdGVyKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlpbnQgcmV0 OworCisJcmV0ID0gaGRjcDJfYXV0aGVudGljYXRlX3JlcGVhdGVyX3RvcG9sb2d5KGNvbm5lY3Rv cik7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gaGRjcDJfcHJvcGFn YXRlX3N0cmVhbV9tYW5hZ2VtZW50X2luZm8oY29ubmVjdG9yKTsKK30KKwogc3RhdGljIGludCBo ZGNwMl9hdXRoZW50aWNhdGVfc2luayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip CiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25uX3Rv X2RpZ19wb3J0KGNvbm5lY3Rvcik7CkBAIC0xMjIzLDYgKzEzMzYsMTIgQEAgc3RhdGljIGludCBo ZGNwMl9hdXRoZW50aWNhdGVfc2luayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip CiAJCQkJCSAgICAgICBzaXplb2Yoc3RyZWFtX3R5cGVfbXNnKSk7CiAJCWlmIChyZXQgPCAwKQog CQkJcmV0dXJuIHJldDsKKwl9IGVsc2UgaWYgKGhkY3AtPmlzX3JlcGVhdGVyKSB7CisJCXJldCA9 IGhkY3AyX2F1dGhlbnRpY2F0ZV9yZXBlYXRlcihjb25uZWN0b3IpOworCQlpZiAocmV0IDwgMCkg eworCQkJRFJNX0RFQlVHX0tNUygiUmVwZWF0ZXIgQXV0aCBGYWlsZWQuIEVycjogJWRcbiIsIHJl dCk7CisJCQlyZXR1cm4gcmV0OworCQl9CiAJfQogCiAJaGRjcC0+cG9ydF9kYXRhLnN0cmVhbXNb MF0uc3RyZWFtX3R5cGUgPSBoZGNwLT5jb250ZW50X3R5cGU7Ci0tIAoyLjcuNAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==