From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v14 01/35] drm/i915: Gathering the HDCP1.4 routines together Date: Fri, 15 Feb 2019 14:04:56 +0530 Message-ID: <1550219730-17734-2-git-send-email-ramalingam.c@intel.com> References: <1550219730-17734-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: <1550219730-17734-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: intel-gfx@lists.freedesktop.org QWxsIEhEQ1AxLjQgcm91dGluZXMgYXJlIGdhdGhlcmVkIHRvZ2V0aGVyLCBmb2xsb3dlZCBieSB0 aGUgZ2VuZXJpYwpmdW5jdGlvbnMgdGhvc2UgY2FuIGJlIGV4dGVuZGVkIGZvciBIRENQMi4yIHRv by4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4K QWNrZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClJldmlld2Vk LWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVG9t YXMgV2lua2xlciA8dG9tYXMud2lua2xlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRjcC5jIHwgMTE4ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCmluZGV4IGNlN2JhM2E5YzAwMC4uOGNiODViMDdj ZmRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCkBAIC03MzAsNiArNzMwLDY1IEBAIHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2hkY3BfdG9fY29ubmVjdG9yKHN0cnVjdCBpbnRl bF9oZGNwICpoZGNwKQogCXJldHVybiBjb250YWluZXJfb2YoaGRjcCwgc3RydWN0IGludGVsX2Nv bm5lY3RvciwgaGRjcCk7CiB9CiAKKy8qIEltcGxlbWVudHMgUGFydCAzIG9mIHRoZSBIRENQIGF1 dGhvcml6YXRpb24gcHJvY2VkdXJlICovCitpbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRj cCA9ICZjb25uZWN0b3ItPmhkY3A7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gY29ubmVjdG9yLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25uX3RvX2RpZ19wb3J0KGNvbm5lY3Rvcik7CisJ ZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OworCWludCByZXQgPSAw OworCisJaWYgKCFoZGNwLT5zaGltKQorCQlyZXR1cm4gLUVOT0VOVDsKKworCW11dGV4X2xvY2so JmhkY3AtPm11dGV4KTsKKworCWlmIChoZGNwLT52YWx1ZSA9PSBEUk1fTU9ERV9DT05URU5UX1BS T1RFQ1RJT05fVU5ERVNJUkVEKQorCQlnb3RvIG91dDsKKworCWlmICghKEk5MTVfUkVBRChQT1JU X0hEQ1BfU1RBVFVTKHBvcnQpKSAmIEhEQ1BfU1RBVFVTX0VOQykpIHsKKwkJRFJNX0VSUk9SKCIl czolZCBIRENQIGNoZWNrIGZhaWxlZDogbGluayBpcyBub3QgZW5jcnlwdGVkLCV4XG4iLAorCQkJ ICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCisJCQkgIEk5 MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSk7CisJCXJldCA9IC1FTlhJTzsKKwkJaGRj cC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1 bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGhkY3At PnNoaW0tPmNoZWNrX2xpbmsoaW50ZWxfZGlnX3BvcnQpKSB7CisJCWlmIChoZGNwLT52YWx1ZSAh PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7CisJCQloZGNwLT52YWx1 ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEOworCQkJc2NoZWR1bGVfd29y aygmaGRjcC0+cHJvcF93b3JrKTsKKwkJfQorCQlnb3RvIG91dDsKKwl9CisKKwlEUk1fREVCVUdf S01TKCJbJXM6JWRdIEhEQ1AgbGluayBmYWlsZWQsIHJldHJ5aW5nIGF1dGhlbnRpY2F0aW9uXG4i LAorCQkgICAgICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQp OworCisJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOworCWlmIChyZXQpIHsK KwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZGlzYWJsZSBoZGNwICglZClcbiIsIHJldCk7CisJCWhk Y3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVk dWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IF9p bnRlbF9oZGNwX2VuYWJsZShjb25uZWN0b3IpOworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKKwkJaGRjcC0+dmFsdWUgPSBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+ cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZoZGNw LT5tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHZvaWQgaW50ZWxfaGRjcF9jaGVj a193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgaW50ZWxfaGRjcCAq aGRjcCA9IGNvbnRhaW5lcl9vZih0b19kZWxheWVkX3dvcmsod29yayksCkBAIC04NjYsNjIgKzky NSwzIEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvciwKIAkJCQkJCSAgIG5ld19zdGF0ZS0+Y3J0Yyk7CiAJY3J0Y19zdGF0ZS0+bW9k ZV9jaGFuZ2VkID0gdHJ1ZTsKIH0KLQotLyogSW1wbGVtZW50cyBQYXJ0IDMgb2YgdGhlIEhEQ1Ag YXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KLWludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0cnVjdCBpbnRlbF9oZGNwICpo ZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsK LQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7Ci0JaW50IHJldCA9 IDA7Ci0KLQlpZiAoIWhkY3AtPnNoaW0pCi0JCXJldHVybiAtRU5PRU5UOwotCi0JbXV0ZXhfbG9j aygmaGRjcC0+bXV0ZXgpOwotCi0JaWYgKGhkY3AtPnZhbHVlID09IERSTV9NT0RFX0NPTlRFTlRf UFJPVEVDVElPTl9VTkRFU0lSRUQpCi0JCWdvdG8gb3V0OwotCi0JaWYgKCEoSTkxNV9SRUFEKFBP UlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFUVVNfRU5DKSkgewotCQlEUk1fRVJST1Io IiVzOiVkIEhEQ1AgY2hlY2sgZmFpbGVkOiBsaW5rIGlzIG5vdCBlbmNyeXB0ZWQsJXhcbiIsCi0J CQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwKLQkJCSAg STkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpKTsKLQkJcmV0ID0gLUVOWElPOwotCQlo ZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOwotCQlzY2hl ZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAoaGRj cC0+c2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsKLQkJaWYgKGhkY3AtPnZhbHVl ICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpIHsKLQkJCWhkY3AtPnZh bHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQ7Ci0JCQlzY2hlZHVsZV93 b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQl9Ci0JCWdvdG8gb3V0OwotCX0KLQotCURSTV9ERUJV R19LTVMoIlslczolZF0gSERDUCBsaW5rIGZhaWxlZCwgcmV0cnlpbmcgYXV0aGVudGljYXRpb25c biIsCi0JCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5p ZCk7Ci0KLQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5lY3Rvcik7Ci0JaWYgKHJldCkg ewotCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKLQkJ aGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKLQkJc2No ZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JcmV0ID0g X2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7Ci0JaWYgKHJldCkgewotCQlEUk1fREVCVUdf S01TKCJGYWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKLQkJaGRjcC0+dmFsdWUg PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKLQkJc2NoZWR1bGVfd29yaygm aGRjcC0+cHJvcF93b3JrKTsKLQkJZ290byBvdXQ7Ci0JfQotCi1vdXQ6Ci0JbXV0ZXhfdW5sb2Nr KCZoZGNwLT5tdXRleCk7Ci0JcmV0dXJuIHJldDsKLX0KLS0gCjIuNy40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=