From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v10 03/40] drm/i915: Gathering the HDCP1.4 routines together Date: Thu, 31 Jan 2019 12:29:19 +0530 Message-ID: <1548917996-28081-4-git-send-email-ramalingam.c@intel.com> References: <1548917996-28081-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: <1548917996-28081-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+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgMTE4ICsrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgNTkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRj cC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCmluZGV4IGNlN2JhM2E5YzAw MC4uOGNiODViMDdjZmRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZGNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCkBAIC03MzAsNiAr NzMwLDY1IEBAIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2hkY3BfdG9fY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9oZGNwICpoZGNwKQogCXJldHVybiBjb250YWluZXJfb2YoaGRjcCwgc3Ry dWN0IGludGVsX2Nvbm5lY3RvciwgaGRjcCk7CiB9CiAKKy8qIEltcGxlbWVudHMgUGFydCAzIG9m IHRoZSBIRENQIGF1dGhvcml6YXRpb24gcHJvY2VkdXJlICovCitpbnQgaW50ZWxfaGRjcF9jaGVj a19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50 ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25uX3RvX2RpZ19wb3J0KGNv bm5lY3Rvcik7CisJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0Owor CWludCByZXQgPSAwOworCisJaWYgKCFoZGNwLT5zaGltKQorCQlyZXR1cm4gLUVOT0VOVDsKKwor CW11dGV4X2xvY2soJmhkY3AtPm11dGV4KTsKKworCWlmIChoZGNwLT52YWx1ZSA9PSBEUk1fTU9E RV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKQorCQlnb3RvIG91dDsKKworCWlmICghKEk5 MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSAmIEhEQ1BfU1RBVFVTX0VOQykpIHsKKwkJ RFJNX0VSUk9SKCIlczolZCBIRENQIGNoZWNrIGZhaWxlZDogbGluayBpcyBub3QgZW5jcnlwdGVk LCV4XG4iLAorCQkJICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2Uu aWQsCisJCQkgIEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSk7CisJCXJldCA9IC1F TlhJTzsKKwkJaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJF RDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQor CisJaWYgKGhkY3AtPnNoaW0tPmNoZWNrX2xpbmsoaW50ZWxfZGlnX3BvcnQpKSB7CisJCWlmICho ZGNwLT52YWx1ZSAhPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7CisJ CQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEOworCQkJ c2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKKwkJfQorCQlnb3RvIG91dDsKKwl9CisK KwlEUk1fREVCVUdfS01TKCJbJXM6JWRdIEhEQ1AgbGluayBmYWlsZWQsIHJldHJ5aW5nIGF1dGhl bnRpY2F0aW9uXG4iLAorCQkgICAgICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5i YXNlLmJhc2UuaWQpOworCisJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOwor CWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZGlzYWJsZSBoZGNwICglZClcbiIs IHJldCk7CisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lS RUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdvdG8gb3V0OworCX0K KworCXJldCA9IF9pbnRlbF9oZGNwX2VuYWJsZShjb25uZWN0b3IpOworCWlmIChyZXQpIHsKKwkJ RFJNX0VSUk9SKCJGYWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKKwkJaGRjcC0+ dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVf d29yaygmaGRjcC0+cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJbXV0ZXhf dW5sb2NrKCZoZGNwLT5tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHZvaWQgaW50 ZWxfaGRjcF9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3Qg aW50ZWxfaGRjcCAqaGRjcCA9IGNvbnRhaW5lcl9vZih0b19kZWxheWVkX3dvcmsod29yayksCkBA IC04NjYsNjIgKzkyNSwzIEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkJCSAgIG5ld19zdGF0ZS0+Y3J0Yyk7CiAJY3J0 Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKIH0KLQotLyogSW1wbGVtZW50cyBQYXJ0IDMg b2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KLWludCBpbnRlbF9oZGNwX2No ZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0cnVjdCBp bnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQo Y29ubmVjdG9yKTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7 Ci0JaW50IHJldCA9IDA7Ci0KLQlpZiAoIWhkY3AtPnNoaW0pCi0JCXJldHVybiAtRU5PRU5UOwot Ci0JbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOwotCi0JaWYgKGhkY3AtPnZhbHVlID09IERSTV9N T0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCi0JCWdvdG8gb3V0OwotCi0JaWYgKCEo STkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFUVVNfRU5DKSkgewot CQlEUk1fRVJST1IoIiVzOiVkIEhEQ1AgY2hlY2sgZmFpbGVkOiBsaW5rIGlzIG5vdCBlbmNyeXB0 ZWQsJXhcbiIsCi0JCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFz ZS5pZCwKLQkJCSAgSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpKTsKLQkJcmV0ID0g LUVOWElPOwotCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJ UkVEOwotCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQlnb3RvIG91dDsKLQl9 Ci0KLQlpZiAoaGRjcC0+c2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsKLQkJaWYg KGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpIHsK LQkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQ7Ci0J CQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOwotCQl9Ci0JCWdvdG8gb3V0OwotCX0K LQotCURSTV9ERUJVR19LTVMoIlslczolZF0gSERDUCBsaW5rIGZhaWxlZCwgcmV0cnlpbmcgYXV0 aGVudGljYXRpb25cbiIsCi0JCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3It PmJhc2UuYmFzZS5pZCk7Ci0KLQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5lY3Rvcik7 Ci0JaWYgKHJldCkgewotCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlIGhkY3AgKCVkKVxu IiwgcmV0KTsKLQkJaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVT SVJFRDsKLQkJc2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKLQkJZ290byBvdXQ7Ci0J fQotCi0JcmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7Ci0JaWYgKHJldCkgewot CQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVkKVxuIiwgcmV0KTsKLQkJ aGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKLQkJc2No ZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKLQkJZ290byBvdXQ7Ci0JfQotCi1vdXQ6Ci0J bXV0ZXhfdW5sb2NrKCZoZGNwLT5tdXRleCk7Ci0JcmV0dXJuIHJldDsKLX0KLS0gCjIuNy40Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK