From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/gen9: Probe power well 1 status on dc status query Date: Wed, 27 Jan 2016 20:18:57 +0200 Message-ID: <20160127181857.GG23290@intel.com> References: <1453823131-16139-1-git-send-email-mika.kuoppala@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 ESMTP id 310CA888D9 for ; Wed, 27 Jan 2016 10:19:02 -0800 (PST) Content-Disposition: inline In-Reply-To: <1453823131-16139-1-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala Cc: intel-gfx@lists.freedesktop.org, miku@iki.fi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKYW4gMjYsIDIwMTYgYXQgMDU6NDU6MzFQTSArMDIwMCwgTWlrYSBLdW9wcGFsYSB3 cm90ZToKPiBUaGVyZSBoYXMgYmVlbiBjYXNlcyB3aGVyZSB3ZSByZWFkIERDX1NUQVRFIGFuZCBn ZXQgc29tZXRoaW5nIHRoYXQgd2UKPiBkaWQgbm90IHdyaXRlIHRoZXJlLiBBcyBETUMgb3ducyBw b3dlciB3ZWxsIDEsIHRoaXMgY291bGQgYmUgdGhhdCBETUMKPiBzbm9vcHMgRENfU1RBVEUgYWNj ZXNzZXMgYW5kIG5lZWRzIHRvIHdha2UgdXAgcG93ZXIgd2VsbCAxIHVwIHRvIHNlcnZlCj4gdGhl IGFjY2Vzcy4gQnV0IHRoZSB3YWtpbmcgdXAgcG93ZXIgd2VsbCAxIHRha2VzIHRpbWUgYW5kIHdl IG1pZ2h0IGVuZCB1cAo+IHJlYWRpbmcgZHVyaW5nIHVuZmluaXNoZWQgd2VsbCB3YWtldXAuCj4g Cj4gV2hlbiB3ZSB3YW50IHRoZSBkYyBzdGF0dXMsIHdha2UgdXAgRE1DIGFuZCBtYWtlIHN1cmUg dGhhdCBETUMgaGFzCj4gcHJvcGVybHkgd29rZW4gdXAgd2VsbCAxIGJlZm9yZSB3ZSByZWFkIGZv ciB0aGUgZmluYWwgdmFsdWUuCj4gCj4gUmVmZXJlbmNlczogaHR0cHM6Ly9idWdzLmZyZWVkZXNr dG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM3NjgKPiBTdWdnZXN0ZWQtYnk6IFBhdHJpayBKYWtv YnNzb24gPHBhdHJpay5qYWtvYnNzb25AbGludXguaW50ZWwuY29tPgo+IENjOiBQYXRyaWsgSmFr b2Jzc29uIDxwYXRyaWsuamFrb2Jzc29uQGxpbnV4LmludGVsLmNvbT4KPiBDYzogSW1yZSBEZWFr IDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KPiBTaWduZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxh QGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9w bS5jIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gIDEgZmlsZSBjaGFu Z2VkLCA2OSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggYmJjYTUyNzE4NGQwLi44M2MyNGU3M2Ni ODggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTQx OCwxNSArNDE4LDYyIEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dF Ul9ET01BSU5TKSkgfAlcCj4gIAlCSVQoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICAKPiArCj4gK3N0 YXRpYyBib29sIF9fZ2VuOV9wb3dlcl93ZWxsX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICsJCQkJICAgICAgY29uc3QgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxs cyBwdywKPiArCQkJCSAgICAgIGNvbnN0IGJvb2wgcmVxKQo+ICt7Cj4gKwl1aW50MzJfdCBtYXNr ID0gU0tMX1BPV0VSX1dFTExfU1RBVEUocHcpOwo+ICsKPiArCWlmIChyZXEpCj4gKwkJbWFzayB8 PSBTS0xfUE9XRVJfV0VMTF9SRVEocHcpOwo+ICsKPiArCXJldHVybiAoSTkxNV9SRUFEKEhTV19Q V1JfV0VMTF9EUklWRVIpICYgbWFzaykgPT0gbWFzazsKPiArfQo+ICsKPiArc3RhdGljIGJvb2wg Z2VuOV9wb3dlcl93ZWxsX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ICsJCQkJICAgIGNvbnN0IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgcHcpCj4gK3sKPiAr CXJldHVybiBfX2dlbjlfcG93ZXJfd2VsbF9lbmFibGVkKGRldl9wcml2LCBwdywgdHJ1ZSk7Cj4g K30KPiArCj4gK3N0YXRpYyBib29sIGdlbjlfcG93ZXJfd2VsbF9lbmFibGVkX25vcmVxKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJCQkgIGNvbnN0IGVudW0gc2tsX2Rp c3BfcG93ZXJfd2VsbHMgcHcpCj4gK3sKPiArCXJldHVybiBfX2dlbjlfcG93ZXJfd2VsbF9lbmFi bGVkKGRldl9wcml2LCBwdywgZmFsc2UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBnZW45X3B3 MV9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJLyog RE1DIG93bnMgdGhlIHB3MS4gRG9uJ3QgY2hlY2sgZm9yIHJlcXVlc3QgKi8KPiArCXJldHVybiBn ZW45X3Bvd2VyX3dlbGxfZW5hYmxlZF9ub3JlcShkZXZfcHJpdiwgU0tMX0RJU1BfUFdfMSk7Cj4g K30KPiArCj4gK3N0YXRpYyB1MzIgZ2VuOV9nZXRfZGNfc3RhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlpZiAoZ2VuOV9wdzFfZW5hYmxlZChkZXZfcHJpdikp Cj4gKwkJcmV0dXJuIEk5MTVfUkVBRChEQ19TVEFURV9FTik7Cj4gKwo+ICsJLyogRE1DIHNob3Vs ZCBzbm9vcCB0aGlzIGFuZCB3YWtldXAgKi8KPiArCUk5MTVfUkVBRChEQ19TVEFURV9FTik7CgpO b3Qgc3VyZSBpdCBkb2VzLiBJIGRvbid0IHRoaW5rIEkndmUgbmV2ZXIgc2VlbiBhIGxpc3Qgb2Yg dHJhcHBlZApyZWdpc3RlcnMgYW55d2hlcmUuCgpBc3N1bWluZyBpdCBkb2VzLCBpdCB3b3VsZCBx dWl0ZSBzdXJwcmlzaW5nIHRoYXQgaXQgd291bGQgcmVsZWFzZQp0aGUgdHJhcCBiZWZvcmUgaXQg YWN0dWFsbHkgd29rZSB1cCB0aGUgaGFyZHdhcmUuIEkgZ3Vlc3MgaXQgbWlnaHQgYmUKcG9zc2li bGUgaWYgdGhlIHJlZ2lzdGVycyBkb24ndCBhY3R1YWxseSBsaXZlIGluc2lkZSB0aGUgcG93ZXIg d2VsbAoodGhleSdkIGhhdmUgdG8gbGl2ZSBpbiBwb3dlciB3ZWxsIDAgdGhlbiBJIHN1cHBvc2Up LiBCdXQgdGhhdCB3b3VsZApzZWVtIHRvIG9wZW4gdXAgcmFjZXMgYWxsIG92ZXIgdGhlIHBsYWNl IHdoZXJlIHdlIGhhdmUgdG8gdG91Y2ggYQpyZWdpc3RlciBhbHNvIHRvdWNoZWQgYnkgdGhlIERN Qywgc28gaXQgd291bGQgc2VlbSBsaWtlIGEgZmFpcmx5IG1ham9yCnByb2JsZW0gdG8gbWUuCgpJ ZiBpdCBkb2Vzbid0IHRyYXAgdGhpcywgd2VsbCwgdGhlbiB3ZSBzaG91bGQganVzdCBiZSBhYmxl IHRvIGFjY2VzcwphbnkgYWN0dWFsbHkgdHJhcHBlZCByZWdpc3RlciwgYW5kIHRoYXQgc2hvdWxk IGtpY2sgdGhlIERNQyBvdXQgb2YKREM1LzYuCgpUaGF0IERDX1NUQVRFX0VOIHNlZW1zIHRvIGNo YW5nZSBvbiBpdHMgb3duIGlzIHN0aWxsIGJhZmZsaW5nIG1lLiBPbmUKaWRlYSBJIGhhZCBpcyB0 aGF0IHRoZSBwY3UgbWlnaHQgZG8gdGhlIHNhdmUvcmVzdG9yZSBmb3IgRENfU1RBVEVfRU4sCmFu ZCB0aGVuIHdlIG1pZ2h0IHJhY2Ugd2l0aCBpdCBzb21laG93LiBJIHN1cHBvc2UgdGhhdCBjb3Vs ZCBoYXBwZW4gaWYKdGhlIHBjdSBkb2VzIHNvbWUga2luZCBvZiBzcGVjdWxhdGl2ZSBzYXZlIG9m IHRoYXQgcmVnaXN0ZXIsIGFuZCB0aGVuCndlIG1pZ2h0IGVuZCB1cCBjaGFuZ2luZyBpdCBiZXR3 ZWVuIHRoZSB0aW1lIGl0IGdvdCBzYXZlZCBhbmQgdGhlIHRpbWUKcG93ZXIgd2VsbCAwIGdldHMg dHVybmVkIG9mZi4gT3RoZXJ3aXNlIEFGQUlLIHRoZSBwb3dlciB3ZWxsIDAgc2hvdWxkCnJlbWFp biBlbmFibGVkIGFzIGxvbmcgYXMgdGhlIG1hY2hpbmUgc3RheXMgb3V0IG9mIGRlZXAgcGMgc3Rh dGVzLAp3aGljaCBtZWFucyB0aGUgY3B1IGJlaW5nIGFjdGl2ZSBzaG91bGQgYmUgZW5vdWdoLiBP ciBtYXliZSBpdCdzIHRoZQpETUMgdGhhdCBzYXZlcyBpdCB3aGVuIGl0IGluZGljYXRlcyBEQyBz dGF0ZSByZWFkeW5lc3MgdG8gdGhlIHBjdSwgYnV0CmlmIHRoZXJlJ3Mgbm8gdHJhcCB3ZSBtaWdo dCBlbmQgdXAgY2hhbmdpbmcgdGhlIHZhbHVlIGFmdGVyIHRoYXQgYmVmb3JlCnBvd2VyIHdlbGwg MCBnZXRzIHR1cm5lZCBvZmYuCgpJJ20gbm90IHN1cmUgaG93IHdlJ2QgZ28gYWJvdXQgZml4aW5n IHRoYXQuIEFueXRoaW5nIEkgY29tZSB1cCB3aXRoCnNlZW1zIHRvIGhhdmUgc29tZSByYWNlcyBp biBpdC4gQnV0IG9mIGNvdXJzZSBpdCdzIHJlYWxseSBqdXN0IGd1ZXNzd29yawp3aXRob3V0IGtu b3dpbmcgd2hhdCB0aGUgdGhlIGRtYyBhbmQgcGN1IGFyZSBkb2luZy4gV2UnZCBkZWZpbml0ZWx5 Cm5lZWQgc29tZSB3YXkgdG8gbWFrZSBzdXJlIHRoYXQgYW55IHNhdmVkIHN0YWxlIERDX1NUQVRF X0VOIHZhbHVlIGRvZXNuJ3QKZ2V0IHRvIGxpdmUgcGFzdCB0aGUgcG9pbnQgd2hlcmUgd2UgY2hh bmdlIGl0LgoKT25lIHN0aWxsIHF1aXRlIHJhY3kgbG9va2luZyBpZGVhIHdvdWxkIGJlIHRvIGtp Y2sgdGhlIERNQyBvbiBib3RoIHNpZGVzCm9mIHRoZSBEQ19TVEFURV9FTiB3cml0ZSB0byBsZXNz ZW4gdGhlIGNoYW5jZSB0aGF0IGl0IHdvdWxkIGVuZCB1cApzYXZpbmcgdGhlIHN0YWxlIHZhbHVl IGp1c3QgYmVmb3JlIHdlIHVwZGF0ZSBpdC4gQnV0IHNpbmNlIHRoZSBETUMKZG9lc24ndCBkbyBt dWNoIGluIHRoZSB3YXkgb2YgZGVsYXllZCBwb3dlciBvZmYsIEknbSBub3Qgc3VyZSB0aGF0IHdv dWxkCnJlYWxseSBoZWxwLiBBbmQgZXZlbiB3aXRoIGEgZGVsYXllZCBwb3dlciBvZmYsIGl0J2Qg cmVtYWluIHJhY3kuCgo+ICsKPiArCWlmICh3YWl0X2ZvcihnZW45X3B3MV9lbmFibGVkKGRldl9w cml2KSwgMSkpCj4gKwkJRFJNX0VSUk9SKCJwdzEgZW5hYmxpbmcgdGltZW91dCAweCV4XG4iLAo+ ICsJCQkgIEk5MTVfUkVBRChIU1dfUFdSX1dFTExfRFJJVkVSKSk7Cj4gKwo+ICsJcmV0dXJuIEk5 MTVfUkVBRChEQ19TVEFURV9FTik7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGFzc2VydF9jYW5f ZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ICsJY29uc3QgdTMyIGRjX3N0 YXRlID0gZ2VuOV9nZXRfZGNfc3RhdGUoZGV2X3ByaXYpOwo+ICAKPiAgCVdBUk4oIUlTX0JST1hU T04oZGV2KSwgIlBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydCBEQzkuXG4iKTsKPiAtCVdBUk4oKEk5 MTVfUkVBRChEQ19TVEFURV9FTikgJiBEQ19TVEFURV9FTl9EQzkpLAo+IC0JCSJEQzkgYWxyZWFk eSBwcm9ncmFtbWVkIHRvIGJlIGVuYWJsZWQuXG4iKTsKPiAtCVdBUk4oSTkxNV9SRUFEKERDX1NU QVRFX0VOKSAmIERDX1NUQVRFX0VOX1VQVE9fREM1LAo+IC0JCSJEQzUgc3RpbGwgbm90IGRpc2Fi bGVkIHRvIGVuYWJsZSBEQzkuXG4iKTsKPiArCVdBUk4oZGNfc3RhdGUgJiBEQ19TVEFURV9FTl9E QzksCj4gKwkgICAgICJEQzkgYWxyZWFkeSBwcm9ncmFtbWVkIHRvIGJlIGVuYWJsZWQuXG4iKTsK PiArCVdBUk4oZGNfc3RhdGUgJiBEQ19TVEFURV9FTl9VUFRPX0RDNSwKPiArCSAgICAgIkRDNSBz dGlsbCBub3QgZGlzYWJsZWQgdG8gZW5hYmxlIERDOS5cbiIpOwo+ICAJV0FSTihJOTE1X1JFQUQo SFNXX1BXUl9XRUxMX0RSSVZFUiksICJQb3dlciB3ZWxsIG9uLlxuIik7Cj4gIAlXQVJOKGludGVs X2lycXNfZW5hYmxlZChkZXZfcHJpdiksICJJbnRlcnJ1cHRzIG5vdCBkaXNhYmxlZCB5ZXQuXG4i KTsKPiAgCj4gQEAgLTQ0MSwxMCArNDg4LDEyIEBAIHN0YXRpYyB2b2lkIGFzc2VydF9jYW5fZW5h YmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICBzdGF0aWMg dm9pZCBhc3NlcnRfY2FuX2Rpc2FibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgewo+ICsJY29uc3QgdTMyIGRjX3N0YXRlID0gZ2VuOV9nZXRfZGNfc3RhdGUoZGV2 X3ByaXYpOwo+ICsKPiAgCVdBUk4oaW50ZWxfaXJxc19lbmFibGVkKGRldl9wcml2KSwgIkludGVy cnVwdHMgbm90IGRpc2FibGVkIHlldC5cbiIpOwo+IC0JV0FSTighKEk5MTVfUkVBRChEQ19TVEFU RV9FTikgJiBEQ19TVEFURV9FTl9EQzkpLAo+ICsJV0FSTighKGRjX3N0YXRlICYgRENfU1RBVEVf RU5fREM5KSwKPiAgCQkiREM5IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBkaXNhYmxlZC5cbiIp Owo+IC0JV0FSTihJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYgRENfU1RBVEVfRU5fVVBUT19EQzUs Cj4gKwlXQVJOKGRjX3N0YXRlICYgRENfU1RBVEVfRU5fVVBUT19EQzUsCj4gIAkJIkRDNSBzdGls bCBub3QgZGlzYWJsZWQuXG4iKTsKPiAgCj4gIAkgLyoKPiBAQCAtNDkxLDEzICs1NDAsMTQgQEAg c3RhdGljIHZvaWQgZ2VuOV9zZXRfZGNfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1aW50MzJfdCBzdGF0ZSkKPiAgCWlmIChzdGF0ZSAmIERDX1NUQVRFX0VOX1VQVE9f REM1X0RDNl9NQVNLKQo+ICAJCWdlbjlfc2V0X2RjX3N0YXRlX2RlYnVnbWFza19tZW1vcnlfdXAo ZGV2X3ByaXYpOwo+ICAKPiAtCXZhbCA9IEk5MTVfUkVBRChEQ19TVEFURV9FTik7Cj4gKwl2YWwg PSBnZW45X2dldF9kY19zdGF0ZShkZXZfcHJpdik7Cj4gIAlEUk1fREVCVUdfS01TKCJTZXR0aW5n IERDIHN0YXRlIGZyb20gJTAyeCB0byAlMDJ4XG4iLAo+ICAJCSAgICAgIHZhbCAmIG1hc2ssIHN0 YXRlKTsKPiAgCXZhbCAmPSB+bWFzazsKPiAgCXZhbCB8PSBzdGF0ZTsKPiAgCUk5MTVfV1JJVEUo RENfU1RBVEVfRU4sIHZhbCk7Cj4gLQlQT1NUSU5HX1JFQUQoRENfU1RBVEVfRU4pOwo+ICsKPiAr CVdBUk5fT04oKGdlbjlfZ2V0X2RjX3N0YXRlKGRldl9wcml2KSAmIG1hc2spICE9IHN0YXRlKTsK PiAgfQo+ICAKPiAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gQEAgLTUzMSwxMyArNTgxLDEzIEBAIHN0YXRpYyB2b2lkIGFzc2VydF9jYW5f ZW5hYmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiAgCWJvb2wgcGcyX2VuYWJsZWQgPSBp bnRlbF9kaXNwbGF5X3Bvd2VyX3dlbGxfaXNfZW5hYmxlZChkZXZfcHJpdiwKPiAgCQkJCQlTS0xf RElTUF9QV18yKTsKPiArCWNvbnN0IHUzMiBkY19zdGF0ZSA9IGdlbjlfZ2V0X2RjX3N0YXRlKGRl dl9wcml2KTsKPiAgCj4gIAlXQVJOX09OQ0UoIUlTX1NLWUxBS0UoZGV2KSAmJiAhSVNfS0FCWUxB S0UoZGV2KSwKPiAgCQkgICJQbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgREM1LlxuIik7Cj4gIAlX QVJOX09OQ0UoIUhBU19SVU5USU1FX1BNKGRldiksICJSdW50aW1lIFBNIG5vdCBlbmFibGVkLlxu Iik7Cj4gIAlXQVJOX09OQ0UocGcyX2VuYWJsZWQsICJQRzIgbm90IGRpc2FibGVkIHRvIGVuYWJs ZSBEQzUuXG4iKTsKPiAtCj4gLQlXQVJOX09OQ0UoKEk5MTVfUkVBRChEQ19TVEFURV9FTikgJiBE Q19TVEFURV9FTl9VUFRPX0RDNSksCj4gKwlXQVJOX09OQ0UoZGNfc3RhdGUgJiBEQ19TVEFURV9F Tl9VUFRPX0RDNSwKPiAgCQkgICJEQzUgYWxyZWFkeSBwcm9ncmFtbWVkIHRvIGJlIGVuYWJsZWQu XG4iKTsKPiAgCWFzc2VydF9ycG1fd2FrZWxvY2tfaGVsZChkZXZfcHJpdik7Cj4gIAo+IEBAIC01 NjgsMTMgKzYxOCwxNCBAQCBzdGF0aWMgdm9pZCBnZW45X2VuYWJsZV9kYzUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2VuYWJsZV9k YzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiArCWNvbnN0IHUzMiBkY19zdGF0ZSA9IGdl bjlfZ2V0X2RjX3N0YXRlKGRldl9wcml2KTsKPiAgCj4gIAlXQVJOX09OQ0UoIUlTX1NLWUxBS0Uo ZGV2KSAmJiAhSVNfS0FCWUxBS0UoZGV2KSwKPiAgCQkgICJQbGF0Zm9ybSBkb2Vzbid0IHN1cHBv cnQgREM2LlxuIik7Cj4gIAlXQVJOX09OQ0UoIUhBU19SVU5USU1FX1BNKGRldiksICJSdW50aW1l IFBNIG5vdCBlbmFibGVkLlxuIik7Cj4gIAlXQVJOX09OQ0UoSTkxNV9SRUFEKFVUSUxfUElOX0NU TCkgJiBVVElMX1BJTl9FTkFCTEUsCj4gIAkJICAiQmFja2xpZ2h0IGlzIG5vdCBkaXNhYmxlZC5c biIpOwo+IC0JV0FSTl9PTkNFKChJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYgRENfU1RBVEVfRU5f VVBUT19EQzYpLAo+ICsJV0FSTl9PTkNFKGRjX3N0YXRlICYgRENfU1RBVEVfRU5fVVBUT19EQzYs Cj4gIAkJICAiREM2IGFscmVhZHkgcHJvZ3JhbW1lZCB0byBiZSBlbmFibGVkLlxuIik7Cj4gIAo+ ICAJYXNzZXJ0X2Nzcl9sb2FkZWQoZGV2X3ByaXYpOwo+IEBAIC01ODksNyArNjQwLDcgQEAgc3Rh dGljIHZvaWQgYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAlpZiAoZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQo+ ICAJCXJldHVybjsKPiAgCj4gLQlXQVJOX09OQ0UoIShJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYg RENfU1RBVEVfRU5fVVBUT19EQzYpLAo+ICsJV0FSTl9PTkNFKCEoZ2VuOV9nZXRfZGNfc3RhdGUo ZGV2X3ByaXYpICYgRENfU1RBVEVfRU5fVVBUT19EQzYpLAo+ICAJCSAgIkRDNiBhbHJlYWR5IHBy b2dyYW1tZWQgdG8gYmUgZGlzYWJsZWQuXG4iKTsKPiAgfQo+ICAKPiBAQCAtNzMyLDEwICs3ODMs NyBAQCBzdGF0aWMgdm9pZCBoc3dfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgc3RhdGljIGJvb2wgc2tsX3Bvd2VyX3dlbGxfZW5hYmxlZChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJc3RydWN0IGk5MTVfcG93 ZXJfd2VsbCAqcG93ZXJfd2VsbCkKPiAgewo+IC0JdWludDMyX3QgbWFzayA9IFNLTF9QT1dFUl9X RUxMX1JFUShwb3dlcl93ZWxsLT5kYXRhKSB8Cj4gLQkJU0tMX1BPV0VSX1dFTExfU1RBVEUocG93 ZXJfd2VsbC0+ZGF0YSk7Cj4gLQo+IC0JcmV0dXJuIChJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0RS SVZFUikgJiBtYXNrKSA9PSBtYXNrOwo+ICsJcmV0dXJuIGdlbjlfcG93ZXJfd2VsbF9lbmFibGVk KGRldl9wcml2LCBwb3dlcl93ZWxsLT5kYXRhKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgc2ts X3Bvd2VyX3dlbGxfc3luY19odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g QEAgLTc2Miw3ICs4MTAsMTEgQEAgc3RhdGljIHZvaWQgc2tsX3Bvd2VyX3dlbGxfZGlzYWJsZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIHN0YXRpYyBib29sIGdlbjlfZGNf b2ZmX3Bvd2VyX3dlbGxfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gIAkJCQkJICAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKPiAgewo+IC0J cmV0dXJuIChJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYgRENfU1RBVEVfRU5fVVBUT19EQzVfREM2 X01BU0spID09IDA7Cj4gKwlpZiAoZ2VuOV9wdzFfZW5hYmxlZChkZXZfcHJpdikpCj4gKwkJcmV0 dXJuIChJOTE1X1JFQUQoRENfU1RBVEVfRU4pICYKPiArCQkJRENfU1RBVEVfRU5fVVBUT19EQzVf REM2X01BU0spID09IDA7Cj4gKwo+ICsJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2 b2lkIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAtLSAKPiAyLjUuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=