From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 01/19] drm/i915: Make HAS_DDI and HAS_PCH_LPT_LP only take dev_priv Date: Tue, 11 Oct 2016 14:21:34 +0100 Message-ID: <1476192112-25336-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1476192112-25336-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6CF3F6E661 for ; Tue, 11 Oct 2016 13:22:10 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id p80so3751548lfp.1 for ; Tue, 11 Oct 2016 06:22:10 -0700 (PDT) In-Reply-To: <1476192112-25336-1-git-send-email-tvrtko.ursulin@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgc2F2 ZXMgMzI0OCBieXRlcyBvZiAucm9kYXRhIHN0cmluZ3MuCgp2MjogQWRkIHBhcmFudGhlc2VzIGFy b3VuZCBkZXZfcHJpdi4gKFZpbGxlIFN5cmphbGEpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgfCAgOCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NydC5jICAgICAgfCAxMCArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgIHwgNDkgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAgfCAxNiArKysrKystLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkbWkuYyAgICAgfCAxMCArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jICAgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3Iu YyAgICAgIHwgIDggKysrLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDUz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDU0ZDg2MGUxYzBmYy4u NTFkZDEwZjI1ZjU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI4MTUsNyArMjgxNSw3 IEBAIHN0cnVjdCBkcm1faTkxNV9jbWRfdGFibGUgewogCiAjZGVmaW5lIEhBU19EUF9NU1QoZGV2 KQkoSU5URUxfSU5GTyhkZXYpLT5oYXNfZHBfbXN0KQogCi0jZGVmaW5lIEhBU19EREkoZGV2KQkJ KElOVEVMX0lORk8oZGV2KS0+aGFzX2RkaSkKKyNkZWZpbmUgSEFTX0RESShkZXZfcHJpdikJKChk ZXZfcHJpdiktPmluZm8uaGFzX2RkaSkKICNkZWZpbmUgSEFTX0ZQR0FfREJHX1VOQ0xBSU1FRChk ZXYpCShJTlRFTF9JTkZPKGRldiktPmhhc19mcGdhX2RiZykKICNkZWZpbmUgSEFTX1BTUihkZXYp CQkoSU5URUxfSU5GTyhkZXYpLT5oYXNfcHNyKQogI2RlZmluZSBIQVNfUlVOVElNRV9QTShkZXYp CShJTlRFTF9JTkZPKGRldiktPmhhc19ydW50aW1lX3BtKQpAQCAtMjg1NCw4ICsyODU0LDEwIEBA IHN0cnVjdCBkcm1faTkxNV9jbWRfdGFibGUgewogI2RlZmluZSBIQVNfUENIX0tCUChkZXYpIChJ TlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9LQlApCiAjZGVmaW5lIEhBU19QQ0hfU1BUKGRldikg KElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX1NQVCkKICNkZWZpbmUgSEFTX1BDSF9MUFQoZGV2 KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfTFBUKQotI2RlZmluZSBIQVNfUENIX0xQVF9M UChkZXYpIChfX0k5MTVfXyhkZXYpLT5wY2hfaWQgPT0gSU5URUxfUENIX0xQVF9MUF9ERVZJQ0Vf SURfVFlQRSkKLSNkZWZpbmUgSEFTX1BDSF9MUFRfSChkZXYpIChfX0k5MTVfXyhkZXYpLT5wY2hf aWQgPT0gSU5URUxfUENIX0xQVF9ERVZJQ0VfSURfVFlQRSkKKyNkZWZpbmUgSEFTX1BDSF9MUFRf TFAoZGV2X3ByaXYpIFwKKwkoKGRldl9wcml2KS0+cGNoX2lkID09IElOVEVMX1BDSF9MUFRfTFBf REVWSUNFX0lEX1RZUEUpCisjZGVmaW5lIEhBU19QQ0hfTFBUX0goZGV2X3ByaXYpIFwKKwkoKGRl dl9wcml2KS0+cGNoX2lkID09IElOVEVMX1BDSF9MUFRfREVWSUNFX0lEX1RZUEUpCiAjZGVmaW5l IEhBU19QQ0hfQ1BUKGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX0NQVCkKICNkZWZp bmUgSEFTX1BDSF9JQlgoZGV2KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfSUJYKQogI2Rl ZmluZSBIQVNfUENIX05PUChkZXYpIChJTlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9OT1ApCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NydC5jCmluZGV4IDRhN2I2YzU5NWVjMi4uZDRiOWIxNjZkZTVkIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwpAQCAtMjgwLDEzICsyODAsMTMgQEAgc3RhdGljIGJv b2wgaW50ZWxfY3J0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJCSAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCi0JaWYgKEhBU19Q Q0hfU1BMSVQoZGV2KSkKKwlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikpCiAJCXBpcGVfY29u ZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwogCiAJLyogTFBUIEZESSBSWCBvbmx5IHN1cHBv cnRzIDhicGMuICovCi0JaWYgKEhBU19QQ0hfTFBUKGRldikpIHsKKwlpZiAoSEFTX1BDSF9MUFQo ZGV2X3ByaXYpKSB7CiAJCWlmIChwaXBlX2NvbmZpZy0+YndfY29uc3RyYWluZWQgJiYgcGlwZV9j b25maWctPnBpcGVfYnBwIDwgMjQpIHsKIAkJCURSTV9ERUJVR19LTVMoIkxQVCBvbmx5IHN1cHBv cnRzIDI0YnBwXG4iKTsKIAkJCXJldHVybiBmYWxzZTsKQEAgLTI5Niw3ICsyOTYsNyBAQCBzdGF0 aWMgYm9vbCBpbnRlbF9jcnRfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJfQogCiAJLyogRkRJIG11c3QgYWx3YXlzIGJlIDIuNyBHSHogKi8KLQlpZiAoSEFT X0RESShkZXYpKQorCWlmIChIQVNfRERJKGRldl9wcml2KSkKIAkJcGlwZV9jb25maWctPnBvcnRf Y2xvY2sgPSAxMzUwMDAgKiAyOwogCiAJcmV0dXJuIHRydWU7CkBAIC05MTcsNyArOTE3LDcgQEAg dm9pZCBpbnRlbF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChJOTE1X0hB U19IT1RQTFVHKGRldikgJiYKIAkgICAgIWRtaV9jaGVja19zeXN0ZW0oaW50ZWxfc3B1cmlvdXNf Y3J0X2RldGVjdCkpCiAJCWNydC0+YmFzZS5ocGRfcGluID0gSFBEX0NSVDsKLQlpZiAoSEFTX0RE SShkZXYpKSB7CisJaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7CiAJCWNydC0+YmFzZS5wb3J0ID0g UE9SVF9FOwogCQljcnQtPmJhc2UuZ2V0X2NvbmZpZyA9IGhzd19jcnRfZ2V0X2NvbmZpZzsKIAkJ Y3J0LT5iYXNlLmdldF9od19zdGF0ZSA9IGludGVsX2RkaV9nZXRfaHdfc3RhdGU7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMjNhNmM3MjEzZWNhLi42ZTQ0N2I1NzU0MTMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExODcsMTkgKzExODcsMTcg QEAgdm9pZCBhc3NlcnRfZmRpX3J4X3BsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQlvbm9mZihzdGF0ZSksIG9ub2ZmKGN1cl9zdGF0ZSkpOwogfQogCi12b2lkIGFzc2Vy dF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkg ICBlbnVtIHBpcGUgcGlwZSkKK3ZvaWQgYXNzZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCiB7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwogCWk5MTVfcmVnX3QgcHBfcmVnOwogCXUzMiB2 YWw7CiAJZW51bSBwaXBlIHBhbmVsX3BpcGUgPSBQSVBFX0E7CiAJYm9vbCBsb2NrZWQgPSB0cnVl OwogCi0JaWYgKFdBUk5fT04oSEFTX0RESShkZXYpKSkKKwlpZiAoV0FSTl9PTihIQVNfRERJKGRl dl9wcml2KSkpCiAJCXJldHVybjsKIAotCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKKwlpZiAo SEFTX1BDSF9TUExJVChkZXZfcHJpdikpIHsKIAkJdTMyIHBvcnRfc2VsOwogCiAJCXBwX3JlZyA9 IFBQX0NPTlRST0woMCk7CkBAIC0xMjA5LDcgKzEyMDcsNyBAQCB2b2lkIGFzc2VydF9wYW5lbF91 bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCSAgICBJOTE1X1JF QUQoUENIX0xWRFMpICYgTFZEU19QSVBFQl9TRUxFQ1QpCiAJCQlwYW5lbF9waXBlID0gUElQRV9C OwogCQkvKiBYWFg6IGVsc2UgZml4IGZvciBlRFAgKi8KLQl9IGVsc2UgaWYgKElTX1ZBTExFWVZJ RVcoZGV2KSB8fCBJU19DSEVSUllWSUVXKGRldikpIHsKKwl9IGVsc2UgaWYgKElTX1ZBTExFWVZJ RVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJCS8qIHByZXN1bWFi bHkgd3JpdGUgbG9jayBkZXBlbmRzIG9uIHBpcGUsIG5vdCBwb3J0IHNlbGVjdCAqLwogCQlwcF9y ZWcgPSBQUF9DT05UUk9MKHBpcGUpOwogCQlwYW5lbF9waXBlID0gcGlwZTsKQEAgLTU2OTgsMTMg KzU2OTYsMTMgQEAgc3RhdGljIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG9ydF90 b19hdXhfcG93ZXJfZG9tYWluKGVudW0gcG9ydCBwb3J0KQogZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbgogaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZW5jb2Rlci0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAKIAlzd2l0Y2ggKGludGVsX2VuY29kZXItPnR5cGUp IHsKIAljYXNlIElOVEVMX09VVFBVVF9VTktOT1dOOgogCQkvKiBPbmx5IERESSBwbGF0Zm9ybXMg c2hvdWxkIGV2ZXIgdXNlIHRoaXMgb3V0cHV0IHR5cGUgKi8KLQkJV0FSTl9PTl9PTkNFKCFIQVNf RERJKGRldikpOworCQlXQVJOX09OX09OQ0UoIUhBU19EREkoZGV2X3ByaXYpKTsKIAljYXNlIElO VEVMX09VVFBVVF9EUDoKIAljYXNlIElOVEVMX09VVFBVVF9IRE1JOgogCWNhc2UgSU5URUxfT1VU UFVUX0VEUDoKQEAgLTU3MjUsNyArNTcyMyw3IEBAIGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9k b21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiBlbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluCiBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4X3Bvd2VyX2RvbWFpbihz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIHsKLQlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAKIAlzd2l0Y2ggKGludGVsX2Vu Y29kZXItPnR5cGUpIHsKQEAgLTU3MzgsNyArNTczNiw3IEBAIGludGVsX2Rpc3BsYXlfcG9ydF9h dXhfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQogCQkg KiB3aGF0J3MgdGhlIHN0YXR1cyBvZiB0aGUgZ2l2ZW4gY29ubmVjdG9ycywgcGxheSBzYWZlIGFu ZAogCQkgKiBydW4gdGhlIERQIGRldGVjdGlvbiB0b28uCiAJCSAqLwotCQlXQVJOX09OX09OQ0Uo IUhBU19EREkoZGV2KSk7CisJCVdBUk5fT05fT05DRSghSEFTX0RESShkZXZfcHJpdikpOwogCWNh c2UgSU5URUxfT1VUUFVUX0RQOgogCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKIAkJaW50ZWxfZGln X3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2VuY29kZXItPmJhc2UpOwpAQCAtOTE5OCw3 ICs5MTk2LDggQEAgc3RhdGljIHZvaWQgbHB0X2VuYWJsZV9jbGtvdXRfZHAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgYm9vbCB3aXRoX3NwcmVhZCwKIAogCWlmIChXQVJOKHdpdGhfZmRpICYmICF3 aXRoX3NwcmVhZCwgIkZESSByZXF1aXJlcyBkb3duc3ByZWFkXG4iKSkKIAkJd2l0aF9zcHJlYWQg PSB0cnVlOwotCWlmIChXQVJOKEhBU19QQ0hfTFBUX0xQKGRldikgJiYgd2l0aF9mZGksICJMUCBQ Q0ggZG9lc24ndCBoYXZlIEZESVxuIikpCisJaWYgKFdBUk4oSEFTX1BDSF9MUFRfTFAoZGV2X3By aXYpICYmCisJICAgIHdpdGhfZmRpLCAiTFAgUENIIGRvZXNuJ3QgaGF2ZSBGRElcbiIpKQogCQl3 aXRoX2ZkaSA9IGZhbHNlOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOwpAQCAt OTIyMSw3ICs5MjIwLDcgQEAgc3RhdGljIHZvaWQgbHB0X2VuYWJsZV9jbGtvdXRfZHAoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgYm9vbCB3aXRoX3NwcmVhZCwKIAkJfQogCX0KIAotCXJlZyA9IEhB U19QQ0hfTFBUX0xQKGRldikgPyBTQklfR0VOMCA6IFNCSV9EQlVGRjA7CisJcmVnID0gSEFTX1BD SF9MUFRfTFAoZGV2X3ByaXYpID8gU0JJX0dFTjAgOiBTQklfREJVRkYwOwogCXRtcCA9IGludGVs X3NiaV9yZWFkKGRldl9wcml2LCByZWcsIFNCSV9JQ0xLKTsKIAl0bXAgfD0gU0JJX0dFTjBfQ0ZH X0JVRkZFTkFCTEVfRElTQUJMRTsKIAlpbnRlbF9zYmlfd3JpdGUoZGV2X3ByaXYsIHJlZywgdG1w LCBTQklfSUNMSyk7CkBAIC05MjM3LDcgKzkyMzYsNyBAQCBzdGF0aWMgdm9pZCBscHRfZGlzYWJs ZV9jbGtvdXRfZHAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCW11dGV4X2xvY2soJmRldl9w cml2LT5zYl9sb2NrKTsKIAotCXJlZyA9IEhBU19QQ0hfTFBUX0xQKGRldikgPyBTQklfR0VOMCA6 IFNCSV9EQlVGRjA7CisJcmVnID0gSEFTX1BDSF9MUFRfTFAoZGV2X3ByaXYpID8gU0JJX0dFTjAg OiBTQklfREJVRkYwOwogCXRtcCA9IGludGVsX3NiaV9yZWFkKGRldl9wcml2LCByZWcsIFNCSV9J Q0xLKTsKIAl0bXAgJj0gflNCSV9HRU4wX0NGR19CVUZGRU5BQkxFX0RJU0FCTEU7CiAJaW50ZWxf c2JpX3dyaXRlKGRldl9wcml2LCByZWcsIHRtcCwgU0JJX0lDTEspOwpAQCAtMTAyMDUsNyArMTAy MDQsNyBAQCB2b2lkIGhzd19lbmFibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAogCURSTV9ERUJVR19LTVMoIkVuYWJsaW5nIHBhY2thZ2UgQzgrXG4iKTsKIAotCWlm IChIQVNfUENIX0xQVF9MUChkZXYpKSB7CisJaWYgKEhBU19QQ0hfTFBUX0xQKGRldl9wcml2KSkg ewogCQl2YWwgPSBJOTE1X1JFQUQoU09VVEhfRFNQQ0xLX0dBVEVfRCk7CiAJCXZhbCAmPSB+UENI X0xQX1BBUlRJVElPTl9MRVZFTF9ESVNBQkxFOwogCQlJOTE1X1dSSVRFKFNPVVRIX0RTUENMS19H QVRFX0QsIHZhbCk7CkBAIC0xMDIyNSw3ICsxMDIyNCw3IEBAIHZvaWQgaHN3X2Rpc2FibGVfcGM4 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAloc3dfcmVzdG9yZV9sY3BsbChk ZXZfcHJpdik7CiAJbHB0X2luaXRfcGNoX3JlZmNsayhkZXYpOwogCi0JaWYgKEhBU19QQ0hfTFBU X0xQKGRldikpIHsKKwlpZiAoSEFTX1BDSF9MUFRfTFAoZGV2X3ByaXYpKSB7CiAJCXZhbCA9IEk5 MTVfUkVBRChTT1VUSF9EU1BDTEtfR0FURV9EKTsKIAkJdmFsIHw9IFBDSF9MUF9QQVJUSVRJT05f TEVWRUxfRElTQUJMRTsKIAkJSTkxNV9XUklURShTT1VUSF9EU1BDTEtfR0FURV9ELCB2YWwpOwpA QCAtMTA4NDcsNyArMTA4NDYsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9jdXJzb3Ioc3Ry dWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKIAkJfQogCQljbnRsIHw9IHBpcGUgPDwgMjg7 IC8qIENvbm5lY3QgdG8gY29ycmVjdCBwaXBlICovCiAKLQkJaWYgKEhBU19EREkoZGV2KSkKKwkJ aWYgKEhBU19EREkoZGV2X3ByaXYpKQogCQkJY250bCB8PSBDVVJTT1JfUElQRV9DU0NfRU5BQkxF OwogCiAJCWlmIChwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbiA9PSBEUk1fUk9UQVRFXzE4MCkK QEAgLTEyNzQ3LDYgKzEyNzQ2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZHVtcF9waXBlX2NvbmZp ZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCQkgICBjb25zdCBjaGFyICpjb250ZXh0KQog ewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7CiAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsKIAlzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnN0YXRlOwpAQCAtMTI4MjksNyArMTI4MjksNyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJICAg ICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY3RybDEsCiAJCQkgICAgICBwaXBlX2NvbmZp Zy0+ZHBsbF9od19zdGF0ZS5jZmdjcjEsCiAJCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19z dGF0ZS5jZmdjcjIpOwotCX0gZWxzZSBpZiAoSEFTX0RESShkZXYpKSB7CisJfSBlbHNlIGlmIChI QVNfRERJKGRldl9wcml2KSkgewogCQlEUk1fREVCVUdfS01TKCJkcGxsX2h3X3N0YXRlOiB3cnBs bDogMHgleCBzcGxsOiAweCV4XG4iLAogCQkJICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3Rh dGUud3JwbGwsCiAJCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5zcGxsKTsKQEAg LTEyOTA3LDcgKzEyOTA3LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRhbF9wb3J0X2NvbmZs aWN0cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCXN3aXRjaCAoZW5jb2Rlci0+ dHlwZSkgewogCQkJdW5zaWduZWQgaW50IHBvcnRfbWFzazsKIAkJY2FzZSBJTlRFTF9PVVRQVVRf VU5LTk9XTjoKLQkJCWlmIChXQVJOX09OKCFIQVNfRERJKGRldikpKQorCQkJaWYgKFdBUk5fT04o IUhBU19EREkodG9faTkxNShkZXYpKSkpCiAJCQkJYnJlYWs7CiAJCWNhc2UgSU5URUxfT1VUUFVU X0RQOgogCQljYXNlIElOVEVMX09VVFBVVF9IRE1JOgpAQCAtMTM3MzEsNyArMTM3MzEsNyBAQCBp bnRlbF9tb2Rlc2V0X3ZlcmlmeV9kaXNhYmxlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiBz dGF0aWMgdm9pZCB1cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAog CS8qCiAJICogVGhlIHNjYW5saW5lIGNvdW50ZXIgaW5jcmVtZW50cyBhdCB0aGUgbGVhZGluZyBl ZGdlIG9mIGhzeW5jLgpAQCAtMTM3NTEsNyArMTM3NTEsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVf c2NhbmxpbmVfb2Zmc2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCSAqIHRoZXJlJ3MgYW4g ZXh0cmEgMSBsaW5lIGRpZmZlcmVuY2UuIFNvIHdlIG5lZWQgdG8gYWRkIHR3byBpbnN0ZWFkIG9m CiAJICogb25lIHRvIHRoZSB2YWx1ZS4KIAkgKi8KLQlpZiAoSVNfR0VOMihkZXYpKSB7CisJaWYg KElTX0dFTjIoZGV2X3ByaXYpKSB7CiAJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph ZGp1c3RlZF9tb2RlID0gJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwogCQlpbnQg dnRvdGFsOwogCkBAIC0xMzc2MCw3ICsxMzc2MCw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9zY2Fu bGluZV9vZmZzZXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCQl2dG90YWwgLz0gMjsKIAog CQljcnRjLT5zY2FubGluZV9vZmZzZXQgPSB2dG90YWwgLSAxOwotCX0gZWxzZSBpZiAoSEFTX0RE SShkZXYpICYmCisJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2KSAmJgogCQkgICBpbnRlbF9j cnRjX2hhc190eXBlKGNydGMtPmNvbmZpZywgSU5URUxfT1VUUFVUX0hETUkpKSB7CiAJCWNydGMt PnNjYW5saW5lX29mZnNldCA9IDI7CiAJfSBlbHNlCkBAIC0xNTMyOSwxMSArMTUzMjksMTIgQEAg c3RhdGljIGJvb2wgaW50ZWxfY3J0X3ByZXNlbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlp ZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQogCQlyZXR1cm4gZmFsc2U7CiAKLQlpZiAoSEFTX1BDSF9M UFRfSChkZXYpICYmIEk5MTVfUkVBRChTRlVTRV9TVFJBUCkgJiBTRlVTRV9TVFJBUF9DUlRfRElT QUJMRUQpCisJaWYgKEhBU19QQ0hfTFBUX0goZGV2X3ByaXYpICYmCisJICAgIEk5MTVfUkVBRChT RlVTRV9TVFJBUCkgJiBTRlVTRV9TVFJBUF9DUlRfRElTQUJMRUQpCiAJCXJldHVybiBmYWxzZTsK IAogCS8qIERESSBFIGNhbid0IGJlIHVzZWQgaWYgRERJIEEgcmVxdWlyZXMgNCBsYW5lcyAqLwot CWlmIChIQVNfRERJKGRldikgJiYgSTkxNV9SRUFEKERESV9CVUZfQ1RMKFBPUlRfQSkpICYgRERJ X0FfNF9MQU5FUykKKwlpZiAoSEFTX0RESShkZXZfcHJpdikgJiYgSTkxNV9SRUFEKERESV9CVUZf Q1RMKFBPUlRfQSkpICYgRERJX0FfNF9MQU5FUykKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKCFk ZXZfcHJpdi0+dmJ0LmludF9jcnRfc3VwcG9ydCkKQEAgLTE1NDA3LDcgKzE1NDA4LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlp bnRlbF9kZGlfaW5pdChkZXYsIFBPUlRfQyk7CiAKIAkJaW50ZWxfZHNpX2luaXQoZGV2KTsKLQl9 IGVsc2UgaWYgKEhBU19EREkoZGV2KSkgeworCX0gZWxzZSBpZiAoSEFTX0RESShkZXZfcHJpdikp IHsKIAkJaW50IGZvdW5kOwogCiAJCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCA1OTky MDkzZTE4MTQuLmVkYWYzNWI5NzVjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC0xNTY1 LDcgKzE1NjUsNyBAQCBpbnRlbF9kcF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAogCW1heF9jbG9jayA9IGNvbW1vbl9sZW4gLSAxOwogCi0JaWYgKEhBU19Q Q0hfU1BMSVQoZGV2KSAmJiAhSEFTX0RESShkZXYpICYmIHBvcnQgIT0gUE9SVF9BKQorCWlmIChI QVNfUENIX1NQTElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJpdikgJiYgcG9ydCAhPSBQ T1JUX0EpCiAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwogCiAJcGlwZV9j b25maWctPmhhc19kcnJzID0gZmFsc2U7CkBAIC0xNzA3LDcgKzE3MDcsNyBAQCBmb3VuZDoKIAkJ dG9faW50ZWxfYXRvbWljX3N0YXRlKHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlKS0+Y2RjbGtfcGxs X3ZjbyA9IHZjbzsKIAl9CiAKLQlpZiAoIUhBU19EREkoZGV2KSkKKwlpZiAoIUhBU19EREkoZGV2 X3ByaXYpKQogCQlpbnRlbF9kcF9zZXRfY2xvY2soZW5jb2RlciwgcGlwZV9jb25maWcpOwogCiAJ cmV0dXJuIHRydWU7CkBAIC0yNjMyLDcgKzI2MzIsNyBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJh aW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJRFJNX0RFQlVHX0tNUygiVXNpbmcgRFAg dHJhaW5pbmcgcGF0dGVybiBUUFMlZFxuIiwKIAkJCSAgICAgIGRwX3RyYWluX3BhdCAmIERQX1RS QUlOSU5HX1BBVFRFUk5fTUFTSyk7CiAKLQlpZiAoSEFTX0RESShkZXYpKSB7CisJaWYgKEhBU19E REkoZGV2X3ByaXYpKSB7CiAJCXVpbnQzMl90IHRlbXAgPSBJOTE1X1JFQUQoRFBfVFBfQ1RMKHBv cnQpKTsKIAogCQlpZiAoZHBfdHJhaW5fcGF0ICYgRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FCTEUp CkBAIC0zMzM5LDcgKzMzMzksNyBAQCBpbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogCXVpbnQzMl90IHNpZ25hbF9sZXZlbHMsIG1hc2sgPSAwOwog CXVpbnQ4X3QgdHJhaW5fc2V0ID0gaW50ZWxfZHAtPnRyYWluX3NldFswXTsKIAotCWlmIChIQVNf RERJKGRldikpIHsKKwlpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKIAkJc2lnbmFsX2xldmVscyA9 IGRkaV9zaWduYWxfbGV2ZWxzKGludGVsX2RwKTsKIAogCQlpZiAoSVNfQlJPWFRPTihkZXYpKQpA QCAtMzM5OCw3ICszMzk4LDcgQEAgdm9pZCBpbnRlbF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9y dC0+cG9ydDsKIAl1aW50MzJfdCB2YWw7CiAKLQlpZiAoIUhBU19EREkoZGV2KSkKKwlpZiAoIUhB U19EREkoZGV2X3ByaXYpKQogCQlyZXR1cm47CiAKIAl2YWwgPSBJOTE1X1JFQUQoRFBfVFBfQ1RM KHBvcnQpKTsKQEAgLTM0MzMsNyArMzQzMyw3IEBAIGludGVsX2RwX2xpbmtfZG93bihzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKIAl1aW50MzJfdCBEUCA9IGludGVsX2RwLT5EUDsKIAotCWlmIChXQVJO X09OKEhBU19EREkoZGV2KSkpCisJaWYgKFdBUk5fT04oSEFTX0RESShkZXZfcHJpdikpKQogCQly ZXR1cm47CiAKIAlpZiAoV0FSTl9PTigoSTkxNV9SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVnKSAm IERQX1BPUlRfRU4pID09IDApKQpAQCAtNTY1OSw3ICs1NjU5LDcgQEAgaW50ZWxfZHBfaW5pdF9j b25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJZWxz ZQogCQlpbnRlbF9kcC0+Z2V0X2F1eF9zZW5kX2N0bCA9IGc0eF9nZXRfYXV4X3NlbmRfY3RsOwog Ci0JaWYgKEhBU19EREkoZGV2KSkKKwlpZiAoSEFTX0RESShkZXZfcHJpdikpCiAJCWludGVsX2Rw LT5wcmVwYXJlX2xpbmtfcmV0cmFpbiA9IGludGVsX2RkaV9wcmVwYXJlX2xpbmtfcmV0cmFpbjsK IAogCS8qIFByZXNlcnZlIHRoZSBjdXJyZW50IGh3IHN0YXRlLiAqLwpAQCAtNTcwMSw3ICs1NzAx LDcgQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQsCiAKIAlpbnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoaW50ZWxf Y29ubmVjdG9yLCBpbnRlbF9lbmNvZGVyKTsKIAotCWlmIChIQVNfRERJKGRldikpCisJaWYgKEhB U19EREkoZGV2X3ByaXYpKQogCQlpbnRlbF9jb25uZWN0b3ItPmdldF9od19zdGF0ZSA9IGludGVs X2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlOwogCWVsc2UKIAkJaW50ZWxfY29ubmVjdG9yLT5n ZXRfaHdfc3RhdGUgPSBpbnRlbF9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwbGxfbWdyLmMKaW5kZXggMWM1OWNhNTBjNDMwLi5kMGM1OWMxNzkzZWYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwpAQCAtMTg1NSw3ICsxODU1LDcgQEAg dm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWRw bGxfbWdyID0gJnNrbF9wbGxfbWdyOwogCWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKIAkJZHBs bF9tZ3IgPSAmYnh0X3BsbF9tZ3I7Ci0JZWxzZSBpZiAoSEFTX0RESShkZXYpKQorCWVsc2UgaWYg KEhBU19EREkoZGV2X3ByaXYpKQogCQlkcGxsX21nciA9ICZoc3dfcGxsX21ncjsKIAllbHNlIGlm IChIQVNfUENIX0lCWChkZXYpIHx8IEhBU19QQ0hfQ1BUKGRldikpCiAJCWRwbGxfbWdyID0gJnBj aF9wbGxfbWdyOwpAQCAtMTg4Myw3ICsxODgzLDcgQEAgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJQlVHX09OKGRldl9wcml2LT5udW1fc2hhcmVk X2RwbGwgPiBJOTE1X05VTV9QTExTKTsKIAogCS8qIEZJWE1FOiBNb3ZlIHRoaXMgdG8gYSBtb3Jl IHN1aXRhYmxlIHBsYWNlICovCi0JaWYgKEhBU19EREkoZGV2KSkKKwlpZiAoSEFTX0RESShkZXZf cHJpdikpCiAJCWludGVsX2RkaV9wbGxfaW5pdChkZXYpOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMKaW5kZXggOGQ0NmY1ODM2NzQ2Li4wOWIyMTQ2ZjE1N2YgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKQEAgLTUwLDcgKzUwLDcgQEAgYXNzZXJ0X2hkbWlfcG9ydF9kaXNhYmxl ZChzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJdWludDMyX3QgZW5hYmxlZF9iaXRzOwogCi0J ZW5hYmxlZF9iaXRzID0gSEFTX0RESShkZXYpID8gRERJX0JVRl9DVExfRU5BQkxFIDogU0RWT19F TkFCTEU7CisJZW5hYmxlZF9iaXRzID0gSEFTX0RESShkZXZfcHJpdikgPyBERElfQlVGX0NUTF9F TkFCTEUgOiBTRFZPX0VOQUJMRTsKIAogCVdBUk4oSTkxNV9SRUFEKGludGVsX2hkbWktPmhkbWlf cmVnKSAmIGVuYWJsZWRfYml0cywKIAkgICAgICJIRE1JIHBvcnQgZW5hYmxlZCwgZXhwZWN0aW5n IGRpc2FibGVkXG4iKTsKQEAgLTEzMTIsNyArMTMxMiw3IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21w dXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfaGRt aSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZTsKIAlpbnQgY2xvY2tfOGJwYyA9IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUuY3J0Y19jbG9jazsKIAlpbnQgY2xvY2tfMTJicGMgPSBjbG9ja184YnBjICogMyAvIDI7 CkBAIC0xMzM5LDcgKzEzMzksNyBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCWNsb2NrXzEyYnBjICo9IDI7CiAJfQogCi0J aWYgKEhBU19QQ0hfU1BMSVQoZGV2KSAmJiAhSEFTX0RESShkZXYpKQorCWlmIChIQVNfUENIX1NQ TElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJpdikpCiAJCXBpcGVfY29uZmlnLT5oYXNf cGNoX2VuY29kZXIgPSB0cnVlOwogCiAJaWYgKHBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rICYm IGludGVsX2hkbWktPmhhc19hdWRpbykKQEAgLTE4OTIsNyArMTg5Miw3IEBAIHZvaWQgaW50ZWxf aGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwKIAkJaW50ZWxfaGRtaS0+d3JpdGVfaW5mb2ZyYW1lID0gZzR4X3dyaXRlX2luZm9mcmFt ZTsKIAkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMgPSBnNHhfc2V0X2luZm9mcmFtZXM7CiAJ CWludGVsX2hkbWktPmluZm9mcmFtZV9lbmFibGVkID0gZzR4X2luZm9mcmFtZV9lbmFibGVkOwot CX0gZWxzZSBpZiAoSEFTX0RESShkZXYpKSB7CisJfSBlbHNlIGlmIChIQVNfRERJKGRldl9wcml2 KSkgewogCQlpbnRlbF9oZG1pLT53cml0ZV9pbmZvZnJhbWUgPSBoc3dfd3JpdGVfaW5mb2ZyYW1l OwogCQlpbnRlbF9oZG1pLT5zZXRfaW5mb2ZyYW1lcyA9IGhzd19zZXRfaW5mb2ZyYW1lczsKIAkJ aW50ZWxfaGRtaS0+aW5mb2ZyYW1lX2VuYWJsZWQgPSBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQ7CkBA IC0xOTA2LDcgKzE5MDYsNyBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCWludGVsX2hkbWktPmluZm9m cmFtZV9lbmFibGVkID0gY3B0X2luZm9mcmFtZV9lbmFibGVkOwogCX0KIAotCWlmIChIQVNfRERJ KGRldikpCisJaWYgKEhBU19EREkoZGV2X3ByaXYpKQogCQlpbnRlbF9jb25uZWN0b3ItPmdldF9o d19zdGF0ZSA9IGludGVsX2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlOwogCWVsc2UKIAkJaW50 ZWxfY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9jb25uZWN0b3JfZ2V0X2h3X3N0YXRl OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggN2YxNzQ4YTFlNjE0Li5lN2IzZTZmMzkyODEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNzEzMiw3ICs3MTMyLDcgQEAgc3RhdGljIHZv aWQgbHB0X2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJICogVE9E TzogdGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgZW5hYmxlZCB3aGVuIHJlYWxseSBuZWVkZWQsIHRo ZW4KIAkgKiBkaXNhYmxlZCB3aGVuIG5vdCBuZWVkZWQgYW55bW9yZSBpbiBvcmRlciB0byBzYXZl IHBvd2VyLgogCSAqLwotCWlmIChIQVNfUENIX0xQVF9MUChkZXYpKQorCWlmIChIQVNfUENIX0xQ VF9MUChkZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUoU09VVEhfRFNQQ0xLX0dBVEVfRCwKIAkJCSAg IEk5MTVfUkVBRChTT1VUSF9EU1BDTEtfR0FURV9EKSB8CiAJCQkgICBQQ0hfTFBfUEFSVElUSU9O X0xFVkVMX0RJU0FCTEUpOwpAQCAtNzE0Nyw3ICs3MTQ3LDcgQEAgc3RhdGljIHZvaWQgbHB0X3N1 c3BlbmRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAKLQlpZiAoSEFTX1BDSF9MUFRfTFAoZGV2 KSkgeworCWlmIChIQVNfUENIX0xQVF9MUChkZXZfcHJpdikpIHsKIAkJdWludDMyX3QgdmFsID0g STkxNV9SRUFEKFNPVVRIX0RTUENMS19HQVRFX0QpOwogCiAJCXZhbCAmPSB+UENIX0xQX1BBUlRJ VElPTl9MRVZFTF9ESVNBQkxFOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRleCAxMDhiYTFl NWQ2NTguLjllMmZiYWM5Nzc2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKQEAgLTM0NCw3 ICszNDQsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9wc3JfbWF0Y2hfY29uZGl0aW9ucyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogCSAqIG9uZXMuIFNpbmNlIGJ5IERpc3BsYXkgZGVzaWduIHRy YW5zY29kZXIgRURQIGlzIHRpZWQgdG8gcG9ydCBBCiAJICogd2UgY2FuIHNhZmVseSBlc2NhcGUg YmFzZWQgb24gdGhlIHBvcnQgQS4KIAkgKi8KLQlpZiAoSEFTX0RESShkZXYpICYmIGRpZ19wb3J0 LT5wb3J0ICE9IFBPUlRfQSkgeworCWlmIChIQVNfRERJKGRldl9wcml2KSAmJiBkaWdfcG9ydC0+ cG9ydCAhPSBQT1JUX0EpIHsKIAkJRFJNX0RFQlVHX0tNUygiUFNSIGNvbmRpdGlvbiBmYWlsZWQ6 IFBvcnQgbm90IHN1cHBvcnRlZFxuIik7CiAJCXJldHVybiBmYWxzZTsKIAl9CkBAIC00MDIsNyAr NDAyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsKIAog CS8qIEVuYWJsZS9SZS1lbmFibGUgUFNSIG9uIHRoZSBob3N0ICovCi0JaWYgKEhBU19EREkoZGV2 KSkKKwlpZiAoSEFTX0RESShkZXZfcHJpdikpCiAJCS8qIE9uIEhTVysgYWZ0ZXIgd2UgZW5hYmxl IFBTUiBvbiBzb3VyY2UgaXQgd2lsbCBhY3RpdmF0ZSBpdAogCQkgKiBhcyBzb29uIGFzIGl0IG1h dGNoIGNvbmZpZ3VyZSBpZGxlX2ZyYW1lIGNvdW50LiBTbwogCQkgKiB3ZSBqdXN0IGFjdHVhbGx5 IGVuYWJsZSBpdCBoZXJlIG9uIGFjdGl2YXRpb24gdGltZS4KQEAgLTQ0OCw3ICs0NDgsNyBAQCB2 b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogCWRldl9w cml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKIAotCWlmIChIQVNfRERJKGRldikp IHsKKwlpZiAoSEFTX0RESShkZXZfcHJpdikpIHsKIAkJaHN3X3Bzcl9zZXR1cF92c2MoaW50ZWxf ZHApOwogCiAJCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgewpAQCAtNTgwLDcgKzU4 MCw3IEBAIHZvaWQgaW50ZWxfcHNyX2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IAl9CiAKIAkvKiBEaXNhYmxlIFBTUiBvbiBTb3VyY2UgKi8KLQlpZiAoSEFTX0RESShkZXYpKQor CWlmIChIQVNfRERJKGRldl9wcml2KSkKIAkJaHN3X3Bzcl9kaXNhYmxlKGludGVsX2RwKTsKIAll bHNlCiAJCXZsdl9wc3JfZGlzYWJsZShpbnRlbF9kcCk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==