From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 6/6] drm/i915: Only enable DDI IO power domains after enabling DPLL Date: Fri, 24 Feb 2017 15:50:53 +0200 Message-ID: <20170224135053.GC22083@ideak-desk.fi.intel.com> References: <20170222063431.10060-1-ander.conselvan.de.oliveira@intel.com> <20170222063431.10060-7-ander.conselvan.de.oliveira@intel.com> Reply-To: imre.deak@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 EECA66EC38 for ; Fri, 24 Feb 2017 13:50:55 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170222063431.10060-7-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: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBGZWIgMjIsIDIwMTcgYXQgMDg6MzQ6MzFBTSArMDIwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IEFjY29yZGluZyB0byBic3BlYywgdGhlIERESSBJTyBwb3dl ciBkb21haW5zIHNob3VsZCBiZSBlbmFibGVkIGFmdGVyCj4gZW5hYmxpbmcgdGhlIERQTEwgYW5k IG1hcHBpbmcgaXQgdG8gdGhlIERESS4gVGhlIGN1cnJlbnQgb3JkZXIgZG9lc24ndAo+IHNlZW0g dG8gY3JlYXRlIHByb2JsZW1zIHdpdGggU2t5bGFrZSBhbmQgS2FieWxha2UsIGJ1dCBjYXVzZXMg ZW5hYmxlCj4gdGltZW91dHMgaW4gR2VtaW5pbGFrZS4KPiAKPiB2MjogUmViYXNlLgo+ICAgLSBU YWtlIHBvd2VyIGRvbWFpbiByZWZlcmVuY2VzIGJlZm9yZSBzYW5pdGl6aW5nIGVuY29kZXJzLiAo SW1yZSkKPiAgIC0gQWRkIGNvbW1lbnQgdG8gZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucygpIGRl Zml0aW9uLiAoQW5kZXIpCj4gCj4gdjM6IERvbid0IHB1dCB0aGUgZG9tYWluIGlmIGNhbGxlZCB3 aXRoIEhTVy9CRFcncyBhbmFsb2cgZW5jb2Rlci4gKENJKQo+IAo+IENjOiBEYXZpZCBXZWluZWhh bGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IEltcmUgRGVhayA8aW1y ZS5kZWFrQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xp dmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQt Ynk6IERhdmlkIFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4gIyB2 MQo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgNSAr KysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgNTAgKysrKysr KysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyAgICB8IDIwICsrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgICAgIHwgIDQgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5j IHwgNjggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIDUgZmlsZXMgY2hhbmdl ZCwgMTE4IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+IGluZGV4IGQyMzA2OWIuLmUzNDZiMmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiBAQCAtMzQzLDYgKzM0MywxMSBAQCBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9t YWluIHsKPiAgCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0xBTkVTLAo+ICAJUE9XRVJfRE9NQUlO X1BPUlRfRERJX0RfTEFORVMsCj4gIAlQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9MQU5FUywKPiAr CVBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPLAo+ICsJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0Jf SU8sCj4gKwlQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19JTywKPiArCVBPV0VSX0RPTUFJTl9QT1JU X0RESV9EX0lPLAo+ICsJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfSU8sCj4gIAlQT1dFUl9ET01B SU5fUE9SVF9EU0ksCj4gIAlQT1dFUl9ET01BSU5fUE9SVF9DUlQsCj4gIAlQT1dFUl9ET01BSU5f UE9SVF9PVEhFUiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IGluZGV4IGIwYzRkMjMuLmY1 MGI0ODUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+IEBAIC0xNDQwLDYgKzE0NDAs MTggQEAgYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiArc3RhdGljIHVuc2lnbmVkIGxvbmcg bG9uZwoKTml0cGljazogdTY0Cgo+ICtpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiArCWVudW0g cGlwZSBwaXBlOwo+ICsKPiArCWlmIChpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZw aXBlKSkKPiArCQlyZXR1cm4gQklUX1VMTChkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV9waXBl X2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2NydGMgKmNydGMgPSAmaW50ZWxfY3J0Yy0+YmFzZTsKPiBAQCAtMTY4Miw2ICsxNjk0LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KCZlbmNvZGVyLT5iYXNlKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9k ZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiAgCj4gIAlp bnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGxpbmtfcmF0ZSwgbGFuZV9jb3VudCwK PiAgCQkJCSBsaW5rX21zdCk7Cj4gQEAgLTE2ODksNiArMTcwMiw5IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJ CWludGVsX2VkcF9wYW5lbF9vbihpbnRlbF9kcCk7Cj4gIAo+ICAJaW50ZWxfZGRpX2Nsa19zZWxl Y3QoZW5jb2RlciwgcGxsKTsKPiArCj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJp diwgZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4pOwo+ICsKPiAgCWludGVsX3ByZXBhcmVf ZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gIAlpbnRlbF9kZGlfaW5pdF9kcF9idWZfcmVnKGVu Y29kZXIpOwo+ICAJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09O KTsKPiBAQCAtMTcwOCw5ICsxNzI0LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5h YmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmRybV9lbmNvZGVyID0gJmVuY29kZXItPmJhc2U7Cj4gIAllbnVtIHBvcnQgcG9ydCA9 IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICAJaW50IGxldmVsID0gaW50 ZWxfZGRpX2hkbWlfbGV2ZWwoZGV2X3ByaXYsIHBvcnQpOwo+ICsJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ICAK PiAgCWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgdHJ1ZSk7 Cj4gIAlpbnRlbF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBwbGwpOwo+ICsKPiArCWludGVsX2Rp c3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7 Cj4gKwo+ICAJaW50ZWxfcHJlcGFyZV9oZG1pX2RkaV9idWZmZXJzKGVuY29kZXIpOwo+ICAJaWYg KElTX0dFTjlfQkMoZGV2X3ByaXYpKQo+ICAJCXNrbF9kZGlfc2V0X2lib29zdChlbmNvZGVyLCBs ZXZlbCk7Cj4gQEAgLTE3NTQsNiArMTc3NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0 X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gIAlzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ZGV2KTsKPiAgCWVu dW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dChlbmNvZGVyKTsKPiAgCWludCB0eXBlID0gaW50ZWxfZW5jb2Rlci0+dHlwZTsKPiAgCXVpbnQz Ml90IHZhbDsKPiAgCWJvb2wgd2FpdCA9IGZhbHNlOwo+IEBAIC0xNzkzLDYgKzE4MTQsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpp bnRlbF9lbmNvZGVyLAo+ICAKPiAgCQlpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3RtZHNfb3V0cHV0 KGludGVsX2hkbWksIGZhbHNlKTsKPiAgCX0KPiArCj4gKwlpZiAoZGlnX3BvcnQpCj4gKwkJaW50 ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9t YWluKTsKClRoaXMgbWF0dGVycyBvbmx5IGZvciBHRU45X0JDIGJ1dCB0aGVyZSB0aGlzIGNvbWVz IGJlZm9yZSB0aGUgUExMIHRvCnBvcnQgbWFwcGluZyBpcyByZXNldCBhY2NvcmRpbmcgdG8gYnNw ZWMuCgo+ICB9Cj4gIAo+ICB2b2lkIGludGVsX2RkaV9mZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+IEBAIC0yMTkwLDEyICsyMjE0LDM4IEBAIHZv aWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVt IHBvcnQgcG9ydCkKPiAgCWludGVsX2VuY29kZXItPmdldF9od19zdGF0ZSA9IGludGVsX2RkaV9n ZXRfaHdfc3RhdGU7Cj4gIAlpbnRlbF9lbmNvZGVyLT5nZXRfY29uZmlnID0gaW50ZWxfZGRpX2dl dF9jb25maWc7Cj4gIAlpbnRlbF9lbmNvZGVyLT5zdXNwZW5kID0gaW50ZWxfZHBfZW5jb2Rlcl9z dXNwZW5kOwo+ICsJaW50ZWxfZW5jb2Rlci0+Z2V0X3Bvd2VyX2RvbWFpbnMgPSBpbnRlbF9kZGlf Z2V0X3Bvd2VyX2RvbWFpbnM7Cj4gIAo+ICAJaW50ZWxfZGlnX3BvcnQtPnBvcnQgPSBwb3J0Owo+ ICAJaW50ZWxfZGlnX3BvcnQtPnNhdmVkX3BvcnRfYml0cyA9IEk5MTVfUkVBRChERElfQlVGX0NU TChwb3J0KSkgJgo+ICAJCQkJCSAgKERESV9CVUZfUE9SVF9SRVZFUlNBTCB8Cj4gIAkJCQkJICAg RERJX0FfNF9MQU5FUyk7Cj4gIAo+ICsJc3dpdGNoIChwb3J0KSB7Cj4gKwljYXNlIFBPUlRfQToK PiArCQlpbnRlbF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbiA9Cj4gKwkJCVBPV0VSX0RP TUFJTl9QT1JUX0RESV9BX0lPOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBQT1JUX0I6Cj4gKwkJaW50 ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQo+ICsJCQlQT1dFUl9ET01BSU5fUE9S VF9ERElfQl9JTzsKPiArCQlicmVhazsKPiArCWNhc2UgUE9SVF9DOgo+ICsJCWludGVsX2RpZ19w b3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluID0KPiArCQkJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0Nf SU87Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIFBPUlRfRDoKPiArCQlpbnRlbF9kaWdfcG9ydC0+ZGRp X2lvX3Bvd2VyX2RvbWFpbiA9Cj4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOwo+ICsJ CWJyZWFrOwo+ICsJY2FzZSBQT1JUX0U6Cj4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ICsJCQlQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9JTzsKPiArCQlicmVhazsK PiArCWRlZmF1bHQ6Cj4gKwkJTUlTU0lOR19DQVNFKHBvcnQpOwo+ICsJfQo+ICsKPiAgCS8qCj4g IAkgKiBCc3BlYyBzYXlzIHRoYXQgRERJX0FfNF9MQU5FUyBpcyB0aGUgb25seSBzdXBwb3J0ZWQg Y29uZmlndXJhdGlvbgo+ICAJICogZm9yIEJyb3h0b24uICBZZXQgc29tZSBCSU9TIGZhaWwgdG8g c2V0IHRoaXMgYml0IG9uIHBvcnQgQSBpZiBlRFAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gaW5kZXggMWZmZWM4Zi4uOTU3YzYyZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPiBAQCAtMTU0MDcsNiArMTU0MDcsMjQgQEAgc3RhdGljIHZvaWQgaW50 ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAl9 Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkCj4gK2dldF9lbmNvZGVyX3Bvd2VyX2RvbWFpbnMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcjsKPiArCj4gKwlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKCZkZXZfcHJpdi0+ ZHJtLCBlbmNvZGVyKSB7Cj4gKwkJdTY0IGdldF9kb21haW5zOwo+ICsJCWVudW0gaW50ZWxfZGlz cGxheV9wb3dlcl9kb21haW4gZG9tYWluOwo+ICsKPiArCQlpZiAoIWVuY29kZXItPmdldF9wb3dl cl9kb21haW5zKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZ2V0X2RvbWFpbnMgPSBlbmNvZGVy LT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKPiArCQlmb3JfZWFjaF9wb3dlcl9kb21haW4o ZG9tYWluLCBnZXRfZG9tYWlucykKPiArCQkJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3By aXYsIGRvbWFpbik7Cj4gKwl9Cj4gK30KPiArCj4gIC8qIFNjYW4gb3V0IHRoZSBjdXJyZW50IGh3 IG1vZGVzZXQgc3RhdGUsCj4gICAqIGFuZCBzYW5pdGl6ZXMgaXQgdG8gdGhlIGN1cnJlbnQgc3Rh dGUKPiAgICovCj4gQEAgLTE1NDIyLDYgKzE1NDQwLDggQEAgaW50ZWxfbW9kZXNldF9zZXR1cF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJaW50ZWxfbW9kZXNldF9yZWFkb3V0 X2h3X3N0YXRlKGRldik7Cj4gIAo+ICAJLyogSFcgc3RhdGUgaXMgcmVhZCBvdXQsIG5vdyB3ZSBu ZWVkIHRvIHNhbml0aXplIHRoaXMgbWVzcy4gKi8KPiArCWdldF9lbmNvZGVyX3Bvd2VyX2RvbWFp bnMoZGV2X3ByaXYpOwo+ICsKPiAgCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVy KSB7Cj4gIAkJaW50ZWxfc2FuaXRpemVfZW5jb2RlcihlbmNvZGVyKTsKPiAgCX0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDIwMTE2NTEuLjBlZGM0OTkgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0yNDEsNiArMjQxLDkgQEAgc3RydWN0IGludGVsX2VuY29k ZXIgewo+ICAJICogYmUgc2V0IGNvcnJlY3RseSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9u LiAqLwo+ICAJdm9pZCAoKmdldF9jb25maWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICosCj4gIAkJ CSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7Cj4gKwkvKiBSZXR1cm5z IGEgbWFzayBvZiBwb3dlciBkb21haW5zIHRoYXQgbmVlZCB0byBiZSByZWZlcmVuY2VkIGFzIHBh cnQKPiArCSAqIG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSByZWFkb3V0IGNvZGUuICovCj4gKwl1NjQg KCpnZXRfcG93ZXJfZG9tYWlucykoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICAJ LyoKPiAgCSAqIENhbGxlZCBkdXJpbmcgc3lzdGVtIHN1c3BlbmQgYWZ0ZXIgYWxsIHBlbmRpbmcg cmVxdWVzdHMgZm9yIHRoZQo+ICAJICogZW5jb2RlciBhcmUgZmx1c2hlZCAoZm9yIGV4YW1wbGUg Zm9yIERQIEFVWCB0cmFuc2FjdGlvbnMpIGFuZAo+IEBAIC0xMDI3LDYgKzEwMzAsNyBAQCBzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKPiAgCWVudW0gaXJxcmV0dXJuICgqaHBkX3B1bHNlKShz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICosIGJvb2wpOwo+ICAJYm9vbCByZWxlYXNlX2NsMl9v dmVycmlkZTsKPiAgCXVpbnQ4X3QgbWF4X2xhbmVzOwo+ICsJZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJfZG9tYWluOwo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVs X2RwX21zdF9lbmNvZGVyIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5j Cj4gaW5kZXggNTE0ZWY1Ni4uMDEyYmMzNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiBAQCAtOTMsNiArOTMsMTYgQEAgaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW5fc3RyKGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluKQo+ICAJCXJl dHVybiAiUE9SVF9ERElfRF9MQU5FUyI7Cj4gIAljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9F X0xBTkVTOgo+ICAJCXJldHVybiAiUE9SVF9ERElfRV9MQU5FUyI7Cj4gKwljYXNlIFBPV0VSX0RP TUFJTl9QT1JUX0RESV9BX0lPOgo+ICsJCXJldHVybiAiUE9SVF9ERElfQV9JTyI7Cj4gKwljYXNl IFBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0lPOgo+ICsJCXJldHVybiAiUE9SVF9ERElfQl9JTyI7 Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0lPOgo+ICsJCXJldHVybiAiUE9SVF9E RElfQ19JTyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOgo+ICsJCXJldHVy biAiUE9SVF9ERElfRF9JTyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0lPOgo+ ICsJCXJldHVybiAiUE9SVF9ERElfRV9JTyI7Cj4gIAljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RT SToKPiAgCQlyZXR1cm4gIlBPUlRfRFNJIjsKPiAgCWNhc2UgUE9XRVJfRE9NQUlOX1BPUlRfQ1JU Ogo+IEBAIC0zODUsMTggKzM5NSwxOCBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X3Bvd2VyX3dlbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJQklUX1VMTChQT1dFUl9ET01B SU5fQVVESU8pIHwJCQlcCj4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9WR0EpIHwJCQkJXAo+ICAJ QklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gLSNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0Ff RV9QT1dFUl9ET01BSU5TICgJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0Ff TEFORVMpIHwJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfTEFORVMpIHwJ CVwKPiArI2RlZmluZSBTS0xfRElTUExBWV9ERElfSU9fQV9FX1BPV0VSX0RPTUFJTlMgKAkJXAo+ ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9JTykgfAkJXAo+ICsJQklUX1VMTChQ T1dFUl9ET01BSU5fUE9SVF9ERElfRV9JTykgfAkJXAo+ICAJQklUX1VMTChQT1dFUl9ET01BSU5f SU5JVCkpCgpJIGd1ZXNzIHRoZXNlIHBvd2VyIHdlbGxzIGNhbiBiZSBkZXRhY2hlZCBmcm9tIHRo ZSBJTklUIHBvd2VyIGRvbWFpbgpvbiBTS0wgYXMgd2VsbC4gQnV0IGl0J3MgYSBmb2xsb3ctdXAg c3R1ZmYgaW4gYW55IGNhc2UuCgpXaXRoIHRoZSBkb21haW4tcHV0IG1vdmVkIGVhcmxpZXIgaW4g aW50ZWxfZGRpX3Bvc3RfZGlzYWJsZSgpOgpSZXZpZXdlZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgoKPiAtI2RlZmluZSBTS0xfRElTUExBWV9ERElfQl9QT1dFUl9ET01BSU5T ICgJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0JfTEFORVMpIHwJCVwKPiAr I2RlZmluZSBTS0xfRElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TICgJCVwKPiArCUJJVF9V TEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0JfSU8pIHwJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9N QUlOX0lOSVQpKQo+IC0jZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMgKAkJ XAo+IC0JQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQ19MQU5FUykgfAkJXAo+ICsjZGVm aW5lIFNLTF9ESVNQTEFZX0RESV9JT19DX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJQklUX1VMTChQ T1dFUl9ET01BSU5fUE9SVF9ERElfQ19JTykgfAkJXAo+ICAJQklUX1VMTChQT1dFUl9ET01BSU5f SU5JVCkpCj4gLSNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0RfUE9XRVJfRE9NQUlOUyAoCQlcCj4g LQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0xBTkVTKSB8CQlcCj4gKyNkZWZpbmUg U0tMX0RJU1BMQVlfRERJX0lPX0RfUE9XRVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VS X0RPTUFJTl9QT1JUX0RESV9EX0lPKSB8CQlcCj4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklU KSkKPiAgI2RlZmluZSBTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJfRE9NQUlOUyAoCQlcCj4gIAlT S0xfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKPiBAQCAtNDUxLDEyICs0 NjEsMTIgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVRElPKSB8CQkJXAo+ ICAJQklUX1VMTChQT1dFUl9ET01BSU5fVkdBKSB8CQkJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9N QUlOX0lOSVQpKQo+IC0jZGVmaW5lIEdMS19ESVNQTEFZX0RESV9BX1BPV0VSX0RPTUFJTlMgKAkJ XAo+IC0JQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9MQU5FUykpCj4gLSNkZWZpbmUg R0xLX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCj4gLQlCSVRfVUxMKFBPV0VSX0RP TUFJTl9QT1JUX0RESV9CX0xBTkVTKSkKPiAtI2RlZmluZSBHTEtfRElTUExBWV9ERElfQ19QT1dF Ul9ET01BSU5TICgJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfTEFORVMp KQo+ICsjZGVmaW5lIEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJ QklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9JTykpCj4gKyNkZWZpbmUgR0xLX0RJU1BM QVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9Q T1JUX0RESV9CX0lPKSkKPiArI2RlZmluZSBHTEtfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01B SU5TICgJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU8pKQo+ICAjZGVm aW5lIEdMS19EUElPX0NNTl9BX1BPV0VSX0RPTUFJTlMgKAkJCVwKPiAgCUJJVF9VTEwoUE9XRVJf RE9NQUlOX1BPUlRfRERJX0FfTEFORVMpIHwJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FV WF9BKSB8CQkJXAo+IEBAIC0yMTE0LDI2ICsyMTI0LDI2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsIHNrbF9wb3dlcl93ZWxsc1tdID0gewo+ICAJCS5pZCA9IFNLTF9ESVNQX1BXXzIs Cj4gIAl9LAo+ICAJewo+IC0JCS5uYW1lID0gIkRESSBBL0UgcG93ZXIgd2VsbCIsCj4gLQkJLmRv bWFpbnMgPSBTS0xfRElTUExBWV9ERElfQV9FX1BPV0VSX0RPTUFJTlMsCj4gKwkJLm5hbWUgPSAi RERJIEEvRSBJTyBwb3dlciB3ZWxsIiwKPiArCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9J T19BX0VfUE9XRVJfRE9NQUlOUywKPiAgCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAg CQkuaWQgPSBTS0xfRElTUF9QV19ERElfQV9FLAo+ICAJfSwKPiAgCXsKPiAtCQkubmFtZSA9ICJE REkgQiBwb3dlciB3ZWxsIiwKPiAtCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9CX1BPV0VS X0RPTUFJTlMsCj4gKwkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCj4gKwkJLmRvbWFp bnMgPSBTS0xfRElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TLAo+ICAJCS5vcHMgPSAmc2ts X3Bvd2VyX3dlbGxfb3BzLAo+ICAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAo+ICAJfSwKPiAg CXsKPiAtCQkubmFtZSA9ICJEREkgQyBwb3dlciB3ZWxsIiwKPiAtCQkuZG9tYWlucyA9IFNLTF9E SVNQTEFZX0RESV9DX1BPV0VSX0RPTUFJTlMsCj4gKwkJLm5hbWUgPSAiRERJIEMgSU8gcG93ZXIg d2VsbCIsCj4gKwkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5T LAo+ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICAJCS5pZCA9IFNLTF9ESVNQX1BX X0RESV9DLAo+ICAJfSwKPiAgCXsKPiAtCQkubmFtZSA9ICJEREkgRCBwb3dlciB3ZWxsIiwKPiAt CQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9EX1BPV0VSX0RPTUFJTlMsCj4gKwkJLm5hbWUg PSAiRERJIEQgSU8gcG93ZXIgd2VsbCIsCj4gKwkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElf SU9fRF9QT1dFUl9ET01BSU5TLAo+ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICAJ CS5pZCA9IFNLTF9ESVNQX1BXX0RESV9ELAo+ICAJfSwKPiBAQCAtMjI0NiwyMCArMjI1NiwyMCBA QCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBnbGtfcG93ZXJfd2VsbHNbXSA9IHsKPiAg CQkuaWQgPSBHTEtfRElTUF9QV19BVVhfQywKPiAgCX0sCj4gIAl7Cj4gLQkJLm5hbWUgPSAiRERJ IEEgcG93ZXIgd2VsbCIsCj4gLQkJLmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfQV9QT1dFUl9E T01BSU5TLAo+ICsJCS5uYW1lID0gIkRESSBBIElPIHBvd2VyIHdlbGwiLAo+ICsJCS5kb21haW5z ID0gR0xLX0RJU1BMQVlfRERJX0lPX0FfUE9XRVJfRE9NQUlOUywKPiAgCQkub3BzID0gJnNrbF9w b3dlcl93ZWxsX29wcywKPiAgCQkuaWQgPSBHTEtfRElTUF9QV19ERElfQSwKPiAgCX0sCj4gIAl7 Cj4gLQkJLm5hbWUgPSAiRERJIEIgcG93ZXIgd2VsbCIsCj4gLQkJLmRvbWFpbnMgPSBHTEtfRElT UExBWV9ERElfQl9QT1dFUl9ET01BSU5TLAo+ICsJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdl bGwiLAo+ICsJCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywK PiAgCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAgCQkuaWQgPSBTS0xfRElTUF9QV19E RElfQiwKPiAgCX0sCj4gIAl7Cj4gLQkJLm5hbWUgPSAiRERJIEMgcG93ZXIgd2VsbCIsCj4gLQkJ LmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfQ19QT1dFUl9ET01BSU5TLAo+ICsJCS5uYW1lID0g IkRESSBDIElPIHBvd2VyIHdlbGwiLAo+ICsJCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0lP X0NfUE9XRVJfRE9NQUlOUywKPiAgCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAgCQku aWQgPSBTS0xfRElTUF9QV19ERElfQywKPiAgCX0sCj4gLS0gCj4gMi45LjMKPiAKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==