From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 6/6] drm/i915: Only enable DDI IO power domains after enabling DPLL Date: Fri, 10 Feb 2017 15:29:59 +0200 Message-ID: <20170210132959.16594-7-ander.conselvan.de.oliveira@intel.com> References: <20170210132959.16594-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 71CF26ECF3 for ; Fri, 10 Feb 2017 13:30:25 +0000 (UTC) In-Reply-To: <20170210132959.16594-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 YWtlLgoKQ2M6IERhdmlkIFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25z ZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICB8ICA1ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgfCAxMiArKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y dW50aW1lX3BtLmMgfCA2OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDUgZmls ZXMgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCmluZGV4IGJmY2NmOWQuLjI3ODQ3ZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaApAQCAtMzQzLDYgKzM0MywxMSBAQCBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWlu IHsKIAlQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19MQU5FUywKIAlQT1dFUl9ET01BSU5fUE9SVF9E RElfRF9MQU5FUywKIAlQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9MQU5FUywKKwlQT1dFUl9ET01B SU5fUE9SVF9ERElfQV9JTywKKwlQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTywKKwlQT1dFUl9E T01BSU5fUE9SVF9ERElfQ19JTywKKwlQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9JTywKKwlQT1dF Ul9ET01BSU5fUE9SVF9ERElfRV9JTywKIAlQT1dFUl9ET01BSU5fUE9SVF9EU0ksCiAJUE9XRVJf RE9NQUlOX1BPUlRfQ1JULAogCVBPV0VSX0RPTUFJTl9QT1JUX09USEVSLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYwppbmRleCBiMGM0ZDIzLi43Mjc1NGI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwpAQCAtMTQ0MCw2ICsxNDQwLDE4IEBAIGJvb2wgaW50ZWxfZGRpX2dldF9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMg dW5zaWduZWQgbG9uZyBsb25nCitpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCit7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOworCWVudW0gcGlwZSBwaXBl OworCisJaWYgKGludGVsX2RkaV9nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpKQorCQlyZXR1 cm4gQklUX1VMTChkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7CisKKwlyZXR1cm4gMDsK K30KKwogdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3BpcGVfY2xvY2soc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMpCiB7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmludGVsX2NydGMtPmJh c2U7CkBAIC0xNjgyLDYgKzE2OTQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJs ZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAllbnVt IHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOworCXN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVy LT5iYXNlKTsKIAogCWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgbGlua19yYXRl LCBsYW5lX2NvdW50LAogCQkJCSBsaW5rX21zdCk7CkBAIC0xNjg5LDYgKzE3MDIsOSBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2RwKTsKIAogCWludGVsX2RkaV9jbGtf c2VsZWN0KGVuY29kZXIsIHBsbCk7CisKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJp diwgZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOworCiAJaW50ZWxfcHJlcGFyZV9kcF9k ZGlfYnVmZmVycyhlbmNvZGVyKTsKIAlpbnRlbF9kZGlfaW5pdF9kcF9idWZfcmVnKGVuY29kZXIp OwogCWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7CkBAIC0x NzA4LDkgKzE3MjQsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9l bmNvZGVyID0gJmVuY29kZXItPmJhc2U7CiAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0 X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKIAlpbnQgbGV2ZWwgPSBpbnRlbF9kZGlfaGRtaV9sZXZl bChkZXZfcHJpdiwgcG9ydCk7CisJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQg PSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwogCiAJaW50ZWxfZHBfZHVhbF9tb2Rl X3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCB0cnVlKTsKIAlpbnRlbF9kZGlfY2xrX3NlbGVj dChlbmNvZGVyLCBwbGwpOworCisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGRp Z19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKKwogCWludGVsX3ByZXBhcmVfaGRtaV9kZGlf YnVmZmVycyhlbmNvZGVyKTsKIAlpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpCiAJCXNrbF9kZGlf c2V0X2lib29zdChlbmNvZGVyLCBsZXZlbCk7CkBAIC0xNzU0LDYgKzE3NzQsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9l bmNvZGVyLAogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5i YXNlOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+ZGV2KTsKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGlu dGVsX2VuY29kZXIpOworCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5j X3RvX2RpZ19wb3J0KGVuY29kZXIpOwogCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsK IAl1aW50MzJfdCB2YWw7CiAJYm9vbCB3YWl0ID0gZmFsc2U7CkBAIC0xNzkzLDYgKzE4MTQsOCBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyLAogCiAJCWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo aW50ZWxfaGRtaSwgZmFsc2UpOwogCX0KKworCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9w cml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7CiB9CiAKIHZvaWQgaW50ZWxfZGRp X2ZkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCkBA IC0yMTkwLDEyICsyMjEzLDM4IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKIAlpbnRlbF9lbmNvZGVyLT5nZXRf aHdfc3RhdGUgPSBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlOwogCWludGVsX2VuY29kZXItPmdldF9j b25maWcgPSBpbnRlbF9kZGlfZ2V0X2NvbmZpZzsKIAlpbnRlbF9lbmNvZGVyLT5zdXNwZW5kID0g aW50ZWxfZHBfZW5jb2Rlcl9zdXNwZW5kOworCWludGVsX2VuY29kZXItPmdldF9wb3dlcl9kb21h aW5zID0gaW50ZWxfZGRpX2dldF9wb3dlcl9kb21haW5zOwogCiAJaW50ZWxfZGlnX3BvcnQtPnBv cnQgPSBwb3J0OwogCWludGVsX2RpZ19wb3J0LT5zYXZlZF9wb3J0X2JpdHMgPSBJOTE1X1JFQUQo RERJX0JVRl9DVEwocG9ydCkpICYKIAkJCQkJICAoRERJX0JVRl9QT1JUX1JFVkVSU0FMIHwKIAkJ CQkJICAgRERJX0FfNF9MQU5FUyk7CiAKKwlzd2l0Y2ggKHBvcnQpIHsKKwljYXNlIFBPUlRfQToK KwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQorCQkJUE9XRVJfRE9NQUlO X1BPUlRfRERJX0FfSU87CisJCWJyZWFrOworCWNhc2UgUE9SVF9COgorCQlpbnRlbF9kaWdfcG9y dC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbiA9CisJCQlQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTzsK KwkJYnJlYWs7CisJY2FzZSBQT1JUX0M6CisJCWludGVsX2RpZ19wb3J0LT5kZGlfaW9fcG93ZXJf ZG9tYWluID0KKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0lPOworCQlicmVhazsKKwljYXNl IFBPUlRfRDoKKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQorCQkJUE9X RVJfRE9NQUlOX1BPUlRfRERJX0RfSU87CisJCWJyZWFrOworCWNhc2UgUE9SVF9FOgorCQlpbnRl bF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbiA9CisJCQlQT1dFUl9ET01BSU5fUE9SVF9E RElfRV9JTzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKHBvcnQpOworCX0K KwogCS8qCiAJICogQnNwZWMgc2F5cyB0aGF0IERESV9BXzRfTEFORVMgaXMgdGhlIG9ubHkgc3Vw cG9ydGVkIGNvbmZpZ3VyYXRpb24KIAkgKiBmb3IgQnJveHRvbi4gIFlldCBzb21lIEJJT1MgZmFp bCB0byBzZXQgdGhpcyBiaXQgb24gcG9ydCBBIGlmIGVEUApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCmluZGV4IDU4NWQxNDkuLjA5OTAxMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKQEAgLTE1NDg3LDYgKzE1NDg3LDE4IEBAIGludGVsX21vZGVzZXRfc2V0dXBf aHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAllbHNlIGlmIChIQVNfUENIX1NQTElU KGRldl9wcml2KSkKIAkJaWxrX3dtX2dldF9od19zdGF0ZShkZXYpOwogCisJZm9yX2VhY2hfaW50 ZWxfZW5jb2RlcihkZXYsIGVuY29kZXIpIHsKKwkJdW5zaWduZWQgbG9uZyBsb25nIGdldF9kb21h aW5zOworCQllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKKworCQlpZiAo IWVuY29kZXItPmdldF9wb3dlcl9kb21haW5zKQorCQkJY29udGludWU7CisKKwkJZ2V0X2RvbWFp bnMgPSBlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKKwkJZm9yX2VhY2hfcG93 ZXJfZG9tYWluKGRvbWFpbiwgZ2V0X2RvbWFpbnMpCisJCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dl dChkZXZfcHJpdiwgZG9tYWluKTsKKwl9CisKIAlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0 YykgewogCQl1NjQgcHV0X2RvbWFpbnM7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXgg Yzg4NzNjMC4uMDM0NDdmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTI0MSw2ICsy NDEsOCBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7CiAJICogYmUgc2V0IGNvcnJlY3RseSBiZWZv cmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLiAqLwogCXZvaWQgKCpnZXRfY29uZmlnKShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqLAogCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnKTsKKworCXVuc2lnbmVkIGxvbmcgbG9uZyAoKmdldF9wb3dlcl9kb21haW5zKShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7CiAJLyoKIAkgKiBDYWxsZWQgZHVyaW5nIHN5c3RlbSBz dXNwZW5kIGFmdGVyIGFsbCBwZW5kaW5nIHJlcXVlc3RzIGZvciB0aGUKIAkgKiBlbmNvZGVyIGFy ZSBmbHVzaGVkIChmb3IgZXhhbXBsZSBmb3IgRFAgQVVYIHRyYW5zYWN0aW9ucykgYW5kCkBAIC0x MDI2LDYgKzEwMjgsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKIAllbnVtIGlycXJl dHVybiAoKmhwZF9wdWxzZSkoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqLCBib29sKTsKIAli b29sIHJlbGVhc2VfY2wyX292ZXJyaWRlOwogCXVpbnQ4X3QgbWF4X2xhbmVzOworCWVudW0gaW50 ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZGRpX2lvX3Bvd2VyX2RvbWFpbjsKIH07CiAKIHN0cnVj dCBpbnRlbF9kcF9tc3RfZW5jb2RlciB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMKaW5kZXggNGQyZGMzMS4uNjc3ODJkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYwpAQCAtMTA2LDYgKzEwNiwxNiBAQCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbl9zdHIoZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW4pCiAJCXJldHVy biAiUE9SVF9ERElfRF9MQU5FUyI7CiAJY2FzZSBQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9MQU5F UzoKIAkJcmV0dXJuICJQT1JUX0RESV9FX0xBTkVTIjsKKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JU X0RESV9BX0lPOgorCQlyZXR1cm4gIlBPUlRfRERJX0FfSU8iOworCWNhc2UgUE9XRVJfRE9NQUlO X1BPUlRfRERJX0JfSU86CisJCXJldHVybiAiUE9SVF9ERElfQl9JTyI7CisJY2FzZSBQT1dFUl9E T01BSU5fUE9SVF9ERElfQ19JTzoKKwkJcmV0dXJuICJQT1JUX0RESV9DX0lPIjsKKwljYXNlIFBP V0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOgorCQlyZXR1cm4gIlBPUlRfRERJX0RfSU8iOworCWNh c2UgUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfSU86CisJCXJldHVybiAiUE9SVF9ERElfRV9JTyI7 CiAJY2FzZSBQT1dFUl9ET01BSU5fUE9SVF9EU0k6CiAJCXJldHVybiAiUE9SVF9EU0kiOwogCWNh c2UgUE9XRVJfRE9NQUlOX1BPUlRfQ1JUOgpAQCAtNDAyLDE4ICs0MTIsMTggQEAgc3RhdGljIHZv aWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVURJTykgfAkJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9WR0EpIHwJCQkJXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQotI2RlZmluZSBTS0xf RElTUExBWV9ERElfQV9FX1BPV0VSX0RPTUFJTlMgKAkJXAotCUJJVF9VTEwoUE9XRVJfRE9NQUlO X1BPUlRfRERJX0FfTEFORVMpIHwJCVwKLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9F X0xBTkVTKSB8CQlcCisjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19BX0VfUE9XRVJfRE9NQUlO UyAoCQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9JTykgfAkJXAorCUJJVF9V TEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfSU8pIHwJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9JTklUKSkKLSNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCi0J QklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9MQU5FUykgfAkJXAorI2RlZmluZSBTS0xf RElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TICgJCVwKKwlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9CX0lPKSB8CQlcCiAJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCi0jZGVm aW5lIFNLTF9ESVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMgKAkJXAotCUJJVF9VTEwoUE9XRVJf RE9NQUlOX1BPUlRfRERJX0NfTEFORVMpIHwJCVwKKyNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0lP X0NfUE9XRVJfRE9NQUlOUyAoCQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19J TykgfAkJXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQotI2RlZmluZSBTS0xfRElTUExB WV9ERElfRF9QT1dFUl9ET01BSU5TICgJCVwKLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RE SV9EX0xBTkVTKSB8CQlcCisjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19EX1BPV0VSX0RPTUFJ TlMgKAkJXAorCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0RfSU8pIHwJCVwKIAlCSVRf VUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKICNkZWZpbmUgU0tMX0RJU1BMQVlfRENfT0ZGX1BPV0VS X0RPTUFJTlMgKAkJXAogCVNLTF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RPTUFJTlMgfAkJ XApAQCAtNDY4LDEyICs0NzgsMTIgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9B VURJTykgfAkJCVwKIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9WR0EpIHwJCQkJXAogCUJJVF9VTEwo UE9XRVJfRE9NQUlOX0lOSVQpKQotI2RlZmluZSBHTEtfRElTUExBWV9ERElfQV9QT1dFUl9ET01B SU5TICgJCVwKLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0xBTkVTKSkKLSNkZWZp bmUgR0xLX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCi0JQklUX1VMTChQT1dFUl9E T01BSU5fUE9SVF9ERElfQl9MQU5FUykpCi0jZGVmaW5lIEdMS19ESVNQTEFZX0RESV9DX1BPV0VS X0RPTUFJTlMgKAkJXAotCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfTEFORVMpKQor I2RlZmluZSBHTEtfRElTUExBWV9ERElfSU9fQV9QT1dFUl9ET01BSU5TICgJCVwKKwlCSVRfVUxM KFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPKSkKKyNkZWZpbmUgR0xLX0RJU1BMQVlfRERJX0lP X0JfUE9XRVJfRE9NQUlOUyAoCQlcCisJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9J TykpCisjZGVmaW5lIEdMS19ESVNQTEFZX0RESV9JT19DX1BPV0VSX0RPTUFJTlMgKAkJXAorCUJJ VF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU8pKQogI2RlZmluZSBHTEtfRFBJT19DTU5f QV9QT1dFUl9ET01BSU5TICgJCQlcCiAJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9M QU5FUykgfAkJXAogCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9BKSB8CQkJXApAQCAtMjE1NCwy NiArMjE2NCwyNiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBza2xfcG93ZXJfd2Vs bHNbXSA9IHsKIAkJLmlkID0gU0tMX0RJU1BfUFdfMiwKIAl9LAogCXsKLQkJLm5hbWUgPSAiRERJ IEEvRSBwb3dlciB3ZWxsIiwKLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfQV9FX1BPV0VS X0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBBL0UgSU8gcG93ZXIgd2VsbCIsCisJCS5kb21haW5z ID0gU0tMX0RJU1BMQVlfRERJX0lPX0FfRV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJnNrbF9w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0FfRSwKIAl9LAogCXsKLQkJ Lm5hbWUgPSAiRERJIEIgcG93ZXIgd2VsbCIsCi0JCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJ X0JfUE9XRVJfRE9NQUlOUywKKwkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCisJCS5k b21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZz a2xfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAogCX0sCiAJewot CQkubmFtZSA9ICJEREkgQyBwb3dlciB3ZWxsIiwKLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9E RElfQ19QT1dFUl9ET01BSU5TLAorCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKKwkJ LmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5TLAogCQkub3BzID0g JnNrbF9wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCiAJfSwKIAl7 Ci0JCS5uYW1lID0gIkRESSBEIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZ X0RESV9EX1BPV0VSX0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBEIElPIHBvd2VyIHdlbGwiLAor CQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9JT19EX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMg PSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfRCwKIAl9LApA QCAtMjMwNSwyMCArMjMxNSwyMCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBnbGtf cG93ZXJfd2VsbHNbXSA9IHsKIAkJLmlkID0gR0xLX0RJU1BfUFdfQVVYX0MsCiAJfSwKIAl7Ci0J CS5uYW1lID0gIkRESSBBIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RE SV9BX1BPV0VSX0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBBIElPIHBvd2VyIHdlbGwiLAorCQku ZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAm Z2xrX2RkaV9pb19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gR0xLX0RJU1BfUFdfRERJX0EsCiAJ fSwKIAl7Ci0JCS5uYW1lID0gIkRESSBCIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlucyA9IEdMS19E SVNQTEFZX0RESV9CX1BPV0VSX0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdl bGwiLAorCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19CX1BPV0VSX0RPTUFJTlMsCiAJ CS5vcHMgPSAmZ2xrX2RkaV9pb19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdf RERJX0IsCiAJfSwKIAl7Ci0JCS5uYW1lID0gIkRESSBDIHBvd2VyIHdlbGwiLAotCQkuZG9tYWlu cyA9IEdMS19ESVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMsCisJCS5uYW1lID0gIkRESSBDIElP IHBvd2VyIHdlbGwiLAorCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19DX1BPV0VSX0RP TUFJTlMsCiAJCS5vcHMgPSAmZ2xrX2RkaV9pb19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tM X0RJU1BfUFdfRERJX0MsCiAJfSwKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK