From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 06/38] drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking Date: Sat, 9 Feb 2019 12:42:35 +0530 Message-ID: <1549696387-28268-7-git-send-email-ramalingam.c@intel.com> References: <1549696387-28268-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: <1549696387-28268-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: dri-devel@lists.freedesktop.org ImhkY3BfZW5jcnlwdGVkIiBmbGFnIGlzIGRlZmluZWQgdG8gZGVub3RlIHRoZSBIRENQMS40IGVu Y3J5cHRpb24gc3RhdHVzLgpUaGlzIFNXIHRyYWNraW5nIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRo ZSBuZWVkIGZvciByZWFsIGhkY3AxLjQgZGlzYWJsZQphbmQgaGRjcF9jaGVja19saW5rIHVwb24g Q1BfSVJRLgoKT24gQ1BfSVJRIHdlIGZpbHRlciB0aGUgQ1BfSVJRIHJlbGF0ZWQgdG8gdGhlIHN0 YXRlcyBsaWtlIExpbmsgZmFpbHVyZQphbmQgcmVhdXRoZW50aWNhdGlvbiByZXEgZXRjIGFuZCBo YW5kbGUgdGhlbSBpbiBoZGNwX2NoZWNrX2xpbmsuCkNQX0lSUSBjb3JyZXNwb25kaW5nIHRvIHRo ZSBhdXRoZW50aWNhdGlvbiBtc2cgYXZhaWxhYmlsaXR5IGFyZSBpZ25vcmVkLgoKV0FSTl9PTiBp cyBhZGRlZCBmb3IgdGhlIGFicnVwdCBzdG9wIG9mIEhEQ1AgZW5jcnlwdGlvbiBvZiBhIHBvcnQu Cgp2MjoKICBib29sIGlzIHVzZWQgaW4gc3RydWN0IGZvciB0aGUgY2xlYW5lciBjb2RpbmcuIFtE YW5pZWxdCiAgY2hlY2tfbGluayB3b3JrX2ZuIGlzIHNjaGVkdWxlZCBmb3IgY3BfaXJxIGhhbmRs aW5nIFtEYW5pZWxdCnYzOgogIHJlYmFzZWQuCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMg PHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2Fy QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggIHwgIDUgKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggY2Y3MDk4MzVmYjlhLi45ZjczYTQy Mzk1NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNDc4MCw3ICs0NzgwLDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfZHBfY2hlY2tfc2VydmljZV9pcnEoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAkJaW50ZWxfZHBfaGFuZGxlX3Rlc3RfcmVxdWVzdChpbnRlbF9kcCk7CiAKIAlpZiAo dmFsICYgRFBfQ1BfSVJRKQotCQlpbnRlbF9oZGNwX2NoZWNrX2xpbmsoaW50ZWxfZHAtPmF0dGFj aGVkX2Nvbm5lY3Rvcik7CisJCWludGVsX2hkY3BfaGFuZGxlX2NwX2lycShpbnRlbF9kcC0+YXR0 YWNoZWRfY29ubmVjdG9yKTsKIAogCWlmICh2YWwgJiBEUF9TSU5LX1NQRUNJRklDX0lSUSkKIAkJ RFJNX0RFQlVHX0RSSVZFUigiU2luayBzcGVjaWZpYyBpcnEgdW5oYW5kbGVkXG4iKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMDgzZTJmNzhhYzFmLi4xMWYxZTU1YmI1ZmIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC00MDksNiArNDA5LDkgQEAgc3RydWN0IGludGVsX2hk Y3AgewogCXN0cnVjdCBkZWxheWVkX3dvcmsgY2hlY2tfd29yazsKIAlzdHJ1Y3Qgd29ya19zdHJ1 Y3QgcHJvcF93b3JrOwogCisJLyogSERDUDEuNCBFbmNyeXB0aW9uIHN0YXR1cyAqLworCWJvb2wg aGRjcF9lbmNyeXB0ZWQ7CisKIAkvKiBIRENQMi4yIHJlbGF0ZWQgZGVmaW5pdGlvbnMgKi8KIAkv KiBGbGFnIGluZGljYXRlcyB3aGV0aGVyIHRoaXMgY29ubmVjdG9yIHN1cHBvcnRzIEhEQ1AyLjIg b3Igbm90LiAqLwogCWJvb2wgaGRjcDJfc3VwcG9ydGVkOwpAQCAtMjA5MCwxMiArMjA5MywxMiBA QCBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSk7CiBpbnQgaW50 ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBp bnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKLWlu dCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KTsKIGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBlbnVtIHBvcnQgcG9ydCk7CiBib29sIGludGVsX2hkY3BfY2FwYWJsZShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogdm9pZCBpbnRlbF9oZGNwX2NvbXBvbmVudF9pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX2hkY3BfY29t cG9uZW50X2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50 ZWxfaGRjcF9jbGVhbnVwKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cit2b2lk IGludGVsX2hkY3BfaGFuZGxlX2NwX2lycShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpOwogCiAvKiBpbnRlbF9wc3IuYyAqLwogI2RlZmluZSBDQU5fUFNSKGRldl9wcml2KSAoSEFT X1BTUihkZXZfcHJpdikgJiYgZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZGNwLmMKaW5kZXggZDA2YmVmOWQxYWIyLi42NmUzODUwYTU3YTAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAgLTc0LDYgKzc0LDE2IEBAIGJvb2wgaW50ZWxfaGRjcF9j YXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gY2FwYWJs ZTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGludGVsX2hkY3BfaW5fdXNlKHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOworCWVudW0gcG9ydCBwb3J0ID0g Y29ubmVjdG9yLT5lbmNvZGVyLT5wb3J0OworCXUzMiByZWc7CisKKwlyZWcgPSBJOTE1X1JFQUQo UE9SVF9IRENQX1NUQVRVUyhwb3J0KSk7CisJcmV0dXJuIHJlZyAmIEhEQ1BfU1RBVFVTX0VOQzsK K30KKwogc3RhdGljIGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9o ZGNwX3NoaW0gKnNoaW0pCiB7CkBAIC02NjgsNiArNjc4LDcgQEAgc3RhdGljIGludCBfaW50ZWxf aGRjcF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlEUk1fREVC VUdfS01TKCJbJXM6JWRdIEhEQ1AgaXMgYmVpbmcgZGlzYWJsZWQuLi5cbiIsCiAJCSAgICAgIGNv bm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCk7CiAKKwloZGNwLT5o ZGNwX2VuY3J5cHRlZCA9IGZhbHNlOwogCUk5MTVfV1JJVEUoUE9SVF9IRENQX0NPTkYocG9ydCks IDApOwogCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgUE9SVF9IRENQX1NU QVRVUyhwb3J0KSwgfjAsIDAsCiAJCQkJICAgIEVOQ1JZUFRfU1RBVFVTX0NIQU5HRV9USU1FT1VU X01TKSkgewpAQCAtNzEzLDggKzcyNCwxMCBAQCBzdGF0aWMgaW50IF9pbnRlbF9oZGNwX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJLyogSW5jYXNlIG9mIGF1dGhl bnRpY2F0aW9uIGZhaWx1cmVzLCBIRENQIHNwZWMgZXhwZWN0cyByZWF1dGguICovCiAJZm9yIChp ID0gMDsgaSA8IHRyaWVzOyBpKyspIHsKIAkJcmV0ID0gaW50ZWxfaGRjcF9hdXRoKGNvbm5fdG9f ZGlnX3BvcnQoY29ubmVjdG9yKSwgaGRjcC0+c2hpbSk7Ci0JCWlmICghcmV0KQorCQlpZiAoIXJl dCkgeworCQkJaGRjcC0+aGRjcF9lbmNyeXB0ZWQgPSB0cnVlOwogCQkJcmV0dXJuIDA7CisJCX0K IAogCQlEUk1fREVCVUdfS01TKCJIRENQIEF1dGggZmFpbHVyZSAoJWQpXG4iLCByZXQpOwogCkBA IC03NDEsMTYgKzc1NCwxNyBAQCBpbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0 LT5iYXNlLnBvcnQ7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoIWhkY3AtPnNoaW0pCi0JCXJldHVy biAtRU5PRU5UOwotCiAJbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOwogCi0JaWYgKGhkY3AtPnZh bHVlID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCisJLyogQ2hlY2tf bGluayB2YWxpZCBvbmx5IHdoZW4gSERDUDEuNCBpcyBlbmFibGVkICovCisJaWYgKGhkY3AtPnZh bHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEIHx8CisJICAgICFoZGNw LT5oZGNwX2VuY3J5cHRlZCkgeworCQlyZXQgPSAtRUlOVkFMOwogCQlnb3RvIG91dDsKKwl9CiAK LQlpZiAoIShJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkgJiBIRENQX1NUQVRVU19F TkMpKSB7Ci0JCURSTV9FUlJPUigiJXM6JWQgSERDUCBjaGVjayBmYWlsZWQ6IGxpbmsgaXMgbm90 IGVuY3J5cHRlZCwleFxuIiwKKwlpZiAoV0FSTl9PTighaW50ZWxfaGRjcF9pbl91c2UoY29ubmVj dG9yKSkpIHsKKwkJRFJNX0VSUk9SKCIlczolZCBIRENQIGxpbmsgc3RvcHBlZCBlbmNyeXB0aW9u LCV4XG4iLAogCQkJICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2Uu aWQsCiAJCQkgIEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSk7CiAJCXJldCA9IC1F TlhJTzsKQEAgLTc5MSwxOCArODA1LDYgQEAgaW50IGludGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGlj IHZvaWQgaW50ZWxfaGRjcF9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKLXsK LQlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9IGNvbnRhaW5lcl9vZih0b19kZWxheWVkX3dvcmso d29yayksCi0JCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfaGRjcCwKLQkJCQkJICAgICAgIGNoZWNr X3dvcmspOwotCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGludGVsX2hkY3Bf dG9fY29ubmVjdG9yKGhkY3ApOwotCi0JaWYgKCFpbnRlbF9oZGNwX2NoZWNrX2xpbmsoY29ubmVj dG9yKSkKLQkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLAotCQkJCSAg ICAgIERSTV9IRENQX0NIRUNLX1BFUklPRF9NUyk7Ci19Ci0KIHN0YXRpYyB2b2lkIGludGVsX2hk Y3BfcHJvcF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgaW50ZWxf aGRjcCAqaGRjcCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaW50ZWxfaGRjcCwKQEAgLTEx MjAsNiArMTEyMiwxOCBAQCBpbnQgaGRjcDJfZGVhdXRoZW50aWNhdGVfcG9ydChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIGhkY3AyX2Nsb3NlX21laV9zZXNzaW9u KGNvbm5lY3Rvcik7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVsX2hkY3BfY2hlY2tfd29yayhzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSBjb250 YWluZXJfb2YodG9fZGVsYXllZF93b3JrKHdvcmspLAorCQkJCQkgICAgICAgc3RydWN0IGludGVs X2hkY3AsCisJCQkJCSAgICAgICBjaGVja193b3JrKTsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IgPSBpbnRlbF9oZGNwX3RvX2Nvbm5lY3RvcihoZGNwKTsKKworCWlmICghaW50 ZWxfaGRjcF9jaGVja19saW5rKGNvbm5lY3RvcikpCisJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygm aGRjcC0+Y2hlY2tfd29yaywKKwkJCQkgICAgICBEUk1fSERDUF9DSEVDS19QRVJJT0RfTVMpOwor fQorCiBzdGF0aWMgaW50IGk5MTVfaGRjcF9jb21wb25lbnRfYmluZChzdHJ1Y3QgZGV2aWNlICpp OTE1X2tkZXYsCiAJCQkJICAgIHN0cnVjdCBkZXZpY2UgKm1laV9rZGV2LCB2b2lkICpkYXRhKQog ewpAQCAtMTI4MSw3ICsxMjk1LDggQEAgaW50IGludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAlpZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01PREVf Q09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkgewogCQloZGNwLT52YWx1ZSA9IERSTV9NT0RF X0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQ7Ci0JCXJldCA9IF9pbnRlbF9oZGNwX2Rpc2Fi bGUoY29ubmVjdG9yKTsKKwkJaWYgKGhkY3AtPmhkY3BfZW5jcnlwdGVkKQorCQkJcmV0ID0gX2lu dGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOwogCX0KIAogCW11dGV4X3VubG9jaygmaGRjcC0+ bXV0ZXgpOwpAQCAtMTM0NSwzICsxMzYwLDIxIEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hl Y2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkJCSAgIG5ld19zdGF0ZS0+ Y3J0Yyk7CiAJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKIH0KKworLyogSGFuZGxl cyB0aGUgQ1BfSVJRIHJhaXNlZCBmcm9tIHRoZSBEUCBIRENQIHNpbmsgKi8KK3ZvaWQgaW50ZWxf aGRjcF9oYW5kbGVfY3BfaXJxKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sK KwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisKKwlpZiAoIWhk Y3AtPnNoaW0pCisJCXJldHVybjsKKworCS8qCisJICogQ1BfSVJRIGNvdWxkIGJlIHRyaWdnZXJl ZCBkdWUgdG8gMS4gSERDUDIuMiBhdXRoIG1zZ3MgYXZhaWxhYmlsaXR5LAorCSAqIDIuIGxpbmsg ZmFpbHVyZSBhbmQgMy4gcmVwZWF0ZXIgcmVhdXRoIHJlcXVlc3QuIEF0IHByZXNlbnQgd2UgZG9u dAorCSAqIGhhbmRsZSB0aGUgQ1BfSVJRIGZvciB0aGUgSERDUDIuMiBhdXRoIG1zZyBhdmFpbGFi aWxpdHkgZm9yIHJlYWQuCisJICogVG8gaGFuZGxlIG90aGVyIHR3byBjYXVzZXMgZm9yIENQX0lS USB3ZSBoYXZlIHRoZSB3b3JrX2ZuIHdoaWNoIGlzCisJICogc2NoZWR1bGVkIGhlcmUuCisJICov CisJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLCAwKTsKK30KLS0gCjIu Ny40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK