From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v8 09/35] drm/i915: Implement HDCP2.2 link integrity check Date: Tue, 27 Nov 2018 16:13:07 +0530 Message-ID: <1543315413-24302-10-git-send-email-ramalingam.c@intel.com> References: <1543315413-24302-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: <1543315413-24302-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.vetter@ffwll.ch, tomas.winkler@intel.com Cc: uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50cyB0aGUgbGluayBpbnRlZ3JpdHkgY2hlY2sgb25jZSBpbiA1MDBtU2VjLgoKT25j ZSBlbmNyeXB0aW9uIGlzIGVuYWJsZWQsIGFuIG9uZ29pbmcgTGluayBJbnRlZ3JpdHkgQ2hlY2sg aXMKcGVyZm9ybWVkIGJ5IHRoZSBIRENQIFJlY2VpdmVyIHRvIGNoZWNrIHRoYXQgY2lwaGVyIHN5 bmNocm9uaXphdGlvbgppcyBtYWludGFpbmVkIGJldHdlZW4gdGhlIEhEQ1AgVHJhbnNtaXR0ZXIg YW5kIHRoZSBIRENQIFJlY2VpdmVyLgoKT24gdGhlIGRldGVjdGlvbiBvZiBzeW5jaHJvbml6YXRp b24gbG9zdCwgdGhlIEhEQ1AgUmVjZWl2ZXIgbXVzdCBhc3NlcnQKdGhlIGNvcnJlc3BvbmRpbmcg Yml0cyBvZiB0aGUgUnhTdGF0dXMgcmVnaXN0ZXIuIFRoZSBUcmFuc21pdHRlciBwb2xscwp0aGUg UnhTdGF0dXMgcmVnaXN0ZXIgYW5kIGl0IG1heSBpbml0aWF0ZSByZS1hdXRoZW50aWNhdGlvbi4K CnYyOgogIFJlYmFzZWQuCnYzOgogIE5vIENoYW5nZXMuCnY0OgogIGVudW0gY2hlY2tfbGlua19y ZXNwb25zZSBpcyB1c2VkIGNoZWNrIHRoZSBsaW5rIHN0YXR1cyBbVW1hXQp2NToKICBSZWJhc2Vk IGFzIHBhcnQgb2YgcGF0Y2ggcmVvcmRlcmluZy4KdjY6CiAgUmVxdWlyZWQgbWVtYmVycyBvZiBp bnRlbF9oZGNwIGlzIGRlZmluZWQgW1NlYW4gUGF1bF0Kdjc6CiAgaGRjcDJfY2hlY2tfbGluayBp cyBjYW5jZWxsZWQgYXQgcmVxdWlyZWQgcGxhY2VzLgp2ODoKICBSZWJhc2VkIGZvciB0aGUgY29t cG9uZW50IGkvZiBjaGFuZ2VzLgogIEVycm9ycyBkdWUgdG8gdGhlIHNpbmtzIGFyZSByZXBvcnRl ZCBhcyBERUJVRyBsb2dzLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2Ft LmNAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMSArKyst LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDUgKysrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgICAgfCA4MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9oZGNwLmggICAgICAgICAgICAgICB8ICA4 ICsrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGU5ZjRlMjJiMmE0ZS4uZmM2 M2JhYmNlMTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNTgzMywx NSArMTU4MzMsMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfaHBkX3BvbGxfZmluaShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogewogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOworCXN0cnVjdCBpbnRlbF9o ZGNwICpoZGNwOwogCiAJLyogS2lsbCBhbGwgdGhlIHdvcmsgdGhhdCBtYXkgaGF2ZSBiZWVuIHF1 ZXVlZCBieSBocGQuICovCiAJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29u bl9pdGVyKTsKIAlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25u X2l0ZXIpIHsKKwkJaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisKIAkJaWYgKGNvbm5lY3Rvci0+ bW9kZXNldF9yZXRyeV93b3JrLmZ1bmMpCiAJCQljYW5jZWxfd29ya19zeW5jKCZjb25uZWN0b3It Pm1vZGVzZXRfcmV0cnlfd29yayk7Ci0JCWlmIChjb25uZWN0b3ItPmhkY3Auc2hpbSkgewotCQkJ Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZjb25uZWN0b3ItPmhkY3AuY2hlY2tfd29yayk7Ci0J CQljYW5jZWxfd29ya19zeW5jKCZjb25uZWN0b3ItPmhkY3AucHJvcF93b3JrKTsKKwkJaWYgKGhk Y3AtPnNoaW0pIHsKKwkJCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmaGRjcC0+Y2hlY2tfd29y ayk7CisJCQljYW5jZWxfd29ya19zeW5jKCZoZGNwLT5wcm9wX3dvcmspOworCQkJaWYgKGhkY3At PmhkY3AyX3N1cHBvcnRlZCkKKwkJCQljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmhkY3AtPmhk Y3AyX2NoZWNrX3dvcmspOwogCQl9CiAJfQogCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgm Y29ubl9pdGVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMjRkMjU4NDg4ZWZlLi5l NmUzMmJmNTI1NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC00MDMsNiArNDAzLDkg QEAgc3RydWN0IGludGVsX2hkY3Bfc2hpbSB7CiAJICovCiAJaW50ICgqY29uZmlnX3N0cmVhbV90 eXBlKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAkJCQkgIHZv aWQgKmJ1Ziwgc2l6ZV90IHNpemUpOworCisJLyogSERDUDIuMiBMaW5rIEludGVncml0eSBDaGVj ayAqLworCWludCAoKmNoZWNrXzJfMl9saW5rKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCk7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfaGRjcCB7CkBAIC00NDUsNiArNDQ4 LDggQEAgc3RydWN0IGludGVsX2hkY3AgewogCSAqIG92ZXIgcmUtQXV0aCBoYXMgdG8gYmUgdHJp Z2dlcmVkLgogCSAqLwogCXUzMiBzZXFfbnVtX207CisKKwlzdHJ1Y3QgZGVsYXllZF93b3JrIGhk Y3AyX2NoZWNrX3dvcms7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yIHsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkY3AuYwppbmRleCA2NzlmM2MxNjQ1ODIuLjk4YjExMjM5NWE1YSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTYyNiw2ICsxNjI2LDgxIEBAIHN0YXRpYyBpbnQg X2ludGVsX2hkY3AyX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog CXJldHVybiByZXQ7CiB9CiAKKy8qIEltcGxlbWVudHMgdGhlIExpbmsgSW50ZWdyaXR5IENoZWNr IGZvciBIRENQMi4yICovCitzdGF0aWMgaW50IGludGVsX2hkY3AyX2NoZWNrX2xpbmsoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOworCWVudW0g cG9ydCBwb3J0ID0gY29ubmVjdG9yLT5lbmNvZGVyLT5wb3J0OworCisJaW50IHJldCA9IDA7CisK KwlpZiAoIWhkY3AtPnNoaW0pCisJCXJldHVybiAtRU5PRU5UOworCisJbXV0ZXhfbG9jaygmaGRj cC0+bXV0ZXgpOworCisJaWYgKGhkY3AtPnZhbHVlID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVD VElPTl9VTkRFU0lSRUQpCisJCWdvdG8gb3V0OworCisJaWYgKCEoSTkxNV9SRUFEKEhEQ1AyX1NU QVRVU19EREkocG9ydCkpICYgTElOS19FTkNSWVBUSU9OX1NUQVRVUykpIHsKKwkJRFJNX0VSUk9S KCJIRENQMi4yIGNoZWNrIGZhaWxlZDogbGluayBpcyBub3QgZW5jcnlwdGVkLCAleFxuIiwKKwkJ CSAgSTkxNV9SRUFEKEhEQ1AyX1NUQVRVU19EREkocG9ydCkpKTsKKwkJcmV0ID0gLUVOWElPOwor CQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlz Y2hlZHVsZV93b3JrKCZoZGNwLT5wcm9wX3dvcmspOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQg PSBoZGNwLT5zaGltLT5jaGVja18yXzJfbGluayhpbnRlbF9kaWdfcG9ydCk7CisJaWYgKHJldCA9 PSBEUk1fSERDUF9MSU5LX1BST1RFQ1RFRCkgeworCQlpZiAoaGRjcC0+dmFsdWUgIT0gRFJNX01P REVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkgeworCQkJaGRjcC0+dmFsdWUgPSBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRDsKKwkJCXNjaGVkdWxlX3dvcmsoJmhkY3At PnByb3Bfd29yayk7CisJCX0KKwkJZ290byBvdXQ7CisJfQorCisJRFJNX0RFQlVHX0tNUygiWyVz OiVkXSBIRENQMi4yIGxpbmsgZmFpbGVkLCByZXRyeWluZyBhdXRoXG4iLAorCQkgICAgICBjb25u ZWN0b3ItPmJhc2UubmFtZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQpOworCisJcmV0ID0gX2lu dGVsX2hkY3AyX2Rpc2FibGUoY29ubmVjdG9yKTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJPUigi WyVzOiVkXSBGYWlsZWQgdG8gZGlzYWJsZSBoZGNwMi4yICglZClcbiIsCisJCQkgIGNvbm5lY3Rv ci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwgcmV0KTsKKwkJaGRjcC0+dmFs dWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29y aygmaGRjcC0+cHJvcF93b3JrKTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gX2ludGVsX2hk Y3AyX2VuYWJsZShjb25uZWN0b3IpOworCWlmIChyZXQpIHsKKwkJRFJNX0RFQlVHX0tNUygiWyVz OiVkXSBGYWlsZWQgdG8gZW5hYmxlIGhkY3AyLjIgKCVkKVxuIiwKKwkJCSAgICAgIGNvbm5lY3Rv ci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwKKwkJCSAgICAgIHJldCk7CisJ CWhkY3AtPnZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7CisJCXNj aGVkdWxlX3dvcmsoJmhkY3AtPnByb3Bfd29yayk7CisJCWdvdG8gb3V0OworCX0KKworb3V0Ogor CW11dGV4X3VubG9jaygmaGRjcC0+bXV0ZXgpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2 b2lkIGludGVsX2hkY3AyX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorewor CXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3 b3JrKSwKKwkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9oZGNwLAorCQkJCQkgICAgICAgaGRjcDJf Y2hlY2tfd29yayk7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxf aGRjcF90b19jb25uZWN0b3IoaGRjcCk7CisKKwlpZiAoIWludGVsX2hkY3AyX2NoZWNrX2xpbmso Y29ubmVjdG9yKSkKKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5oZGNwMl9jaGVja193 b3JrLAorCQkJCSAgICAgIERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVMpOworfQorCiBzdGF0aWMg aW50IGk5MTVfaGRjcF9jb21wb25lbnRfbWFzdGVyX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGtkZXZfdG9faTkxNShkZXYp OwpAQCAtMTc2Miw2ICsxODM3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfaW5pdChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCXJldHVybjsKIAl9CiAKKwlJTklUX0RF TEFZRURfV09SSygmaGRjcC0+aGRjcDJfY2hlY2tfd29yaywgaW50ZWxfaGRjcDJfY2hlY2tfd29y ayk7CiAJaGRjcC0+aGRjcDJfc3VwcG9ydGVkID0gMTsKIH0KIApAQCAtMTgzNiw4ICsxOTEyLDEy IEBAIGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCiAJICogQ29uc2lkZXJpbmcgdGhhdCBIRENQMi4yIGlzIG1vcmUgc2VjdXJlIHRoYW4gSERD UDEuNCwgSWYgdGhlIHNldHVwCiAJICogaXMgY2FwYWJsZSBvZiBIRENQMi4yLCBpdCBpcyBwcmVm ZXJyZWQgdG8gdXNlIEhEQ1AyLjIuCiAJICovCi0JaWYgKGludGVsX2hkY3AyX2NhcGFibGUoY29u bmVjdG9yKSkKKwlpZiAoaW50ZWxfaGRjcDJfY2FwYWJsZShjb25uZWN0b3IpKSB7CiAJCXJldCA9 IF9pbnRlbF9oZGNwMl9lbmFibGUoY29ubmVjdG9yKTsKKwkJaWYgKCFyZXQpCisJCQlzY2hlZHVs ZV9kZWxheWVkX3dvcmsoJmhkY3AtPmhkY3AyX2NoZWNrX3dvcmssCisJCQkJCSAgICAgIERSTV9I RENQMl9DSEVDS19QRVJJT0RfTVMpOworCX0KIAogCS8qIFdoZW4gSERDUDIuMiBmYWlscywgSERD UDEuNCB3aWxsIGJlIGF0dGVtcHRlZCAqLwogCWlmIChyZXQgJiYgaW50ZWxfaGRjcF9jYXBhYmxl KGNvbm5lY3RvcikpIHsKQEAgLTE4NzYsNiArMTk1Niw3IEBAIGludCBpbnRlbF9oZGNwX2Rpc2Fi bGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiAJbXV0ZXhfdW5sb2NrKCZo ZGNwLT5tdXRleCk7CiAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZoZGNwLT5jaGVja193b3Jr KTsKKwljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmhkY3AtPmhkY3AyX2NoZWNrX3dvcmspOwog CXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9oZGNwLmggYi9p bmNsdWRlL2RybS9kcm1faGRjcC5oCmluZGV4IDNlNDVhNzYxOGFiMy4uYmUwN2EyYjU2ZDIzIDEw MDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1faGRjcC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9o ZGNwLmgKQEAgLTExLDYgKzExLDE0IEBACiAKIC8qIFBlcmlvZCBvZiBoZGNwIGNoZWNrcyAodG8g ZW5zdXJlIHdlJ3JlIHN0aWxsIGF1dGhlbnRpY2F0ZWQpICovCiAjZGVmaW5lIERSTV9IRENQX0NI RUNLX1BFUklPRF9NUwkJKDEyOCAqIDE2KQorI2RlZmluZSBEUk1fSERDUDJfQ0hFQ0tfUEVSSU9E X01TCQk1MDAKKworZW51bSBjaGVja19saW5rX3Jlc3BvbnNlIHsKKwlEUk1fSERDUF9MSU5LX1BS T1RFQ1RFRAk9IDAsCisJRFJNX0hEQ1BfVE9QT0xPR1lfQ0hBTkdFLAorCURSTV9IRENQX0xJTktf SU5URUdSSVRZX0ZBSUxVUkUsCisJRFJNX0hEQ1BfUkVBVVRIX1JFUVVFU1QKK307CiAKIC8qIFNo YXJlZCBsZW5ndGhzL21hc2tzIGJldHdlZW4gSERNSS9EVkkvRGlzcGxheVBvcnQgKi8KICNkZWZp bmUgRFJNX0hEQ1BfQU5fTEVOCQkJCTgKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK