From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v4 30/41] drm/i915: Initialize HDCP2.2 and its MEI interface Date: Mon, 21 May 2018 18:23:49 +0530 Message-ID: <1526907240-17639-31-git-send-email-ramalingam.c@intel.com> References: <1526907240-17639-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: <1526907240-17639-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 Cc: alexander.usyskin@intel.com, uma.shankar@intel.com, tomas.winkler@intel.com List-Id: dri-devel@lists.freedesktop.org SW5pdGlhbGl6ZSBIRENQMi4yIHN1cHBvcnQuIFRoaXMgaW5jbHVkZXMgdGhlIG1laSBpbnRlcmZh Y2UKaW5pdGlhbGl6YXRpb24gYWxvbmcgd2l0aCByZXF1aXJlZCBub3RpZmllciByZWdpc3RyYXRp b24uCgp2MjoKICBtZWkgaW50ZXJmYWNlIGhhbmRsZSBpcyBwcm90ZWN0ZWQgd2l0aCBtdXRleC4g W0NocmlzIFdpbHNvbl0KdjM6CiAgTm90aWZpZXJzIGFyZSB1c2VkIGZvciB0aGUgbWVpIGludGVy ZmFjZSBzdGF0ZS4KdjQ6CiAgUG9sbCBmb3IgbWVpIGNsaWVudCBkZXZpY2Ugc3RhdGUKICBFcnJv ciBtc2cgZm9yIG91dCBvZiBtZW0gW1VtYV0KICBJbmxpbmUgcmVxIGZvciBpbml0IGZ1bmN0aW9u IHJlbW92ZWQgW1VtYV0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5j QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgfCAgIDMg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICAgNSArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCAgIDIgKy0K IDQgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNjJmODJjNDI5OGFjLi4yNzZlYjQ5MTEzZTkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNjM2OCw3ICs2MzY4LDggQEAgaW50ZWxfZHBfaW5pdF9j b25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJaW50 ZWxfZHBfYWRkX3Byb3BlcnRpZXMoaW50ZWxfZHAsIGNvbm5lY3Rvcik7CiAKIAlpZiAoaXNfaGRj cF9zdXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQpICYmICFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHAp KSB7Ci0JCWludCByZXQgPSBpbnRlbF9oZGNwX2luaXQoaW50ZWxfY29ubmVjdG9yLCAmaW50ZWxf ZHBfaGRjcF9zaGltKTsKKwkJaW50IHJldCA9IGludGVsX2hkY3BfaW5pdChpbnRlbF9jb25uZWN0 b3IsICZpbnRlbF9kcF9oZGNwX3NoaW0sCisJCQkJCSAgZmFsc2UpOwogCQlpZiAocmV0KQogCQkJ RFJNX0RFQlVHX0tNUygiSERDUCBpbml0IGZhaWxlZCwgc2tpcHBpbmcuXG4iKTsKIAl9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGFjOTQzZWM3Mzk4Ny4uN2FhYWE1MGZjMTlmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIHN0cnVjdCBpbnRlbF9o ZGNwIHsKIAkvKiBtZWkgaW50ZXJmYWNlIHJlbGF0ZWQgaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3Qg bWVpX2NsX2RldmljZSAqY2xkZXY7CiAJc3RydWN0IG1laV9oZGNwX2RhdGEgbWVpX2RhdGE7Ci0K KwlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgbWVpX2NsZGV2X25iOwogCXN0cnVjdCBkZWxheWVkX3dv cmsgaGRjcDJfY2hlY2tfd29yazsKIH07CiAKQEAgLTE5NDAsNyArMTk0MCw4IEBAIHZvaWQgaW50 ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9zdGF0ZSwKIAkJCSAgICAgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZSk7CiBpbnQgaW50ZWxfaGRjcF9pbml0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKLQkJICAgIGNvbnN0IHN0cnVjdCBp bnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSk7CisJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRj cF9zaGltICpoZGNwX3NoaW0sCisJCSAgICBib29sIGhkY3AyX3N1cHBvcnRlZCk7CiBpbnQgaW50 ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBp bnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGlu dCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCBmM2Y5MzUwNDZjMzEuLjk5NDhlNGI0 ZTIwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTEsNiArMTEsNyBAQAogI2lu Y2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgogI2luY2x1ZGUg PGxpbnV4L21laV9oZGNwLmg+CisjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KIAogI2luY2x1 ZGUgImludGVsX2Rydi5oIgogI2luY2x1ZGUgImk5MTVfcmVnLmgiCkBAIC0yNSw2ICsyNiw3IEBA IHN0YXRpYyBpbnQgX2ludGVsX2hkY3AyX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpOwogc3RhdGljIGludCBfaW50ZWxfaGRjcDJfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpOwogc3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfY2hlY2tfd29y ayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogc3RhdGljIGludCBpbnRlbF9oZGNwMl9jaGVj a19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CitzdGF0aWMgaW50IGlu dGVsX2hkY3AyX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAogc3Rh dGljIGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0g KnNoaW0pCkBAIC03NjYsMTEgKzc2OCwxNSBAQCBib29sIGlzX2hkY3Bfc3VwcG9ydGVkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiB9CiAKIGludCBp bnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkgICAg Y29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltKQorCQkgICAgY29uc3Qgc3Ry dWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltLAorCQkgICAgYm9vbCBoZGNwMl9zdXBwb3J0 ZWQpCiB7CiAJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCWlu dCByZXQ7CiAKKwlpZiAoIWhkY3Bfc2hpbSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlyZXQgPSBk cm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCiAJCQkmY29u bmVjdG9yLT5iYXNlKTsKIAlpZiAocmV0KQpAQCAtNzc5LDcgKzc4NSwxMiBAQCBpbnQgaW50ZWxf aGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAloZGNwLT5oZGNw X3NoaW0gPSBoZGNwX3NoaW07CiAJbXV0ZXhfaW5pdCgmaGRjcC0+aGRjcF9tdXRleCk7CiAJSU5J VF9ERUxBWUVEX1dPUksoJmhkY3AtPmhkY3BfY2hlY2tfd29yaywgaW50ZWxfaGRjcF9jaGVja193 b3JrKTsKKwlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+aGRjcDJfY2hlY2tfd29yaywgaW50ZWxf aGRjcDJfY2hlY2tfd29yayk7CiAJSU5JVF9XT1JLKCZoZGNwLT5oZGNwX3Byb3Bfd29yaywgaW50 ZWxfaGRjcF9wcm9wX3dvcmspOworCisJaWYgKGhkY3AyX3N1cHBvcnRlZCkKKwkJaW50ZWxfaGRj cDJfaW5pdChjb25uZWN0b3IpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE2MzcsMyArMTY0OCwx MDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfY2hlY2tfd29yayhzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmaGRjcC0+aGRjcDJfY2hlY2tfd29y aywKIAkJCQkgICAgICBEUk1fSERDUDJfQ0hFQ0tfUEVSSU9EX01TKTsKIH0KKworc3RhdGljIGlu dCBpbml0aWFsaXplX21laV9oZGNwX2RhdGEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQoreworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwlz dHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSA9ICZoZGNwLT5tZWlfZGF0YTsKKwllbnVtIHBvcnQg cG9ydDsKKworCWlmIChjb25uZWN0b3ItPmVuY29kZXIpIHsKKwkJcG9ydCA9IGNvbm5lY3Rvci0+ ZW5jb2Rlci0+cG9ydDsKKwkJZGF0YS0+cG9ydCA9IEdFVF9NRUlfRERJX0lOREVYKHBvcnQpOwor CX0KKworCWRhdGEtPnBvcnRfdHlwZSA9IElOVEVHUkFURUQ7CisJZGF0YS0+cHJvdG9jb2wgPSBo ZGNwLT5oZGNwX3NoaW0tPmhkY3BfcHJvdG9jb2woKTsKKworCWRhdGEtPmsgPSAxOworCWlmICgh ZGF0YS0+c3RyZWFtcykKKwkJZGF0YS0+c3RyZWFtcyA9IGtjYWxsb2MoZGF0YS0+aywKKwkJCQkJ c2l6ZW9mKHN0cnVjdCBoZGNwMl9zdHJlYW1pZF90eXBlKSwKKwkJCQkJR0ZQX0tFUk5FTCk7CisJ aWYgKCFkYXRhLT5zdHJlYW1zKSB7CisJCURSTV9FUlJPUigiT3V0IG9mIE1lbW9yeVxuIik7CisJ CXJldHVybiAtRU5PTUVNOworCX0KKworCWRhdGEtPnN0cmVhbXNbMF0uc3RyZWFtX2lkID0gMDsK KwlkYXRhLT5zdHJlYW1zWzBdLnN0cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOworCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGludGVsX2hkY3AyX2V4aXQoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCWludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3Ip OworCWtmcmVlKGNvbm5lY3Rvci0+aGRjcC5tZWlfZGF0YS5zdHJlYW1zKTsKK30KKworc3RhdGlj IGludCBtZWlfY2xkZXZfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVk IGxvbmcgZXZlbnQsCisJCQkgICAgdm9pZCAqY2xkZXYpCit7CisJc3RydWN0IGludGVsX2hkY3Ag KmhkY3AgPSBjb250YWluZXJfb2YobmIsIHN0cnVjdCBpbnRlbF9oZGNwLAorCQkJCQkgICAgICAg bWVpX2NsZGV2X25iKTsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3Ig PSBjb250YWluZXJfb2YoaGRjcCwKKwkJCQkJCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLAorCQkJ CQkJCWhkY3ApOworCisJRFJNX0RFQlVHX0tNUygiWyVzOiVkXSBNRUlfSERDUCBOb3RpZmljYXRp b24uIEludGVyZmFjZTogJXNcbiIsCisJCSAgICAgIGludGVsX2Nvbm5lY3Rvci0+YmFzZS5uYW1l LCBpbnRlbF9jb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwKKwkJICAgICAgY2xkZXYgPyAiVVAiIDog IkRvd24iKTsKKworCWlmIChldmVudCA9PSBNRUlfQ0xERVZfRU5BQkxFRCkgeworCQloZGNwLT5j bGRldiA9IGNsZGV2OworCQlpbml0aWFsaXplX21laV9oZGNwX2RhdGEoaW50ZWxfY29ubmVjdG9y KTsKKwl9IGVsc2UgeworCQloZGNwLT5jbGRldiA9IE5VTEw7CisJCWludGVsX2hkY3AyX2V4aXQo aW50ZWxfY29ubmVjdG9yKTsKKwl9CisKKwlyZXR1cm4gTk9USUZZX09LOworfQorCitzdGF0aWMg aW5saW5lCitib29sIGlzX2hkY3AyX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisJcmV0dXJuIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dF TUlOSUxBS0UoZGV2X3ByaXYpIHx8CisJCUlTX0tBQllMQUtFKGRldl9wcml2KSk7Cit9CisKK3N0 YXRpYyBpbnQgaW50ZWxfaGRjcDJfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25u ZWN0b3ItPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3It PmhkY3A7CisJaW50IHJldDsKKworCWlmICghaXNfaGRjcDJfc3VwcG9ydGVkKGRldl9wcml2KSkK KwkJcmV0dXJuIC1FSU5WQUw7CisKKwloZGNwLT5oZGNwMl9zdXBwb3J0ZWQgPSB0cnVlOworCisJ aGRjcC0+bWVpX2NsZGV2X25iLm5vdGlmaWVyX2NhbGwgPSBtZWlfY2xkZXZfbm90aWZ5OworCXJl dCA9IG1laV9jbGRldl9yZWdpc3Rlcl9ub3RpZnkoJmhkY3AtPm1laV9jbGRldl9uYik7CisJaWYg KHJldCkgeworCQlEUk1fRVJST1IoIm1laV9jbGRldiBub3QgYXZhaWxhYmxlLiAlZFxuIiwgcmV0 KTsKKwkJZ290byBleGl0OworCX0KKworCXJldCA9IGluaXRpYWxpemVfbWVpX2hkY3BfZGF0YShj b25uZWN0b3IpOworCWlmIChyZXQpIHsKKwkJbWVpX2NsZGV2X3VucmVnaXN0ZXJfbm90aWZ5KCZo ZGNwLT5tZWlfY2xkZXZfbmIpOworCQlnb3RvIGV4aXQ7CisJfQorCisJLyoKKwkgKiBJbmNhc2Ug bm90aWZpZXIgaXMgdHJpZ2dlcmVkIHdlbGwgYmVmb3JlIHRoaXMgcG9pbnQsIHJlcXVlc3QgZm9y CisJICogbm90aWZpY2F0aW9uIG9mIHRoZSBtZWkgY2xpZW50IGRldmljZSBzdGF0ZS4KKwkgKi8K KwltZWlfY2xkZXZfcG9sbF9ub3RpZmljYXRpb24oKTsKKworZXhpdDoKKwlpZiAocmV0KQorCQlo ZGNwLT5oZGNwMl9zdXBwb3J0ZWQgPSBmYWxzZTsKKworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggZWU5MjlmMzFmN2RiLi5hNWNjNzMxMDFhY2IgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTIzMzQsNyArMjMzNCw3IEBAIHZvaWQgaW50ZWxf aGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwKIAogCWlmIChpc19oZGNwX3N1cHBvcnRlZChkZXZfcHJpdiwgcG9ydCkpIHsKIAkJaW50 IHJldCA9IGludGVsX2hkY3BfaW5pdChpbnRlbF9jb25uZWN0b3IsCi0JCQkJCSAgJmludGVsX2hk bWlfaGRjcF9zaGltKTsKKwkJCQkJICAmaW50ZWxfaGRtaV9oZGNwX3NoaW0sIGZhbHNlKTsKIAkJ aWYgKHJldCkKIAkJCURSTV9ERUJVR19LTVMoIkhEQ1AgaW5pdCBmYWlsZWQsIHNraXBwaW5nLlxu Iik7CiAJfQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=