From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v10 07/40] drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking Date: Thu, 31 Jan 2019 12:29:23 +0530 Message-ID: <1548917996-28081-8-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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: dri-devel@lists.freedesktop.org ImhkY3BfZW5jcnlwdGVkIiBmbGFnIGlzIGRlZmluZWQgdG8gZGVub3RlIHRoZSBIRENQMS40IGVu Y3J5cHRpb24gc3RhdHVzLgpUaGlzIFNXIHRyYWNraW5nIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRo ZSBuZWVkIGZvciByZWFsIGhkY3AxLjQgZGlzYWJsZQphbmQgaGRjcF9jaGVja19saW5rIHVwb24g Q1BfSVJRLgoKT24gQ1BfSVJRIHdlIGZpbHRlciB0aGUgQ1BfSVJRIHJlbGF0ZWQgdG8gdGhlIHN0 YXRlcyBsaWtlIExpbmsgZmFpbHVyZQphbmQgcmVhdXRoZW50aWNhdGlvbiByZXEgZXRjIGFuZCBo YW5kbGUgdGhlbSBpbiBoZGNwX2NoZWNrX2xpbmsuCkNQX0lSUSBjb3JyZXNwb25kaW5nIHRvIHRo ZSBhdXRoZW50aWNhdGlvbiBtc2cgYXZhaWxhYmlsaXR5IGFyZSBpZ25vcmVkLgoKV0FSTl9PTiBp cyBhZGRlZCBmb3IgdGhlIGFicnVwdCBzdG9wIG9mIEhEQ1AgZW5jcnlwdGlvbiBvZiBhIHBvcnQu Cgp2MjoKICBib29sIGlzIHVzZWQgaW4gc3RydWN0IGZvciB0aGUgY2xlYW5lciBjb2RpbmcuIFtE YW5pZWxdCiAgY2hlY2tfbGluayB3b3JrX2ZuIGlzIHNjaGVkdWxlZCBmb3IgY3BfaXJxIGhhbmRs aW5nIFtEYW5pZWxdCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0Bp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICA1ICsrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDgxNWVlNjhlZmEyZi4uOWNlMDU4MTlm YzExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTQ3NzYsNyArNDc3Niw3IEBAIHN0YXRp YyB2b2lkIGludGVsX2RwX2NoZWNrX3NlcnZpY2VfaXJxKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiAJCWludGVsX2RwX2hhbmRsZV90ZXN0X3JlcXVlc3QoaW50ZWxfZHApOwogCiAJaWYgKHZh bCAmIERQX0NQX0lSUSkKLQkJaW50ZWxfaGRjcF9jaGVja19saW5rKGludGVsX2RwLT5hdHRhY2hl ZF9jb25uZWN0b3IpOworCQlpbnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoaW50ZWxfZHAtPmF0dGFj aGVkX2Nvbm5lY3Rvcik7CiAKIAlpZiAodmFsICYgRFBfU0lOS19TUEVDSUZJQ19JUlEpCiAJCURS TV9ERUJVR19EUklWRVIoIlNpbmsgc3BlY2lmaWMgaXJxIHVuaGFuZGxlZFxuIik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCmluZGV4IDYzZTAwOTI4NmQ1Zi4uMTNhNDFlOGNmNGZmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMzk5LDYgKzM5OSw5IEBAIHN0cnVjdCBpbnRlbF9oZGNw IHsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGNoZWNrX3dvcms7CiAJc3RydWN0IHdvcmtfc3RydWN0 IHByb3Bfd29yazsKIAorCS8qIEhEQ1AxLjQgRW5jcnlwdGlvbiBzdGF0dXMgKi8KKwlib29sIGhk Y3BfZW5jcnlwdGVkOworCiAJLyogSERDUDIuMiByZWxhdGVkIGRlZmluaXRpb25zICovCiAJLyog RmxhZyBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIGNvbm5lY3RvciBzdXBwb3J0cyBIRENQMi4yIG9y IG5vdC4gKi8KIAlib29sIGhkY3AyX3N1cHBvcnRlZDsKQEAgLTIwNzMsMTAgKzIwNzYsMTAgQEAg aW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJ CSAgICBib29sIGhkY3AyX3N1cHBvcnRlZCk7CiBpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBpbnRlbF9oZGNwX2Rpc2FibGUoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKLWludCBpbnRlbF9oZGNwX2NoZWNrX2xp bmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGJvb2wgaXNfaGRjcF9zdXBw b3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCk7 CiBib29sIGludGVsX2hkY3BfY2FwYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpOwogYm9vbCBpc19oZGNwMl9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKK3ZvaWQgaW50ZWxfaGRjcF9oYW5kbGVfY3BfaXJxKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7CiAKIC8qIGludGVsX3Bzci5jICovCiAjZGVmaW5lIENBTl9QU1Io ZGV2X3ByaXYpIChIQVNfUFNSKGRldl9wcml2KSAmJiBkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9y dCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBlMGJiNWYzMmJhOTAuLmMxYjA1N2Yx NTAxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtNzQsNiArNzQsMTYgQEAgYm9v bCBpbnRlbF9oZGNwX2NhcGFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog CXJldHVybiBjYXBhYmxlOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfaGRjcF9pbl91 c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CisJZW51 bSBwb3J0IHBvcnQgPSBjb25uZWN0b3ItPmVuY29kZXItPnBvcnQ7CisJdTMyIHJlZzsKKworCXJl ZyA9IEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKTsKKwlyZXR1cm4gcmVnICYgSERD UF9TVEFUVVNfRU5DOworfQorCiBzdGF0aWMgaW50IGludGVsX2hkY3BfcG9sbF9rc3ZfZmlmbyhz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAkJCQkgICAgY29uc3Qg c3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSkKIHsKQEAgLTY2OCw2ICs2NzgsNyBAQCBzdGF0 aWMgaW50IF9pbnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQogCURSTV9ERUJVR19LTVMoIlslczolZF0gSERDUCBpcyBiZWluZyBkaXNhYmxlZC4uLlxu IiwKIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlk KTsKIAorCWhkY3AtPmhkY3BfZW5jcnlwdGVkID0gZmFsc2U7CiAJSTkxNV9XUklURShQT1JUX0hE Q1BfQ09ORihwb3J0KSwgMCk7CiAJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2 LCBQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpLCB+MCwgMCwKIAkJCQkgICAgRU5DUllQVF9TVEFUVVNf Q0hBTkdFX1RJTUVPVVRfTVMpKSB7CkBAIC03MTMsOCArNzI0LDEwIEBAIHN0YXRpYyBpbnQgX2lu dGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkvKiBJ bmNhc2Ugb2YgYXV0aGVudGljYXRpb24gZmFpbHVyZXMsIEhEQ1Agc3BlYyBleHBlY3RzIHJlYXV0 aC4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgdHJpZXM7IGkrKykgewogCQlyZXQgPSBpbnRlbF9oZGNw X2F1dGgoY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpLCBoZGNwLT5zaGltKTsKLQkJaWYgKCFy ZXQpCisJCWlmICghcmV0KSB7CisJCQloZGNwLT5oZGNwX2VuY3J5cHRlZCA9IHRydWU7CiAJCQly ZXR1cm4gMDsKKwkJfQogCiAJCURSTV9ERUJVR19LTVMoIkhEQ1AgQXV0aCBmYWlsdXJlICglZClc biIsIHJldCk7CiAKQEAgLTc0MSwxNiArNzU0LDE3IEBAIGludCBpbnRlbF9oZGNwX2NoZWNrX2xp bmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWVudW0gcG9ydCBwb3J0ID0g aW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmICghaGRjcC0+ c2hpbSkKLQkJcmV0dXJuIC1FTk9FTlQ7Ci0KIAltdXRleF9sb2NrKCZoZGNwLT5tdXRleCk7CiAK LQlpZiAoaGRjcC0+dmFsdWUgPT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJF RCkKKwkvKiBDaGVja19saW5rIHZhbGlkIG9ubHkgd2hlbiBIRENQMS40IGlzIGVuYWJsZWQgKi8K KwlpZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQg fHwKKwkgICAgIWhkY3AtPmhkY3BfZW5jcnlwdGVkKSB7CisJCXJldCA9IC1FSU5WQUw7CiAJCWdv dG8gb3V0OworCX0KIAotCWlmICghKEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSAm IEhEQ1BfU1RBVFVTX0VOQykpIHsKLQkJRFJNX0VSUk9SKCIlczolZCBIRENQIGNoZWNrIGZhaWxl ZDogbGluayBpcyBub3QgZW5jcnlwdGVkLCV4XG4iLAorCWlmIChXQVJOX09OKCFpbnRlbF9oZGNw X2luX3VzZShjb25uZWN0b3IpKSkgeworCQlEUk1fRVJST1IoIiVzOiVkIEhEQ1AgbGluayBzdG9w cGVkIGVuY3J5cHRpb24sJXhcbiIsCiAJCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0 b3ItPmJhc2UuYmFzZS5pZCwKIAkJCSAgSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkp KTsKIAkJcmV0ID0gLUVOWElPOwpAQCAtNzkxLDE4ICs4MDUsNiBAQCBpbnQgaW50ZWxfaGRjcF9j aGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gcmV0 OwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9oZGNwX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQotewotCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRv X2RlbGF5ZWRfd29yayh3b3JrKSwKLQkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9oZGNwLAotCQkJ CQkgICAgICAgY2hlY2tfd29yayk7Ci0Jc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gaW50ZWxfaGRjcF90b19jb25uZWN0b3IoaGRjcCk7Ci0KLQlpZiAoIWludGVsX2hkY3BfY2hl Y2tfbGluayhjb25uZWN0b3IpKQotCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNr X3dvcmssCi0JCQkJICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9EX01TKTsKLX0KLQogc3RhdGlj IHZvaWQgaW50ZWxfaGRjcF9wcm9wX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewog CXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpbnRl bF9oZGNwLApAQCAtMTEyMCw2ICsxMTIyLDE4IEBAIGludCBoZGNwMl9kZWF1dGhlbnRpY2F0ZV9w b3J0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gaGRjcDJfY2xv c2VfbWVpX3Nlc3Npb24oY29ubmVjdG9yKTsKIH0KIAorc3RhdGljIHZvaWQgaW50ZWxfaGRjcF9j aGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgaW50ZWxfaGRj cCAqaGRjcCA9IGNvbnRhaW5lcl9vZih0b19kZWxheWVkX3dvcmsod29yayksCisJCQkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfaGRjcCwKKwkJCQkJICAgICAgIGNoZWNrX3dvcmspOworCXN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGludGVsX2hkY3BfdG9fY29ubmVjdG9yKGhkY3Ap OworCisJaWYgKCFpbnRlbF9oZGNwX2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKKwkJc2NoZWR1bGVf ZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLAorCQkJCSAgICAgIERSTV9IRENQX0NIRUNL X1BFUklPRF9NUyk7Cit9CisKIHN0YXRpYyBpbnQgaTkxNV9oZGNwX2NvbXBvbmVudF9iaW5kKHN0 cnVjdCBkZXZpY2UgKmk5MTVfa2RldiwKIAkJCQkgICAgc3RydWN0IGRldmljZSAqbWVpX2tkZXYs IHZvaWQgKmRhdGEpCiB7CkBAIC0xMjg4LDcgKzEzMDIsOCBAQCBpbnQgaW50ZWxfaGRjcF9kaXNh YmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogCWlmIChoZGNwLT52YWx1 ZSAhPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7CiAJCWhkY3AtPnZh bHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRDsKLQkJcmV0ID0gX2lu dGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOworCQlpZiAoaGRjcC0+aGRjcF9lbmNyeXB0ZWQp CisJCQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5lY3Rvcik7CiAJfQogCiAJbXV0ZXhf dW5sb2NrKCZoZGNwLT5tdXRleCk7CkBAIC0xMzI4LDMgKzEzNDMsMjEgQEAgdm9pZCBpbnRlbF9o ZGNwX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQkJ ICAgbmV3X3N0YXRlLT5jcnRjKTsKIAljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwog fQorCisvKiBIYW5kbGVzIHRoZSBDUF9JUlEgcmFpc2VkIGZyb20gdGhlIERQIEhEQ1Agc2luayAq Lwordm9pZCBpbnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRj cDsKKworCWlmICghaGRjcC0+c2hpbSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBDUF9JUlEgY291 bGQgYmUgdHJpZ2dlcmVkIGR1ZSB0byAxLiBIRENQMi4yIGF1dGggbXNncyBhdmFpbGFiaWxpdHks CisJICogMi4gbGluayBmYWlsdXJlIGFuZCAzLiByZXBlYXRlciByZWF1dGggcmVxdWVzdC4gQXQg cHJlc2VudCB3ZSBkb250CisJICogaGFuZGxlIHRoZSBDUF9JUlEgZm9yIHRoZSBIRENQMi4yIGF1 dGggbXNnIGF2YWlsYWJpbGl0eSBmb3IgcmVhZC4KKwkgKiBUbyBoYW5kbGUgb3RoZXIgdHdvIGNh dXNlcyBmb3IgQ1BfSVJRIHdlIGhhdmUgdGhlIHdvcmtfZm4gd2hpY2ggaXMKKwkgKiBzY2hlZHVs ZWQgaGVyZS4KKwkgKi8KKwlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmss IDApOworfQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=