From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [RFC 3/3] drm/i915: Initialize HDCP2.2 and its MEI interface Date: Wed, 11 Jul 2018 19:41:28 +0530 Message-ID: <1531318288-23380-4-git-send-email-ramalingam.c@intel.com> References: <1531318288-23380-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: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 21A4F6ECEA for ; Wed, 11 Jul 2018 14:11:27 +0000 (UTC) In-Reply-To: <1531318288-23380-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, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com List-Id: intel-gfx@lists.freedesktop.org SW5pdGlhbGl6ZSBIRENQMi4yIHN1cHBvcnQuIFRoaXMgaW5jbHVkZXMgdGhlIG1laSBpbnRlcmZh Y2UKaW5pdGlhbGl6YXRpb24gYWxvbmcgd2l0aCByZXF1aXJlZCBjb21wb25lbnQgcmVnaXN0cmF0 aW9uLgoKdjI6CiAgbWVpIGludGVyZmFjZSBoYW5kbGUgaXMgcHJvdGVjdGVkIHdpdGggbXV0ZXgu IFtDaHJpcyBXaWxzb25dCnYzOgogIE5vdGlmaWVycyBhcmUgdXNlZCBmb3IgdGhlIG1laSBpbnRl cmZhY2Ugc3RhdGUuCnY0OgogIFBvbGwgZm9yIG1laSBjbGllbnQgZGV2aWNlIHN0YXRlCiAgRXJy b3IgbXNnIGZvciBvdXQgb2YgbWVtIFtVbWFdCiAgSW5saW5lIHJlcSBmb3IgaW5pdCBmdW5jdGlv biByZW1vdmVkIFtVbWFdCnY1OgogIFJlYmFzZSBhcyBQYXJ0IG9mIHJlb3JkZXJpbmcuCiAgQ29t cG9uZW50IGlzIHVzZWQgZm9yIHRoZSBJOTE1IGFuZCBNRUlfSERDUCBpbnRlcmZhY2UgW0Rhbmll bF0KdjY6CiAgSERDUDIuMiB1c2VzIHRoZSBJOTE1IGNvbXBvbmVudCBtYXN0ZXIgdG8gY29tbXVu aWNhdGUgd2l0aCBtZWlfaGRjcCBbRGFuaWVsXQoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBD IDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgfCAgNSAr Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDc4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jIHwgIDIgKy0KIGluY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmggICAgICB8IDYwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCA1YmUwN2Ux ZDgxNmQuLjEyZWI1YmQzM2I3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC02NDA2LDcg KzY0MDYsOCBAQCBpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCwKIAlpbnRlbF9kcF9hZGRfcHJvcGVydGllcyhpbnRlbF9kcCwg Y29ubmVjdG9yKTsKIAogCWlmIChpc19oZGNwX3N1cHBvcnRlZChkZXZfcHJpdiwgcG9ydCkgJiYg IWludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpIHsKLQkJaW50IHJldCA9IGludGVsX2hkY3BfaW5p dChpbnRlbF9jb25uZWN0b3IsICZpbnRlbF9kcF9oZGNwX3NoaW0pOworCQlpbnQgcmV0ID0gaW50 ZWxfaGRjcF9pbml0KGludGVsX2Nvbm5lY3RvciwgJmludGVsX2RwX2hkY3Bfc2hpbSwKKwkJCQkJ ICBmYWxzZSk7CiAJCWlmIChyZXQpCiAJCQlEUk1fREVCVUdfS01TKCJIRENQIGluaXQgZmFpbGVk LCBza2lwcGluZy5cbiIpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggNTc5OTc4 OGM4ZjVkLi5jOGIzNjM3NzI5NTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xOTYz LDExICsxOTYzLDE0IEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km9sZF9zdGF0ZSwKIAkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0 ZSk7CiBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKLQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSk7CisJCSAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpoZGNwX3NoaW0sCisJCSAgICBib29sIGhk Y3AyX3N1cHBvcnRlZCk7CiBpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKTsKIGludCBpbnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCk7CitpbnQgaW50ZWxf aGRjcF9jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwor Ym9vbCBpc19oZGNwMl9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KTsKIAogLyogaW50ZWxfcHNyLmMgKi8KICNkZWZpbmUgQ0FOX1BTUihkZXZfcHJpdikgKEhBU19Q U1IoZGV2X3ByaXYpICYmIGRldl9wcml2LT5wc3Iuc2lua19zdXBwb3J0KQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRjcC5jCmluZGV4IDY1YmJlNTg3NGVlZS4uMzlmZWNlMDRiYmVlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRjcC5jCkBAIC04LDEzICs4LDE5IEBACiAKICNpbmNsdWRlIDxkcm0vZHJt UC5oPgogI2luY2x1ZGUgPGRybS9kcm1faGRjcC5oPgorI2luY2x1ZGUgPGRybS9pOTE1X2NvbXBv bmVudC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5o PgorI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgogCiAjaW5jbHVkZSAiaW50ZWxfZHJ2Lmgi CiAjaW5jbHVkZSAiaTkxNV9yZWcuaCIKIAogI2RlZmluZSBLRVlfTE9BRF9UUklFUwk1CisjZGVm aW5lIEdFVF9NRUlfRERJX0lOREVYKHBvcnQpCQkoKChwb3J0KSA9PSBQT1JUX0EpID8gRERJX0Eg OiBcCisJCQkJCSAoZW51bSBoZGNwX3BoeXNpY2FsX3BvcnQpKHBvcnQpKQorCitzdGF0aWMgaW50 IGludGVsX2hkY3AyX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAog c3RhdGljIGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3No aW0gKnNoaW0pCkBAIC03NDMsMTEgKzc0OSwxNSBAQCBib29sIGlzX2hkY3Bfc3VwcG9ydGVkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiB9CiAKIGlu dCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkg ICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltKQorCQkgICAgY29uc3Qg c3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltLAorCQkgICAgYm9vbCBoZGNwMl9zdXBw b3J0ZWQpCiB7CiAJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwog CWludCByZXQ7CiAKKwlpZiAoIWhkY3Bfc2hpbSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlyZXQg PSBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoCiAJCQkm Y29ubmVjdG9yLT5iYXNlKTsKIAlpZiAocmV0KQpAQCAtNzU3LDYgKzc2NywxMCBAQCBpbnQgaW50 ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAltdXRleF9p bml0KCZoZGNwLT5oZGNwX211dGV4KTsKIAlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+aGRjcF9j aGVja193b3JrLCBpbnRlbF9oZGNwX2NoZWNrX3dvcmspOwogCUlOSVRfV09SSygmaGRjcC0+aGRj cF9wcm9wX3dvcmssIGludGVsX2hkY3BfcHJvcF93b3JrKTsKKworCWlmIChoZGNwMl9zdXBwb3J0 ZWQpCisJCWludGVsX2hkY3AyX2luaXQoY29ubmVjdG9yKTsKKwogCXJldHVybiAwOwogfQogCkBA IC04OTYsMyArOTEwLDY1IEBAIGludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCW11dGV4X3VubG9jaygmaGRjcC0+aGRjcF9tdXRleCk7 CiAJcmV0dXJuIHJldDsKIH0KKworCitzdGF0aWMgaW50IGk5MTVfaGRjcF9jb21wb25lbnRfbWF0 Y2goc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXJldHVybiAhc3RyY21wKGRl di0+ZHJpdmVyLT5uYW1lLCAibWVpX2hkY3AiKTsKK30KKworc3RhdGljIGludCBpbml0aWFsaXpl X21laV9oZGNwX2RhdGEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0 cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwlzdHJ1Y3QgbWVpX2hk Y3BfZGF0YSAqZGF0YSA9ICZoZGNwLT5tZWlfZGF0YTsKKwllbnVtIHBvcnQgcG9ydDsKKworCWlm IChjb25uZWN0b3ItPmVuY29kZXIpIHsKKwkJcG9ydCA9IGNvbm5lY3Rvci0+ZW5jb2Rlci0+cG9y dDsKKwkJZGF0YS0+cG9ydCA9IEdFVF9NRUlfRERJX0lOREVYKHBvcnQpOworCX0KKworCWRhdGEt PnBvcnRfdHlwZSA9IElOVEVHUkFURUQ7CisJZGF0YS0+cHJvdG9jb2wgPSBoZGNwLT5oZGNwX3No aW0tPmhkY3BfcHJvdG9jb2woKTsKKworCWRhdGEtPmsgPSAxOworCWlmICghZGF0YS0+c3RyZWFt cykKKwkJZGF0YS0+c3RyZWFtcyA9IGtjYWxsb2MoZGF0YS0+aywKKwkJCQkJc2l6ZW9mKHN0cnVj dCBoZGNwMl9zdHJlYW1pZF90eXBlKSwKKwkJCQkJR0ZQX0tFUk5FTCk7CisJaWYgKCFkYXRhLT5z dHJlYW1zKSB7CisJCURSTV9FUlJPUigiT3V0IG9mIE1lbW9yeVxuIik7CisJCXJldHVybiAtRU5P TUVNOworCX0KKworCWRhdGEtPnN0cmVhbXNbMF0uc3RyZWFtX2lkID0gMDsKKwlkYXRhLT5zdHJl YW1zWzBdLnN0cmVhbV90eXBlID0gaGRjcC0+Y29udGVudF90eXBlOworCisJcmV0dXJuIDA7Cit9 CisKK2Jvb2wgaXNfaGRjcDJfc3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK3sKKwlyZXR1cm4gKChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlO SUxBS0UoZGV2X3ByaXYpIHx8CisJCUlTX0tBQllMQUtFKGRldl9wcml2KSkgJiYgSVNfRU5BQkxF RChDT05GSUdfSU5URUxfTUVJX0hEQ1ApKTsKK30KKworc3RhdGljIGludCBpbnRlbF9oZGNwMl9p bml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOworCXN0 cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwlpbnQgcmV0OworCisJ V0FSTl9PTighaXNfaGRjcDJfc3VwcG9ydGVkKGRldl9wcml2KSk7CisJcmV0ID0gaW5pdGlhbGl6 ZV9tZWlfaGRjcF9kYXRhKGNvbm5lY3Rvcik7CisJaWYgKHJldCkKKwkJZ290byBleGl0OworCisJ Y29tcG9uZW50X21hdGNoX2FkZChkZXZfcHJpdi0+ZHJtLmRldiwgJmRldl9wcml2LT5tYXN0ZXJf bWF0Y2gsCisJCQkgICAgaTkxNV9oZGNwX2NvbXBvbmVudF9tYXRjaCwgZGV2X3ByaXYpOworCisJ aGRjcC0+aGRjcDJfc3VwcG9ydGVkID0gdHJ1ZTsKKworZXhpdDoKKwlyZXR1cm4gcmV0OworfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IDgzNjNmYmQxOGVlOC4uNzk4OGY5NThkODM1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0yMzY2LDcgKzIzNjYsNyBAQCB2b2lk IGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsCiAKIAlpZiAoaXNfaGRjcF9zdXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQpKSB7 CiAJCWludCByZXQgPSBpbnRlbF9oZGNwX2luaXQoaW50ZWxfY29ubmVjdG9yLAotCQkJCQkgICZp bnRlbF9oZG1pX2hkY3Bfc2hpbSk7CisJCQkJCSAgJmludGVsX2hkbWlfaGRjcF9zaGltLCBmYWxz ZSk7CiAJCWlmIChyZXQpCiAJCQlEUk1fREVCVUdfS01TKCJIRENQIGluaXQgZmFpbGVkLCBza2lw cGluZy5cbiIpOwogCX0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50Lmgg Yi9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oCmluZGV4IDUyMzEzYmMyMjdiMi4uZjIwOGE4 M2VhMmM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oCisrKyBiL2lu Y2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgKQEAgLTI0LDYgKzI0LDEwIEBACiAjaWZuZGVmIF9J OTE1X0NPTVBPTkVOVF9IXwogI2RlZmluZSBfSTkxNV9DT01QT05FTlRfSF8KIAorI2luY2x1ZGUg PGxpbnV4L21laV9jbF9idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tZWlfaGRjcC5oPgorI2luY2x1 ZGUgPGRybS9kcm1faGRjcC5oPgorCiAvKiBNQVhfUE9SVCBpcyB0aGUgbnVtYmVyIG9mIHBvcnQK ICAqIEl0IG11c3QgYmUgc3luYyB3aXRoIEk5MTVfTUFYX1BPUlRTIGRlZmluZWQgaTkxNV9kcnYu aAogICovCkBAIC0xMjEsNiArMTI1LDU0IEBAIHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudCB7 CiAJY29uc3Qgc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50X2F1ZGlvX29wcyAqYXVkaW9fb3Bz OwogfTsKIAorc3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzIHsKKwkvKioKKwkgKiBAb3du ZXI6IG1laV9oZGNwIG1vZHVsZQorCSAqLworCXN0cnVjdCBtb2R1bGUgKm93bmVyOworCWludCAo KmluaXRpYXRlX2hkY3AyX3Nlc3Npb24pKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJ CQkgICAgICBzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkgICAgICBzdHJ1Y3QgaGRj cDJfYWtlX2luaXQgKmFrZV9kYXRhKTsKKwlpbnQKKwkoKnZlcmlmeV9yZWNlaXZlcl9jZXJ0X3By ZXBhcmVfa20pKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJCQkJICAgc3RydWN0IG1l aV9oZGNwX2RhdGEgKmRhdGEsCisJCQkJCSAgIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpy eF9jZXJ0LAorCQkJCQkgICBib29sICprbV9zdG9yZWQsCisJCQkJCSAgIHN0cnVjdCBoZGNwMl9h a2Vfbm9fc3RvcmVkX2ttCisJCQkJCQkJCSpla19wdWJfa20sCisJCQkJCSAgIHNpemVfdCAqbXNn X3N6KTsKKwlpbnQgKCp2ZXJpZnlfaHByaW1lKShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYs CisJCQkgICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJICAgICBzdHJ1Y3QgaGRj cDJfYWtlX3NlbmRfaHByaW1lICpyeF9ocHJpbWUpOworCWludCAoKnN0b3JlX3BhaXJpbmdfaW5m bykoc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2LAorCQkJCSAgc3RydWN0IG1laV9oZGNwX2Rh dGEgKmRhdGEsCisJCQkJICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfcGFpcmluZ19pbmZvCisJCQkJ CQkJCSpwYWlyaW5nX2luZm8pOworCWludCAoKmluaXRpYXRlX2xvY2FsaXR5X2NoZWNrKShzdHJ1 Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkJICAgICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRh ICpkYXRhLAorCQkJCSAgICAgICBzdHJ1Y3QgaGRjcDJfbGNfaW5pdCAqbGNfaW5pdF9kYXRhKTsK KwlpbnQgKCp2ZXJpZnlfbHByaW1lKShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkg ICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJICAgICBzdHJ1Y3QgaGRjcDJfbGNf c2VuZF9scHJpbWUgKnJ4X2xwcmltZSk7CisJaW50ICgqZ2V0X3Nlc3Npb25fa2V5KShzdHJ1Y3Qg bWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkgICAgICAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRh dGEsCisJCQkgICAgICAgc3RydWN0IGhkY3AyX3NrZV9zZW5kX2VrcyAqc2tlX2RhdGEpOworCWlu dAorCSgqcmVwZWF0ZXJfY2hlY2tfZmxvd19wcmVwYXJlX2Fjaykoc3RydWN0IG1laV9jbF9kZXZp Y2UgKmNsZGV2LAorCQkJCQkgICBzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkJICAg c3RydWN0IGhkY3AyX3JlcF9zZW5kX3JlY2VpdmVyaWRfbGlzdAorCQkJCQkJCQkqcmVwX3RvcG9s b2d5LAorCQkJCQkgICBzdHJ1Y3QgaGRjcDJfcmVwX3NlbmRfYWNrCisJCQkJCQkJCSpyZXBfc2Vu ZF9hY2spOworCWludCAoKnZlcmlmeV9tcHJpbWUpKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRl diwKKwkJCSAgICAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkgICAgIHN0cnVjdCBo ZGNwMl9yZXBfc3RyZWFtX3JlYWR5ICpzdHJlYW1fcmVhZHkpOworCWludCAoKmVuYWJsZV9oZGNw X2F1dGhlbnRpY2F0aW9uKShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkJCSAgc3Ry dWN0IG1laV9oZGNwX2RhdGEgKmRhdGEpOworCWludCAoKmNsb3NlX2hkY3Bfc2Vzc2lvbikoc3Ry dWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2LAorCQkJCSAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRh dGEpOworfTsKKwogLyoqCiAgKiBzdHJ1Y3QgaTkxNV9jb21wb25lbnRfbWFzdGVyIC0gVXNlZCBm b3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGk5MTUKICAqIGFuZCBhbnkgb3RoZXIgZHJpdmVycyBm b3IgdGhlIHNlcnZpY2VzIG9mIGRpZmZlcmVudCBmZWF0dXJlLgpAQCAtMTMxLDYgKzE4MywxNCBA QCBzdHJ1Y3QgaTkxNV9jb21wb25lbnRfbWFzdGVyIHsKIAkgKiByZW1vdmluZyB0aGUgcmVmZXJl bmNlIHRvIG1laV9jbGRldi4KIAkgKi8KIAlzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXY7CisJLyoq CisJICogQG1laV9jbGRldjogbWVpIGNsaWVudCBkZXZpY2UsIHVzZWQgYXMgcGFyYW1ldGVyIGZv ciBvcHMKKwkgKi8KKwlzdHJ1Y3QgbWVpX2NsX2RldmljZSAqbWVpX2NsZGV2OworCS8qKgorCSAq IEBvcHM6IE9wcyBpbXBsZW1lbnRlZCBieSBtZWlfaGRjcCBkcml2ZXIsIHVzZWQgYnkgaTkxNSBk cml2ZXIuCisJICovCisJY29uc3Qgc3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzICpoZGNw X29wczsKIAogCS8qCiAJICogQWRkIGhlcmUgdGhlIGludGVyZmFjZSBkZXRhaWxzIGJldHdlZW4g STkxNSBhbmQgaW50ZXJlc3RlZCBtb2R1bGVzLgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=