From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH v2 4/4] drm/i915: Store encoder power domain in struct intel_encoder Date: Fri, 3 Feb 2017 16:03:16 +0200 Message-ID: <20170203140316.20792-4-ander.conselvan.de.oliveira@intel.com> References: <20170203140316.20792-1-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7E9F56EB92 for ; Fri, 3 Feb 2017 14:04:01 +0000 (UTC) In-Reply-To: <20170203140316.20792-1-ander.conselvan.de.oliveira@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 Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org VGhlIGVuY29kZXIgcG93ZXIgZG9tYWluIGlzIG9idmlvdXNseSB0aWVkIHRvIHRoZSBlbmNvZGVy LCBzbyBzdG9yZSBpdAppbiBzdHJ1Y3QgaW50ZWxfZW5jb2Rlci4gVGhpcyBhdm9pZHMgc29tZSBp bmRpcmVjdGlvbi4KClNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8 YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jcnQuYyAgICAgfCAyMSArKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8IDE1ICsrKysrKystLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzEgKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgIDgg KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICB8ICAxICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICB8ICA5ICsrKysrLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHZvLmMgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMu YyAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jICAgICAgfCAgMSArCiAxMiBm aWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NydC5jCmluZGV4IDJiZjVhY2EuLjhjODI2MDcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NydC5jCkBAIC02OSwxMiArNjksMTEgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0X2dldF9o d19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnQgKmNydCA9IGludGVsX2Vu Y29kZXJfdG9fY3J0KGVuY29kZXIpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4g cG93ZXJfZG9tYWluOwogCXUzMiB0bXA7CiAJYm9vbCByZXQ7CiAKLQlwb3dlcl9kb21haW4gPSBp bnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWlmICghaW50ZWxfZGlz cGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkKKwlpZiAo IWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsCisJCQkJCQllbmNv ZGVyLT5wb3dlcl9kb21haW4pKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlyZXQgPSBmYWxzZTsKQEAg LTkxLDcgKzkwLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0X2dldF9od19zdGF0ZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCXJldCA9IHRydWU7CiBvdXQ6Ci0JaW50ZWxfZGlz cGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0 OwogfQpAQCAtNjc2LDcgKzY3NSw2IEBAIGludGVsX2NydF9kZXRlY3Qoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0ICpj cnQgPSBpbnRlbF9hdHRhY2hlZF9jcnQoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlciA9ICZjcnQtPmJhc2U7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2Vy X2RvbWFpbiBwb3dlcl9kb21haW47CiAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7 CiAJc3RydWN0IGludGVsX2xvYWRfZGV0ZWN0X3BpcGUgdG1wOwogCXN0cnVjdCBkcm1fbW9kZXNl dF9hY3F1aXJlX2N0eCBjdHg7CkBAIC02ODksOCArNjg3LDcgQEAgaW50ZWxfY3J0X2RldGVjdChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCWlmIChkbWlfY2hl Y2tfc3lzdGVtKGludGVsX3NwdXJpb3VzX2NydF9kZXRlY3QpKQogCQlyZXR1cm4gY29ubmVjdG9y X3N0YXR1c19kaXNjb25uZWN0ZWQ7CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3Bv cnRfcG93ZXJfZG9tYWluKGludGVsX2VuY29kZXIpOwotCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0 KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9w cml2LCBpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCiAJaWYgKEk5MTVfSEFTX0hPVFBM VUcoZGV2X3ByaXYpKSB7CiAJCS8qIFdlIGNhbiBub3QgcmVseSBvbiB0aGUgSFBEIHBpbiBhbHdh eXMgYmVpbmcgY29ycmVjdGx5IHdpcmVkCkBAIC03NDUsNyArNzQyLDcgQEAgaW50ZWxfY3J0X2Rl dGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCWRybV9t b2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKIAogb3V0OgotCWludGVsX2Rpc3BsYXlfcG93ZXJf cHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LCBpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCXJldHVybiBzdGF0dXM7CiB9 CiAKQEAgLTc2MSwxMiArNzU4LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0X2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0ICpjcnQgPSBpbnRl bF9hdHRhY2hlZF9jcnQoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlciA9ICZjcnQtPmJhc2U7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBw b3dlcl9kb21haW47CiAJaW50IHJldDsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmkyYzsKIAotCXBv d2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rl cik7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJ aW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGludGVsX2VuY29kZXItPnBvd2VyX2Rv bWFpbik7CiAKIAlpMmMgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJpdiwgZGV2X3By aXYtPnZidC5jcnRfZGRjX3Bpbik7CiAJcmV0ID0gaW50ZWxfY3J0X2RkY19nZXRfbW9kZXMoY29u bmVjdG9yLCBpMmMpOwpAQCAtNzc4LDcgKzc3Myw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0X2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXJldCA9IGludGVsX2Ny dF9kZGNfZ2V0X21vZGVzKGNvbm5lY3RvciwgaTJjKTsKIAogb3V0OgotCWludGVsX2Rpc3BsYXlf cG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3BsYXlfcG93ZXJf cHV0KGRldl9wcml2LCBpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCiAJcmV0dXJuIHJl dDsKIH0KQEAgLTkwNCw2ICs4OTksOCBAQCB2b2lkIGludGVsX2NydF9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWNydC0+YWRwYV9yZWcgPSBhZHBhX3JlZzsKIAor CWNydC0+YmFzZS5wb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5fUE9SVF9DUlQ7CisKIAljcnQt PmJhc2UuY29tcHV0ZV9jb25maWcgPSBpbnRlbF9jcnRfY29tcHV0ZV9jb25maWc7CiAJaWYgKEhB U19QQ0hfU1BMSVQoZGV2X3ByaXYpKSB7CiAJCWNydC0+YmFzZS5kaXNhYmxlID0gcGNoX2Rpc2Fi bGVfY3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCBiNWIzMDY1Li5iNjY1M2IyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMTMxNiwxMiArMTMxNiwxMSBAQCBib29sIGlu dGVsX2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmlu dGVsX2Nvbm5lY3RvcikKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9w b3J0KGludGVsX2VuY29kZXIpOwogCWVudW0gcGlwZSBwaXBlID0gMDsKIAllbnVtIHRyYW5zY29k ZXIgY3B1X3RyYW5zY29kZXI7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dl cl9kb21haW47CiAJdWludDMyX3QgdG1wOwogCWJvb2wgcmV0OwogCi0JcG93ZXJfZG9tYWluID0g aW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKLQlpZiAoIWlu dGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbikp CisJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LAorCQkJ CQkJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYg KCFpbnRlbF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUoaW50ZWxfZW5jb2RlciwgJnBpcGUpKSB7CkBA IC0xMzYzLDcgKzEzNjIsNyBAQCBib29sIGludGVsX2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRl KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKIAl9CiAKIG91dDoKLQlp bnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9k aXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsK IAogCXJldHVybiByZXQ7CiB9CkBAIC0xMzc0LDEzICsxMzczLDEyIEBAIGJvb2wgaW50ZWxfZGRp X2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRp X2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbiBwb3dlcl9kb21haW47CiAJdTMyIHRtcDsKIAlpbnQgaTsKIAlib29sIHJldDsKIAotCXBv d2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oZW5jb2Rlcik7Ci0J aWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LCBwb3dlcl9k b21haW4pKQorCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJp diwKKwkJCQkJCWVuY29kZXItPnBvd2VyX2RvbWFpbikpCiAJCXJldHVybiBmYWxzZTsKIAogCXJl dCA9IGZhbHNlOwpAQCAtMTQzNyw3ICsxNDM1LDcgQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0 YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgIihQSFlfQ1RMICUwOHgp XG4iLCBwb3J0X25hbWUocG9ydCksIHRtcCk7CiAJfQogCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMjI1 NSw2ICsyMjUzLDcgQEAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KQogCWludGVsX2RpZ19wb3J0LT5tYXhfbGFuZXMg PSBtYXhfbGFuZXM7CiAKIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX1VOS05P V047CisJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluID0gaW50ZWxfcG9ydF90b19wb3dlcl9k b21haW4ocG9ydCk7CiAJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IHBvcnQ7CiAJaW50ZWxfZW5jb2Rl ci0+Y3J0Y19tYXNrID0gKDEgPDwgMCkgfCAoMSA8PCAxKSB8ICgxIDw8IDIpOwogCWludGVsX2Vu Y29kZXItPmNsb25lYWJsZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5k ZXggZjg5MzcyZi4uMjg3YzMyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtNTYzMCw3ICs1NjMwLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9wZml0X2VuYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKIAlJOTE1X1dSSVRFKEJDTFJQQVQoY3J0Yy0+cGlwZSksIDApOwog fQogCi1zdGF0aWMgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3J0X3RvX3Bvd2Vy X2RvbWFpbihlbnVtIHBvcnQgcG9ydCkKK2VudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4g aW50ZWxfcG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpCiB7CiAJc3dpdGNoIChw b3J0KSB7CiAJY2FzZSBQT1JUX0E6CkBAIC01NjQ5LDMzICs1NjQ5LDYgQEAgc3RhdGljIGVudW0g aW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0 IHBvcnQpCiAJfQogfQogCi1lbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCi1pbnRlbF9k aXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyKQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50 ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0OwotCi0Jc3dpdGNoIChpbnRlbF9lbmNvZGVyLT50eXBlKSB7Ci0JY2FzZSBJTlRF TF9PVVRQVVRfVU5LTk9XTjoKLQkJLyogT25seSBEREkgcGxhdGZvcm1zIHNob3VsZCBldmVyIHVz ZSB0aGlzIG91dHB1dCB0eXBlICovCi0JCVdBUk5fT05fT05DRSghSEFTX0RESShkZXZfcHJpdikp OwotCWNhc2UgSU5URUxfT1VUUFVUX0RQOgotCWNhc2UgSU5URUxfT1VUUFVUX0hETUk6Ci0JY2Fz ZSBJTlRFTF9PVVRQVVRfRURQOgotCQlpbnRlbF9kaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgm aW50ZWxfZW5jb2Rlci0+YmFzZSk7Ci0JCXJldHVybiBwb3J0X3RvX3Bvd2VyX2RvbWFpbihpbnRl bF9kaWdfcG9ydC0+cG9ydCk7Ci0JY2FzZSBJTlRFTF9PVVRQVVRfRFBfTVNUOgotCQlpbnRlbF9k aWdfcG9ydCA9IGVuY190b19tc3QoJmludGVsX2VuY29kZXItPmJhc2UpLT5wcmltYXJ5OwotCQly ZXR1cm4gcG9ydF90b19wb3dlcl9kb21haW4oaW50ZWxfZGlnX3BvcnQtPnBvcnQpOwotCWNhc2Ug SU5URUxfT1VUUFVUX0FOQUxPRzoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9QT1JUX0NSVDsKLQlj YXNlIElOVEVMX09VVFBVVF9EU0k6Ci0JCXJldHVybiBQT1dFUl9ET01BSU5fUE9SVF9EU0k7Ci0J ZGVmYXVsdDoKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9QT1JUX09USEVSOwotCX0KLX0KLQogc3Rh dGljIHVuc2lnbmVkIGxvbmcgZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK QEAgLTU2OTksNyArNTY3Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9jcnRjX3Bvd2Vy X2RvbWFpbnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWRybV9mb3JfZWFjaF9lbmNvZGVyX21h c2soZW5jb2RlciwgZGV2LCBjcnRjX3N0YXRlLT5iYXNlLmVuY29kZXJfbWFzaykgewogCQlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2Rl cik7CiAKLQkJbWFzayB8PSBCSVQoaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRl bF9lbmNvZGVyKSk7CisJCW1hc2sgfD0gQklUKGludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbik7 CiAJfQogCiAJaWYgKEhBU19EREkoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPmhhc19hdWRpbykK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDA2ZjE4YzAuLmU2NjBkNzEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwpAQCAtMjQ5NiwxMiArMjQ5NiwxMSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9k cF9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJZW51bSBwb3J0 IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWlu IHBvd2VyX2RvbWFpbjsKIAl1MzIgdG1wOwogCWJvb2wgcmV0OwogCi0JcG93ZXJfZG9tYWluID0g aW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihlbmNvZGVyKTsKLQlpZiAoIWludGVsX2Rp c3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbikpCisJaWYg KCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LAorCQkJCQkJZW5j b2Rlci0+cG93ZXJfZG9tYWluKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0ID0gZmFsc2U7CkBA IC0yNTM3LDcgKzI1MzYsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfaHdfc3RhdGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0ID0gdHJ1ZTsKIAogb3V0OgotCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3Bs YXlfcG93ZXJfcHV0KGRldl9wcml2LCBlbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCiAJcmV0dXJu IHJldDsKIH0KQEAgLTYwODYsNiArNjA4NSw3IEBAIGJvb2wgaW50ZWxfZHBfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaW50ZWxfZGlnX3BvcnQtPm1heF9sYW5lcyA9 IDQ7CiAKIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RQOworCWludGVsX2Vu Y29kZXItPnBvd2VyX2RvbWFpbiA9IGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKHBvcnQpOwog CWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewogCQlpZiAocG9ydCA9PSBQT1JUX0QpCiAJ CQlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sgPSAxIDw8IDI7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCmluZGV4IDZhODVkMzguLmQ5NGZkNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCkBAIC01NDgsNiArNTQ4LDcgQEAgaW50ZWxfZHBfY3JlYXRlX2Zha2VfbXN0X2Vu Y29kZXIoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGVudW0KIAkJ CSBEUk1fTU9ERV9FTkNPREVSX0RQTVNULCAiRFAtTVNUICVjIiwgcGlwZV9uYW1lKHBpcGUpKTsK IAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRFBfTVNUOworCWludGVsX2Vu Y29kZXItPnBvd2VyX2RvbWFpbiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvd2VyX2RvbWFpbjsK IAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7CiAJaW50ZWxfZW5j b2Rlci0+Y3J0Y19tYXNrID0gMHg3OwogCWludGVsX2VuY29kZXItPmNsb25lYWJsZSA9IDA7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDQxYTY5YzIuLjNiMGJiZWUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCkBAIC0yNDksNiArMjQ5LDcgQEAgc3RydWN0IGludGVsX2VuY29kZXIg ewogCXZvaWQgKCpzdXNwZW5kKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqKTsKIAlpbnQgY3J0Y19t YXNrOwogCWVudW0gaHBkX3BpbiBocGRfcGluOworCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4gcG93ZXJfZG9tYWluOwogCS8qIGZvciBjb21tdW5pY2F0aW9uIHdpdGggYXVkaW8gY29t cG9uZW50OyBwcm90ZWN0ZWQgYnkgYXZfbXV0ZXggKi8KIAljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqYXVkaW9fY29ubmVjdG9yOwogfTsKQEAgLTE0MDEsOCArMTQwMiw3IEBAIGludCBjaHZf Y2FsY19kcGxsX3BhcmFtcyhpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqcGxsX2Nsb2NrKTsKIGJv b2wgaW50ZWxfY3J0Y19hY3RpdmUoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwogdm9pZCBoc3df ZW5hYmxlX2lwcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiB2b2lkIGhzd19kaXNhYmxlX2lw cyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Ci1lbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9t YWluCi1pbnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyKTsKK2VudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gaW50ZWxf cG9ydF90b19wb3dlcl9kb21haW4oZW51bSBwb3J0IHBvcnQpOwogdm9pZCBpbnRlbF9tb2RlX2Zy b21fcGlwZV9jb25maWcoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJCQkJIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmMKaW5kZXggYzk4MjM0ZS4uNTE3YTk0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAg LTc2OCwxNCArNzY4LDEzIEBAIHN0YXRpYyBib29sIGludGVsX2RzaV9nZXRfaHdfc3RhdGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2Rz aSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7Ci0JZW51bSBp bnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAJZW51bSBwb3J0IHBvcnQ7 CiAJYm9vbCBhY3RpdmUgPSBmYWxzZTsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKLQlwb3dl cl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWlm ICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9t YWluKSkKKwlpZiAoIWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYs CisJCQkJCQllbmNvZGVyLT5wb3dlcl9kb21haW4pKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgpA QCAtODMxLDcgKzgzMCw3IEBAIHN0YXRpYyBib29sIGludGVsX2RzaV9nZXRfaHdfc3RhdGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogCiBvdXRfcHV0X3Bvd2VyOgotCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rpc3Bs YXlfcG93ZXJfcHV0KGRldl9wcml2LCBlbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCiAJcmV0dXJu IGFjdGl2ZTsKIH0KQEAgLTE1MDksNiArMTUwOCw3IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWludGVsX2Nvbm5lY3Rvci0+Z2V0X2h3 X3N0YXRlID0gaW50ZWxfY29ubmVjdG9yX2dldF9od19zdGF0ZTsKIAogCWludGVsX2VuY29kZXIt PnBvcnQgPSBwb3J0OworCiAJLyoKIAkgKiBPbiBCWVQvQ0hWLCBwaXBlIEEgbWFwcyB0byBNSVBJ IERTSSBwb3J0IEEsIHBpcGUgQiBtYXBzIHRvIE1JUEkgRFNJCiAJICogcG9ydCBDLiBCWFQgaXNu J3QgbGltaXRlZCBsaWtlIHRoaXMuCkBAIC0xNTk1LDYgKzE1OTUsNyBAQCB2b2lkIGludGVsX2Rz aV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiAKIAlpbnRlbF9l bmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RTSTsKKwlpbnRlbF9lbmNvZGVyLT5wb3dlcl9k b21haW4gPSBQT1dFUl9ET01BSU5fUE9SVF9EU0k7CiAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxl ID0gMDsKIAlkcm1fY29ubmVjdG9yX2luaXQoZGV2LCBjb25uZWN0b3IsICZpbnRlbF9kc2lfY29u bmVjdG9yX2Z1bmNzLAogCQkJICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2R2by5jCmluZGV4IDUwZGE4OWQuLjYwMjU4MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2R2by5jCkBAIC01MTUsNiArNTE1LDcgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQkJICJEVk8gJWMiLCBwb3J0X25hbWUocG9ydCkp OwogCiAJCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRFZPOworCQlpbnRlbF9l bmNvZGVyLT5wb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5fUE9SVF9PVEhFUjsKIAkJaW50ZWxf ZW5jb2Rlci0+cG9ydCA9IHBvcnQ7CiAJCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8 IDApIHwgKDEgPDwgMSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCBhNTgwZGU4 Li5jMjE4NGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC05MDIsMTIgKzkwMiwx MSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5k ZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwog CXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29k ZXItPmJhc2UpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWlu OwogCXUzMiB0bXA7CiAJYm9vbCByZXQ7CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5 X3BvcnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkKKwlpZiAoIWludGVsX2Rpc3Bs YXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsCisJCQkJCQllbmNvZGVyLT5wb3dlcl9k b21haW4pKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlyZXQgPSBmYWxzZTsKQEAgLTkyNyw3ICs5MjYs NyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAlyZXQgPSB0cnVlOwogCiBvdXQ6Ci0JaW50ZWxfZGlzcGxheV9wb3dl cl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQo ZGV2X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAt MTk4MSw2ICsxOTgwLDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCX0KIAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQ VVRfSERNSTsKKwlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBpbnRlbF9wb3J0X3RvX3Bv d2VyX2RvbWFpbihwb3J0KTsKIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gcG9ydDsKIAlpZiAoSVNf Q0hFUlJZVklFVyhkZXZfcHJpdikpIHsKIAkJaWYgKHBvcnQgPT0gUE9SVF9EKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHZkcy5jCmluZGV4IDljYTRkYzQuLjhiOTQyZWYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMKQEAgLTkxLDEyICs5MSwxMSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9sdmRzX2dl dF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2 ZHNfZW5jb2RlciA9IHRvX2x2ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7Ci0JZW51bSBpbnRl bF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAJdTMyIHRtcDsKIAlib29sIHJl dDsKIAotCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oZW5j b2Rlcik7Ci0JaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2 LCBwb3dlcl9kb21haW4pKQorCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxl ZChkZXZfcHJpdiwKKwkJCQkJCWVuY29kZXItPnBvd2VyX2RvbWFpbikpCiAJCXJldHVybiBmYWxz ZTsKIAogCXJldCA9IGZhbHNlOwpAQCAtMTE0LDcgKzExMyw3IEBAIHN0YXRpYyBib29sIGludGVs X2x2ZHNfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXJldCA9 IHRydWU7CiAKIG91dDoKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJf ZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgZW5jb2Rlci0+cG93 ZXJfZG9tYWluKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0xMDY2LDYgKzEwNjUsNyBAQCB2b2lk IGludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaW50 ZWxfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKGludGVsX2Nvbm5lY3RvciwgaW50ZWxfZW5jb2Rl cik7CiAKIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0xWRFM7CisJaW50ZWxf ZW5jb2Rlci0+cG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVI7CiAJaW50ZWxf ZW5jb2Rlci0+cG9ydCA9IFBPUlRfTk9ORTsKIAlpbnRlbF9lbmNvZGVyLT5jbG9uZWFibGUgPSAw OwogCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nkdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8u YwppbmRleCAyYWQxMzkwLi44MTZhNmY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCkBA IC0yOTgxLDYgKzI5ODEsNyBAQCBib29sIGludGVsX3Nkdm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJLyogZW5jb2RlciB0eXBlIHdpbGwgYmUgZGVjaWRlZCBsYXRl ciAqLwogCWludGVsX2VuY29kZXIgPSAmaW50ZWxfc2R2by0+YmFzZTsKIAlpbnRlbF9lbmNvZGVy LT50eXBlID0gSU5URUxfT1VUUFVUX1NEVk87CisJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWlu ID0gUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVI7CiAJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IHBvcnQ7 CiAJZHJtX2VuY29kZXJfaW5pdCgmZGV2X3ByaXYtPmRybSwgJmludGVsX2VuY29kZXItPmJhc2Us CiAJCQkgJmludGVsX3Nkdm9fZW5jX2Z1bmNzLCAwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKaW5k ZXggZWI2OTJlNC4uNmVkMWEzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdHYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCkBAIC0xNjIxLDYg KzE2MjEsNyBAQCBpbnRlbF90dl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlpbnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yLCBpbnRl bF9lbmNvZGVyKTsKIAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfVFZPVVQ7 CisJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVI7 CiAJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IFBPUlRfTk9ORTsKIAlpbnRlbF9lbmNvZGVyLT5jcnRj X21hc2sgPSAoMSA8PCAwKSB8ICgxIDw8IDEpOwogCWludGVsX2VuY29kZXItPmNsb25lYWJsZSA9 IDA7Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==