From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v3 30/40] drm/i915: Initialize HDCP2.2 and its MEI interface Date: Tue, 3 Apr 2018 19:27:43 +0530 Message-ID: <1522763873-23041-31-git-send-email-ramalingam.c@intel.com> References: <1522763873-23041-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: <1522763873-23041-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, seanpaul@chromium.org, daniel@ffwll.ch, chris@chris-wilson.co.uk, jani.nikula@linux.intel.com, tomas.winkler@intel.com, alexander.usyskin@intel.com Cc: rodrigo.vivi@intel.com List-Id: dri-devel@lists.freedesktop.org SW5pdGlhbGl6ZSBIRENQMi4yIHN1cHBvcnQuIFRoaXMgaW5jbHVkZXMgdGhlIG1laSBpbnRlcmZh Y2UKaW5pdGlhbGl6YXRpb24gYWxvbmcgd2l0aCByZXF1aXJlZCBub3RpZmllciByZWdpc3RyYXRp b24uCgp2MjoKICBtZWkgaW50ZXJmYWNlIGhhbmRsZSBpcyBwcm90ZWN0ZWQgd2l0aCBtdXRleC4g W0NocmlzIFdpbHNvbl0KdjM6CiAgTm90aWZpZXJzIGFyZSB1c2VkIGZvciB0aGUgbWVpIGludGVy ZmFjZSBzdGF0ZS4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgfCAgIDMgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICAgNSArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCAgIDIgKy0KIDQg ZmlsZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKaW5kZXggOWE0YTUxZTc5ZmExLi45NTVhMjAyMDgwOTcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwpAQCAtNjM4MSw3ICs2MzgxLDggQEAgaW50ZWxfZHBfaW5pdF9jb25u ZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJaW50ZWxf ZHBfYWRkX3Byb3BlcnRpZXMoaW50ZWxfZHAsIGNvbm5lY3Rvcik7CiAKIAlpZiAoaXNfaGRjcF9z dXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQpICYmICFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7 Ci0JCWludCByZXQgPSBpbnRlbF9oZGNwX2luaXQoaW50ZWxfY29ubmVjdG9yLCAmaW50ZWxfZHBf aGRjcF9zaGltKTsKKwkJaW50IHJldCA9IGludGVsX2hkY3BfaW5pdChpbnRlbF9jb25uZWN0b3Is ICZpbnRlbF9kcF9oZGNwX3NoaW0sCisJCQkJCSAgZmFsc2UpOwogCQlpZiAocmV0KQogCQkJRFJN X0RFQlVHX0tNUygiSERDUCBpbml0IGZhaWxlZCwgc2tpcHBpbmcuXG4iKTsKIAl9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCmluZGV4IGNhMDZkOWExNThmNi4uMmYxNDc1NmI0YjBlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIHN0cnVjdCBpbnRlbF9oZGNw IHsKIAkvKiBtZWkgaW50ZXJmYWNlIHJlbGF0ZWQgaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3QgbWVp X2NsX2RldmljZSAqY2xkZXY7CiAJc3RydWN0IG1laV9oZGNwX2RhdGEgbWVpX2RhdGE7Ci0KKwlz dHJ1Y3Qgbm90aWZpZXJfYmxvY2sgbWVpX2NsZGV2X25iOwogCXN0cnVjdCBkZWxheWVkX3dvcmsg aGRjcDJfY2hlY2tfd29yazsKIH07CiAKQEAgLTE5MjgsNyArMTkyOCw4IEBAIHZvaWQgaW50ZWxf aGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCSAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9zdGF0ZSwKIAkJCSAgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZSk7CiBpbnQgaW50ZWxfaGRjcF9pbml0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKLQkJICAgIGNvbnN0IHN0cnVjdCBpbnRl bF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSk7CisJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9z aGltICpoZGNwX3NoaW0sCisJCSAgICBib29sIGhkY3AyX3N1cHBvcnRlZCk7CiBpbnQgaW50ZWxf aGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBpbnRl bF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBp bnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCA1M2QzNWVlOGY2ODMuLjZlYjU4YTgzM2M3 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1 ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgogI2luY2x1ZGUgPGxp bnV4L21laV9oZGNwLmg+CisjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KIAogI2luY2x1ZGUg ImludGVsX2Rydi5oIgogI2luY2x1ZGUgImk5MTVfcmVnLmgiCkBAIC0yNSw2ICsyNiw3IEBAIHN0 YXRpYyBpbnQgX2ludGVsX2hkY3AyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpOwogc3RhdGljIGludCBfaW50ZWxfaGRjcDJfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IpOwogc3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfY2hlY2tfd29yayhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogc3RhdGljIGludCBpbnRlbF9oZGNwMl9jaGVja19s aW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CitzdGF0aWMgaW50IGludGVs X2hkY3AyX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAogc3RhdGlj IGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNo aW0pCkBAIC02ODYsMTEgKzY4OCwxNSBAQCBib29sIGlzX2hkY3Bfc3VwcG9ydGVkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiB9CiAKIGludCBpbnRl bF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkgICAgY29u c3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltKQorCQkgICAgY29uc3Qgc3RydWN0 IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltLAorCQkgICAgYm9vbCBoZGNwMl9zdXBwb3J0ZWQp CiB7CiAJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCWludCBy ZXQ7CiAKKwlpZiAoIWhkY3Bfc2hpbSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlyZXQgPSBkcm1f Y29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCiAJCQkmY29ubmVj dG9yLT5iYXNlKTsKIAlpZiAocmV0KQpAQCAtNjk5LDcgKzcwNSwxMiBAQCBpbnQgaW50ZWxfaGRj cF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAloZGNwLT5oZGNwX3No aW0gPSBoZGNwX3NoaW07CiAJbXV0ZXhfaW5pdCgmaGRjcC0+aGRjcF9tdXRleCk7CiAJSU5JVF9E RUxBWUVEX1dPUksoJmhkY3AtPmhkY3BfY2hlY2tfd29yaywgaW50ZWxfaGRjcF9jaGVja193b3Jr KTsKKwlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+aGRjcDJfY2hlY2tfd29yaywgaW50ZWxfaGRj cDJfY2hlY2tfd29yayk7CiAJSU5JVF9XT1JLKCZoZGNwLT5oZGNwX3Byb3Bfd29yaywgaW50ZWxf aGRjcF9wcm9wX3dvcmspOworCisJaWYgKGhkY3AyX3N1cHBvcnRlZCkKKwkJaW50ZWxfaGRjcDJf aW5pdChjb25uZWN0b3IpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1NjUsMyArMTU3Niw5NCBA QCBzdGF0aWMgdm9pZCBpbnRlbF9oZGNwMl9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZoZGNwLT5oZGNwMl9jaGVja193b3JrLAog CQkJCSAgICAgIERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVMpOwogfQorCitzdGF0aWMgaW5saW5l IGludCBpbml0aWFsaXplX21laV9oZGNwX2RhdGEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQoreworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsK KwlzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSA9ICZoZGNwLT5tZWlfZGF0YTsKKwllbnVtIHBv cnQgcG9ydDsKKworCWlmIChjb25uZWN0b3ItPmVuY29kZXIpIHsKKwkJcG9ydCA9IGNvbm5lY3Rv ci0+ZW5jb2Rlci0+cG9ydDsKKwkJZGF0YS0+cG9ydCA9IEdFVF9NRUlfRERJX0lOREVYKHBvcnQp OworCX0KKworCWRhdGEtPnBvcnRfdHlwZSA9IElOVEVHUkFURUQ7CisJZGF0YS0+cHJvdG9jb2wg PSBoZGNwLT5oZGNwX3NoaW0tPmhkY3BfcHJvdG9jb2woKTsKKworCWRhdGEtPmsgPSAxOworCWlm ICghZGF0YS0+c3RyZWFtcykKKwkJZGF0YS0+c3RyZWFtcyA9IGtjYWxsb2MoZGF0YS0+aywKKwkJ CQkJc2l6ZW9mKHN0cnVjdCBoZGNwMl9zdHJlYW1pZF90eXBlKSwKKwkJCQkJR0ZQX0tFUk5FTCk7 CisJaWYgKCFkYXRhLT5zdHJlYW1zKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRhdGEtPnN0cmVh bXNbMF0uc3RyZWFtX2lkID0gMDsKKwlkYXRhLT5zdHJlYW1zWzBdLnN0cmVhbV90eXBlID0gaGRj cC0+Y29udGVudF90eXBlOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2hk Y3AyX2V4aXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCWludGVsX2hk Y3BfZGlzYWJsZShjb25uZWN0b3IpOworCWtmcmVlKGNvbm5lY3Rvci0+aGRjcC5tZWlfZGF0YS5z dHJlYW1zKTsKK30KKworc3RhdGljIGludCBtZWlfY2xkZXZfbm90aWZ5KHN0cnVjdCBub3RpZmll cl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQsCisJCSAgICAgIHZvaWQgKmNsZGV2KQor eworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKG5iLCBzdHJ1Y3QgaW50 ZWxfaGRjcCwKKwkJCQkJICAgICAgIG1laV9jbGRldl9uYik7CisJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqaW50ZWxfY29ubmVjdG9yID0gY29udGFpbmVyX29mKGhkY3AsCisJCQkJCQkJc3RydWN0 IGludGVsX2Nvbm5lY3RvciwKKwkJCQkJCQloZGNwKTsKKworCURSTV9FUlJPUigiTUVJX0hEQ1Ag Tm90aWZpY2F0aW9uLiBJbnRlcmZhY2U6ICVzXG4iLAorCQkgIGNsZGV2ID8gIlVQIiA6ICJEb3du Iik7CisKKwlpZiAoZXZlbnQgPT0gTUVJX0NMREVWX0VOQUJMRUQpIHsKKwkJaGRjcC0+Y2xkZXYg PSBjbGRldjsKKwkJaW5pdGlhbGl6ZV9tZWlfaGRjcF9kYXRhKGludGVsX2Nvbm5lY3Rvcik7CisJ fSBlbHNlIHsKKwkJaGRjcC0+Y2xkZXYgPSBOVUxMOworCQlpbnRlbF9oZGNwMl9leGl0KGludGVs X2Nvbm5lY3Rvcik7CisJfQorCXJldHVybiBOT1RJRllfT0s7Cit9CisKK3N0YXRpYyBpbmxpbmUK K2Jvb2wgaXNfaGRjcDJfc3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKK3sKKwlyZXR1cm4gKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFL RShkZXZfcHJpdikgfHwKKwkJSVNfS0FCWUxBS0UoZGV2X3ByaXYpKTsKK30KKworc3RhdGljIGlu dCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ YmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsK KwlpbnQgcmV0OworCisJaWYgKCFpc19oZGNwMl9zdXBwb3J0ZWQoZGV2X3ByaXYpKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCWhkY3AtPmhkY3AyX3N1cHBvcnRlZCA9IHRydWU7CisKKwloZGNwLT5t ZWlfY2xkZXZfbmIubm90aWZpZXJfY2FsbCA9IG1laV9jbGRldl9ub3RpZnk7CisJcmV0ID0gbWVp X2NsZGV2X3JlZ2lzdGVyX25vdGlmeSgmaGRjcC0+bWVpX2NsZGV2X25iKTsKKwlpZiAocmV0KSB7 CisJCURSTV9FUlJPUigibWVpX2NsZGV2IG5vdCBhdmFpbGFibGUuICVkXG4iLCByZXQpOworCQln b3RvIGV4aXQ7CisJfQorCisJcmV0ID0gaW5pdGlhbGl6ZV9tZWlfaGRjcF9kYXRhKGNvbm5lY3Rv cik7CisJaWYgKHJldCkKKwkJbWVpX2NsZGV2X3VucmVnaXN0ZXJfbm90aWZ5KCZoZGNwLT5tZWlf Y2xkZXZfbmIpOworCitleGl0OgorCWlmIChyZXQpCisJCWhkY3AtPmhkY3AyX3N1cHBvcnRlZCA9 IGZhbHNlOworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXgg MWJhZWY0YWM3ZWNiLi5iOGIxMDg2YzBjYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK QEAgLTIzNDIsNyArMjM0Miw3IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAogCWlmIChpc19oZGNwX3N1 cHBvcnRlZChkZXZfcHJpdiwgcG9ydCkpIHsKIAkJaW50IHJldCA9IGludGVsX2hkY3BfaW5pdChp bnRlbF9jb25uZWN0b3IsCi0JCQkJCSAgJmludGVsX2hkbWlfaGRjcF9zaGltKTsKKwkJCQkJICAm aW50ZWxfaGRtaV9oZGNwX3NoaW0sIGZhbHNlKTsKIAkJaWYgKHJldCkKIAkJCURSTV9ERUJVR19L TVMoIkhEQ1AgaW5pdCBmYWlsZWQsIHNraXBwaW5nLlxuIik7CiAJfQotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=