From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Only enable DDI IO power domains after enabling DPLL Date: Mon, 27 Feb 2017 22:38:47 +0200 Message-ID: <20170227203847.GI31595@intel.com> References: <20170224135053.GC22083@ideak-desk.fi.intel.com> <20170224141959.5955-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id D32846E587 for ; Mon, 27 Feb 2017 20:38:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170224141959.5955-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: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMjQsIDIwMTcgYXQgMDQ6MTk6NTlQTSArMDIwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IEFjY29yZGluZyB0byBic3BlYywgdGhlIERESSBJTyBwb3dl ciBkb21haW5zIHNob3VsZCBiZSBlbmFibGVkIGFmdGVyCj4gZW5hYmxpbmcgdGhlIERQTEwgYW5k IG1hcHBpbmcgaXQgdG8gdGhlIERESS4gVGhlIGN1cnJlbnQgb3JkZXIgZG9lc24ndAo+IHNlZW0g dG8gY3JlYXRlIHByb2JsZW1zIHdpdGggU2t5bGFrZSBhbmQgS2FieWxha2UsIGJ1dCBjYXVzZXMg ZW5hYmxlCj4gdGltZW91dHMgaW4gR2VtaW5pbGFrZS4KClRoaXMgb25lIHNlZW1zIHRvIGtpbGwg U0tMK01TVC4KCkp1c3QgbG9hZCB0aGUgZHJpdmVyIHdpdGggYW4gTVNUIGRpc3BsYXkgcGx1Z2dl ZCBpbiBhbmQgd2UgZ2V0OgpbICAgNzkuMzg5NTI3XSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2lu ZzogVGltZW91dDogTm90IGFsbCBDUFVzIGVudGVyZWQgYnJvYWRjYXN0IGV4Y2VwdGlvbiBoYW5k bGVyCgpTbyBwcmVzdW1hYmx5IHdlJ3JlIHRyeWluZyB0byBhY2Nlc3Mgc29tZXRoaW5nIHRoYXQn cyBub3QgcG93ZXJlZC9jbG9ja2VkCmFuZCB0aGUgQ1BVIGp1c3QgZ2V0cyB0b3RhbGx5IHN0dWNr LgoKPiAKPiB2MjogUmViYXNlLgo+ICAgLSBUYWtlIHBvd2VyIGRvbWFpbiByZWZlcmVuY2VzIGJl Zm9yZSBzYW5pdGl6aW5nIGVuY29kZXJzLiAoSW1yZSkKPiAgIC0gQWRkIGNvbW1lbnQgdG8gZ2V0 X2VuY29kZXJfcG93ZXJfZG9tYWlucygpIGRlZml0aW9uLiAoQW5kZXIpCj4gCj4gdjM6IERvbid0 IHB1dCB0aGUgZG9tYWluIGlmIGNhbGxlZCB3aXRoIEhTVy9CRFcncyBhbmFsb2cgZW5jb2Rlci4g KENJKQo+IAo+IHY0OiBQdXQgSU8gcG93ZXIgZG9tYWluIGJlZm9yZSB1bm1hcHBpbmcgRFBMTC4g KEltcmUpCj4gICAtIENoYW5nZSByZXR1cm4gdHlwZSBvZiBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2Rv bWFpbnMoKSB0byB1NjQuIChJbXJlKQo+IAo+IENjOiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndl aW5laGFsbEBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVy LmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IERhdmlkIFdl aW5laGFsbCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4gIyB2MQo+IFJldmlld2Vk LWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA1ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyAgICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysKPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgMjAgKysrKysrKysrKwo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgNCArKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCA2OCArKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwg MjkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggNDY3Mzkx Mi4uNWEwMzJiYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0zNDQsNiArMzQ0 LDExIEBAIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gewo+ICAJUE9XRVJfRE9NQUlO X1BPUlRfRERJX0NfTEFORVMsCj4gIAlQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9MQU5FUywKPiAg CVBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0xBTkVTLAo+ICsJUE9XRVJfRE9NQUlOX1BPUlRfRERJ X0FfSU8sCj4gKwlQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTywKPiArCVBPV0VSX0RPTUFJTl9Q T1JUX0RESV9DX0lPLAo+ICsJUE9XRVJfRE9NQUlOX1BPUlRfRERJX0RfSU8sCj4gKwlQT1dFUl9E T01BSU5fUE9SVF9ERElfRV9JTywKPiAgCVBPV0VSX0RPTUFJTl9QT1JUX0RTSSwKPiAgCVBPV0VS X0RPTUFJTl9QT1JUX0NSVCwKPiAgCVBPV0VSX0RPTUFJTl9QT1JUX09USEVSLAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCj4gaW5kZXggYjBjNGQyMy4uZTkwMTNmMSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCj4gQEAgLTE0NDAsNiArMTQ0MCwxNyBAQCBib29sIGludGVsX2RkaV9n ZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1cm4gcmV0 Owo+ICB9Cj4gIAo+ICtzdGF0aWMgdTY0IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWlucyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiArewo+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ICsJZW51 bSBwaXBlIHBpcGU7Cj4gKwo+ICsJaWYgKGludGVsX2RkaV9nZXRfaHdfc3RhdGUoZW5jb2Rlciwg JnBpcGUpKQo+ICsJCXJldHVybiBCSVRfVUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWlu KTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3Bp cGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCj4gIHsKPiAgCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNlOwo+IEBAIC0xNjgyLDYgKzE2OTMsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoJmVuY29kZXItPmJhc2UpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVs X2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ICAKPiAg CWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgbGlua19yYXRlLCBsYW5lX2NvdW50 LAo+ICAJCQkJIGxpbmtfbXN0KTsKPiBAQCAtMTY4OSw2ICsxNzAxLDkgQEAgc3RhdGljIHZvaWQg aW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g IAkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2RwKTsKPiAgCj4gIAlpbnRlbF9kZGlfY2xrX3Nl bGVjdChlbmNvZGVyLCBwbGwpOwo+ICsKPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9w cml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gKwo+ICAJaW50ZWxfcHJlcGFy ZV9kcF9kZGlfYnVmZmVycyhlbmNvZGVyKTsKPiAgCWludGVsX2RkaV9pbml0X2RwX2J1Zl9yZWco ZW5jb2Rlcik7Cj4gIAlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERSTV9NT0RFX0RQTVNf T04pOwo+IEBAIC0xNzA4LDkgKzE3MjMsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9l bmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBkcm1f ZW5jb2RlciAqZHJtX2VuY29kZXIgPSAmZW5jb2Rlci0+YmFzZTsKPiAgCWVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gIAlpbnQgbGV2ZWwgPSBp bnRlbF9kZGlfaGRtaV9sZXZlbChkZXZfcHJpdiwgcG9ydCk7Cj4gKwlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7Cj4g IAo+ICAJaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCB0cnVl KTsKPiAgCWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7Cj4gKwo+ICsJaW50ZWxf ZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWlu KTsKPiArCj4gIAlpbnRlbF9wcmVwYXJlX2hkbWlfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gIAlp ZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpCj4gIAkJc2tsX2RkaV9zZXRfaWJvb3N0KGVuY29kZXIs IGxldmVsKTsKPiBAQCAtMTc1NCw2ICsxNzczLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bv c3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCXN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5iYXNlOwo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwo+ICAJ ZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVy KTsKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19w b3J0KGVuY29kZXIpOwo+ICAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+ICAJdWlu dDMyX3QgdmFsOwo+ICAJYm9vbCB3YWl0ID0gZmFsc2U7Cj4gQEAgLTE3ODIsNiArMTgwMiw5IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCj4gIAkJaW50ZWxfZWRwX3BhbmVsX29mZihpbnRlbF9kcCk7Cj4gIAl9 Cj4gIAo+ICsJaWYgKGRpZ19wb3J0KQo+ICsJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9w cml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gKwo+ICAJaWYgKElTX0dFTjlf QkMoZGV2X3ByaXYpKQo+ICAJCUk5MTVfV1JJVEUoRFBMTF9DVFJMMiwgKEk5MTVfUkVBRChEUExM X0NUUkwyKSB8Cj4gIAkJCQkJRFBMTF9DVFJMMl9ERElfQ0xLX09GRihwb3J0KSkpOwo+IEBAIC0y MTkwLDEyICsyMjEzLDM4IEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiAgCWludGVsX2VuY29kZXItPmdldF9o d19zdGF0ZSA9IGludGVsX2RkaV9nZXRfaHdfc3RhdGU7Cj4gIAlpbnRlbF9lbmNvZGVyLT5nZXRf Y29uZmlnID0gaW50ZWxfZGRpX2dldF9jb25maWc7Cj4gIAlpbnRlbF9lbmNvZGVyLT5zdXNwZW5k ID0gaW50ZWxfZHBfZW5jb2Rlcl9zdXNwZW5kOwo+ICsJaW50ZWxfZW5jb2Rlci0+Z2V0X3Bvd2Vy X2RvbWFpbnMgPSBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnM7Cj4gIAo+ICAJaW50ZWxfZGln X3BvcnQtPnBvcnQgPSBwb3J0Owo+ICAJaW50ZWxfZGlnX3BvcnQtPnNhdmVkX3BvcnRfYml0cyA9 IEk5MTVfUkVBRChERElfQlVGX0NUTChwb3J0KSkgJgo+ICAJCQkJCSAgKERESV9CVUZfUE9SVF9S RVZFUlNBTCB8Cj4gIAkJCQkJICAgRERJX0FfNF9MQU5FUyk7Cj4gIAo+ICsJc3dpdGNoIChwb3J0 KSB7Cj4gKwljYXNlIFBPUlRfQToKPiArCQlpbnRlbF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2Rv bWFpbiA9Cj4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPOwo+ICsJCWJyZWFrOwo+ICsJ Y2FzZSBQT1JUX0I6Cj4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQo+ ICsJCQlQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTzsKPiArCQlicmVhazsKPiArCWNhc2UgUE9S VF9DOgo+ICsJCWludGVsX2RpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluID0KPiArCQkJUE9X RVJfRE9NQUlOX1BPUlRfRERJX0NfSU87Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIFBPUlRfRDoKPiAr CQlpbnRlbF9kaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbiA9Cj4gKwkJCVBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9EX0lPOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBQT1JUX0U6Cj4gKwkJaW50ZWxf ZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21haW4gPQo+ICsJCQlQT1dFUl9ET01BSU5fUE9SVF9E RElfRV9JTzsKPiArCQlicmVhazsKPiArCWRlZmF1bHQ6Cj4gKwkJTUlTU0lOR19DQVNFKHBvcnQp Owo+ICsJfQo+ICsKPiAgCS8qCj4gIAkgKiBCc3BlYyBzYXlzIHRoYXQgRERJX0FfNF9MQU5FUyBp cyB0aGUgb25seSBzdXBwb3J0ZWQgY29uZmlndXJhdGlvbgo+ICAJICogZm9yIEJyb3h0b24uICBZ ZXQgc29tZSBCSU9TIGZhaWwgdG8gc2V0IHRoaXMgYml0IG9uIHBvcnQgQSBpZiBlRFAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggMDEwMDg2Yy4uNzY3M2Q1ZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTU0MTMsNiArMTU0MTMs MjQgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkCj4gK2dldF9lbmNv ZGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiArCj4gKwlmb3JfZWFjaF9pbnRl bF9lbmNvZGVyKCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVyKSB7Cj4gKwkJdTY0IGdldF9kb21haW5z Owo+ICsJCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluOwo+ICsKPiArCQlp ZiAoIWVuY29kZXItPmdldF9wb3dlcl9kb21haW5zKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJ Z2V0X2RvbWFpbnMgPSBlbmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKPiArCQlm b3JfZWFjaF9wb3dlcl9kb21haW4oZG9tYWluLCBnZXRfZG9tYWlucykKPiArCQkJaW50ZWxfZGlz cGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIGRvbWFpbik7Cj4gKwl9Cj4gK30KPiArCj4gIC8qIFNj YW4gb3V0IHRoZSBjdXJyZW50IGh3IG1vZGVzZXQgc3RhdGUsCj4gICAqIGFuZCBzYW5pdGl6ZXMg aXQgdG8gdGhlIGN1cnJlbnQgc3RhdGUKPiAgICovCj4gQEAgLTE1NDI4LDYgKzE1NDQ2LDggQEAg aW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJ aW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKGRldik7Cj4gIAo+ICAJLyogSFcgc3RhdGUg aXMgcmVhZCBvdXQsIG5vdyB3ZSBuZWVkIHRvIHNhbml0aXplIHRoaXMgbWVzcy4gKi8KPiArCWdl dF9lbmNvZGVyX3Bvd2VyX2RvbWFpbnMoZGV2X3ByaXYpOwo+ICsKPiAgCWZvcl9lYWNoX2ludGVs X2VuY29kZXIoZGV2LCBlbmNvZGVyKSB7Cj4gIAkJaW50ZWxfc2FuaXRpemVfZW5jb2RlcihlbmNv ZGVyKTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDk3NjIxYTEuLjA0 MjVkYmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0yNDEsNiArMjQxLDkg QEAgc3RydWN0IGludGVsX2VuY29kZXIgewo+ICAJICogYmUgc2V0IGNvcnJlY3RseSBiZWZvcmUg Y2FsbGluZyB0aGlzIGZ1bmN0aW9uLiAqLwo+ICAJdm9pZCAoKmdldF9jb25maWcpKHN0cnVjdCBp bnRlbF9lbmNvZGVyICosCj4gIAkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2Nv bmZpZyk7Cj4gKwkvKiBSZXR1cm5zIGEgbWFzayBvZiBwb3dlciBkb21haW5zIHRoYXQgbmVlZCB0 byBiZSByZWZlcmVuY2VkIGFzIHBhcnQKPiArCSAqIG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSByZWFk b3V0IGNvZGUuICovCj4gKwl1NjQgKCpnZXRfcG93ZXJfZG9tYWlucykoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpOwo+ICAJLyoKPiAgCSAqIENhbGxlZCBkdXJpbmcgc3lzdGVtIHN1c3Bl bmQgYWZ0ZXIgYWxsIHBlbmRpbmcgcmVxdWVzdHMgZm9yIHRoZQo+ICAJICogZW5jb2RlciBhcmUg Zmx1c2hlZCAoZm9yIGV4YW1wbGUgZm9yIERQIEFVWCB0cmFuc2FjdGlvbnMpIGFuZAo+IEBAIC0x MDI3LDYgKzEwMzAsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKPiAgCWVudW0gaXJx cmV0dXJuICgqaHBkX3B1bHNlKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICosIGJvb2wpOwo+ ICAJYm9vbCByZWxlYXNlX2NsMl9vdmVycmlkZTsKPiAgCXVpbnQ4X3QgbWF4X2xhbmVzOwo+ICsJ ZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJfZG9tYWluOwo+ICB9 Owo+ICAKPiAgc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyIHsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggNTE0ZWY1Ni4uMDEyYmMzNSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBAQCAtOTMsNiArOTMsMTYgQEAg aW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW5fc3RyKGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4gZG9tYWluKQo+ICAJCXJldHVybiAiUE9SVF9ERElfRF9MQU5FUyI7Cj4gIAljYXNlIFBP V0VSX0RPTUFJTl9QT1JUX0RESV9FX0xBTkVTOgo+ICAJCXJldHVybiAiUE9SVF9ERElfRV9MQU5F UyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPOgo+ICsJCXJldHVybiAiUE9S VF9ERElfQV9JTyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0lPOgo+ICsJCXJl dHVybiAiUE9SVF9ERElfQl9JTyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0lP Ogo+ICsJCXJldHVybiAiUE9SVF9ERElfQ19JTyI7Cj4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JU X0RESV9EX0lPOgo+ICsJCXJldHVybiAiUE9SVF9ERElfRF9JTyI7Cj4gKwljYXNlIFBPV0VSX0RP TUFJTl9QT1JUX0RESV9FX0lPOgo+ICsJCXJldHVybiAiUE9SVF9ERElfRV9JTyI7Cj4gIAljYXNl IFBPV0VSX0RPTUFJTl9QT1JUX0RTSToKPiAgCQlyZXR1cm4gIlBPUlRfRFNJIjsKPiAgCWNhc2Ug UE9XRVJfRE9NQUlOX1BPUlRfQ1JUOgo+IEBAIC0zODUsMTggKzM5NSwxOCBAQCBzdGF0aWMgdm9p ZCBoc3dfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJQklUX1VMTChQT1dFUl9ET01BSU5fQVVESU8pIHwJCQlcCj4gIAlCSVRfVUxMKFBPV0VSX0RP TUFJTl9WR0EpIHwJCQkJXAo+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gLSNkZWZp bmUgU0tMX0RJU1BMQVlfRERJX0FfRV9QT1dFUl9ET01BSU5TICgJCVwKPiAtCUJJVF9VTEwoUE9X RVJfRE9NQUlOX1BPUlRfRERJX0FfTEFORVMpIHwJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlO X1BPUlRfRERJX0VfTEFORVMpIHwJCVwKPiArI2RlZmluZSBTS0xfRElTUExBWV9ERElfSU9fQV9F X1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9J TykgfAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9JTykgfAkJXAo+ICAJ QklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gLSNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0Jf UE9XRVJfRE9NQUlOUyAoCQlcCj4gLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0xB TkVTKSB8CQlcCj4gKyNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUyAo CQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0lPKSB8CQlcCj4gIAlCSVRf VUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiAtI2RlZmluZSBTS0xfRElTUExBWV9ERElfQ19QT1dF Ul9ET01BSU5TICgJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfTEFORVMp IHwJCVwKPiArI2RlZmluZSBTS0xfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5TICgJCVwK PiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU8pIHwJCVwKPiAgCUJJVF9VTEwo UE9XRVJfRE9NQUlOX0lOSVQpKQo+IC0jZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9EX1BPV0VSX0RP TUFJTlMgKAkJXAo+IC0JQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9MQU5FUykgfAkJ XAo+ICsjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19EX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJ QklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9JTykgfAkJXAo+ICAJQklUX1VMTChQT1dF Ul9ET01BSU5fSU5JVCkpCj4gICNkZWZpbmUgU0tMX0RJU1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJ TlMgKAkJXAo+ICAJU0tMX0RJU1BMQVlfUE9XRVJXRUxMXzJfUE9XRVJfRE9NQUlOUyB8CQlcCj4g QEAgLTQ1MSwxMiArNDYxLDEyIEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfcG93ZXJfd2VsbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9B VURJTykgfAkJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1ZHQSkgfAkJCQlcCj4gIAlCSVRf VUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiAtI2RlZmluZSBHTEtfRElTUExBWV9ERElfQV9QT1dF Ul9ET01BSU5TICgJCVwKPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0FfTEFORVMp KQo+IC0jZGVmaW5lIEdMS19ESVNQTEFZX0RESV9CX1BPV0VSX0RPTUFJTlMgKAkJXAo+IC0JQklU X1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9MQU5FUykpCj4gLSNkZWZpbmUgR0xLX0RJU1BM QVlfRERJX0NfUE9XRVJfRE9NQUlOUyAoCQlcCj4gLQlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JU X0RESV9DX0xBTkVTKSkKPiArI2RlZmluZSBHTEtfRElTUExBWV9ERElfSU9fQV9QT1dFUl9ET01B SU5TICgJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0FfSU8pKQo+ICsjZGVm aW5lIEdMS19ESVNQTEFZX0RESV9JT19CX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJQklUX1VMTChQ T1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTykpCj4gKyNkZWZpbmUgR0xLX0RJU1BMQVlfRERJX0lP X0NfUE9XRVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9D X0lPKSkKPiAgI2RlZmluZSBHTEtfRFBJT19DTU5fQV9QT1dFUl9ET01BSU5TICgJCQlcCj4gIAlC SVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0xBTkVTKSB8CQlcCj4gIAlCSVRfVUxMKFBP V0VSX0RPTUFJTl9BVVhfQSkgfAkJCVwKPiBAQCAtMjExNCwyNiArMjEyNCwyNiBAQCBzdGF0aWMg c3RydWN0IGk5MTVfcG93ZXJfd2VsbCBza2xfcG93ZXJfd2VsbHNbXSA9IHsKPiAgCQkuaWQgPSBT S0xfRElTUF9QV18yLAo+ICAJfSwKPiAgCXsKPiAtCQkubmFtZSA9ICJEREkgQS9FIHBvd2VyIHdl bGwiLAo+IC0JCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0FfRV9QT1dFUl9ET01BSU5TLAo+ ICsJCS5uYW1lID0gIkRESSBBL0UgSU8gcG93ZXIgd2VsbCIsCj4gKwkJLmRvbWFpbnMgPSBTS0xf RElTUExBWV9ERElfSU9fQV9FX1BPV0VSX0RPTUFJTlMsCj4gIAkJLm9wcyA9ICZza2xfcG93ZXJf d2VsbF9vcHMsCj4gIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0FfRSwKPiAgCX0sCj4gIAl7Cj4g LQkJLm5hbWUgPSAiRERJIEIgcG93ZXIgd2VsbCIsCj4gLQkJLmRvbWFpbnMgPSBTS0xfRElTUExB WV9ERElfQl9QT1dFUl9ET01BSU5TLAo+ICsJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdlbGwi LAo+ICsJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKPiAg CQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAgCQkuaWQgPSBTS0xfRElTUF9QV19ERElf QiwKPiAgCX0sCj4gIAl7Cj4gLQkJLm5hbWUgPSAiRERJIEMgcG93ZXIgd2VsbCIsCj4gLQkJLmRv bWFpbnMgPSBTS0xfRElTUExBWV9ERElfQ19QT1dFUl9ET01BSU5TLAo+ICsJCS5uYW1lID0gIkRE SSBDIElPIHBvd2VyIHdlbGwiLAo+ICsJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lPX0Nf UE9XRVJfRE9NQUlOUywKPiAgCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAgCQkuaWQg PSBTS0xfRElTUF9QV19ERElfQywKPiAgCX0sCj4gIAl7Cj4gLQkJLm5hbWUgPSAiRERJIEQgcG93 ZXIgd2VsbCIsCj4gLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfRF9QT1dFUl9ET01BSU5T LAo+ICsJCS5uYW1lID0gIkRESSBEIElPIHBvd2VyIHdlbGwiLAo+ICsJCS5kb21haW5zID0gU0tM X0RJU1BMQVlfRERJX0lPX0RfUE9XRVJfRE9NQUlOUywKPiAgCQkub3BzID0gJnNrbF9wb3dlcl93 ZWxsX29wcywKPiAgCQkuaWQgPSBTS0xfRElTUF9QV19ERElfRCwKPiAgCX0sCj4gQEAgLTIyNDYs MjAgKzIyNTYsMjAgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgZ2xrX3Bvd2VyX3dl bGxzW10gPSB7Cj4gIAkJLmlkID0gR0xLX0RJU1BfUFdfQVVYX0MsCj4gIAl9LAo+ICAJewo+IC0J CS5uYW1lID0gIkRESSBBIHBvd2VyIHdlbGwiLAo+IC0JCS5kb21haW5zID0gR0xLX0RJU1BMQVlf RERJX0FfUE9XRVJfRE9NQUlOUywKPiArCQkubmFtZSA9ICJEREkgQSBJTyBwb3dlciB3ZWxsIiwK PiArCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCj4gIAkJ Lm9wcyA9ICZza2xfcG93ZXJfd2VsbF9vcHMsCj4gIAkJLmlkID0gR0xLX0RJU1BfUFdfRERJX0Es Cj4gIAl9LAo+ICAJewo+IC0JCS5uYW1lID0gIkRESSBCIHBvd2VyIHdlbGwiLAo+IC0JCS5kb21h aW5zID0gR0xLX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUywKPiArCQkubmFtZSA9ICJEREkg QiBJTyBwb3dlciB3ZWxsIiwKPiArCQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19CX1BP V0VSX0RPTUFJTlMsCj4gIAkJLm9wcyA9ICZza2xfcG93ZXJfd2VsbF9vcHMsCj4gIAkJLmlkID0g U0tMX0RJU1BfUFdfRERJX0IsCj4gIAl9LAo+ICAJewo+IC0JCS5uYW1lID0gIkRESSBDIHBvd2Vy IHdlbGwiLAo+IC0JCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0NfUE9XRVJfRE9NQUlOUywK PiArCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKPiArCQkuZG9tYWlucyA9IEdMS19E SVNQTEFZX0RESV9JT19DX1BPV0VSX0RPTUFJTlMsCj4gIAkJLm9wcyA9ICZza2xfcG93ZXJfd2Vs bF9vcHMsCj4gIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCj4gIAl9LAo+IC0tIAo+IDIuOS4z Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK