From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v9 01/39] drm/i915: Gathering the HDCP1.4 routines together Date: Thu, 13 Dec 2018 09:31:03 +0530 Message-ID: <1544673701-6353-2-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 QWxsIEhEQ1AxLjQgcm91dGluZXMgYXJlIGdhdGhlcmVkIHRvZ2V0aGVyLCBmb2xsb3dlZCBieSB0 aGUgZ2VuZXJpYwpmdW5jdGlvbnMgdGhvc2UgY2FuIGJlIGV4dGVuZGVkIGZvciBIRENQMi4yIHRv by4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCAxMTggKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25z KCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKaW5kZXggZTAw MGU1NGFkNTY5Li41MDZiNGNjNmY0NmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAg LTczMSw2ICs3MzEsNjUgQEAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfaGRjcF90b19j b25uZWN0b3Ioc3RydWN0IGludGVsX2hkY3AgKmhkY3ApCiAJcmV0dXJuIGNvbnRhaW5lcl9vZiho ZGNwLCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLCBoZGNwKTsKIH0KIAorLyogSW1wbGVtZW50cyBQ YXJ0IDMgb2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KK2ludCBpbnRlbF9o ZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsK KwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGln X3BvcnQoY29ubmVjdG9yKTsKKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNl LnBvcnQ7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWhkY3AtPnNoaW0pCisJCXJldHVybiAtRU5P RU5UOworCisJbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOworCisJaWYgKGhkY3AtPnZhbHVlID09 IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCisJCWdvdG8gb3V0OworCisJ aWYgKCEoSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFUVVNfRU5D KSkgeworCQlEUk1fRVJST1IoIiVzOiVkIEhEQ1AgY2hlY2sgZmFpbGVkOiBsaW5rIGlzIG5vdCBl bmNyeXB0ZWQsJXhcbiIsCisJCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJh c2UuYmFzZS5pZCwKKwkJCSAgSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpKTsKKwkJ cmV0ID0gLUVOWElPOworCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQlnb3RvIG91 dDsKKwl9CisKKwlpZiAoaGRjcC0+c2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsK KwkJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lS RUQpIHsKKwkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJM RUQ7CisJCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQl9CisJCWdvdG8gb3V0 OworCX0KKworCURSTV9ERUJVR19LTVMoIlslczolZF0gSERDUCBsaW5rIGZhaWxlZCwgcmV0cnlp bmcgYXV0aGVudGljYXRpb25cbiIsCisJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25u ZWN0b3ItPmJhc2UuYmFzZS5pZCk7CisKKwlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5l Y3Rvcik7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlIGhkY3Ag KCVkKVxuIiwgcmV0KTsKKwkJaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJ T05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKKwkJZ290byBv dXQ7CisJfQorCisJcmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7CisJaWYgKHJl dCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBlbmFibGUgaGRjcCAoJWQpXG4iLCByZXQpOwor CQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlz Y2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQlnb3RvIG91dDsKKwl9CisKK291dDoK KwltdXRleF91bmxvY2soJmhkY3AtPm11dGV4KTsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMg dm9pZCBpbnRlbF9oZGNwX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewog CXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3 b3JrKSwKQEAgLTg2Nyw2MiArOTI2LDMgQEAgdm9pZCBpbnRlbF9oZGNwX2F0b21pY19jaGVjayhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQkJICAgbmV3X3N0YXRlLT5jcnRj KTsKIAljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwogfQotCi0vKiBJbXBsZW1lbnRz IFBhcnQgMyBvZiB0aGUgSERDUCBhdXRob3JpemF0aW9uIHByb2NlZHVyZSAqLwotaW50IGludGVs X2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCi17Ci0J c3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+YmFzZS5kZXYtPmRldl9wcml2YXRl OwotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19k aWdfcG9ydChjb25uZWN0b3IpOwotCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UucG9ydDsKLQlpbnQgcmV0ID0gMDsKLQotCWlmICghaGRjcC0+c2hpbSkKLQkJcmV0dXJuIC1F Tk9FTlQ7Ci0KLQltdXRleF9sb2NrKCZoZGNwLT5tdXRleCk7Ci0KLQlpZiAoaGRjcC0+dmFsdWUg PT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkKLQkJZ290byBvdXQ7Ci0K LQlpZiAoIShJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkgJiBIRENQX1NUQVRVU19F TkMpKSB7Ci0JCURSTV9FUlJPUigiJXM6JWQgSERDUCBjaGVjayBmYWlsZWQ6IGxpbmsgaXMgbm90 IGVuY3J5cHRlZCwleFxuIiwKLQkJCSAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+ YmFzZS5iYXNlLmlkLAotCQkJICBJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkpOwot CQlyZXQgPSAtRU5YSU87Ci0JCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNU SU9OX0RFU0lSRUQ7Ci0JCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7Ci0JCWdvdG8g b3V0OwotCX0KLQotCWlmIChoZGNwLT5zaGltLT5jaGVja19saW5rKGludGVsX2RpZ19wb3J0KSkg ewotCQlpZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVT SVJFRCkgewotCQkJaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5B QkxFRDsKLQkJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7Ci0JCX0KLQkJZ290byBv dXQ7Ci0JfQotCi0JRFJNX0RFQlVHX0tNUygiWyVzOiVkXSBIRENQIGxpbmsgZmFpbGVkLCByZXRy eWluZyBhdXRoZW50aWNhdGlvblxuIiwKLQkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNv bm5lY3Rvci0+YmFzZS5iYXNlLmlkKTsKLQotCXJldCA9IF9pbnRlbF9oZGNwX2Rpc2FibGUoY29u bmVjdG9yKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9FUlJPUigiRmFpbGVkIHRvIGRpc2FibGUgaGRj cCAoJWQpXG4iLCByZXQpOwotCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVD VElPTl9ERVNJUkVEOwotCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQlnb3Rv IG91dDsKLQl9Ci0KLQlyZXQgPSBfaW50ZWxfaGRjcF9lbmFibGUoY29ubmVjdG9yKTsKLQlpZiAo cmV0KSB7Ci0JCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBlbmFibGUgaGRjcCAoJWQpXG4iLCBy ZXQpOwotCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVE OwotCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQlnb3RvIG91dDsKLQl9Ci0K LW91dDoKLQltdXRleF91bmxvY2soJmhkY3AtPm11dGV4KTsKLQlyZXR1cm4gcmV0OwotfQotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=