From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH v3 2/6] drm/i915: Store encoder power domain in struct intel_encoder Date: Wed, 22 Feb 2017 08:34:27 +0200 Message-ID: <20170222063431.10060-3-ander.conselvan.de.oliveira@intel.com> References: <20170222063431.10060-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 97A246E766 for ; Wed, 22 Feb 2017 06:34:41 +0000 (UTC) In-Reply-To: <20170222063431.10060-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 bmRpcmVjdGlvbi4KCnYyOiBSZWJhc2UKU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRl IE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NydC5jICAgICB8IDIxICsrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgMTUgKysrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAzMSArKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAgOCAr KysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmMgICAgIHwgIDkgKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kdm8uYyAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgICAgfCAgOCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5j ICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICB8 ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICB8ICAxICsKIDEyIGZp bGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY3J0LmMKaW5kZXggMmJmNWFjYS4uOGM4MjYwNyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY3J0LmMKQEAgLTY5LDEyICs2OSwxMSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfZ2V0X2h3 X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydCAqY3J0ID0gaW50ZWxfZW5j b2Rlcl90b19jcnQoZW5jb2Rlcik7Ci0JZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBw b3dlcl9kb21haW47CiAJdTMyIHRtcDsKIAlib29sIHJldDsKIAotCXBvd2VyX2RvbWFpbiA9IGlu dGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oZW5jb2Rlcik7Ci0JaWYgKCFpbnRlbF9kaXNw bGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LCBwb3dlcl9kb21haW4pKQorCWlmICgh aW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwKKwkJCQkJCWVuY29k ZXItPnBvd2VyX2RvbWFpbikpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldCA9IGZhbHNlOwpAQCAt OTEsNyArOTAsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfZ2V0X2h3X3N0YXRlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJcmV0ID0gdHJ1ZTsKIG91dDoKLQlpbnRlbF9kaXNw bGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bv d2VyX3B1dChkZXZfcHJpdiwgZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKIAogCXJldHVybiByZXQ7 CiB9CkBAIC02NzYsNyArNjc1LDYgQEAgaW50ZWxfY3J0X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnQgKmNy dCA9IGludGVsX2F0dGFjaGVkX2NydChjb25uZWN0b3IpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyID0gJmNydC0+YmFzZTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJf ZG9tYWluIHBvd2VyX2RvbWFpbjsKIAllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsK IAlzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3RfcGlwZSB0bXA7CiAJc3RydWN0IGRybV9tb2Rlc2V0 X2FjcXVpcmVfY3R4IGN0eDsKQEAgLTY4OSw4ICs2ODcsNyBAQCBpbnRlbF9jcnRfZGV0ZWN0KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJaWYgKGRtaV9jaGVj a19zeXN0ZW0oaW50ZWxfc3B1cmlvdXNfY3J0X2RldGVjdCkpCiAJCXJldHVybiBjb25uZWN0b3Jf c3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAotCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9y dF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2Rlcik7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQo ZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3By aXYsIGludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlpZiAoSTkxNV9IQVNfSE9UUExV RyhkZXZfcHJpdikpIHsKIAkJLyogV2UgY2FuIG5vdCByZWx5IG9uIHRoZSBIUEQgcGluIGFsd2F5 cyBiZWluZyBjb3JyZWN0bHkgd2lyZWQKQEAgLTc0NSw3ICs3NDIsNyBAQCBpbnRlbF9jcnRfZGV0 ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJZHJtX21v ZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOwogCiBvdXQ6Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIGludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbik7CiAJcmV0dXJuIHN0YXR1czsKIH0K IApAQCAtNzYxLDEyICs3NTgsMTAgQEAgc3RhdGljIGludCBpbnRlbF9jcnRfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnQgKmNydCA9IGludGVs X2F0dGFjaGVkX2NydChjb25uZWN0b3IpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9l bmNvZGVyID0gJmNydC0+YmFzZTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBv d2VyX2RvbWFpbjsKIAlpbnQgcmV0OwogCXN0cnVjdCBpMmNfYWRhcHRlciAqaTJjOwogCi0JcG93 ZXJfZG9tYWluID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVy KTsKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKKwlp bnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9t YWluKTsKIAogCWkyYyA9IGludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LCBkZXZfcHJp di0+dmJ0LmNydF9kZGNfcGluKTsKIAlyZXQgPSBpbnRlbF9jcnRfZGRjX2dldF9tb2Rlcyhjb25u ZWN0b3IsIGkyYyk7CkBAIC03NzgsNyArNzczLDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRfZ2V0 X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0ID0gaW50ZWxfY3J0 X2RkY19nZXRfbW9kZXMoY29ubmVjdG9yLCBpMmMpOwogCiBvdXQ6Ci0JaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIGludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0 OwogfQpAQCAtOTA0LDYgKzg5OSw4IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJY3J0LT5hZHBhX3JlZyA9IGFkcGFfcmVnOwogCisJ Y3J0LT5iYXNlLnBvd2VyX2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9QT1JUX0NSVDsKKwogCWNydC0+ YmFzZS5jb21wdXRlX2NvbmZpZyA9IGludGVsX2NydF9jb21wdXRlX2NvbmZpZzsKIAlpZiAoSEFT X1BDSF9TUExJVChkZXZfcHJpdikpIHsKIAkJY3J0LT5iYXNlLmRpc2FibGUgPSBwY2hfZGlzYWJs ZV9jcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IGNkNmZlZGQuLmIwYzRkMjMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0xMzE2LDEyICsxMzE2LDExIEBAIGJvb2wgaW50 ZWxfZGRpX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yKQogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3Bv cnQoaW50ZWxfZW5jb2Rlcik7CiAJZW51bSBwaXBlIHBpcGUgPSAwOwogCWVudW0gdHJhbnNjb2Rl ciBjcHVfdHJhbnNjb2RlcjsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBvd2Vy X2RvbWFpbjsKIAl1aW50MzJfdCB0bXA7CiAJYm9vbCByZXQ7CiAKLQlwb3dlcl9kb21haW4gPSBp bnRlbF9kaXNwbGF5X3BvcnRfcG93ZXJfZG9tYWluKGludGVsX2VuY29kZXIpOwotCWlmICghaW50 ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkK KwlpZiAoIWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsCisJCQkJ CQlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAo IWludGVsX2VuY29kZXItPmdldF9od19zdGF0ZShpbnRlbF9lbmNvZGVyLCAmcGlwZSkpIHsKQEAg LTEzNjMsNyArMTM2Miw3IEBAIGJvb2wgaW50ZWxfZGRpX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGUo c3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQogCX0KIAogb3V0OgotCWlu dGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVsX2Rp c3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pOwog CiAJcmV0dXJuIHJldDsKIH0KQEAgLTEzNzQsMTMgKzEzNzMsMTIgQEAgYm9vbCBpbnRlbF9kZGlf Z2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlf Z2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9t YWluIHBvd2VyX2RvbWFpbjsKIAl1MzIgdG1wOwogCWludCBpOwogCWJvb2wgcmV0OwogCi0JcG93 ZXJfZG9tYWluID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihlbmNvZGVyKTsKLQlp ZiAoIWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2Rv bWFpbikpCisJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2 LAorCQkJCQkJZW5jb2Rlci0+cG93ZXJfZG9tYWluKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0 ID0gZmFsc2U7CkBAIC0xNDM3LDcgKzE0MzUsNyBAQCBib29sIGludGVsX2RkaV9nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAiKFBIWV9DVEwgJTA4eClc biIsIHBvcnRfbmFtZShwb3J0KSwgdG1wKTsKIAl9CiAKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1 dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwgZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0yMjE2 LDYgKzIyMTQsNyBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAJaW50ZWxfZGlnX3BvcnQtPm1heF9sYW5lcyA9 IG1heF9sYW5lczsKIAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfVU5LTk9X TjsKKwlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBpbnRlbF9wb3J0X3RvX3Bvd2VyX2Rv bWFpbihwb3J0KTsKIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gcG9ydDsKIAlpbnRlbF9lbmNvZGVy LT5jcnRjX21hc2sgPSAoMSA8PCAwKSB8ICgxIDw8IDEpIHwgKDEgPDwgMik7CiAJaW50ZWxfZW5j b2Rlci0+Y2xvbmVhYmxlID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCA4MGNmYjY3Li4xZmZlYzhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC01NTY4LDcgKzU1NjgsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3BmaXRfZW5hYmxlKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQogCUk5MTVfV1JJVEUoQkNMUlBBVChjcnRjLT5waXBlKSwgMCk7CiB9 CiAKLXN0YXRpYyBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIHBvcnRfdG9fcG93ZXJf ZG9tYWluKGVudW0gcG9ydCBwb3J0KQorZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBp bnRlbF9wb3J0X3RvX3Bvd2VyX2RvbWFpbihlbnVtIHBvcnQgcG9ydCkKIHsKIAlzd2l0Y2ggKHBv cnQpIHsKIAljYXNlIFBPUlRfQToKQEAgLTU1ODcsMzMgKzU1ODcsNiBAQCBzdGF0aWMgZW51bSBp bnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3J0X3RvX3Bvd2VyX2RvbWFpbihlbnVtIHBvcnQg cG9ydCkKIAl9CiB9CiAKLWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KLWludGVsX2Rp c3BsYXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRl bF9lbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQ7Ci0KLQlzd2l0Y2ggKGludGVsX2VuY29kZXItPnR5cGUpIHsKLQljYXNlIElOVEVM X09VVFBVVF9VTktOT1dOOgotCQkvKiBPbmx5IERESSBwbGF0Zm9ybXMgc2hvdWxkIGV2ZXIgdXNl IHRoaXMgb3V0cHV0IHR5cGUgKi8KLQkJV0FSTl9PTl9PTkNFKCFIQVNfRERJKGRldl9wcml2KSk7 Ci0JY2FzZSBJTlRFTF9PVVRQVVRfRFA6Ci0JY2FzZSBJTlRFTF9PVVRQVVRfSERNSToKLQljYXNl IElOVEVMX09VVFBVVF9FRFA6Ci0JCWludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZp bnRlbF9lbmNvZGVyLT5iYXNlKTsKLQkJcmV0dXJuIHBvcnRfdG9fcG93ZXJfZG9tYWluKGludGVs X2RpZ19wb3J0LT5wb3J0KTsKLQljYXNlIElOVEVMX09VVFBVVF9EUF9NU1Q6Ci0JCWludGVsX2Rp Z19wb3J0ID0gZW5jX3RvX21zdCgmaW50ZWxfZW5jb2Rlci0+YmFzZSktPnByaW1hcnk7Ci0JCXJl dHVybiBwb3J0X3RvX3Bvd2VyX2RvbWFpbihpbnRlbF9kaWdfcG9ydC0+cG9ydCk7Ci0JY2FzZSBJ TlRFTF9PVVRQVVRfQU5BTE9HOgotCQlyZXR1cm4gUE9XRVJfRE9NQUlOX1BPUlRfQ1JUOwotCWNh c2UgSU5URUxfT1VUUFVUX0RTSToKLQkJcmV0dXJuIFBPV0VSX0RPTUFJTl9QT1JUX0RTSTsKLQlk ZWZhdWx0OgotCQlyZXR1cm4gUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVI7Ci0JfQotfQotCiBzdGF0 aWMgdTY0IGdldF9jcnRjX3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJ CSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC01NjM3LDcgKzU2 MTAsNyBAQCBzdGF0aWMgdTY0IGdldF9jcnRjX3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCWRybV9mb3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgZGV2LCBjcnRjX3N0 YXRlLT5iYXNlLmVuY29kZXJfbWFzaykgewogCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlciA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2Rlcik7CiAKLQkJbWFzayB8PSBCSVRfVUxM KGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2RlcikpOworCQltYXNr IHw9IEJJVF9VTEwoaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKIAl9CiAKIAlpZiAoSEFT X0RESShkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvKQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKaW5kZXggMjU4YTMwZS4uNjYzMzg5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBA IC0yNDk2LDEyICsyNDk2LDExIEBAIHN0YXRpYyBib29sIGludGVsX2RwX2dldF9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2Rp Z19wb3J0KGludGVsX2RwKS0+cG9ydDsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rl ci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwog CXUzMiB0bXA7CiAJYm9vbCByZXQ7CiAKLQlwb3dlcl9kb21haW4gPSBpbnRlbF9kaXNwbGF5X3Bv cnRfcG93ZXJfZG9tYWluKGVuY29kZXIpOwotCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRf aWZfZW5hYmxlZChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKSkKKwlpZiAoIWludGVsX2Rpc3BsYXlf cG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsCisJCQkJCQllbmNvZGVyLT5wb3dlcl9kb21h aW4pKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlyZXQgPSBmYWxzZTsKQEAgLTI1MzcsNyArMjUzNiw3 IEBAIHN0YXRpYyBib29sIGludGVsX2RwX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAlyZXQgPSB0cnVlOwogCiBvdXQ6Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNjA5 NCw2ICs2MDkzLDcgQEAgYm9vbCBpbnRlbF9kcF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAlpbnRlbF9kaWdfcG9ydC0+bWF4X2xhbmVzID0gNDsKIAogCWludGVsX2Vu Y29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfRFA7CisJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9t YWluID0gaW50ZWxfcG9ydF90b19wb3dlcl9kb21haW4ocG9ydCk7CiAJaWYgKElTX0NIRVJSWVZJ RVcoZGV2X3ByaXYpKSB7CiAJCWlmIChwb3J0ID09IFBPUlRfRCkKIAkJCWludGVsX2VuY29kZXIt PmNydGNfbWFzayA9IDEgPDwgMjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKaW5kZXgg NmE4NWQzOC4uZDk0ZmQ0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTU0 OCw2ICs1NDgsNyBAQCBpbnRlbF9kcF9jcmVhdGVfZmFrZV9tc3RfZW5jb2RlcihzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwgZW51bQogCQkJIERSTV9NT0RFX0VOQ09E RVJfRFBNU1QsICJEUC1NU1QgJWMiLCBwaXBlX25hbWUocGlwZSkpOwogCiAJaW50ZWxfZW5jb2Rl ci0+dHlwZSA9IElOVEVMX09VVFBVVF9EUF9NU1Q7CisJaW50ZWxfZW5jb2Rlci0+cG93ZXJfZG9t YWluID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG93ZXJfZG9tYWluOwogCWludGVsX2VuY29kZXIt PnBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKIAlpbnRlbF9lbmNvZGVyLT5jcnRjX21hc2sg PSAweDc7CiAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKaW5kZXggMDk2ZDc3Yi4uYTNjZjg2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTI0OSw2ICsyNDksNyBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAJdm9pZCAoKnN1c3Bl bmQpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICopOwogCWludCBjcnRjX21hc2s7CiAJZW51bSBocGRf cGluIGhwZF9waW47CisJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21h aW47CiAJLyogZm9yIGNvbW11bmljYXRpb24gd2l0aCBhdWRpbyBjb21wb25lbnQ7IHByb3RlY3Rl ZCBieSBhdl9tdXRleCAqLwogCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICphdWRpb19jb25u ZWN0b3I7CiB9OwpAQCAtMTQyMCw4ICsxNDIxLDcgQEAgaW50IGNodl9jYWxjX2RwbGxfcGFyYW1z KGludCByZWZjbGssIHN0cnVjdCBkcGxsICpwbGxfY2xvY2spOwogYm9vbCBpbnRlbF9jcnRjX2Fj dGl2ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiB2b2lkIGhzd19lbmFibGVfaXBzKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKTsKIHZvaWQgaHN3X2Rpc2FibGVfaXBzKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKTsKLWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KLWludGVsX2Rpc3Bs YXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIp OworZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBpbnRlbF9wb3J0X3RvX3Bvd2VyX2Rv bWFpbihlbnVtIHBvcnQgcG9ydCk7CiB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCBjMjZmZTRm Li5kN2ZmYjlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwpAQCAtNzc1LDE0ICs3NzUsMTMg QEAgc3RhdGljIGJvb2wgaW50ZWxfZHNpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBl bmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93 ZXJfZG9tYWluIHBvd2VyX2RvbWFpbjsKIAllbnVtIHBvcnQgcG9ydDsKIAlib29sIGFjdGl2ZSA9 IGZhbHNlOwogCiAJRFJNX0RFQlVHX0tNUygiXG4iKTsKIAotCXBvd2VyX2RvbWFpbiA9IGludGVs X2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oZW5jb2Rlcik7Ci0JaWYgKCFpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LCBwb3dlcl9kb21haW4pKQorCWlmICghaW50 ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwKKwkJCQkJCWVuY29kZXIt PnBvd2VyX2RvbWFpbikpCiAJCXJldHVybiBmYWxzZTsKIAogCS8qCkBAIC04MzgsNyArODM3LDcg QEAgc3RhdGljIGJvb2wgaW50ZWxfZHNpX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAl9CiAKIG91dF9wdXRfcG93ZXI6Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7CiAKIAlyZXR1cm4gYWN0aXZlOwogfQpAQCAt MTUxNiw2ICsxNTE1LDcgQEAgdm9pZCBpbnRlbF9kc2lfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJaW50ZWxfY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9j b25uZWN0b3JfZ2V0X2h3X3N0YXRlOwogCiAJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IHBvcnQ7CisK IAkvKgogCSAqIE9uIEJZVC9DSFYsIHBpcGUgQSBtYXBzIHRvIE1JUEkgRFNJIHBvcnQgQSwgcGlw ZSBCIG1hcHMgdG8gTUlQSSBEU0kKIAkgKiBwb3J0IEMuIEJYVCBpc24ndCBsaW1pdGVkIGxpa2Ug dGhpcy4KQEAgLTE2MDMsNiArMTYwMyw3IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJ TlRFTF9PVVRQVVRfRFNJOworCWludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbiA9IFBPV0VSX0RP TUFJTl9QT1JUX0RTSTsKIAlpbnRlbF9lbmNvZGVyLT5jbG9uZWFibGUgPSAwOwogCWRybV9jb25u ZWN0b3JfaW5pdChkZXYsIGNvbm5lY3RvciwgJmludGVsX2RzaV9jb25uZWN0b3JfZnVuY3MsCiAJ CQkgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKaW5k ZXggNTBkYTg5ZC4uNjAyNTgzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKQEAgLTUxNSw2 ICs1MTUsNyBAQCB2b2lkIGludGVsX2R2b19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkJCQkgIkRWTyAlYyIsIHBvcnRfbmFtZShwb3J0KSk7CiAKIAkJaW50ZWxfZW5j b2Rlci0+dHlwZSA9IElOVEVMX09VVFBVVF9EVk87CisJCWludGVsX2VuY29kZXItPnBvd2VyX2Rv bWFpbiA9IFBPV0VSX0RPTUFJTl9QT1JUX09USEVSOwogCQlpbnRlbF9lbmNvZGVyLT5wb3J0ID0g cG9ydDsKIAkJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gKDEgPDwgMCkgfCAoMSA8PCAxKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IGE1ODBkZTguLmMyMTg0ZjcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTkwMiwxMiArOTAyLDExIEBAIHN0YXRpYyBib29s IGludGVsX2hkbWlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2hk bWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7Ci0JZW51 bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwb3dlcl9kb21haW47CiAJdTMyIHRtcDsKIAli b29sIHJldDsKIAotCXBvd2VyX2RvbWFpbiA9IGludGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21h aW4oZW5jb2Rlcik7Ci0JaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRl dl9wcml2LCBwb3dlcl9kb21haW4pKQorCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9nZXRfaWZf ZW5hYmxlZChkZXZfcHJpdiwKKwkJCQkJCWVuY29kZXItPnBvd2VyX2RvbWFpbikpCiAJCXJldHVy biBmYWxzZTsKIAogCXJldCA9IGZhbHNlOwpAQCAtOTI3LDcgKzkyNiw3IEBAIHN0YXRpYyBib29s IGludGVsX2hkbWlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CXJldCA9IHRydWU7CiAKIG91dDoKLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwg cG93ZXJfZG9tYWluKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgZW5jb2Rl ci0+cG93ZXJfZG9tYWluKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0xOTgxLDYgKzE5ODAsNyBA QCB2b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJfQogCiAJaW50ZWxfZW5jb2Rlci0+dHlwZSA9IElOVEVMX09VVFBVVF9IRE1JOworCWludGVs X2VuY29kZXItPnBvd2VyX2RvbWFpbiA9IGludGVsX3BvcnRfdG9fcG93ZXJfZG9tYWluKHBvcnQp OwogCWludGVsX2VuY29kZXItPnBvcnQgPSBwb3J0OwogCWlmIChJU19DSEVSUllWSUVXKGRldl9w cml2KSkgewogCQlpZiAocG9ydCA9PSBQT1JUX0QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMK aW5kZXggOWNhNGRjNC4uOGI5NDJlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHZkcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwpAQCAt OTEsMTIgKzkxLDExIEBAIHN0YXRpYyBib29sIGludGVsX2x2ZHNfZ2V0X2h3X3N0YXRlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNv ZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7CiAJc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciAqbHZkc19lbmNvZGVyID0gdG9f bHZkc19lbmNvZGVyKCZlbmNvZGVyLT5iYXNlKTsKLQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJf ZG9tYWluIHBvd2VyX2RvbWFpbjsKIAl1MzIgdG1wOwogCWJvb2wgcmV0OwogCi0JcG93ZXJfZG9t YWluID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihlbmNvZGVyKTsKLQlpZiAoIWlu dGVsX2Rpc3BsYXlfcG93ZXJfZ2V0X2lmX2VuYWJsZWQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbikp CisJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LAorCQkJ CQkJZW5jb2Rlci0+cG93ZXJfZG9tYWluKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0ID0gZmFs c2U7CkBAIC0xMTQsNyArMTEzLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfbHZkc19nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0ID0gdHJ1ZTsKIAogb3V0Ogot CWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dlcl9kb21haW4pOworCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBlbmNvZGVyLT5wb3dlcl9kb21haW4pOwogCiAJ cmV0dXJuIHJldDsKIH0KQEAgLTEwNjYsNiArMTA2NSw3IEBAIHZvaWQgaW50ZWxfbHZkc19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnRlbF9jb25uZWN0b3JfYXR0 YWNoX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yLCBpbnRlbF9lbmNvZGVyKTsKIAogCWludGVsX2Vu Y29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRfTFZEUzsKKwlpbnRlbF9lbmNvZGVyLT5wb3dlcl9k b21haW4gPSBQT1dFUl9ET01BSU5fUE9SVF9PVEhFUjsKIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0g UE9SVF9OT05FOwogCWludGVsX2VuY29kZXItPmNsb25lYWJsZSA9IDA7CiAJaWYgKEhBU19QQ0hf U1BMSVQoZGV2X3ByaXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCmluZGV4IDJhZDEzOTAu LjgxNmE2ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKQEAgLTI5ODEsNiArMjk4MSw3 IEBAIGJvb2wgaW50ZWxfc2R2b19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkvKiBlbmNvZGVyIHR5cGUgd2lsbCBiZSBkZWNpZGVkIGxhdGVyICovCiAJaW50ZWxfZW5j b2RlciA9ICZpbnRlbF9zZHZvLT5iYXNlOwogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9P VVRQVVRfU0RWTzsKKwlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5f UE9SVF9PVEhFUjsKIAlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gcG9ydDsKIAlkcm1fZW5jb2Rlcl9p bml0KCZkZXZfcHJpdi0+ZHJtLCAmaW50ZWxfZW5jb2Rlci0+YmFzZSwKIAkJCSAmaW50ZWxfc2R2 b19lbmNfZnVuY3MsIDAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90 di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwppbmRleCBlYjY5MmU0Li42ZWQx YTNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKQEAgLTE2MjEsNiArMTYyMSw3IEBAIGludGVs X3R2X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWludGVsX2Nvbm5l Y3Rvcl9hdHRhY2hfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwogCiAJ aW50ZWxfZW5jb2Rlci0+dHlwZSA9IElOVEVMX09VVFBVVF9UVk9VVDsKKwlpbnRlbF9lbmNvZGVy LT5wb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5fUE9SVF9PVEhFUjsKIAlpbnRlbF9lbmNvZGVy LT5wb3J0ID0gUE9SVF9OT05FOwogCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9ICgxIDw8IDAp IHwgKDEgPDwgMSk7CiAJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlID0gMDsKLS0gCjIuOS4zCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK