From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH] drm/i915: Only enable DDI IO power domains after enabling DPLL Date: Tue, 28 Feb 2017 09:28:41 +0200 Message-ID: <1488266921.2308.1.camel@gmail.com> References: <20170224135053.GC22083@ideak-desk.fi.intel.com> <20170224141959.5955-1-ander.conselvan.de.oliveira@intel.com> <20170227203847.GI31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 55F136E615 for ; Tue, 28 Feb 2017 07:28:48 +0000 (UTC) Received: by mail-pg0-x242.google.com with SMTP id 25so648133pgy.3 for ; Mon, 27 Feb 2017 23:28:48 -0800 (PST) In-Reply-To: <20170227203847.GI31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE3LTAyLTI3IGF0IDIyOjM4ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 Cj4gT24gRnJpLCBGZWIgMjQsIDIwMTcgYXQgMDQ6MTk6NTlQTSArMDIwMCwgQW5kZXIgQ29uc2Vs dmFuIGRlIE9saXZlaXJhIHdyb3RlOgo+ID4gQWNjb3JkaW5nIHRvIGJzcGVjLCB0aGUgRERJIElP IHBvd2VyIGRvbWFpbnMgc2hvdWxkIGJlIGVuYWJsZWQgYWZ0ZXIKPiA+IGVuYWJsaW5nIHRoZSBE UExMIGFuZCBtYXBwaW5nIGl0IHRvIHRoZSBEREkuIFRoZSBjdXJyZW50IG9yZGVyIGRvZXNuJ3QK PiA+IHNlZW0gdG8gY3JlYXRlIHByb2JsZW1zIHdpdGggU2t5bGFrZSBhbmQgS2FieWxha2UsIGJ1 dCBjYXVzZXMgZW5hYmxlCj4gPiB0aW1lb3V0cyBpbiBHZW1pbmlsYWtlLgo+IAo+IFRoaXMgb25l IHNlZW1zIHRvIGtpbGwgU0tMK01TVC4KPiAKPiBKdXN0IGxvYWQgdGhlIGRyaXZlciB3aXRoIGFu IE1TVCBkaXNwbGF5IHBsdWdnZWQgaW4gYW5kIHdlIGdldDoKPiBbICAgNzkuMzg5NTI3XSBLZXJu ZWwgcGFuaWMgLSBub3Qgc3luY2luZzogVGltZW91dDogTm90IGFsbCBDUFVzIGVudGVyZWQgYnJv YWRjYXN0IGV4Y2VwdGlvbiBoYW5kbGVyCj4gCj4gU28gcHJlc3VtYWJseSB3ZSdyZSB0cnlpbmcg dG8gYWNjZXNzIHNvbWV0aGluZyB0aGF0J3Mgbm90IHBvd2VyZWQvY2xvY2tlZAo+IGFuZCB0aGUg Q1BVIGp1c3QgZ2V0cyB0b3RhbGx5IHN0dWNrLgoKSG1tLCB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUg RERJIElPIHBvd2VyIGRvbWFpbiBpbiB0aGUgTVNUIHBhdGggdG9vLiAvb1wKCkkgc2VudCB0aGUg Zml4IGFzIGEgc2VwYXJhdGUgc2VyaWVzIHNvIENJIGRvZXNuJ3QgZ2V0IGNvbmZ1c2VkLCBhbHRo b3VnaCBpdApkb2Vzbid0IHNlZW0gdG8gdGVzdCBNU1QrU0tMLgoKaHR0cHM6Ly9wYXRjaHdvcmsu ZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy8yMDM0NS8KCkFuZGVyCgoKPiAKPiA+IAo+ID4gdjI6IFJl YmFzZS4KPiA+ICAgLSBUYWtlIHBvd2VyIGRvbWFpbiByZWZlcmVuY2VzIGJlZm9yZSBzYW5pdGl6 aW5nIGVuY29kZXJzLiAoSW1yZSkKPiA+ICAgLSBBZGQgY29tbWVudCB0byBnZXRfZW5jb2Rlcl9w b3dlcl9kb21haW5zKCkgZGVmaXRpb24uIChBbmRlcikKPiA+IAo+ID4gdjM6IERvbid0IHB1dCB0 aGUgZG9tYWluIGlmIGNhbGxlZCB3aXRoIEhTVy9CRFcncyBhbmFsb2cgZW5jb2Rlci4gKENJKQo+ ID4gCj4gPiB2NDogUHV0IElPIHBvd2VyIGRvbWFpbiBiZWZvcmUgdW5tYXBwaW5nIERQTEwuIChJ bXJlKQo+ID4gICAtIENoYW5nZSByZXR1cm4gdHlwZSBvZiBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2Rv bWFpbnMoKSB0byB1NjQuIChJbXJlKQo+ID4gCj4gPiBDYzogRGF2aWQgV2VpbmVoYWxsIDxkYXZp ZC53ZWluZWhhbGxAbGludXguaW50ZWwuY29tPgo+ID4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWly YSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KPiA+IFJldmlld2VkLWJ5 OiBEYXZpZCBXZWluZWhhbGwgPGRhdmlkLndlaW5laGFsbEBsaW51eC5pbnRlbC5jb20+ICMgdjEK PiA+IFJldmlld2VkLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gPiAtLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgNSArKysKPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgICAgfCA0OSArKysrKysrKysr KysrKysrKysrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg ICAgfCAyMCArKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgICAgIHwgIDQgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMgfCA2OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+ICA1IGZpbGVzIGNo YW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gPiBpbmRleCA0NjczOTEyLi41YTAzMmJhIDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gQEAgLTM0NCw2ICszNDQsMTEgQEAgZW51bSBpbnRlbF9k aXNwbGF5X3Bvd2VyX2RvbWFpbiB7Cj4gPiAgCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0xBTkVT LAo+ID4gIAlQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9MQU5FUywKPiA+ICAJUE9XRVJfRE9NQUlO X1BPUlRfRERJX0VfTEFORVMsCj4gPiArCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPLAo+ID4g KwlQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTywKPiA+ICsJUE9XRVJfRE9NQUlOX1BPUlRfRERJ X0NfSU8sCj4gPiArCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPLAo+ID4gKwlQT1dFUl9ET01B SU5fUE9SVF9ERElfRV9JTywKPiA+ICAJUE9XRVJfRE9NQUlOX1BPUlRfRFNJLAo+ID4gIAlQT1dF Ul9ET01BSU5fUE9SVF9DUlQsCj4gPiAgCVBPV0VSX0RPTUFJTl9QT1JUX09USEVSLAo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+IGluZGV4IGIwYzRkMjMuLmU5MDEzZjEgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+IEBAIC0xNDQwLDYgKzE0NDAsMTcgQEAgYm9v bCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ID4gIAlyZXR1cm4gcmV0Owo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdTY0IGludGVsX2RkaV9n ZXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ICt7Cj4g PiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0 KCZlbmNvZGVyLT5iYXNlKTsKPiA+ICsJZW51bSBwaXBlIHBpcGU7Cj4gPiArCj4gPiArCWlmIChp bnRlbF9kZGlfZ2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkKPiA+ICsJCXJldHVybiBCSVRf VUxMKGRpZ19wb3J0LT5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiA+ICsKPiA+ICsJcmV0dXJuIDA7 Cj4gPiArfQo+ID4gKwo+ID4gIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV9waXBlX2Nsb2NrKHN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9jcnRjICpj cnRjID0gJmludGVsX2NydGMtPmJhc2U7Cj4gPiBAQCAtMTY4Miw2ICsxNjkzLDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVu Y29kZXItPmJhc2UpOwo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9k ZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiA+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ID4gIAo+ ID4gIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGxpbmtfcmF0ZSwgbGFuZV9j b3VudCwKPiA+ICAJCQkJIGxpbmtfbXN0KTsKPiA+IEBAIC0xNjg5LDYgKzE3MDEsOSBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKPiA+ICAJCWludGVsX2VkcF9wYW5lbF9vbihpbnRlbF9kcCk7Cj4gPiAgCj4gPiAgCWlu dGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7Cj4gPiArCj4gPiArCWludGVsX2Rpc3Bs YXlfcG93ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4g PiArCj4gPiAgCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gPiAgCWlu dGVsX2RkaV9pbml0X2RwX2J1Zl9yZWcoZW5jb2Rlcik7Cj4gPiAgCWludGVsX2RwX3NpbmtfZHBt cyhpbnRlbF9kcCwgRFJNX01PREVfRFBNU19PTik7Cj4gPiBAQCAtMTcwOCw5ICsxNzIzLDEzIEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIgPSAmZW5j b2Rlci0+YmFzZTsKPiA+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJf cG9ydChlbmNvZGVyKTsKPiA+ICAJaW50IGxldmVsID0gaW50ZWxfZGRpX2hkbWlfbGV2ZWwoZGV2 X3ByaXYsIHBvcnQpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9 IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7Cj4gPiAgCj4gPiAgCWludGVsX2RwX2R1 YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgdHJ1ZSk7Cj4gPiAgCWludGVsX2Rk aV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7Cj4gPiArCj4gPiArCWludGVsX2Rpc3BsYXlfcG93 ZXJfZ2V0KGRldl9wcml2LCBkaWdfcG9ydC0+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gPiArCj4g PiAgCWludGVsX3ByZXBhcmVfaGRtaV9kZGlfYnVmZmVycyhlbmNvZGVyKTsKPiA+ICAJaWYgKElT X0dFTjlfQkMoZGV2X3ByaXYpKQo+ID4gIAkJc2tsX2RkaV9zZXRfaWJvb3N0KGVuY29kZXIsIGxl dmVsKTsKPiA+IEBAIC0xNzU0LDYgKzE3NzMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9z dF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ID4gIAlzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKPiA+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwo+ ID4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2Vu Y29kZXIpOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190 b19kaWdfcG9ydChlbmNvZGVyKTsKPiA+ICAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBl Owo+ID4gIAl1aW50MzJfdCB2YWw7Cj4gPiAgCWJvb2wgd2FpdCA9IGZhbHNlOwo+ID4gQEAgLTE3 ODIsNiArMTgwMiw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gPiAgCQlpbnRlbF9lZHBfcGFuZWxfb2Zm KGludGVsX2RwKTsKPiA+ICAJfQo+ID4gIAo+ID4gKwlpZiAoZGlnX3BvcnQpCj4gPiArCQlpbnRl bF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgZGlnX3BvcnQtPmRkaV9pb19wb3dlcl9kb21h aW4pOwo+ID4gKwo+ID4gIAlpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikpCj4gPiAgCQlJOTE1X1dS SVRFKERQTExfQ1RSTDIsIChJOTE1X1JFQUQoRFBMTF9DVFJMMikgfAo+ID4gIAkJCQkJRFBMTF9D VFJMMl9ERElfQ0xLX09GRihwb3J0KSkpOwo+ID4gQEAgLTIxOTAsMTIgKzIyMTMsMzggQEAgdm9p ZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0g cG9ydCBwb3J0KQo+ID4gIAlpbnRlbF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUgPSBpbnRlbF9kZGlf Z2V0X2h3X3N0YXRlOwo+ID4gIAlpbnRlbF9lbmNvZGVyLT5nZXRfY29uZmlnID0gaW50ZWxfZGRp X2dldF9jb25maWc7Cj4gPiAgCWludGVsX2VuY29kZXItPnN1c3BlbmQgPSBpbnRlbF9kcF9lbmNv ZGVyX3N1c3BlbmQ7Cj4gPiArCWludGVsX2VuY29kZXItPmdldF9wb3dlcl9kb21haW5zID0gaW50 ZWxfZGRpX2dldF9wb3dlcl9kb21haW5zOwo+ID4gIAo+ID4gIAlpbnRlbF9kaWdfcG9ydC0+cG9y dCA9IHBvcnQ7Cj4gPiAgCWludGVsX2RpZ19wb3J0LT5zYXZlZF9wb3J0X2JpdHMgPSBJOTE1X1JF QUQoRERJX0JVRl9DVEwocG9ydCkpICYKPiA+ICAJCQkJCSAgKERESV9CVUZfUE9SVF9SRVZFUlNB TCB8Cj4gPiAgCQkJCQkgICBERElfQV80X0xBTkVTKTsKPiA+ICAKPiA+ICsJc3dpdGNoIChwb3J0 KSB7Cj4gPiArCWNhc2UgUE9SVF9BOgo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ID4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9BX0lPOwo+ID4gKwkJYnJl YWs7Cj4gPiArCWNhc2UgUE9SVF9COgo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ID4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9CX0lPOwo+ID4gKwkJYnJl YWs7Cj4gPiArCWNhc2UgUE9SVF9DOgo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ID4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9DX0lPOwo+ID4gKwkJYnJl YWs7Cj4gPiArCWNhc2UgUE9SVF9EOgo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ID4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOwo+ID4gKwkJYnJl YWs7Cj4gPiArCWNhc2UgUE9SVF9FOgo+ID4gKwkJaW50ZWxfZGlnX3BvcnQtPmRkaV9pb19wb3dl cl9kb21haW4gPQo+ID4gKwkJCVBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0lPOwo+ID4gKwkJYnJl YWs7Cj4gPiArCWRlZmF1bHQ6Cj4gPiArCQlNSVNTSU5HX0NBU0UocG9ydCk7Cj4gPiArCX0KPiA+ ICsKPiA+ICAJLyoKPiA+ICAJICogQnNwZWMgc2F5cyB0aGF0IERESV9BXzRfTEFORVMgaXMgdGhl IG9ubHkgc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24KPiA+ICAJICogZm9yIEJyb3h0b24uICBZZXQg c29tZSBCSU9TIGZhaWwgdG8gc2V0IHRoaXMgYml0IG9uIHBvcnQgQSBpZiBlRFAKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IGluZGV4IDAxMDA4NmMuLjc2NzNkNWQgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTE1NDEzLDYg KzE1NDEzLDI0IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAl9Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2 b2lkCj4gPiArZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsK PiA+ICsKPiA+ICsJZm9yX2VhY2hfaW50ZWxfZW5jb2RlcigmZGV2X3ByaXYtPmRybSwgZW5jb2Rl cikgewo+ID4gKwkJdTY0IGdldF9kb21haW5zOwo+ID4gKwkJZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbiBkb21haW47Cj4gPiArCj4gPiArCQlpZiAoIWVuY29kZXItPmdldF9wb3dlcl9k b21haW5zKQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4gKwo+ID4gKwkJZ2V0X2RvbWFpbnMgPSBlbmNv ZGVyLT5nZXRfcG93ZXJfZG9tYWlucyhlbmNvZGVyKTsKPiA+ICsJCWZvcl9lYWNoX3Bvd2VyX2Rv bWFpbihkb21haW4sIGdldF9kb21haW5zKQo+ID4gKwkJCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0 KGRldl9wcml2LCBkb21haW4pOwo+ID4gKwl9Cj4gPiArfQo+ID4gKwo+ID4gIC8qIFNjYW4gb3V0 IHRoZSBjdXJyZW50IGh3IG1vZGVzZXQgc3RhdGUsCj4gPiAgICogYW5kIHNhbml0aXplcyBpdCB0 byB0aGUgY3VycmVudCBzdGF0ZQo+ID4gICAqLwo+ID4gQEAgLTE1NDI4LDYgKzE1NDQ2LDggQEAg aW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4g IAlpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoZGV2KTsKPiA+ICAKPiA+ICAJLyogSFcg c3RhdGUgaXMgcmVhZCBvdXQsIG5vdyB3ZSBuZWVkIHRvIHNhbml0aXplIHRoaXMgbWVzcy4gKi8K PiA+ICsJZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucyhkZXZfcHJpdik7Cj4gPiArCj4gPiAgCWZv cl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKSB7Cj4gPiAgCQlpbnRlbF9zYW5pdGl6 ZV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gIAl9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ ID4gaW5kZXggOTc2MjFhMS4uMDQyNWRiZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ID4gQEAgLTI0MSw2ICsyNDEsOSBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7Cj4gPiAg CSAqIGJlIHNldCBjb3JyZWN0bHkgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4gKi8KPiA+ ICAJdm9pZCAoKmdldF9jb25maWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICosCj4gPiAgCQkJICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ICsJLyogUmV0dXJucyBh IG1hc2sgb2YgcG93ZXIgZG9tYWlucyB0aGF0IG5lZWQgdG8gYmUgcmVmZXJlbmNlZCBhcyBwYXJ0 Cj4gPiArCSAqIG9mIHRoZSBoYXJkd2FyZSBzdGF0ZSByZWFkb3V0IGNvZGUuICovCj4gPiArCXU2 NCAoKmdldF9wb3dlcl9kb21haW5zKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7Cj4g PiAgCS8qCj4gPiAgCSAqIENhbGxlZCBkdXJpbmcgc3lzdGVtIHN1c3BlbmQgYWZ0ZXIgYWxsIHBl bmRpbmcgcmVxdWVzdHMgZm9yIHRoZQo+ID4gIAkgKiBlbmNvZGVyIGFyZSBmbHVzaGVkIChmb3Ig ZXhhbXBsZSBmb3IgRFAgQVVYIHRyYW5zYWN0aW9ucykgYW5kCj4gPiBAQCAtMTAyNyw2ICsxMDMw LDcgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7Cj4gPiAgCWVudW0gaXJxcmV0dXJuICgq aHBkX3B1bHNlKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICosIGJvb2wpOwo+ID4gIAlib29s IHJlbGVhc2VfY2wyX292ZXJyaWRlOwo+ID4gIAl1aW50OF90IG1heF9sYW5lczsKPiA+ICsJZW51 bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkZGlfaW9fcG93ZXJfZG9tYWluOwo+ID4gIH07 Cj4gPiAgCj4gPiAgc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyIHsKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+IGluZGV4IDUxNGVmNTYuLjAxMmJjMzUgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gQEAgLTkz LDYgKzkzLDE2IEBAIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluX3N0cihlbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbikKPiA+ICAJCXJldHVybiAiUE9SVF9ERElfRF9MQU5F UyI7Cj4gPiAgCWNhc2UgUE9XRVJfRE9NQUlOX1BPUlRfRERJX0VfTEFORVM6Cj4gPiAgCQlyZXR1 cm4gIlBPUlRfRERJX0VfTEFORVMiOwo+ID4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9B X0lPOgo+ID4gKwkJcmV0dXJuICJQT1JUX0RESV9BX0lPIjsKPiA+ICsJY2FzZSBQT1dFUl9ET01B SU5fUE9SVF9ERElfQl9JTzoKPiA+ICsJCXJldHVybiAiUE9SVF9ERElfQl9JTyI7Cj4gPiArCWNh c2UgUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU86Cj4gPiArCQlyZXR1cm4gIlBPUlRfRERJX0Nf SU8iOwo+ID4gKwljYXNlIFBPV0VSX0RPTUFJTl9QT1JUX0RESV9EX0lPOgo+ID4gKwkJcmV0dXJu ICJQT1JUX0RESV9EX0lPIjsKPiA+ICsJY2FzZSBQT1dFUl9ET01BSU5fUE9SVF9ERElfRV9JTzoK PiA+ICsJCXJldHVybiAiUE9SVF9ERElfRV9JTyI7Cj4gPiAgCWNhc2UgUE9XRVJfRE9NQUlOX1BP UlRfRFNJOgo+ID4gIAkJcmV0dXJuICJQT1JUX0RTSSI7Cj4gPiAgCWNhc2UgUE9XRVJfRE9NQUlO X1BPUlRfQ1JUOgo+ID4gQEAgLTM4NSwxOCArMzk1LDE4IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRf cG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCUJJVF9V TEwoUE9XRVJfRE9NQUlOX0FVRElPKSB8CQkJXAo+ID4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9W R0EpIHwJCQkJXAo+ID4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiA+IC0jZGVmaW5l IFNLTF9ESVNQTEFZX0RESV9BX0VfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAtCUJJVF9VTEwoUE9X RVJfRE9NQUlOX1BPUlRfRERJX0FfTEFORVMpIHwJCVwKPiA+IC0JQklUX1VMTChQT1dFUl9ET01B SU5fUE9SVF9ERElfRV9MQU5FUykgfAkJXAo+ID4gKyNkZWZpbmUgU0tMX0RJU1BMQVlfRERJX0lP X0FfRV9QT1dFUl9ET01BSU5TICgJCVwKPiA+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9E RElfQV9JTykgfAkJXAo+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0lPKSB8 CQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gLSNkZWZpbmUgU0tMX0RJ U1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAtCUJJVF9VTEwoUE9XRVJfRE9NQUlO X1BPUlRfRERJX0JfTEFORVMpIHwJCVwKPiA+ICsjZGVmaW5lIFNLTF9ESVNQTEFZX0RESV9JT19C X1BPV0VSX0RPTUFJTlMgKAkJXAo+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9C X0lPKSB8CQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gLSNkZWZpbmUg U0tMX0RJU1BMQVlfRERJX0NfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAtCUJJVF9VTEwoUE9XRVJf RE9NQUlOX1BPUlRfRERJX0NfTEFORVMpIHwJCVwKPiA+ICsjZGVmaW5lIFNLTF9ESVNQTEFZX0RE SV9JT19DX1BPV0VSX0RPTUFJTlMgKAkJXAo+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JU X0RESV9DX0lPKSB8CQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ID4gLSNk ZWZpbmUgU0tMX0RJU1BMQVlfRERJX0RfUE9XRVJfRE9NQUlOUyAoCQlcCj4gPiAtCUJJVF9VTEwo UE9XRVJfRE9NQUlOX1BPUlRfRERJX0RfTEFORVMpIHwJCVwKPiA+ICsjZGVmaW5lIFNLTF9ESVNQ TEFZX0RESV9JT19EX1BPV0VSX0RPTUFJTlMgKAkJXAo+ID4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9QT1JUX0RESV9EX0lPKSB8CQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ ID4gICNkZWZpbmUgU0tMX0RJU1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMgKAkJXAo+ID4gIAlT S0xfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKPiA+IEBAIC00NTEsMTIg KzQ2MSwxMiBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVURJTykgfAkJ CVwKPiA+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fVkdBKSB8CQkJCVwKPiA+ICAJQklUX1VMTChQ T1dFUl9ET01BSU5fSU5JVCkpCj4gPiAtI2RlZmluZSBHTEtfRElTUExBWV9ERElfQV9QT1dFUl9E T01BSU5TICgJCVwKPiA+IC0JQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9MQU5FUykp Cj4gPiAtI2RlZmluZSBHTEtfRElTUExBWV9ERElfQl9QT1dFUl9ET01BSU5TICgJCVwKPiA+IC0J QklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9MQU5FUykpCj4gPiAtI2RlZmluZSBHTEtf RElTUExBWV9ERElfQ19QT1dFUl9ET01BSU5TICgJCVwKPiA+IC0JQklUX1VMTChQT1dFUl9ET01B SU5fUE9SVF9ERElfQ19MQU5FUykpCj4gPiArI2RlZmluZSBHTEtfRElTUExBWV9ERElfSU9fQV9Q T1dFUl9ET01BSU5TICgJCVwKPiA+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9J TykpCj4gPiArI2RlZmluZSBHTEtfRElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TICgJCVwK PiA+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQl9JTykpCj4gPiArI2RlZmluZSBH TEtfRElTUExBWV9ERElfSU9fQ19QT1dFUl9ET01BSU5TICgJCVwKPiA+ICsJQklUX1VMTChQT1dF Ul9ET01BSU5fUE9SVF9ERElfQ19JTykpCj4gPiAgI2RlZmluZSBHTEtfRFBJT19DTU5fQV9QT1dF Ul9ET01BSU5TICgJCQlcCj4gPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0FfTEFO RVMpIHwJCVwKPiA+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fQVVYX0EpIHwJCQlcCj4gPiBAQCAt MjExNCwyNiArMjEyNCwyNiBAQCBzdGF0aWMgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCBza2xfcG93 ZXJfd2VsbHNbXSA9IHsKPiA+ICAJCS5pZCA9IFNLTF9ESVNQX1BXXzIsCj4gPiAgCX0sCj4gPiAg CXsKPiA+IC0JCS5uYW1lID0gIkRESSBBL0UgcG93ZXIgd2VsbCIsCj4gPiAtCQkuZG9tYWlucyA9 IFNLTF9ESVNQTEFZX0RESV9BX0VfUE9XRVJfRE9NQUlOUywKPiA+ICsJCS5uYW1lID0gIkRESSBB L0UgSU8gcG93ZXIgd2VsbCIsCj4gPiArCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9JT19B X0VfUE9XRVJfRE9NQUlOUywKPiA+ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ID4g IAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0FfRSwKPiA+ICAJfSwKPiA+ICAJewo+ID4gLQkJLm5h bWUgPSAiRERJIEIgcG93ZXIgd2VsbCIsCj4gPiAtCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RE SV9CX1BPV0VSX0RPTUFJTlMsCj4gPiArCQkubmFtZSA9ICJEREkgQiBJTyBwb3dlciB3ZWxsIiwK PiA+ICsJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKPiA+ ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ID4gIAkJLmlkID0gU0tMX0RJU1BfUFdf RERJX0IsCj4gPiAgCX0sCj4gPiAgCXsKPiA+IC0JCS5uYW1lID0gIkRESSBDIHBvd2VyIHdlbGwi LAo+ID4gLQkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfQ19QT1dFUl9ET01BSU5TLAo+ID4g KwkJLm5hbWUgPSAiRERJIEMgSU8gcG93ZXIgd2VsbCIsCj4gPiArCQkuZG9tYWlucyA9IFNLTF9E SVNQTEFZX0RESV9JT19DX1BPV0VSX0RPTUFJTlMsCj4gPiAgCQkub3BzID0gJnNrbF9wb3dlcl93 ZWxsX29wcywKPiA+ICAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9DLAo+ID4gIAl9LAo+ID4gIAl7 Cj4gPiAtCQkubmFtZSA9ICJEREkgRCBwb3dlciB3ZWxsIiwKPiA+IC0JCS5kb21haW5zID0gU0tM X0RJU1BMQVlfRERJX0RfUE9XRVJfRE9NQUlOUywKPiA+ICsJCS5uYW1lID0gIkRESSBEIElPIHBv d2VyIHdlbGwiLAo+ID4gKwkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfSU9fRF9QT1dFUl9E T01BSU5TLAo+ID4gIAkJLm9wcyA9ICZza2xfcG93ZXJfd2VsbF9vcHMsCj4gPiAgCQkuaWQgPSBT S0xfRElTUF9QV19ERElfRCwKPiA+ICAJfSwKPiA+IEBAIC0yMjQ2LDIwICsyMjU2LDIwIEBAIHN0 YXRpYyBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsIGdsa19wb3dlcl93ZWxsc1tdID0gewo+ID4gIAkJ LmlkID0gR0xLX0RJU1BfUFdfQVVYX0MsCj4gPiAgCX0sCj4gPiAgCXsKPiA+IC0JCS5uYW1lID0g IkRESSBBIHBvd2VyIHdlbGwiLAo+ID4gLQkJLmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfQV9Q T1dFUl9ET01BSU5TLAo+ID4gKwkJLm5hbWUgPSAiRERJIEEgSU8gcG93ZXIgd2VsbCIsCj4gPiAr CQkuZG9tYWlucyA9IEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCj4gPiAgCQku b3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiA+ICAJCS5pZCA9IEdMS19ESVNQX1BXX0RESV9B LAo+ID4gIAl9LAo+ID4gIAl7Cj4gPiAtCQkubmFtZSA9ICJEREkgQiBwb3dlciB3ZWxsIiwKPiA+ IC0JCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0JfUE9XRVJfRE9NQUlOUywKPiA+ICsJCS5u YW1lID0gIkRESSBCIElPIHBvd2VyIHdlbGwiLAo+ID4gKwkJLmRvbWFpbnMgPSBHTEtfRElTUExB WV9ERElfSU9fQl9QT1dFUl9ET01BSU5TLAo+ID4gIAkJLm9wcyA9ICZza2xfcG93ZXJfd2VsbF9v cHMsCj4gPiAgCQkuaWQgPSBTS0xfRElTUF9QV19ERElfQiwKPiA+ICAJfSwKPiA+ICAJewo+ID4g LQkJLm5hbWUgPSAiRERJIEMgcG93ZXIgd2VsbCIsCj4gPiAtCQkuZG9tYWlucyA9IEdMS19ESVNQ TEFZX0RESV9DX1BPV0VSX0RPTUFJTlMsCj4gPiArCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3 ZWxsIiwKPiA+ICsJCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0lPX0NfUE9XRVJfRE9NQUlO UywKPiA+ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ID4gIAkJLmlkID0gU0tMX0RJ U1BfUFdfRERJX0MsCj4gPiAgCX0sCj4gPiAtLSAKPiA+IDIuOS4zCj4gPiAKPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFp bGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK