From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v5 17/40] drm/i915: Implement HDCP2.2 link integrity check Date: Wed, 27 Jun 2018 14:10:06 +0530 Message-ID: <1530088829-11730-18-git-send-email-ramalingam.c@intel.com> References: <1530088829-11730-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: <1530088829-11730-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@ffwll.ch, 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 IGFzIHBhcnQgb2YgcGF0Y2ggcmVvcmRlcmluZy4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0g QyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZGNwLmMgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGlu Y2x1ZGUvZHJtL2RybV9oZGNwLmggICAgICAgICAgICB8ICA4ICsrKysKIDIgZmlsZXMgY2hhbmdl ZCwgOTAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBjZjFj NWYyMGI2MmUuLmVjODQwYzExNzhiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAt MjUsNiArMjUsOCBAQAogc3RhdGljIGludCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3Rvcik7CiBzdGF0aWMgaW50IF9pbnRlbF9oZGNwMl9lbmFibGUoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIHN0YXRpYyBpbnQgX2ludGVsX2hkY3Ay X2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKK3N0YXRpYyB2b2lk IGludGVsX2hkY3AyX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3N0YXRp YyBpbnQgaW50ZWxfaGRjcDJfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpOwogc3RhdGljCiBpbnQgaW50ZWxfaGRjcF9yZWFkX3ZhbGlkX2Jrc3Yoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0 IGludGVsX2hkY3Bfc2hpbSAqc2hpbSwgdTggKmJrc3YpOwpAQCAtODQxLDYgKzg0Myw3IEBAIGlu dCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCWhk Y3AtPmhkY3Bfc2hpbSA9IGhkY3Bfc2hpbTsKIAltdXRleF9pbml0KCZoZGNwLT5oZGNwX211dGV4 KTsKIAlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+aGRjcF9jaGVja193b3JrLCBpbnRlbF9oZGNw X2NoZWNrX3dvcmspOworCUlOSVRfREVMQVlFRF9XT1JLKCZoZGNwLT5oZGNwMl9jaGVja193b3Jr LCBpbnRlbF9oZGNwMl9jaGVja193b3JrKTsKIAlJTklUX1dPUksoJmhkY3AtPmhkY3BfcHJvcF93 b3JrLCBpbnRlbF9oZGNwX3Byb3Bfd29yayk7CiAKIAlpZiAoaGRjcDJfc3VwcG9ydGVkKQpAQCAt MTcwOSw2ICsxNzEyLDggQEAgc3RhdGljIGludCBfaW50ZWxfaGRjcDJfZW5hYmxlKHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAloZGNwLT5oZGNwMl9pbl91c2UgPSB0cnVlOwog CWhkY3AtPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRDsK IAlzY2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bfd29yayk7CisJc2NoZWR1bGVfZGVsYXll ZF93b3JrKCZoZGNwLT5oZGNwMl9jaGVja193b3JrLAorCQkJICAgICAgRFJNX0hEQ1AyX0NIRUNL X1BFUklPRF9NUyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE5MTQsMyArMTkxOSw4MCBAQCBzdGF0 aWMgaW50IGludGVsX2hkY3AyX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogZXhpdDoKIAlyZXR1cm4gcmV0OwogfQorCitzdGF0aWMgaW50IGludGVsX2hkY3AyX2NoZWNr X2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0 b3IpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVj dG9yLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5o ZGNwOworCWVudW0gcG9ydCBwb3J0ID0gY29ubmVjdG9yLT5lbmNvZGVyLT5wb3J0OworCWludCBy ZXQgPSAwOworCisJaWYgKCFoZGNwLT5oZGNwX3NoaW0pCisJCXJldHVybiAtRU5PRU5UOworCisJ bXV0ZXhfbG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CisKKwlpZiAoaGRjcC0+aGRjcF92YWx1ZSA9 PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKQorCQlnb3RvIG91dDsKKwor CWlmICghKEk5MTVfUkVBRChIRENQMl9TVEFUVVNfRERJKHBvcnQpKSAmIExJTktfRU5DUllQVElP Tl9TVEFUVVMpKSB7CisJCURSTV9FUlJPUigiSERDUCBjaGVjayBmYWlsZWQ6IGxpbmsgaXMgbm90 IGVuY3J5cHRlZCwgJXhcbiIsCisJCQkgIEk5MTVfUkVBRChIRENQMl9TVEFUVVNfRERJKHBvcnQp KSk7CisJCXJldCA9IC1FTlhJTzsKKwkJaGRjcC0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRF TlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bf d29yayk7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IGhkY3AtPmhkY3Bfc2hpbS0+Y2hlY2tf Ml8yX2xpbmsoaW50ZWxfZGlnX3BvcnQpOworCWlmIChyZXQgPT0gRFJNX0hEQ1BfTElOS19QUk9U RUNURUQpIHsKKwkJaWYgKGhkY3AtPmhkY3BfdmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9U RUNUSU9OX1VOREVTSVJFRCkgeworCQkJaGRjcC0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRF TlRfUFJPVEVDVElPTl9FTkFCTEVEOworCQkJc2NoZWR1bGVfd29yaygmaGRjcC0+aGRjcF9wcm9w X3dvcmspOworCQl9CisJCWdvdG8gb3V0OworCX0KKworCURSTV9FUlJPUigiWyVzOiVkXSBIRENQ Mi4yIGxpbmsgZmFpbGVkLCByZXRyeWluZyBhdXRoXG4iLAorCQkgIGNvbm5lY3Rvci0+YmFzZS5u YW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCk7CisKKwlyZXQgPSBfaW50ZWxfaGRjcDJfZGlz YWJsZShjb25uZWN0b3IpOworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJbJXM6JWRdIEZhaWxl ZCB0byBkaXNhYmxlIGhkY3AyLjIgKCVkKVxuIiwKKwkJCSAgY29ubmVjdG9yLT5iYXNlLm5hbWUs IGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLCByZXQpOworCisJCWhkY3AtPmhkY3BfdmFsdWUgPSBE Uk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRj cC0+aGRjcF9wcm9wX3dvcmspOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSBfaW50ZWxfaGRj cDJfZW5hYmxlKGNvbm5lY3Rvcik7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIlslczolZF0g RmFpbGVkIHRvIGVuYWJsZSBoZGNwMi4yICglZClcbiIsCisJCQkgIGNvbm5lY3Rvci0+YmFzZS5u YW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwgcmV0KTsKKworCQloZGNwLT5oZGNwX3ZhbHVl ID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmso JmhkY3AtPmhkY3BfcHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJbXV0ZXhf dW5sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2 b2lkIGludGVsX2hkY3AyX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorewor CXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3 b3JrKSwKKwkJCQkJCXN0cnVjdCBpbnRlbF9oZGNwLAorCQkJCQkJaGRjcDJfY2hlY2tfd29yayk7 CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29udGFpbmVyX29mKGhkY3As CisJCQkJCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLAorCQkJCQkJaGRjcCk7CisKKwlpZiAoIWlu dGVsX2hkY3AyX2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKKwkJc2NoZWR1bGVfZGVsYXllZF93b3Jr KCZoZGNwLT5oZGNwMl9jaGVja193b3JrLAorCQkJCSAgICAgIERSTV9IRENQMl9DSEVDS19QRVJJ T0RfTVMpOworfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaCBiL2luY2x1ZGUv ZHJtL2RybV9oZGNwLmgKaW5kZXggMGMyMjJiNWI2ODVjLi43NmM4NGQ2MDIwMmYgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtL2RybV9oZGNwLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2hkY3AuaApA QCAtMTEsNiArMTEsMTQgQEAKIAogLyogUGVyaW9kIG9mIGhkY3AgY2hlY2tzICh0byBlbnN1cmUg d2UncmUgc3RpbGwgYXV0aGVudGljYXRlZCkgKi8KICNkZWZpbmUgRFJNX0hEQ1BfQ0hFQ0tfUEVS SU9EX01TCQkoMTI4ICogMTYpCisjZGVmaW5lIERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVMJCTUw MAorCitlbnVtIGNoZWNrX2xpbmtfcmVzcG9uc2UgeworCURSTV9IRENQX0xJTktfUFJPVEVDVEVE CT0gMCwKKwlEUk1fSERDUF9UT1BPTE9HWV9DSEFOR0UsCisJRFJNX0hEQ1BfTElOS19JTlRFR1JJ VFlfRkFJTFVSRSwKKwlEUk1fSERDUF9SRUFVVEhfUkVRVUVTVAorfTsKIAogLyogU2hhcmVkIGxl bmd0aHMvbWFza3MgYmV0d2VlbiBIRE1JL0RWSS9EaXNwbGF5UG9ydCAqLwogI2RlZmluZSBEUk1f SERDUF9BTl9MRU4JCQkJOAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=