From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH v3 6/6] drm/i915: Only enable DDI IO power domains after enabling DPLL Date: Wed, 22 Feb 2017 08:34:31 +0200 Message-ID: <20170222063431.10060-7-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F4E66E76E for ; Wed, 22 Feb 2017 06:34:51 +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 QWNjb3JkaW5nIHRvIGJzcGVjLCB0aGUgRERJIElPIHBvd2VyIGRvbWFpbnMgc2hvdWxkIGJlIGVu YWJsZWQgYWZ0ZXIKZW5hYmxpbmcgdGhlIERQTEwgYW5kIG1hcHBpbmcgaXQgdG8gdGhlIERESS4g VGhlIGN1cnJlbnQgb3JkZXIgZG9lc24ndApzZWVtIHRvIGNyZWF0ZSBwcm9ibGVtcyB3aXRoIFNr eWxha2UgYW5kIEthYnlsYWtlLCBidXQgY2F1c2VzIGVuYWJsZQp0aW1lb3V0cyBpbiBHZW1pbmls YWtlLgoKdjI6IFJlYmFzZS4KICAtIFRha2UgcG93ZXIgZG9tYWluIHJlZmVyZW5jZXMgYmVmb3Jl IHNhbml0aXppbmcgZW5jb2RlcnMuIChJbXJlKQogIC0gQWRkIGNvbW1lbnQgdG8gZ2V0X2VuY29k ZXJfcG93ZXJfZG9tYWlucygpIGRlZml0aW9uLiAoQW5kZXIpCgp2MzogRG9uJ3QgcHV0IHRoZSBk b21haW4gaWYgY2FsbGVkIHdpdGggSFNXL0JEVydzIGFuYWxvZyBlbmNvZGVyLiAoQ0kpCgpDYzog RGF2aWQgV2VpbmVoYWxsIDxkYXZpZC53ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgpDYzogSW1y ZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2 YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+ClJl dmlld2VkLWJ5OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5j b20+ICMgdjEKLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAg NSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICAgICB8IDUwICsrKysr KysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j ICAgIHwgMjAgKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg ICAgIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDY4 ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMTgg aW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggZDIzMDY5Yi4uZTM0NmIyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNDMsNiAr MzQzLDExIEBAIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gewogCVBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9DX0xBTkVTLAogCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0xBTkVTLAogCVBP V0VSX0RPTUFJTl9QT1JUX0RESV9FX0xBTkVTLAorCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lP LAorCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0lPLAorCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9D X0lPLAorCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPLAorCVBPV0VSX0RPTUFJTl9QT1JUX0RE SV9FX0lPLAogCVBPV0VSX0RPTUFJTl9QT1JUX0RTSSwKIAlQT1dFUl9ET01BSU5fUE9SVF9DUlQs CiAJUE9XRVJfRE9NQUlOX1BPUlRfT1RIRVIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4 IGIwYzRkMjMuLmY1MGI0ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0xNDQwLDYg KzE0NDAsMTggQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxv bmcKK2ludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKK3sKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19k aWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJZW51bSBwaXBlIHBpcGU7CisKKwlpZiAoaW50ZWxf ZGRpX2dldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSkpCisJCXJldHVybiBCSVRfVUxMKGRpZ19w b3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKKworCXJldHVybiAwOworfQorCiB2b2lkIGludGVs X2RkaV9lbmFibGVfcGlwZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIHsK IAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKQEAgLTE2ODIsNiAr MTY5NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7CisJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwogCiAJaW50 ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKGludGVsX2RwLCBsaW5rX3JhdGUsIGxhbmVfY291bnQsCiAJ CQkJIGxpbmtfbXN0KTsKQEAgLTE2ODksNiArMTcwMiw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rk aV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlpbnRlbF9l ZHBfcGFuZWxfb24oaW50ZWxfZHApOwogCiAJaW50ZWxfZGRpX2Nsa19zZWxlY3QoZW5jb2Rlciwg cGxsKTsKKworCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRp X2lvX3Bvd2VyX2RvbWFpbik7CisKIAlpbnRlbF9wcmVwYXJlX2RwX2RkaV9idWZmZXJzKGVuY29k ZXIpOwogCWludGVsX2RkaV9pbml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7CiAJaW50ZWxfZHBfc2lu a19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09OKTsKQEAgLTE3MDgsOSArMTcyNCwxMyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIgPSAmZW5jb2Rl ci0+YmFzZTsKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVu Y29kZXIpOwogCWludCBsZXZlbCA9IGludGVsX2RkaV9oZG1pX2xldmVsKGRldl9wcml2LCBwb3J0 KTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dCgmZW5jb2Rlci0+YmFzZSk7CiAKIAlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0 KGludGVsX2hkbWksIHRydWUpOwogCWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7 CisKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgZGlnX3BvcnQtPmRkaV9pb19w b3dlcl9kb21haW4pOworCiAJaW50ZWxfcHJlcGFyZV9oZG1pX2RkaV9idWZmZXJzKGVuY29kZXIp OwogCWlmIChJU19HRU45X0JDKGRldl9wcml2KSkKIAkJc2tsX2RkaV9zZXRfaWJvb3N0KGVuY29k ZXIsIGxldmVsKTsKQEAgLTE3NTQsNiArMTc3NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9w b3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCiAJc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJhc2U7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwogCWVudW0g cG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7CisJ c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5j b2Rlcik7CiAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwogCXVpbnQzMl90IHZhbDsK IAlib29sIHdhaXQgPSBmYWxzZTsKQEAgLTE3OTMsNiArMTgxNCw5IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIs CiAKIAkJaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCBmYWxz ZSk7CiAJfQorCisJaWYgKGRpZ19wb3J0KQorCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwgZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOwogfQogCiB2b2lkIGludGVsX2Rk aV9mZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLApA QCAtMjE5MCwxMiArMjIxNCwzOCBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAJaW50ZWxfZW5jb2Rlci0+Z2V0 X2h3X3N0YXRlID0gaW50ZWxfZGRpX2dldF9od19zdGF0ZTsKIAlpbnRlbF9lbmNvZGVyLT5nZXRf Y29uZmlnID0gaW50ZWxfZGRpX2dldF9jb25maWc7CiAJaW50ZWxfZW5jb2Rlci0+c3VzcGVuZCA9 IGludGVsX2RwX2VuY29kZXJfc3VzcGVuZDsKKwlpbnRlbF9lbmNvZGVyLT5nZXRfcG93ZXJfZG9t YWlucyA9IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWluczsKIAogCWludGVsX2RpZ19wb3J0LT5w b3J0ID0gcG9ydDsKIAlpbnRlbF9kaWdfcG9ydC0+c2F2ZWRfcG9ydF9iaXRzID0gSTkxNV9SRUFE KERESV9CVUZfQ1RMKHBvcnQpKSAmCiAJCQkJCSAgKERESV9CVUZfUE9SVF9SRVZFUlNBTCB8CiAJ CQkJCSAgIERESV9BXzRfTEFORVMpOwogCisJc3dpdGNoIChwb3J0KSB7CisJY2FzZSBQT1JUX0E6 CisJCWludGVsX2RpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluID0KKwkJCVBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9BX0lPOworCQlicmVhazsKKwljYXNlIFBPUlRfQjoKKwkJaW50ZWxfZGlnX3Bv cnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQorCQkJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0JfSU87 CisJCWJyZWFrOworCWNhc2UgUE9SVF9DOgorCQlpbnRlbF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2Vy X2RvbWFpbiA9CisJCQlQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19JTzsKKwkJYnJlYWs7CisJY2Fz ZSBQT1JUX0Q6CisJCWludGVsX2RpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluID0KKwkJCVBP V0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOworCQlicmVhazsKKwljYXNlIFBPUlRfRToKKwkJaW50 ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQorCQkJUE9XRVJfRE9NQUlOX1BPUlRf RERJX0VfSU87CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCU1JU1NJTkdfQ0FTRShwb3J0KTsKKwl9 CisKIAkvKgogCSAqIEJzcGVjIHNheXMgdGhhdCBERElfQV80X0xBTkVTIGlzIHRoZSBvbmx5IHN1 cHBvcnRlZCBjb25maWd1cmF0aW9uCiAJICogZm9yIEJyb3h0b24uICBZZXQgc29tZSBCSU9TIGZh aWwgdG8gc2V0IHRoaXMgYml0IG9uIHBvcnQgQSBpZiBlRFAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCAxZmZlYzhmLi45NTdjNjJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0xNTQwNyw2ICsxNTQwNywyNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiB9CiAK K3N0YXRpYyB2b2lkCitnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKKwor CWZvcl9lYWNoX2ludGVsX2VuY29kZXIoJmRldl9wcml2LT5kcm0sIGVuY29kZXIpIHsKKwkJdTY0 IGdldF9kb21haW5zOworCQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsK KworCQlpZiAoIWVuY29kZXItPmdldF9wb3dlcl9kb21haW5zKQorCQkJY29udGludWU7CisKKwkJ Z2V0X2RvbWFpbnMgPSBlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKKwkJZm9y X2VhY2hfcG93ZXJfZG9tYWluKGRvbWFpbiwgZ2V0X2RvbWFpbnMpCisJCQlpbnRlbF9kaXNwbGF5 X3Bvd2VyX2dldChkZXZfcHJpdiwgZG9tYWluKTsKKwl9Cit9CisKIC8qIFNjYW4gb3V0IHRoZSBj dXJyZW50IGh3IG1vZGVzZXQgc3RhdGUsCiAgKiBhbmQgc2FuaXRpemVzIGl0IHRvIHRoZSBjdXJy ZW50IHN0YXRlCiAgKi8KQEAgLTE1NDIyLDYgKzE1NDQwLDggQEAgaW50ZWxfbW9kZXNldF9zZXR1 cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWludGVsX21vZGVzZXRfcmVhZG91 dF9od19zdGF0ZShkZXYpOwogCiAJLyogSFcgc3RhdGUgaXMgcmVhZCBvdXQsIG5vdyB3ZSBuZWVk IHRvIHNhbml0aXplIHRoaXMgbWVzcy4gKi8KKwlnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5zKGRl dl9wcml2KTsKKwogCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKSB7CiAJCWlu dGVsX3Nhbml0aXplX2VuY29kZXIoZW5jb2Rlcik7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAppbmRleCAyMDExNjUxLi4wZWRjNDk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt MjQxLDYgKzI0MSw5IEBAIHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKIAkgKiBiZSBzZXQgY29ycmVj dGx5IGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uICovCiAJdm9pZCAoKmdldF9jb25maWcp KHN0cnVjdCBpbnRlbF9lbmNvZGVyICosCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcpOworCS8qIFJldHVybnMgYSBtYXNrIG9mIHBvd2VyIGRvbWFpbnMgdGhhdCBu ZWVkIHRvIGJlIHJlZmVyZW5jZWQgYXMgcGFydAorCSAqIG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSBy ZWFkb3V0IGNvZGUuICovCisJdTY0ICgqZ2V0X3Bvd2VyX2RvbWFpbnMpKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKTsKIAkvKgogCSAqIENhbGxlZCBkdXJpbmcgc3lzdGVtIHN1c3BlbmQg YWZ0ZXIgYWxsIHBlbmRpbmcgcmVxdWVzdHMgZm9yIHRoZQogCSAqIGVuY29kZXIgYXJlIGZsdXNo ZWQgKGZvciBleGFtcGxlIGZvciBEUCBBVVggdHJhbnNhY3Rpb25zKSBhbmQKQEAgLTEwMjcsNiAr MTAzMCw3IEBAIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgewogCWVudW0gaXJxcmV0dXJuICgq aHBkX3B1bHNlKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICosIGJvb2wpOwogCWJvb2wgcmVs ZWFzZV9jbDJfb3ZlcnJpZGU7CiAJdWludDhfdCBtYXhfbGFuZXM7CisJZW51bSBpbnRlbF9kaXNw bGF5X3Bvd2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJfZG9tYWluOwogfTsKIAogc3RydWN0IGludGVs X2RwX21zdF9lbmNvZGVyIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwpp bmRleCA1MTRlZjU2Li4wMTJiYzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ydW50aW1lX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jCkBAIC05Myw2ICs5MywxNiBAQCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbl9zdHIo ZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW4pCiAJCXJldHVybiAiUE9SVF9E RElfRF9MQU5FUyI7CiAJY2FzZSBQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9MQU5FUzoKIAkJcmV0 dXJuICJQT1JUX0RESV9FX0xBTkVTIjsKKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lP OgorCQlyZXR1cm4gIlBPUlRfRERJX0FfSU8iOworCWNhc2UgUE9XRVJfRE9NQUlOX1BPUlRfRERJ X0JfSU86CisJCXJldHVybiAiUE9SVF9ERElfQl9JTyI7CisJY2FzZSBQT1dFUl9ET01BSU5fUE9S VF9ERElfQ19JTzoKKwkJcmV0dXJuICJQT1JUX0RESV9DX0lPIjsKKwljYXNlIFBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9EX0lPOgorCQlyZXR1cm4gIlBPUlRfRERJX0RfSU8iOworCWNhc2UgUE9XRVJf RE9NQUlOX1BPUlRfRERJX0VfSU86CisJCXJldHVybiAiUE9SVF9ERElfRV9JTyI7CiAJY2FzZSBQ T1dFUl9ET01BSU5fUE9SVF9EU0k6CiAJCXJldHVybiAiUE9SVF9EU0kiOwogCWNhc2UgUE9XRVJf RE9NQUlOX1BPUlRfQ1JUOgpAQCAtMzg1LDE4ICszOTUsMTggQEAgc3RhdGljIHZvaWQgaHN3X3Nl dF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlCSVRfVUxM KFBPV0VSX0RPTUFJTl9BVURJTykgfAkJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9WR0EpIHwJ CQkJXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQotI2RlZmluZSBTS0xfRElTUExBWV9E RElfQV9FX1BPV0VSX0RPTUFJTlMgKAkJXAotCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJ X0FfTEFORVMpIHwJCVwKLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0xBTkVTKSB8 CQlcCisjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19BX0VfUE9XRVJfRE9NQUlOUyAoCQlcCisJ QklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9JTykgfAkJXAorCUJJVF9VTEwoUE9XRVJf RE9NQUlOX1BPUlRfRERJX0VfSU8pIHwJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkK LSNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCi0JQklUX1VMTChQ T1dFUl9ET01BSU5fUE9SVF9ERElfQl9MQU5FUykgfAkJXAorI2RlZmluZSBTS0xfRElTUExBWV9E RElfSU9fQl9QT1dFUl9ET01BSU5TICgJCVwKKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RE SV9CX0lPKSB8CQlcCiAJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCi0jZGVmaW5lIFNLTF9E SVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMgKAkJXAotCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BP UlRfRERJX0NfTEFORVMpIHwJCVwKKyNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0lPX0NfUE9XRVJf RE9NQUlOUyAoCQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19JTykgfAkJXAog CUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQotI2RlZmluZSBTS0xfRElTUExBWV9ERElfRF9Q T1dFUl9ET01BSU5TICgJCVwKLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0xBTkVT KSB8CQlcCisjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19EX1BPV0VSX0RPTUFJTlMgKAkJXAor CUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0RfSU8pIHwJCVwKIAlCSVRfVUxMKFBPV0VS X0RPTUFJTl9JTklUKSkKICNkZWZpbmUgU0tMX0RJU1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMg KAkJXAogCVNLTF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RPTUFJTlMgfAkJXApAQCAtNDUx LDEyICs0NjEsMTIgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVURJTykgfAkJ CVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9WR0EpIHwJCQkJXAogCUJJVF9VTEwoUE9XRVJfRE9N QUlOX0lOSVQpKQotI2RlZmluZSBHTEtfRElTUExBWV9ERElfQV9QT1dFUl9ET01BSU5TICgJCVwK LQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0xBTkVTKSkKLSNkZWZpbmUgR0xLX0RJ U1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCi0JQklUX1VMTChQT1dFUl9ET01BSU5fUE9S VF9ERElfQl9MQU5FUykpCi0jZGVmaW5lIEdMS19ESVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMg KAkJXAotCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfTEFORVMpKQorI2RlZmluZSBH TEtfRElTUExBWV9ERElfSU9fQV9QT1dFUl9ET01BSU5TICgJCVwKKwlCSVRfVUxMKFBPV0VSX0RP TUFJTl9QT1JUX0RESV9BX0lPKSkKKyNkZWZpbmUgR0xLX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJf RE9NQUlOUyAoCQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTykpCisjZGVm aW5lIEdMS19ESVNQTEFZX0RESV9JT19DX1BPV0VSX0RPTUFJTlMgKAkJXAorCUJJVF9VTEwoUE9X RVJfRE9NQUlOX1BPUlRfRERJX0NfSU8pKQogI2RlZmluZSBHTEtfRFBJT19DTU5fQV9QT1dFUl9E T01BSU5TICgJCQlcCiAJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9MQU5FUykgfAkJ XAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9BKSB8CQkJXApAQCAtMjExNCwyNiArMjEyNCwy NiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBza2xfcG93ZXJfd2VsbHNbXSA9IHsK IAkJLmlkID0gU0tMX0RJU1BfUFdfMiwKIAl9LAogCXsKLQkJLm5hbWUgPSAiRERJIEEvRSBwb3dl ciB3ZWxsIiwKLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfQV9FX1BPV0VSX0RPTUFJTlMs CisJCS5uYW1lID0gIkRESSBBL0UgSU8gcG93ZXIgd2VsbCIsCisJCS5kb21haW5zID0gU0tMX0RJ U1BMQVlfRERJX0lPX0FfRV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9wb3dlcl93ZWxs X29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0FfRSwKIAl9LAogCXsKLQkJLm5hbWUgPSAi RERJIEIgcG93ZXIgd2VsbCIsCi0JCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0JfUE9XRVJf RE9NQUlOUywKKwkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCisJCS5kb21haW5zID0g U0tMX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZza2xfcG93ZXJf d2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAogCX0sCiAJewotCQkubmFtZSA9 ICJEREkgQyBwb3dlciB3ZWxsIiwKLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfQ19QT1dF Ul9ET01BSU5TLAorCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKKwkJLmRvbWFpbnMg PSBTS0xfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9wb3dl cl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCiAJfSwKIAl7Ci0JCS5uYW1l ID0gIkRESSBEIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9EX1BP V0VSX0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBEIElPIHBvd2VyIHdlbGwiLAorCQkuZG9tYWlu cyA9IFNLTF9ESVNQTEFZX0RESV9JT19EX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmc2tsX3Bv d2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfRCwKIAl9LApAQCAtMjI0Niwy MCArMjI1NiwyMCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBnbGtfcG93ZXJfd2Vs bHNbXSA9IHsKIAkJLmlkID0gR0xLX0RJU1BfUFdfQVVYX0MsCiAJfSwKIAl7Ci0JCS5uYW1lID0g IkRESSBBIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9BX1BPV0VS X0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBBIElPIHBvd2VyIHdlbGwiLAorCQkuZG9tYWlucyA9 IEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmc2tsX3Bvd2Vy X3dlbGxfb3BzLAogCQkuaWQgPSBHTEtfRElTUF9QV19ERElfQSwKIAl9LAogCXsKLQkJLm5hbWUg PSAiRERJIEIgcG93ZXIgd2VsbCIsCi0JCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0JfUE9X RVJfRE9NQUlOUywKKwkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCisJCS5kb21haW5z ID0gR0xLX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZza2xfcG93 ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAogCX0sCiAJewotCQkubmFt ZSA9ICJEREkgQyBwb3dlciB3ZWxsIiwKLQkJLmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfQ19Q T1dFUl9ET01BSU5TLAorCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKKwkJLmRvbWFp bnMgPSBHTEtfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCiAJfSwKLS0gCjIuOS4z CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK