From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 12/38] drm/i915: Implement HDCP2.2 link integrity check Date: Sat, 9 Feb 2019 12:42:41 +0530 Message-ID: <1549696387-28268-13-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 SW1wbGVtZW50cyB0aGUgbGluayBpbnRlZ3JpdHkgY2hlY2sgb25jZSBpbiA1MDBtU2VjLgoKT25j ZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQsIGFuIG9uZ29pbmcgTGluayBJbnRlZ3JpdHkgQ2hlY2sg aXMKcGVyZm9ybWVkIGJ5IHRoZSBIRENQIFJlY2VpdmVyIHRvIGNoZWNrIHRoYXQgY2lwaGVyIHN5 bmNocm9uaXphdGlvbgppcyBtYWludGFpbmVkIGJldHdlZW4gdGhlIEhEQ1AgVHJhbnNtaXR0ZXIg YW5kIHRoZSBIRENQIFJlY2VpdmVyLgoKT24gdGhlIGRldGVjdGlvbiBvZiBzeW5jaHJvbml6YXRp b24gbG9zdCwgdGhlIEhEQ1AgUmVjZWl2ZXIgbXVzdCBhc3NlcnQKdGhlIGNvcnJlc3BvbmRpbmcg Yml0cyBvZiB0aGUgUnhTdGF0dXMgcmVnaXN0ZXIuIFRoZSBUcmFuc21pdHRlciBwb2xscwp0aGUg UnhTdGF0dXMgcmVnaXN0ZXIgYW5kIGl0IG1heSBpbml0aWF0ZSByZS1hdXRoZW50aWNhdGlvbi4K CnYyOgogIFJlYmFzZWQuCnYzOgogIGVudW0gY2hlY2tfbGlua19yZXNwb25zZSBpcyB1c2VkIGNo ZWNrIHRoZSBsaW5rIHN0YXR1cyBbVW1hXQp2NDoKICBSZWJhc2VkIGFzIHBhcnQgb2YgcGF0Y2gg cmVvcmRlcmluZy4KdjU6CiAgUmVxdWlyZWQgbWVtYmVycyBvZiBpbnRlbF9oZGNwIGlzIGRlZmlu ZWQgW1NlYW4gUGF1bF0KdjY6CiAgaGRjcDJfY2hlY2tfbGluayBpcyBjYW5jZWxsZWQgYXQgcmVx dWlyZWQgcGxhY2VzLgp2NzoKICBSZWJhc2VkIGZvciB0aGUgY29tcG9uZW50IGkvZiBjaGFuZ2Vz LgogIEVycm9ycyBkdWUgdG8gdGhlIHNpbmtzIGFyZSByZXBvcnRlZCBhcyBERUJVRyBsb2dzLgp2 ODoKICBoZGNwX2NoZWNrX3dvcmsgaXMgdXNlZCBmb3IgYm90aCBoZGNwMSBhbmQgaGRjcDIgY2hl Y2tfbGluayBbRGFuaWVsXQogIGhkY3AyLjIgZW5jcnlwdGlvbiBzdGF0dXMgY2hlY2sgaXMgcHV0 IHVuZGVyIFdBUk5fT04gW0RhbmllbF0KICBkcm1faGRjcC5oIGNoYW5nZXMgYXJlIG1vdmVkIGlu dG8gc2VwYXJhdGUgcGF0Y2ggW0RhbmllbF0Kdjk6CiAgZW51bSBjaGVja19saW5rX3N0YXR1cyBp cyBkZWZpbmVkIGF0IGludGVsX2Rydi5oIFtEYW5pZWxdCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGlu Z2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICB8IDEwICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCA4OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwg OTMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CmluZGV4IDE1ZDE0OGI0ZGI0MS4uOTRlZTM2YzI4ZTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaApAQCAtMzI0LDYgKzMyNCwxMyBAQCBzdHJ1Y3QgaW50ZWxfcGFuZWwgewogCiBzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0OwogCitlbnVtIGNoZWNrX2xpbmtfcmVzcG9uc2UgeworCUhEQ1Bf TElOS19QUk9URUNURUQJPSAwLAorCUhEQ1BfVE9QT0xPR1lfQ0hBTkdFLAorCUhEQ1BfTElOS19J TlRFR1JJVFlfRkFJTFVSRSwKKwlIRENQX1JFQVVUSF9SRVFVRVNUCit9OworCiAvKgogICogVGhp cyBzdHJ1Y3R1cmUgc2VydmVzIGFzIGEgdHJhbnNsYXRpb24gbGF5ZXIgYmV0d2VlbiB0aGUgZ2Vu ZXJpYyBIRENQIGNvZGUKICAqIGFuZCB0aGUgYnVzLXNwZWNpZmljIGNvZGUuIFdoYXQgdGhhdCBt ZWFucyBpcyB0aGF0IEhEQ1Agb3ZlciBIRE1JIGRpZmZlcnMKQEAgLTQxOSw2ICs0MjYsOSBAQCBz dHJ1Y3QgaW50ZWxfaGRjcF9zaGltIHsKIAkgKi8KIAlpbnQgKCpjb25maWdfc3RyZWFtX3R5cGUp KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCQkJCSAgYm9vbCBp c19yZXBlYXRlciwgdTggdHlwZSk7CisKKwkvKiBIRENQMi4yIExpbmsgSW50ZWdyaXR5IENoZWNr ICovCisJaW50ICgqY2hlY2tfMl8yX2xpbmspKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0KTsKIH07CiAKIHN0cnVjdCBpbnRlbF9oZGNwIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYwppbmRleCAyNDA1MTEyMGQzYmIuLjAwZmFlMzk2M2NhZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkY3AuYwpAQCAtMTExLDYgKzExMSwxNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wg aW50ZWxfaGRjcF9pbl91c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXJl dHVybiByZWcgJiBIRENQX1NUQVRVU19FTkM7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRl bF9oZGNwMl9pbl91c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNl LmRldik7CisJZW51bSBwb3J0IHBvcnQgPSBjb25uZWN0b3ItPmVuY29kZXItPnBvcnQ7CisJdTMy IHJlZzsKKworCXJlZyA9IEk5MTVfUkVBRChIRENQMl9TVEFUVVNfRERJKHBvcnQpKTsKKwlyZXR1 cm4gcmVnICYgTElOS19FTkNSWVBUSU9OX1NUQVRVUzsKK30KKwogc3RhdGljIGludCBpbnRlbF9o ZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pCiB7CkBAIC0x NTgwLDYgKzE1OTAsNjkgQEAgc3RhdGljIGludCBfaW50ZWxfaGRjcDJfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIHJldDsKIH0KIAorLyogSW1wbGVt ZW50cyB0aGUgTGluayBJbnRlZ3JpdHkgQ2hlY2sgZm9yIEhEQ1AyLjIgKi8KK3N0YXRpYyBpbnQg aW50ZWxfaGRjcDJfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ip Cit7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBjb25uX3Rv X2RpZ19wb3J0KGNvbm5lY3Rvcik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRj cCA9ICZjb25uZWN0b3ItPmhkY3A7CisJZW51bSBwb3J0IHBvcnQgPSBjb25uZWN0b3ItPmVuY29k ZXItPnBvcnQ7CisJaW50IHJldCA9IDA7CisKKwltdXRleF9sb2NrKCZoZGNwLT5tdXRleCk7CisK KwkvKiBoZGNwMl9jaGVja19saW5rIGlzIGV4cGVjdGVkIG9ubHkgd2hlbiBIRENQMi4yIGlzIEVu YWJsZWQgKi8KKwlpZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0VOQUJMRUQgfHwKKwkgICAgIWhkY3AtPmhkY3AyX2VuY3J5cHRlZCkgeworCQlyZXQgPSAtRUlO VkFMOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoV0FSTl9PTighaW50ZWxfaGRjcDJfaW5fdXNl KGNvbm5lY3RvcikpKSB7CisJCURSTV9FUlJPUigiSERDUDIuMiBsaW5rIHN0b3BwZWQgdGhlIGVu Y3J5cHRpb24sICV4XG4iLAorCQkJICBJOTE1X1JFQUQoSERDUDJfU1RBVFVTX0RESShwb3J0KSkp OworCQlyZXQgPSAtRU5YSU87CisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9U RUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdv dG8gb3V0OworCX0KKworCXJldCA9IGhkY3AtPnNoaW0tPmNoZWNrXzJfMl9saW5rKGludGVsX2Rp Z19wb3J0KTsKKwlpZiAocmV0ID09IEhEQ1BfTElOS19QUk9URUNURUQpIHsKKwkJaWYgKGhkY3At PnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpIHsKKwkJCWhk Y3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQ7CisJCQlzY2hl ZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQl9CisJCWdvdG8gb3V0OworCX0KKworCURS TV9ERUJVR19LTVMoIlslczolZF0gSERDUDIuMiBsaW5rIGZhaWxlZCwgcmV0cnlpbmcgYXV0aFxu IiwKKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlk KTsKKworCXJldCA9IF9pbnRlbF9oZGNwMl9kaXNhYmxlKGNvbm5lY3Rvcik7CisJaWYgKHJldCkg eworCQlEUk1fRVJST1IoIlslczolZF0gRmFpbGVkIHRvIGRpc2FibGUgaGRjcDIuMiAoJWQpXG4i LAorCQkJICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsIHJl dCk7CisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7 CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdvdG8gb3V0OworCX0KKwor CXJldCA9IF9pbnRlbF9oZGNwMl9lbmFibGUoY29ubmVjdG9yKTsKKwlpZiAocmV0KSB7CisJCURS TV9ERUJVR19LTVMoIlslczolZF0gRmFpbGVkIHRvIGVuYWJsZSBoZGNwMi4yICglZClcbiIsCisJ CQkgICAgICBjb25uZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCisJ CQkgICAgICByZXQpOworCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQlnb3RvIG91 dDsKKwl9CisKK291dDoKKwltdXRleF91bmxvY2soJmhkY3AtPm11dGV4KTsKKwlyZXR1cm4gcmV0 OworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9oZGNwX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogewogCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRv X2RlbGF5ZWRfd29yayh3b3JrKSwKQEAgLTE1ODcsNyArMTY2MCwxMCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9oZGNwX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJCQkgICAg ICAgY2hlY2tfd29yayk7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50 ZWxfaGRjcF90b19jb25uZWN0b3IoaGRjcCk7CiAKLQlpZiAoIWludGVsX2hkY3BfY2hlY2tfbGlu ayhjb25uZWN0b3IpKQorCWlmICghaW50ZWxfaGRjcDJfY2hlY2tfbGluayhjb25uZWN0b3IpKQor CQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCisJCQkJICAgICAgRFJN X0hEQ1AyX0NIRUNLX1BFUklPRF9NUyk7CisJZWxzZSBpZiAoIWludGVsX2hkY3BfY2hlY2tfbGlu ayhjb25uZWN0b3IpKQogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmss CiAJCQkJICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9EX01TKTsKIH0KQEAgLTE3MjEsNiArMTc5 Nyw3IEBAIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yLAogaW50IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIHsKIAlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJ dW5zaWduZWQgbG9uZyBjaGVja19saW5rX2ludGVydmFsID0gRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9E X01TOwogCWludCByZXQgPSAtRUlOVkFMOwogCiAJaWYgKCFoZGNwLT5zaGltKQpAQCAtMTczMywx OCArMTgxMCwxOSBAQCBpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQogCSAqIENvbnNpZGVyaW5nIHRoYXQgSERDUDIuMiBpcyBtb3JlIHNlY3Vy ZSB0aGFuIEhEQ1AxLjQsIElmIHRoZSBzZXR1cAogCSAqIGlzIGNhcGFibGUgb2YgSERDUDIuMiwg aXQgaXMgcHJlZmVycmVkIHRvIHVzZSBIRENQMi4yLgogCSAqLwotCWlmIChpbnRlbF9oZGNwMl9j YXBhYmxlKGNvbm5lY3RvcikpCisJaWYgKGludGVsX2hkY3AyX2NhcGFibGUoY29ubmVjdG9yKSkg ewogCQlyZXQgPSBfaW50ZWxfaGRjcDJfZW5hYmxlKGNvbm5lY3Rvcik7CisJCWlmICghcmV0KQor CQkJY2hlY2tfbGlua19pbnRlcnZhbCA9IERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVM7CisJfQog CiAJLyogV2hlbiBIRENQMi4yIGZhaWxzLCBIRENQMS40IHdpbGwgYmUgYXR0ZW1wdGVkICovCiAJ aWYgKHJldCAmJiBpbnRlbF9oZGNwX2NhcGFibGUoY29ubmVjdG9yKSkgewogCQlyZXQgPSBfaW50 ZWxfaGRjcF9lbmFibGUoY29ubmVjdG9yKTsKLQkJaWYgKCFyZXQpCi0JCQlzY2hlZHVsZV9kZWxh eWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCi0JCQkJCSAgICAgIERSTV9IRENQX0NIRUNLX1BF UklPRF9NUyk7CiAJfQogCiAJaWYgKCFyZXQpIHsKKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZo ZGNwLT5jaGVja193b3JrLCBjaGVja19saW5rX2ludGVydmFsKTsKIAkJaGRjcC0+dmFsdWUgPSBE Uk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRDsKIAkJc2NoZWR1bGVfd29yaygmaGRj cC0+cHJvcF93b3JrKTsKIAl9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==