From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v4 24/41] drm/i915: Implement HDCP2.2 repeater authentication Date: Mon, 21 May 2018 18:23:43 +0530 Message-ID: <1526907240-17639-25-git-send-email-ramalingam.c@intel.com> References: <1526907240-17639-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: <1526907240-17639-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: alexander.usyskin@intel.com, uma.shankar@intel.com, tomas.winkler@intel.com List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgSERDUDIuMiByZXBlYXRlcnMgYXV0aGVudGljYXRpb24gc3RlcHMgc3Vj aCBhcyB2ZXJpZnlpbmcKdGhlIGRvd25zdHJlYW0gdG9wb2xvZ3kgYW5kIHNlbmRpbmcgc3RyZWFt IG1hbmFnZW1lbnQgaW5mb3JtYXRpb24uCgp2MjoKICBSZWJhc2VkLgp2MzoKICBObyBDaGFuZ2Vz Lgp2NDoKICAtRUlOVkFMIGlzIHJldHVybmVkIGZvciB0b3BvbG9neSBlcnJvciBhbmQgcm9sbG92 ZXIgc2NlbmFyaW8uCiAgRW5kaWFubmVzcyBjb252ZXJzaW9uIGZ1bmMgZnJvbSBkcm1faGRjcC5o IGlzIHVzZWQgW1VtYV0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5j QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCAxMjAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAx MjAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBmYTVjYmFk OGFmYzYuLmJkMGJmY2ZkNWI4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTIy Niw2ICsxMjI2LDEyMCBAQCBzdGF0aWMgaW50IGhkY3AyX3Nlc3Npb25fa2V5X2V4Y2hhbmdlKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGlj CitpbnQgaGRjcDJfcHJvcGFnYXRlX3N0cmVhbV9tYW5hZ2VtZW50X2luZm8oc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOworCXN0cnVjdCBpbnRl bF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwl1bmlvbiB7CisJCXN0cnVjdCBoZGNw Ml9yZXBfc3RyZWFtX21hbmFnZSBzdHJlYW1fbWFuYWdlOworCQlzdHJ1Y3QgaGRjcDJfcmVwX3N0 cmVhbV9yZWFkeSBzdHJlYW1fcmVhZHk7CisJfSBtc2dzOworCWNvbnN0IHN0cnVjdCBpbnRlbF9o ZGNwX3NoaW0gKnNoaW0gPSBoZGNwLT5oZGNwX3NoaW07CisJaW50IHJldDsKKworCS8qIFByZXBh cmUgUmVwZWF0ZXJBdXRoX1N0cmVhbV9NYW5hZ2UgbXNnICovCisJbXNncy5zdHJlYW1fbWFuYWdl Lm1zZ19pZCA9IEhEQ1BfMl8yX1JFUF9TVFJFQU1fTUFOQUdFOworCXJldmVyc2VfZW5kaWFubmVz cyhtc2dzLnN0cmVhbV9tYW5hZ2Uuc2VxX251bV9tLCBIRENQXzJfMl9TRVFfTlVNX0xFTiwKKwkJ CSAgICh1OCAqKSZoZGNwLT5zZXFfbnVtX20pOworCisJLyogSyBubyBvZiBzdHJlYW1zIGlzIGZp eGVkIGFzIDEuIFN0b3JlZCBhcyBiaWctZW5kaWFuLiAqLworCW1zZ3Muc3RyZWFtX21hbmFnZS5r ID0gX19zd2FiMTYoMSk7CisKKwkvKiBGb3IgSERNSSB0aGlzIGlzIGZvcmNlZCB0byBiZSAweDAu IEZvciBEUCBTU1QgYWxzbyB0aGlzIGlzIDB4MC4gKi8KKwltc2dzLnN0cmVhbV9tYW5hZ2Uuc3Ry ZWFtc1swXS5zdHJlYW1faWQgPSAwOworCW1zZ3Muc3RyZWFtX21hbmFnZS5zdHJlYW1zWzBdLnN0 cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOworCisJLyogU2VuZCBpdCB0byBSZXBlYXRl ciAqLworCXJldCA9IHNoaW0tPndyaXRlXzJfMl9tc2coaW50ZWxfZGlnX3BvcnQsICZtc2dzLnN0 cmVhbV9tYW5hZ2UsCisJCQkJICBzaXplb2YobXNncy5zdHJlYW1fbWFuYWdlKSk7CisJaWYgKHJl dCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyZXQgPSBzaGltLT5yZWFkXzJfMl9tc2coaW50ZWxf ZGlnX3BvcnQsIEhEQ1BfMl8yX1JFUF9TVFJFQU1fUkVBRFksCisJCQkJICZtc2dzLnN0cmVhbV9y ZWFkeSwgc2l6ZW9mKG1zZ3Muc3RyZWFtX3JlYWR5KSk7CisJaWYgKHJldCA8IDApCisJCXJldHVy biByZXQ7CisKKwloZGNwLT5tZWlfZGF0YS5zZXFfbnVtX20gPSBoZGNwLT5zZXFfbnVtX207CisJ aGRjcC0+bWVpX2RhdGEuc3RyZWFtc1swXS5zdHJlYW1fdHlwZSA9IGhkY3AtPmNvbnRlbnRfdHlw ZTsKKworCXJldCA9IGhkY3AyX3ZlcmlmeV9tcHJpbWUoaGRjcCwJJm1zZ3Muc3RyZWFtX3JlYWR5 KTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWhkY3AtPnNlcV9udW1fbSsrOwor CisJaWYgKGhkY3AtPnNlcV9udW1fbSA+IEhEQ1BfMl8yX1NFUV9OVU1fTUFYKSB7CisJCURSTV9E RUJVR19LTVMoInNlcV9udW1fbSByb2xsIG92ZXIuXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKwor CXJldHVybiAwOworfQorCitzdGF0aWMKK2ludCBoZGNwMl9hdXRoZW50aWNhdGVfcmVwZWF0ZXJf dG9wb2xvZ3koc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19kaWdfcG9ydChjb25u ZWN0b3IpOworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwl1 bmlvbiB7CisJCXN0cnVjdCBoZGNwMl9yZXBfc2VuZF9yZWNlaXZlcmlkX2xpc3QgcmVjdmlkX2xp c3Q7CisJCXN0cnVjdCBoZGNwMl9yZXBfc2VuZF9hY2sgcmVwX2FjazsKKwl9IG1zZ3M7CisJY29u c3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSA9IGhkY3AtPmhkY3Bfc2hpbTsKKwl1aW50 OF90ICpyeF9pbmZvOworCXVpbnQzMl90IHNlcV9udW1fdjsKKwlpbnQgcmV0OworCisJcmV0ID0g c2hpbS0+cmVhZF8yXzJfbXNnKGludGVsX2RpZ19wb3J0LCBIRENQXzJfMl9SRVBfU0VORF9SRUNW SURfTElTVCwKKwkJCQkgJm1zZ3MucmVjdmlkX2xpc3QsIHNpemVvZihtc2dzLnJlY3ZpZF9saXN0 KSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyeF9pbmZvID0gbXNncy5yZWN2 aWRfbGlzdC5yeF9pbmZvOworCisJaWYgKEhEQ1BfMl8yX01BWF9DQVNDQURFX0VYQ0VFREVEKHJ4 X2luZm9bMV0pIHx8CisJICAgIEhEQ1BfMl8yX01BWF9ERVZTX0VYQ0VFREVEKHJ4X2luZm9bMV0p KSB7CisJCURSTV9ERUJVR19LTVMoIlRvcG9sb2d5IE1heCBTaXplIEV4Y2VlZGVkXG4iKTsKKwkJ cmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogQ29udmVydGluZyBhbmQgU3RvcmluZyB0aGUgc2Vx X251bV92IHRvIGxvY2FsIHZhcmlhYmxlIGFzIERXT1JEICovCisJcmV2ZXJzZV9lbmRpYW5uZXNz KCh1OCAqKSZzZXFfbnVtX3YsIEhEQ1BfMl8yX1NFUV9OVU1fTEVOLAorCQkJICAgbXNncy5yZWN2 aWRfbGlzdC5zZXFfbnVtX3YpOworCisJaWYgKHNlcV9udW1fdiA8IGhkY3AtPnNlcV9udW1fdikg eworCQkvKiBSb2xsIG92ZXIgb2YgdGhlIHNlcV9udW1fdiBmcm9tIHJlcGVhdGVyLiBSZWF1dGhl bnRpY2F0ZS4gKi8KKwkJRFJNX0RFQlVHX0tNUygiU2VxX251bV92IHJvbGwgb3Zlci5cbiIpOwor CQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXQgPSBoZGNwMl92ZXJpZnlfcmVwX3RvcG9sb2d5 X3ByZXBhcmVfYWNrKGhkY3AsICZtc2dzLnJlY3ZpZF9saXN0LAorCQkJCQkJICAgICZtc2dzLnJl cF9hY2spOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJaGRjcC0+c2VxX251bV92 ID0gc2VxX251bV92OworCXJldCA9IHNoaW0tPndyaXRlXzJfMl9tc2coaW50ZWxfZGlnX3BvcnQs ICZtc2dzLnJlcF9hY2ssCisJCQkJICBzaXplb2YobXNncy5yZXBfYWNrKSk7CisJaWYgKHJldCA8 IDApCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoZGNwMl9h dXRoZW50aWNhdGVfcmVwZWF0ZXIoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQor eworCWludCByZXQ7CisKKwlyZXQgPSBoZGNwMl9hdXRoZW50aWNhdGVfcmVwZWF0ZXJfdG9wb2xv Z3koY29ubmVjdG9yKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBo ZGNwMl9wcm9wYWdhdGVfc3RyZWFtX21hbmFnZW1lbnRfaW5mbyhjb25uZWN0b3IpOworfQorCiBz dGF0aWMgaW50IGhkY3AyX2F1dGhlbnRpY2F0ZV9zaW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKQEAgLTEyNjgsNiArMTM4MiwxMiBAQCBz dGF0aWMgaW50IGhkY3AyX2F1dGhlbnRpY2F0ZV9zaW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIAkJCQkJICAgICAgIHNpemVvZihzdHJlYW1fdHlwZV9tc2cpKTsKIAkJaWYg KHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OworCX0gZWxzZSBpZiAoaGRjcC0+aXNfcmVwZWF0ZXIp IHsKKwkJcmV0ID0gaGRjcDJfYXV0aGVudGljYXRlX3JlcGVhdGVyKGNvbm5lY3Rvcik7CisJCWlm IChyZXQgPCAwKSB7CisJCQlEUk1fREVCVUdfS01TKCJSZXBlYXRlciBBdXRoIEZhaWxlZC4gRXJy OiAlZFxuIiwgcmV0KTsKKwkJCXJldHVybiByZXQ7CisJCX0KIAl9CiAKIAloZGNwLT5tZWlfZGF0 YS5zdHJlYW1zWzBdLnN0cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOwotLSAKMi43LjQK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=