From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v9 14/39] drm/i915: Implement HDCP2.2 link integrity check Date: Thu, 13 Dec 2018 09:31:16 +0530 Message-ID: <1544673701-6353-15-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: intel-gfx@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgbGluayBpbnRlZ3JpdHkgY2hlY2sgb25jZSBpbiA1MDBtU2VjLgoKT25j ZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQsIGFuIG9uZ29pbmcgTGluayBJbnRlZ3JpdHkgQ2hlY2sg aXMKcGVyZm9ybWVkIGJ5IHRoZSBIRENQIFJlY2VpdmVyIHRvIGNoZWNrIHRoYXQgY2lwaGVyIHN5 bmNocm9uaXphdGlvbgppcyBtYWludGFpbmVkIGJldHdlZW4gdGhlIEhEQ1AgVHJhbnNtaXR0ZXIg YW5kIHRoZSBIRENQIFJlY2VpdmVyLgoKT24gdGhlIGRldGVjdGlvbiBvZiBzeW5jaHJvbml6YXRp b24gbG9zdCwgdGhlIEhEQ1AgUmVjZWl2ZXIgbXVzdCBhc3NlcnQKdGhlIGNvcnJlc3BvbmRpbmcg Yml0cyBvZiB0aGUgUnhTdGF0dXMgcmVnaXN0ZXIuIFRoZSBUcmFuc21pdHRlciBwb2xscwp0aGUg UnhTdGF0dXMgcmVnaXN0ZXIgYW5kIGl0IG1heSBpbml0aWF0ZSByZS1hdXRoZW50aWNhdGlvbi4K CnYyOgogIFJlYmFzZWQuCnYzOgogIGVudW0gY2hlY2tfbGlua19yZXNwb25zZSBpcyB1c2VkIGNo ZWNrIHRoZSBsaW5rIHN0YXR1cyBbVW1hXQp2NDoKICBSZWJhc2VkIGFzIHBhcnQgb2YgcGF0Y2gg cmVvcmRlcmluZy4KdjU6CiAgUmVxdWlyZWQgbWVtYmVycyBvZiBpbnRlbF9oZGNwIGlzIGRlZmlu ZWQgW1NlYW4gUGF1bF0KdjY6CiAgaGRjcDJfY2hlY2tfbGluayBpcyBjYW5jZWxsZWQgYXQgcmVx dWlyZWQgcGxhY2VzLgp2NzoKICBSZWJhc2VkIGZvciB0aGUgY29tcG9uZW50IGkvZiBjaGFuZ2Vz LgogIEVycm9ycyBkdWUgdG8gdGhlIHNpbmtzIGFyZSByZXBvcnRlZCBhcyBERUJVRyBsb2dzLgp2 ODoKICBoZGNwX2NoZWNrX3dvcmsgaXMgdXNlZCBmb3IgYm90aCBoZGNwMSBhbmQgaGRjcDIgY2hl Y2tfbGluayBbRGFuaWVsXQogIGhkY3AyLjIgZW5jcnlwdGlvbiBzdGF0dXMgY2hlY2sgaXMgcHV0 IHVuZGVyIFdBUk5fT04gW0RhbmllbF0KICBkcm1faGRjcC5oIGNoYW5nZXMgYXJlIG1vdmVkIGlu dG8gc2VwYXJhdGUgcGF0Y2ggW0RhbmllbF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8 cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hh bmthckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggIHwg IDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDkwICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggYTZi NjMyZDcxNDkwLi42MGQxMzU5ZTU1ZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC00 MDMsNiArNDAzLDkgQEAgc3RydWN0IGludGVsX2hkY3Bfc2hpbSB7CiAJICovCiAJaW50ICgqY29u ZmlnX3N0cmVhbV90eXBlKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCwKIAkJCQkgIHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpOworCisJLyogSERDUDIuMiBMaW5rIElu dGVncml0eSBDaGVjayAqLworCWludCAoKmNoZWNrXzJfMl9saW5rKShzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCk7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfaGRjcCB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKaW5kZXggYjUyZGE1YzMxNTlkLi42ZmFjNTcwZmNiYWMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAgLTEwMyw2ICsxMDMsMTYgQEAgc3RhdGlj IGlubGluZSBib29sIGludGVsX2hkY3BfaW5fdXNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKIAlyZXR1cm4gcmVnICYgSERDUF9TVEFUVVNfRU5DOwogfQogCitzdGF0aWMgaW5s aW5lIGJvb2wgaW50ZWxfaGRjcDJfaW5fdXNlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNv bm5lY3Rvci0+YmFzZS5kZXYpOworCWVudW0gcG9ydCBwb3J0ID0gY29ubmVjdG9yLT5lbmNvZGVy LT5wb3J0OworCXUzMiByZWc7CisKKwlyZWcgPSBJOTE1X1JFQUQoSERDUDJfU1RBVFVTX0RESShw b3J0KSk7CisJcmV0dXJuIHJlZyAmIExJTktfRU5DUllQVElPTl9TVEFUVVM7Cit9CisKIHN0YXRp YyBpbnQgaW50ZWxfaGRjcF9wb2xsX2tzdl9maWZvKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpz aGltKQogewpAQCAtMTQ5MSwxMSArMTUwMSw3NyBAQCBzdGF0aWMgaW50IF9pbnRlbF9oZGNwMl9k aXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXR1cm4gcmV0Owog fQogCisvKiBJbXBsZW1lbnRzIHRoZSBMaW5rIEludGVncml0eSBDaGVjayBmb3IgSERDUDIuMiAq Lworc3RhdGljIGludCBpbnRlbF9oZGNwMl9jaGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOworCXN0cnVjdCBp bnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwllbnVtIHBvcnQgcG9ydCA9IGNv bm5lY3Rvci0+ZW5jb2Rlci0+cG9ydDsKKwlpbnQgcmV0ID0gMDsKKworCW11dGV4X2xvY2soJmhk Y3AtPm11dGV4KTsKKworCS8qIGhkY3AyX2NoZWNrX2xpbmsgaXMgZXhwZWN0ZWQgb25seSB3aGVu IEhEQ1AyLjIgaXMgRW5hYmxlZCAqLworCWlmIChoZGNwLT52YWx1ZSAhPSBEUk1fTU9ERV9DT05U RU5UX1BST1RFQ1RJT05fRU5BQkxFRCB8fAorCSAgICAhaGRjcC0+aGRjcDJfZW5jcnlwdGVkKSB7 CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0OworCX0KKworCWlmIChXQVJOX09OKCFpbnRl bF9oZGNwMl9pbl91c2UoY29ubmVjdG9yKSkpIHsKKwkJRFJNX0VSUk9SKCJIRENQMi4yIGxpbmsg c3RvcHBlZCB0aGUgZW5jcnlwdGlvbiwgJXhcbiIsCisJCQkgIEk5MTVfUkVBRChIRENQMl9TVEFU VVNfRERJKHBvcnQpKSk7CisJCXJldCA9IC1FTlhJTzsKKwkJaGRjcC0+dmFsdWUgPSBEUk1fTU9E RV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+cHJv cF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gaGRjcC0+c2hpbS0+Y2hlY2tfMl8y X2xpbmsoaW50ZWxfZGlnX3BvcnQpOworCWlmIChyZXQgPT0gRFJNX0hEQ1BfTElOS19QUk9URUNU RUQpIHsKKwkJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9V TkRFU0lSRUQpIHsKKwkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0VOQUJMRUQ7CisJCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQl9CisJCWdv dG8gb3V0OworCX0KKworCURSTV9ERUJVR19LTVMoIlslczolZF0gSERDUDIuMiBsaW5rIGZhaWxl ZCwgcmV0cnlpbmcgYXV0aFxuIiwKKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5l Y3Rvci0+YmFzZS5iYXNlLmlkKTsKKworCXJldCA9IF9pbnRlbF9oZGNwMl9kaXNhYmxlKGNvbm5l Y3Rvcik7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIlslczolZF0gRmFpbGVkIHRvIGRpc2Fi bGUgaGRjcDIuMiAoJWQpXG4iLAorCQkJICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9y LT5iYXNlLmJhc2UuaWQsIHJldCk7CisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9Q Uk9URUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJ CWdvdG8gb3V0OworCX0KKworCXJldCA9IF9pbnRlbF9oZGNwMl9lbmFibGUoY29ubmVjdG9yKTsK KwlpZiAocmV0KSB7CisJCURSTV9ERUJVR19LTVMoIlslczolZF0gRmFpbGVkIHRvIGVuYWJsZSBo ZGNwMi4yICglZClcbiIsCisJCQkgICAgICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9y LT5iYXNlLmJhc2UuaWQsCisJCQkgICAgICByZXQpOworCQloZGNwLT52YWx1ZSA9IERSTV9NT0RF X0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9w X3dvcmspOworCQlnb3RvIG91dDsKKwl9CisKK291dDoKKwltdXRleF91bmxvY2soJmhkY3AtPm11 dGV4KTsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgX2ludGVsX2hkY3Bf Y2hlY2tfd29yayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0 IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCi0JaWYgKCFpbnRlbF9oZGNw X2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKKwlpZiAoIWludGVsX2hkY3AyX2NoZWNrX2xpbmsoY29u bmVjdG9yKSkKKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLAorCQkJ CSAgICAgIERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVMpOworCWVsc2UgaWYgKCFpbnRlbF9oZGNw X2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5j aGVja193b3JrLAogCQkJCSAgICAgIERSTV9IRENQX0NIRUNLX1BFUklPRF9NUyk7CiB9CkBAIC0x NjA2LDYgKzE2ODIsNyBAQCBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciwKIGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9y LT5oZGNwOworCXVuc2lnbmVkIGxvbmcgY2hlY2tfbGlua19pbnRlcnZhbCA9IERSTV9IRENQX0NI RUNLX1BFUklPRF9NUzsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAogCWlmICghaGRjcC0+c2hpbSkK QEAgLTE2MTcsMTggKzE2OTQsMTkgQEAgaW50IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkgKiBDb25zaWRlcmluZyB0aGF0IEhEQ1AyLjIgaXMg bW9yZSBzZWN1cmUgdGhhbiBIRENQMS40LCBJZiB0aGUgc2V0dXAKIAkgKiBpcyBjYXBhYmxlIG9m IEhEQ1AyLjIsIGl0IGlzIHByZWZlcnJlZCB0byB1c2UgSERDUDIuMi4KIAkgKi8KLQlpZiAoaW50 ZWxfaGRjcDJfY2FwYWJsZShjb25uZWN0b3IpKQorCWlmIChpbnRlbF9oZGNwMl9jYXBhYmxlKGNv bm5lY3RvcikpIHsKIAkJcmV0ID0gX2ludGVsX2hkY3AyX2VuYWJsZShjb25uZWN0b3IpOworCQlp ZiAoIXJldCkKKwkJCWNoZWNrX2xpbmtfaW50ZXJ2YWwgPSBEUk1fSERDUDJfQ0hFQ0tfUEVSSU9E X01TOworCX0KIAogCS8qIFdoZW4gSERDUDIuMiBmYWlscywgSERDUDEuNCB3aWxsIGJlIGF0dGVt cHRlZCAqLwogCWlmIChyZXQgJiYgaW50ZWxfaGRjcF9jYXBhYmxlKGNvbm5lY3RvcikpIHsKIAkJ cmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7Ci0JCWlmICghcmV0KQotCQkJc2No ZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLAotCQkJCQkgICAgICBEUk1fSERD UF9DSEVDS19QRVJJT0RfTVMpOwogCX0KIAogCWlmICghcmV0KSB7CisJCXNjaGVkdWxlX2RlbGF5 ZWRfd29yaygmaGRjcC0+Y2hlY2tfd29yaywgY2hlY2tfbGlua19pbnRlcnZhbCk7CiAJCWhkY3At PnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQ7CiAJCXNjaGVkdWxl X3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CiAJfQpAQCAtMTcxMyw3ICsxNzkxLDcgQEAgdm9pZCBp bnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogCWlmICghbXV0ZXhfdHJ5bG9jaygmaGRjcC0+bXV0ZXgpKQogCQlyZXR1cm47CiAKLQlpZiAo IWhkY3AtPmhkY3BfZW5jcnlwdGVkKQorCWlmICghaGRjcC0+aGRjcF9lbmNyeXB0ZWQgJiYgIWhk Y3AtPmhkY3AyX2VuY3J5cHRlZCkKIAkJcmV0dXJuOwogCiAJbXV0ZXhfdW5sb2NrKCZoZGNwLT5t dXRleCk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==