From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v6 09/35] drm/i915: Initialize HDCP2.2 and its MEI interface Date: Sat, 14 Jul 2018 08:44:51 +0530 Message-ID: <1531538117-1606-10-git-send-email-ramalingam.c@intel.com> References: <1531538117-1606-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: <1531538117-1606-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, seanpaul@chromium.org, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org SW5pdGlhbGl6ZSBIRENQMi4yIHN1cHBvcnQuIFRoaXMgaW5jbHVkZXMgdGhlIG1laSBpbnRlcmZh Y2UKaW5pdGlhbGl6YXRpb24gYWxvbmcgd2l0aCByZXF1aXJlZCBjb21wb25lbnQgcmVnaXN0cmF0 aW9uLgoKdjI6CiAgbWVpIGludGVyZmFjZSBoYW5kbGUgaXMgcHJvdGVjdGVkIHdpdGggbXV0ZXgu IFtDaHJpcyBXaWxzb25dCnYzOgogIE5vdGlmaWVycyBhcmUgdXNlZCBmb3IgdGhlIG1laSBpbnRl cmZhY2Ugc3RhdGUuCnY0OgogIFBvbGwgZm9yIG1laSBjbGllbnQgZGV2aWNlIHN0YXRlCiAgRXJy b3IgbXNnIGZvciBvdXQgb2YgbWVtIFtVbWFdCiAgSW5saW5lIHJlcSBmb3IgaW5pdCBmdW5jdGlv biByZW1vdmVkIFtVbWFdCnY1OgogIFJlYmFzZSBhcyBQYXJ0IG9mIHJlb3JkZXJpbmcuCiAgQ29t cG9uZW50IGlzIHVzZWQgZm9yIHRoZSBJOTE1IGFuZCBNRUlfSERDUCBpbnRlcmZhY2UgW0Rhbmll bF0KdjY6CiAgSERDUDIuMiB1c2VzIHRoZSBJOTE1IGNvbXBvbmVudCBtYXN0ZXIgdG8gY29tbXVu aWNhdGUgd2l0aCBtZWlfaGRjcAoJLSBbRGFuaWVsXQogIFJlcXVpcmVkIEhEQ1AyLjIgdmFyaWFi bGVzIGRlZmluZWQgW1NlYW4gUGF1bF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFt YWxpbmdhbS5jQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggIHwgMjMgKysrKysr KysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCA3NyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYyB8ICAyICstCiBpbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oICAgICAgfCA2MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTYxIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggNWJl MDdlMWQ4MTZkLi4xMmViNWJkMzNiN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNjQw Niw3ICs2NDA2LDggQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJaW50ZWxfZHBfYWRkX3Byb3BlcnRpZXMoaW50ZWxf ZHAsIGNvbm5lY3Rvcik7CiAKIAlpZiAoaXNfaGRjcF9zdXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQp ICYmICFpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7Ci0JCWludCByZXQgPSBpbnRlbF9oZGNw X2luaXQoaW50ZWxfY29ubmVjdG9yLCAmaW50ZWxfZHBfaGRjcF9zaGltKTsKKwkJaW50IHJldCA9 IGludGVsX2hkY3BfaW5pdChpbnRlbF9jb25uZWN0b3IsICZpbnRlbF9kcF9oZGNwX3NoaW0sCisJ CQkJCSAgZmFsc2UpOwogCQlpZiAocmV0KQogCQkJRFJNX0RFQlVHX0tNUygiSERDUCBpbml0IGZh aWxlZCwgc2tpcHBpbmcuXG4iKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGMz MjY2NTEzNmQ1ZC4uMzgyNjI3OTI4MTNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt MjksNiArMjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2hk bWkuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC9jbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21l aV9oZGNwLmg+CiAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYu aCIKICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KQEAgLTM3Niw2ICszNzcsOSBAQCBzdHJ1Y3Qg aW50ZWxfaGRjcF9zaGltIHsKIAkvKiBEZXRlY3RzIHBhbmVsJ3MgaGRjcCBjYXBhYmlsaXR5LiBU aGlzIGlzIG9wdGlvbmFsIGZvciBIRE1JLiAqLwogCWludCAoKmhkY3BfY2FwYWJsZSkoc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQkgICAgYm9vbCAqaGRjcF9j YXBhYmxlKTsKKworCS8qIERldGVjdHMgdGhlIEhEQ1AgcHJvdG9jb2woRFAvSERNSSkgcmVxdWly ZWQgb24gdGhlIHBvcnQgKi8KKwllbnVtIGhkY3BfcHJvdG9jb2wgKCpoZGNwX3Byb3RvY29sKSh2 b2lkKTsKIH07CiAKIHN0cnVjdCBpbnRlbF9oZGNwIHsKQEAgLTM4NSw2ICszODksMjAgQEAgc3Ry dWN0IGludGVsX2hkY3AgewogCXVpbnQ2NF90IHZhbHVlOwogCXN0cnVjdCBkZWxheWVkX3dvcmsg Y2hlY2tfd29yazsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgcHJvcF93b3JrOworCisJLyogSERDUDIu MiByZWxhdGVkIGRlZmluaXRpb25zICovCisJLyogRmxhZyBpbmRpY2F0ZXMgd2hldGhlciB0aGlz IGNvbm5lY3RvciBzdXBwb3J0cyBIRENQMi4yIG9yIG5vdC4gKi8KKwlib29sIGhkY3AyX3N1cHBv cnRlZDsKKworCS8qCisJICogQ29udGVudCBTdHJlYW0gVHlwZSBkZWZpbmVkIGJ5IGNvbnRlbnQg b3duZXIuIFRZUEUwKDB4MCkgY29udGVudCBjYW4KKwkgKiBmbG93IGluIHRoZSBsaW5rIHByb3Rl Y3RlZCBieSBIRENQMi4yIG9yIEhEQ1AxLjQsIHdoZXJlIGFzIFRZUEUxKDB4MSkKKwkgKiBjb250 ZW50IGNhbiBmbG93IG9ubHkgdGhyb3VnaCBhIGxpbmsgcHJvdGVjdGVkIGJ5IEhEQ1AyLjIuCisJ ICovCisJdTggY29udGVudF90eXBlOworCisJLyogbWVpIGludGVyZmFjZSByZWxhdGVkIGluZm9y bWF0aW9uICovCisJc3RydWN0IG1laV9oZGNwX2RhdGEgbWVpX2RhdGE7CiB9OwogCiBzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yIHsKQEAgLTE5MDMsMTEgKzE5MjEsMTQgQEAgdm9pZCBpbnRlbF9oZGNw X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJICAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX3N0YXRlLAogCQkJICAgICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X3N0YXRlKTsKIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAotCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2hk Y3Bfc2hpbSAqaGRjcF9zaGltKTsKKwkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0g KmhkY3Bfc2hpbSwKKwkJICAgIGJvb2wgaGRjcDJfc3VwcG9ydGVkKTsKIGludCBpbnRlbF9oZGNw X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogaW50IGludGVsX2hk Y3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogaW50IGludGVs X2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwogYm9v bCBpc19oZGNwX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVu dW0gcG9ydCBwb3J0KTsKK2ludCBpbnRlbF9oZGNwX2NvbXBvbmVudF9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7Citib29sIGlzX2hkY3AyX3N1cHBvcnRlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiAvKiBpbnRlbF9wc3IuYyAqLwogI2RlZmlu ZSBDQU5fUFNSKGRldl9wcml2KSAoSEFTX1BTUihkZXZfcHJpdikgJiYgZGV2X3ByaXYtPnBzci5z aW5rX3N1cHBvcnQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNw LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKaW5kZXggNTViYzRkNDIzMTg3 Li5jZmU5MTVjM2YzMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk Y3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAgLTgsMTMgKzgs MTkgQEAKIAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9oZGNwLmg+ CisjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9uZW50Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+ CiAjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CisjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+ CiAKICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKICNpbmNsdWRlICJpOTE1X3JlZy5oIgogCiAjZGVm aW5lIEtFWV9MT0FEX1RSSUVTCTUKKyNkZWZpbmUgR0VUX01FSV9ERElfSU5ERVgocG9ydCkJCSgo KHBvcnQpID09IFBPUlRfQSkgPyBERElfQSA6IFwKKwkJCQkJIChlbnVtIGhkY3BfcGh5c2ljYWxf cG9ydCkocG9ydCkpCisKK3N0YXRpYyBpbnQgaW50ZWxfaGRjcDJfaW5pdChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpOwogCiBzdGF0aWMgaW50IGludGVsX2hkY3BfcG9sbF9rc3Zf ZmlmbyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAkJCQkgICAg Y29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSkKQEAgLTc0NCwxMSArNzUwLDE1IEBA IGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBlbnVtIHBvcnQgcG9ydCkKIH0KIAogaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IsCi0JCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGlt ICpzaGltKQorCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSwKKwkJICAg IGJvb2wgaGRjcDJfc3VwcG9ydGVkKQogewogCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNv bm5lY3Rvci0+aGRjcDsKIAlpbnQgcmV0OwogCisJaWYgKCFzaGltKQorCQlyZXR1cm4gLUVJTlZB TDsKKwogCXJldCA9IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9w ZXJ0eSgKIAkJCSZjb25uZWN0b3ItPmJhc2UpOwogCWlmIChyZXQpCkBAIC03NTgsNiArNzY4LDEw IEBAIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y LAogCW11dGV4X2luaXQoJmhkY3AtPm11dGV4KTsKIAlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+ Y2hlY2tfd29yaywgaW50ZWxfaGRjcF9jaGVja193b3JrKTsKIAlJTklUX1dPUksoJmhkY3AtPnBy b3Bfd29yaywgaW50ZWxfaGRjcF9wcm9wX3dvcmspOworCisJaWYgKGhkY3AyX3N1cHBvcnRlZCkK KwkJaW50ZWxfaGRjcDJfaW5pdChjb25uZWN0b3IpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTg5 NSwzICs5MDksNjQgQEAgaW50IGludGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IpCiAJbXV0ZXhfdW5sb2NrKCZoZGNwLT5tdXRleCk7CiAJcmV0dXJu IHJldDsKIH0KKworc3RhdGljIGludCBpOTE1X2hkY3BfY29tcG9uZW50X21hdGNoKHN0cnVjdCBk ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKK3sKKwlyZXR1cm4gIXN0cmNtcChkZXYtPmRyaXZlci0+ bmFtZSwgIm1laV9oZGNwIik7Cit9CisKK3N0YXRpYyBpbnQgaW5pdGlhbGl6ZV9tZWlfaGRjcF9k YXRhKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgaW50ZWxf aGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CisJc3RydWN0IG1laV9oZGNwX2RhdGEgKmRh dGEgPSAmaGRjcC0+bWVpX2RhdGE7CisJZW51bSBwb3J0IHBvcnQ7CisKKwlpZiAoY29ubmVjdG9y LT5lbmNvZGVyKSB7CisJCXBvcnQgPSBjb25uZWN0b3ItPmVuY29kZXItPnBvcnQ7CisJCWRhdGEt PnBvcnQgPSBHRVRfTUVJX0RESV9JTkRFWChwb3J0KTsKKwl9CisKKwlkYXRhLT5wb3J0X3R5cGUg PSBJTlRFR1JBVEVEOworCWRhdGEtPnByb3RvY29sID0gaGRjcC0+c2hpbS0+aGRjcF9wcm90b2Nv bCgpOworCisJZGF0YS0+ayA9IDE7CisJaWYgKCFkYXRhLT5zdHJlYW1zKQorCQlkYXRhLT5zdHJl YW1zID0ga2NhbGxvYyhkYXRhLT5rLAorCQkJCQlzaXplb2Yoc3RydWN0IGhkY3AyX3N0cmVhbWlk X3R5cGUpLAorCQkJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRhdGEtPnN0cmVhbXMpIHsKKwkJRFJN X0VSUk9SKCJPdXQgb2YgTWVtb3J5XG4iKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZGF0 YS0+c3RyZWFtc1swXS5zdHJlYW1faWQgPSAwOworCWRhdGEtPnN0cmVhbXNbMF0uc3RyZWFtX3R5 cGUgPSBoZGNwLT5jb250ZW50X3R5cGU7CisKKwlyZXR1cm4gMDsKK30KKworYm9vbCBpc19oZGNw Ml9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXJldHVy biAoKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikg fHwKKwkJIElTX0tBQllMQUtFKGRldl9wcml2KSkgJiYgSVNfRU5BQkxFRChDT05GSUdfSU5URUxf TUVJX0hEQ1ApKTsKK30KKworc3RhdGljIGludCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF9oZGNw ICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKKwlpbnQgcmV0OworCisJV0FSTl9PTighaXNfaGRj cDJfc3VwcG9ydGVkKGRldl9wcml2KSk7CisJcmV0ID0gaW5pdGlhbGl6ZV9tZWlfaGRjcF9kYXRh KGNvbm5lY3Rvcik7CisJaWYgKHJldCkKKwkJZ290byBleGl0OworCisJY29tcG9uZW50X21hdGNo X2FkZChkZXZfcHJpdi0+ZHJtLmRldiwgJmRldl9wcml2LT5tYXN0ZXJfbWF0Y2gsCisJCQkgICAg aTkxNV9oZGNwX2NvbXBvbmVudF9tYXRjaCwgZGV2X3ByaXYpOworCisJaGRjcC0+aGRjcDJfc3Vw cG9ydGVkID0gdHJ1ZTsKKworZXhpdDoKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCmluZGV4IDgzNjNmYmQxOGVlOC4uNzk4OGY5NThkODM1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCkBAIC0yMzY2LDcgKzIzNjYsNyBAQCB2b2lkIGludGVsX2hkbWlfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAK IAlpZiAoaXNfaGRjcF9zdXBwb3J0ZWQoZGV2X3ByaXYsIHBvcnQpKSB7CiAJCWludCByZXQgPSBp bnRlbF9oZGNwX2luaXQoaW50ZWxfY29ubmVjdG9yLAotCQkJCQkgICZpbnRlbF9oZG1pX2hkY3Bf c2hpbSk7CisJCQkJCSAgJmludGVsX2hkbWlfaGRjcF9zaGltLCBmYWxzZSk7CiAJCWlmIChyZXQp CiAJCQlEUk1fREVCVUdfS01TKCJIRENQIGluaXQgZmFpbGVkLCBza2lwcGluZy5cbiIpOwogCX0K ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmggYi9pbmNsdWRlL2RybS9p OTE1X2NvbXBvbmVudC5oCmluZGV4IDUyMzEzYmMyMjdiMi4uZjIwOGE4M2VhMmM5IDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oCisrKyBiL2luY2x1ZGUvZHJtL2k5MTVf Y29tcG9uZW50LmgKQEAgLTI0LDYgKzI0LDEwIEBACiAjaWZuZGVmIF9JOTE1X0NPTVBPTkVOVF9I XwogI2RlZmluZSBfSTkxNV9DT01QT05FTlRfSF8KIAorI2luY2x1ZGUgPGxpbnV4L21laV9jbF9i dXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tZWlfaGRjcC5oPgorI2luY2x1ZGUgPGRybS9kcm1faGRj cC5oPgorCiAvKiBNQVhfUE9SVCBpcyB0aGUgbnVtYmVyIG9mIHBvcnQKICAqIEl0IG11c3QgYmUg c3luYyB3aXRoIEk5MTVfTUFYX1BPUlRTIGRlZmluZWQgaTkxNV9kcnYuaAogICovCkBAIC0xMjEs NiArMTI1LDU0IEBAIHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudCB7CiAJY29uc3Qgc3RydWN0 IGk5MTVfYXVkaW9fY29tcG9uZW50X2F1ZGlvX29wcyAqYXVkaW9fb3BzOwogfTsKIAorc3RydWN0 IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzIHsKKwkvKioKKwkgKiBAb3duZXI6IG1laV9oZGNwIG1v ZHVsZQorCSAqLworCXN0cnVjdCBtb2R1bGUgKm93bmVyOworCWludCAoKmluaXRpYXRlX2hkY3Ay X3Nlc3Npb24pKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJCQkgICAgICBzdHJ1Y3Qg bWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkgICAgICBzdHJ1Y3QgaGRjcDJfYWtlX2luaXQgKmFr ZV9kYXRhKTsKKwlpbnQKKwkoKnZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20pKHN0cnVj dCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJCQkJICAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRh dGEsCisJCQkJCSAgIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCQkg ICBib29sICprbV9zdG9yZWQsCisJCQkJCSAgIHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2tt CisJCQkJCQkJCSpla19wdWJfa20sCisJCQkJCSAgIHNpemVfdCAqbXNnX3N6KTsKKwlpbnQgKCp2 ZXJpZnlfaHByaW1lKShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkgICAgIHN0cnVj dCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJICAgICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfaHBy aW1lICpyeF9ocHJpbWUpOworCWludCAoKnN0b3JlX3BhaXJpbmdfaW5mbykoc3RydWN0IG1laV9j bF9kZXZpY2UgKmNsZGV2LAorCQkJCSAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkJ ICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfcGFpcmluZ19pbmZvCisJCQkJCQkJCSpwYWlyaW5nX2lu Zm8pOworCWludCAoKmluaXRpYXRlX2xvY2FsaXR5X2NoZWNrKShzdHJ1Y3QgbWVpX2NsX2Rldmlj ZSAqY2xkZXYsCisJCQkJICAgICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJCSAg ICAgICBzdHJ1Y3QgaGRjcDJfbGNfaW5pdCAqbGNfaW5pdF9kYXRhKTsKKwlpbnQgKCp2ZXJpZnlf bHByaW1lKShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkgICAgIHN0cnVjdCBtZWlf aGRjcF9kYXRhICpkYXRhLAorCQkJICAgICBzdHJ1Y3QgaGRjcDJfbGNfc2VuZF9scHJpbWUgKnJ4 X2xwcmltZSk7CisJaW50ICgqZ2V0X3Nlc3Npb25fa2V5KShzdHJ1Y3QgbWVpX2NsX2RldmljZSAq Y2xkZXYsCisJCQkgICAgICAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkgICAgICAg c3RydWN0IGhkY3AyX3NrZV9zZW5kX2VrcyAqc2tlX2RhdGEpOworCWludAorCSgqcmVwZWF0ZXJf Y2hlY2tfZmxvd19wcmVwYXJlX2Fjaykoc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2LAorCQkJ CQkgICBzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkJICAgc3RydWN0IGhkY3AyX3Jl cF9zZW5kX3JlY2VpdmVyaWRfbGlzdAorCQkJCQkJCQkqcmVwX3RvcG9sb2d5LAorCQkJCQkgICBz dHJ1Y3QgaGRjcDJfcmVwX3NlbmRfYWNrCisJCQkJCQkJCSpyZXBfc2VuZF9hY2spOworCWludCAo KnZlcmlmeV9tcHJpbWUpKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJCSAgICAgc3Ry dWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkgICAgIHN0cnVjdCBoZGNwMl9yZXBfc3RyZWFt X3JlYWR5ICpzdHJlYW1fcmVhZHkpOworCWludCAoKmVuYWJsZV9oZGNwX2F1dGhlbnRpY2F0aW9u KShzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkJCSAgc3RydWN0IG1laV9oZGNwX2Rh dGEgKmRhdGEpOworCWludCAoKmNsb3NlX2hkY3Bfc2Vzc2lvbikoc3RydWN0IG1laV9jbF9kZXZp Y2UgKmNsZGV2LAorCQkJCSAgc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEpOworfTsKKwogLyoq CiAgKiBzdHJ1Y3QgaTkxNV9jb21wb25lbnRfbWFzdGVyIC0gVXNlZCBmb3IgY29tbXVuaWNhdGlv biBiZXR3ZWVuIGk5MTUKICAqIGFuZCBhbnkgb3RoZXIgZHJpdmVycyBmb3IgdGhlIHNlcnZpY2Vz IG9mIGRpZmZlcmVudCBmZWF0dXJlLgpAQCAtMTMxLDYgKzE4MywxNCBAQCBzdHJ1Y3QgaTkxNV9j b21wb25lbnRfbWFzdGVyIHsKIAkgKiByZW1vdmluZyB0aGUgcmVmZXJlbmNlIHRvIG1laV9jbGRl di4KIAkgKi8KIAlzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXY7CisJLyoqCisJICogQG1laV9jbGRl djogbWVpIGNsaWVudCBkZXZpY2UsIHVzZWQgYXMgcGFyYW1ldGVyIGZvciBvcHMKKwkgKi8KKwlz dHJ1Y3QgbWVpX2NsX2RldmljZSAqbWVpX2NsZGV2OworCS8qKgorCSAqIEBvcHM6IE9wcyBpbXBs ZW1lbnRlZCBieSBtZWlfaGRjcCBkcml2ZXIsIHVzZWQgYnkgaTkxNSBkcml2ZXIuCisJICovCisJ Y29uc3Qgc3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzICpoZGNwX29wczsKIAogCS8qCiAJ ICogQWRkIGhlcmUgdGhlIGludGVyZmFjZSBkZXRhaWxzIGJldHdlZW4gSTkxNSBhbmQgaW50ZXJl c3RlZCBtb2R1bGVzLgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=