From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v6 14/35] drm/i915: Implement HDCP2.2 link integrity check Date: Sat, 14 Jul 2018 08:44:56 +0530 Message-ID: <1531538117-1606-15-git-send-email-ramalingam.c@intel.com> References: <1531538117-1606-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: <1531538117-1606-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@ffwll.ch, seanpaul@chromium.org, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgbGluayBpbnRlZ3JpdHkgY2hlY2sgb25jZSBpbiA1MDBtU2VjLgoKT25j ZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQsIGFuIG9uZ29pbmcgTGluayBJbnRlZ3JpdHkgQ2hlY2sg aXMKcGVyZm9ybWVkIGJ5IHRoZSBIRENQIFJlY2VpdmVyIHRvIGNoZWNrIHRoYXQgY2lwaGVyIHN5 bmNocm9uaXphdGlvbgppcyBtYWludGFpbmVkIGJldHdlZW4gdGhlIEhEQ1AgVHJhbnNtaXR0ZXIg YW5kIHRoZSBIRENQIFJlY2VpdmVyLgoKT24gdGhlIGRldGVjdGlvbiBvZiBzeW5jaHJvbml6YXRp b24gbG9zdCwgdGhlIEhEQ1AgUmVjZWl2ZXIgbXVzdCBhc3NlcnQKdGhlIGNvcnJlc3BvbmRpbmcg Yml0cyBvZiB0aGUgUnhTdGF0dXMgcmVnaXN0ZXIuIFRoZSBUcmFuc21pdHRlciBwb2xscwp0aGUg UnhTdGF0dXMgcmVnaXN0ZXIgYW5kIGl0IG1heSBpbml0aWF0ZSByZS1hdXRoZW50aWNhdGlvbi4K CnYyOgogIFJlYmFzZWQuCnYzOgogIE5vIENoYW5nZXMuCnY0OgogIGVudW0gY2hlY2tfbGlua19y ZXNwb25zZSBpcyB1c2VkIGNoZWNrIHRoZSBsaW5rIHN0YXR1cyBbVW1hXQp2NToKICBSZWJhc2Vk IGFzIHBhcnQgb2YgcGF0Y2ggcmVvcmRlcmluZy4KdjY6CiAgUmVxdWlyZWQgbWVtYmVycyBvZiBp bnRlbF9oZGNwIGlzIGRlZmluZWQgW1NlYW4gUGF1bF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5n YW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCAgfCAgNSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8 IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9kcm0v ZHJtX2hkY3AuaCAgICAgICAgICAgIHwgIDggKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBl ZDQyOWE2ZmI5YWIuLmNlNDY3OWEwYjUzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAg LTQwMCw2ICs0MDAsOSBAQCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltIHsKIAkgKi8KIAlpbnQgKCpj b25maWdfc3RyZWFtX3R5cGUpKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0LAogCQkJCSAgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSk7CisKKwkvKiBIRENQMi4yIExpbmsg SW50ZWdyaXR5IENoZWNrICovCisJaW50ICgqY2hlY2tfMl8yX2xpbmspKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KTsKIH07CiAKIHN0cnVjdCBpbnRlbF9oZGNwIHsK QEAgLTQ0Miw2ICs0NDUsOCBAQCBzdHJ1Y3QgaW50ZWxfaGRjcCB7CiAJICogb3ZlciByZS1BdXRo IGhhcyB0byBiZSB0cmlnZ2VyZWQuCiAJICovCiAJdWludDMyX3Qgc2VxX251bV9tOworCisJc3Ry dWN0IGRlbGF5ZWRfd29yayBoZGNwMl9jaGVja193b3JrOwogfTsKIAogc3RydWN0IGludGVsX2Nv bm5lY3RvciB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKaW5kZXggYTA4ZDgwYzcxMGQ3Li4w YTE0ZDg3NTczNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3Au YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAgLTI1LDYgKzI1LDgg QEAKIHN0YXRpYyBpbnQgaW50ZWxfaGRjcDJfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpOwogc3RhdGljIGludCBfaW50ZWxfaGRjcDJfZW5hYmxlKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3Rvcik7CiBzdGF0aWMgaW50IF9pbnRlbF9oZGNwMl9kaXNhYmxlKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CitzdGF0aWMgdm9pZCBpbnRlbF9oZGNw Ml9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CitzdGF0aWMgaW50IGludGVs X2hkY3AyX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIHN0 YXRpYwogaW50IGludGVsX2hkY3BfcmVhZF92YWxpZF9ia3N2KHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0LAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNw X3NoaW0gKnNoaW0sIHU4ICpia3N2KTsKQEAgLTgyMyw2ICs4MjUsNyBAQCBpbnQgaW50ZWxfaGRj cF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAltdXRleF9pbml0KCZo ZGNwLT5tdXRleCk7CiAJSU5JVF9ERUxBWUVEX1dPUksoJmhkY3AtPmNoZWNrX3dvcmssIGludGVs X2hkY3BfY2hlY2tfd29yayk7CiAJSU5JVF9XT1JLKCZoZGNwLT5wcm9wX3dvcmssIGludGVsX2hk Y3BfcHJvcF93b3JrKTsKKwlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+aGRjcDJfY2hlY2tfd29y aywgaW50ZWxfaGRjcDJfY2hlY2tfd29yayk7CiAKIAlpZiAoaGRjcDJfc3VwcG9ydGVkKQogCQlp bnRlbF9oZGNwMl9pbml0KGNvbm5lY3Rvcik7CkBAIC04NDQsOCArODQ3LDEyIEBAIGludCBpbnRl bF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJICogQ29u c2lkZXJpbmcgdGhhdCBIRENQMi4yIGlzIG1vcmUgc2VjdXJlIHRoYW4gSERDUDEuNCwgSWYgdGhl IHNldHVwCiAJICogaXMgY2FwYWJsZSBvZiBIRENQMi4yLCBpdCBpcyBwcmVmZXJyZWQgdG8gdXNl IEhEQ1AyLjIuCiAJICovCi0JaWYgKGludGVsX2hkY3AyX2NhcGFibGUoY29ubmVjdG9yKSkKKwlp ZiAoaW50ZWxfaGRjcDJfY2FwYWJsZShjb25uZWN0b3IpKSB7CiAJCXJldCA9IF9pbnRlbF9oZGNw Ml9lbmFibGUoY29ubmVjdG9yKTsKKwkJaWYgKCFyZXQpCisJCQlzY2hlZHVsZV9kZWxheWVkX3dv cmsoJmhkY3AtPmhkY3AyX2NoZWNrX3dvcmssCisJCQkJCSAgICAgIERSTV9IRENQMl9DSEVDS19Q RVJJT0RfTVMpOworCX0KIAogCS8qIFdoZW4gSERDUDIuMiBmYWlscywgSERDUDEuNCB3aWxsIGJl IGF0dGVtcHRlZCAqLwogCWlmIChyZXQgJiYgaW50ZWxfaGRjcF9jYXBhYmxlKGNvbm5lY3Rvcikp IHsKQEAgLTE3MjQsMyArMTczMSw3OCBAQCBzdGF0aWMgaW50IGludGVsX2hkY3AyX2luaXQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogZXhpdDoKIAlyZXR1cm4gcmV0OwogfQor CitzdGF0aWMgaW50IGludGVsX2hkY3AyX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CisJc3RydWN0IGlu dGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOworCWVudW0gcG9ydCBwb3J0ID0gY29u bmVjdG9yLT5lbmNvZGVyLT5wb3J0OworCWludCByZXQgPSAwOworCisJaWYgKCFoZGNwLT5zaGlt KQorCQlyZXR1cm4gLUVOT0VOVDsKKworCW11dGV4X2xvY2soJmhkY3AtPm11dGV4KTsKKworCWlm IChoZGNwLT52YWx1ZSA9PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKQor CQlnb3RvIG91dDsKKworCWlmICghKEk5MTVfUkVBRChIRENQMl9TVEFUVVNfRERJKHBvcnQpKSAm IExJTktfRU5DUllQVElPTl9TVEFUVVMpKSB7CisJCURSTV9FUlJPUigiSERDUCBjaGVjayBmYWls ZWQ6IGxpbmsgaXMgbm90IGVuY3J5cHRlZCwgJXhcbiIsCisJCQkgIEk5MTVfUkVBRChIRENQMl9T VEFUVVNfRERJKHBvcnQpKSk7CisJCXJldCA9IC1FTlhJTzsKKwkJaGRjcC0+dmFsdWUgPSBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+ cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gaGRjcC0+c2hpbS0+Y2hlY2tf Ml8yX2xpbmsoaW50ZWxfZGlnX3BvcnQpOworCWlmIChyZXQgPT0gRFJNX0hEQ1BfTElOS19QUk9U RUNURUQpIHsKKwkJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9VTkRFU0lSRUQpIHsKKwkJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNU SU9OX0VOQUJMRUQ7CisJCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQl9CisJ CWdvdG8gb3V0OworCX0KKworCURSTV9FUlJPUigiWyVzOiVkXSBIRENQMi4yIGxpbmsgZmFpbGVk LCByZXRyeWluZyBhdXRoXG4iLAorCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0b3It PmJhc2UuYmFzZS5pZCk7CisKKwlyZXQgPSBfaW50ZWxfaGRjcDJfZGlzYWJsZShjb25uZWN0b3Ip OworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJbJXM6JWRdIEZhaWxlZCB0byBkaXNhYmxlIGhk Y3AyLjIgKCVkKVxuIiwKKwkJCSAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFz ZS5iYXNlLmlkLCByZXQpOworCisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9U RUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdv dG8gb3V0OworCX0KKworCXJldCA9IF9pbnRlbF9oZGNwMl9lbmFibGUoY29ubmVjdG9yKTsKKwlp ZiAocmV0KSB7CisJCURSTV9FUlJPUigiWyVzOiVkXSBGYWlsZWQgdG8gZW5hYmxlIGhkY3AyLjIg KCVkKVxuIiwKKwkJCSAgY29ubmVjdG9yLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFzZS5iYXNl LmlkLCByZXQpOworCisJCWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdvdG8gb3V0 OworCX0KKworb3V0OgorCW11dGV4X3VubG9jaygmaGRjcC0+bXV0ZXgpOworCisJcmV0dXJuIHJl dDsKK30KKworc3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfY2hlY2tfd29yayhzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSBjb250YWluZXJfb2Yo dG9fZGVsYXllZF93b3JrKHdvcmspLAorCQkJCQkJc3RydWN0IGludGVsX2hkY3AsCisJCQkJCQlo ZGNwMl9jaGVja193b3JrKTsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBp bnRlbF9oZGNwX3RvX2Nvbm5lY3RvcihoZGNwKTsKKworCWlmICghaW50ZWxfaGRjcDJfY2hlY2tf bGluayhjb25uZWN0b3IpKQorCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmhkY3AyX2No ZWNrX3dvcmssCisJCQkJICAgICAgRFJNX0hEQ1AyX0NIRUNLX1BFUklPRF9NUyk7Cit9CmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1faGRjcC5oIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaApp bmRleCBjMDFjZGIxZDg0OGQuLmM0YWZmMTg1MDc2ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0v ZHJtX2hkY3AuaAorKysgYi9pbmNsdWRlL2RybS9kcm1faGRjcC5oCkBAIC0xMSw2ICsxMSwxNCBA QAogCiAvKiBQZXJpb2Qgb2YgaGRjcCBjaGVja3MgKHRvIGVuc3VyZSB3ZSdyZSBzdGlsbCBhdXRo ZW50aWNhdGVkKSAqLwogI2RlZmluZSBEUk1fSERDUF9DSEVDS19QRVJJT0RfTVMJCSgxMjggKiAx NikKKyNkZWZpbmUgRFJNX0hEQ1AyX0NIRUNLX1BFUklPRF9NUwkJNTAwCisKK2VudW0gY2hlY2tf bGlua19yZXNwb25zZSB7CisJRFJNX0hEQ1BfTElOS19QUk9URUNURUQJPSAwLAorCURSTV9IRENQ X1RPUE9MT0dZX0NIQU5HRSwKKwlEUk1fSERDUF9MSU5LX0lOVEVHUklUWV9GQUlMVVJFLAorCURS TV9IRENQX1JFQVVUSF9SRVFVRVNUCit9OwogCiAvKiBTaGFyZWQgbGVuZ3Rocy9tYXNrcyBiZXR3 ZWVuIEhETUkvRFZJL0Rpc3BsYXlQb3J0ICovCiAjZGVmaW5lIERSTV9IRENQX0FOX0xFTgkJCQk4 Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==