From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/2] drm/i915: kill intel_resume_prepare() Date: Tue, 28 Oct 2014 16:47:14 +0200 Message-ID: <1414507634.8635.44.camel@intelbox> References: <20141023121346.GG26941@phenom.ffwll.local> <1414439673-1994-1-git-send-email-przanoni@gmail.com> <1414501935.8635.16.camel@intelbox> 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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id DC1336E742 for ; Tue, 28 Oct 2014 07:47:38 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Intel Graphics Development , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE0LTEwLTI4IGF0IDExOjQzIC0wMjAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4g MjAxNC0xMC0yOCAxMToxMiBHTVQtMDI6MDAgSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29t PjoKPiA+IE9uIE1vbiwgMjAxNC0xMC0yNyBhdCAxNzo1NCAtMDIwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+ID4+IEZyb206IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ ID4+Cj4gPj4gQmVjYXVzZSwgcmVhbGx5LCB0aGUgYWJzdHJhY3Rpb24gaXMgbm90IHdvcmtpbmcg Zm9yIHVzLiBJdCBpcyBuaWNlIGZvcgo+ID4+IFZMViwgYnV0IGRvZXNuJ3QgYWRkIGFueXRoaW5n IHVzZWZ1bCBvbiBTTkIvSFNXL0JEVy4gV2Ugd2FudCB0byBjaGFuZ2UKPiA+PiB0aGlzIGNvZGUg ZHVlIHRvIGEgcmVjZW50bHktZGlzY292ZXJlZCBidWcsIGJ1dCB3ZSBjYW4ndCBzZWVtIHRvIGZp bmQKPiA+PiBhIG5pY2Ugc29sdXRpb24gdGhhdCByZXBlY3RzIHRoZSBjdXJyZW50IGFic3RyYWN0 aW9uLiBTbyBsZXQncyBraWxsCj4gPj4gaW50ZWxfcmVzdW1lX3ByZXBhcmUoKSBhbmQgaXRzIGZy aWVuZHMsIGFuZCBhZGQgYW4gZXF1aXZhbGVudAo+ID4+IGltcGxlbWVudGF0aW9uIHRvIGJvdGgg aXRzIGNhbGxlcnMuCj4gPj4KPiA+PiBBbHNvLCBsb29rIGF0IHRoZSBkaWZmc3RhdCEKPiA+Cj4g PiBUaGUgcmVhc29uIGZvciBpbnRlbF9yZXN1bWVfcHJlcGFyZSgpIGFuZCBpbnRlbF9zdXNwZW5k X2NvbXBsZXRlKCkgd2FzCj4gPiB0byBjb250YWluIHBsYXRmb3JtIGRlcGVuZGVudCBjb2RlIGlu IHRob3NlIGFuZCB0byBzaGFyZSBwYXJ0cyBiZXR3ZWVuCj4gPiB0aGUgc3lzdGVtIGFuZCBydW50 aW1lIHN1c3BlbmQgY29kZSwgc2VlIHRoZSBkaXNjdXNzaW9uIGF0IFsxXS4KPiAKPiBXZWxsLCBJ TUhPIHdlIGFyZSBqdXN0IHByZXRlbmRpbmcgdG8gInNoYXJlIiB0aGUgY29kZSBwYXRocyBiZXR3 ZWVuIFMzCj4gYW5kIFJQTSBiZWNhdXNlIHdlIHN0aWxsIGhhdmUgdGhlICJib29sIHJwbV9yZXN1 bWUiIGFyZ3VtZW50IG9uIHRoZQo+IGN1cnJlbnQgY29kZS4gSU1ITyB0aGlzIGlzIG9uZSBvZiB0 aGUgYmlnZ2VzdCByZWFzb25zIHdoeSB0aGUgY29kZQo+IGJlY2FtZSBzbyBjb21wbGV4OiB0YWtl IGEgbG9vayBhdCB0aGUgc2Vjb25kIHZlcnNpb24gb2YgbXkgcGF0Y2gsIGl0Cj4gYWRkZWQgZXZl biBtb3JlICJpZiAocnBtX3Jlc3VtZSkiIGNoZWNrcy4KClllcywgYnV0IHRoYXQncyBvbmUgbW9y ZSB0aGluZyB3ZSBjb3VsZCB0cnkgdG8gcmVtb3ZlIGF0IG9uZSBwb2ludC4gRm9yCmV4YW1wbGUg aW50ZWxfaW5pdF9wY2hfcmVmY2xrKCkgaW4gc25iX3Jlc3VtZV9wcmVwYXJlKCkgY291bGQgYmUg anVzdCBhcwp3ZWxsIGNhbGxlZCBmb3IgYm90aCBwYXRocy4KCj4gSSBrbm93IHRoYXQgYWRkaW5n IG1vcmUKPiBJU19WTFYgY2hlY2tzIGlzIG5vdCBjb29sLCBidXQgdGhlIFMzIGFuZCBSUE0gY29k ZSBwYXRocyBhcmUgdmVyeQo+IGRpZmZlcmVudCBoZXJlLCBhbmQgdGhlIFZMViBjb2RlIGV2ZW4g cmVxdWlyZXMgYSByZWFsbHktd2VpcmQKPiBvcmRlcmluZy4gSSBfcmVhbGx5XyB0aGluayB0aGUg Y29kZSBiZWNvbWVzIG11Y2ggZWFzaWVyIHRvCj4gcmVhZC91bmRlcnN0YW5kL21vZGlmeSBieSBq dXN0IGtpbGxpbmcgaW50ZWxfcmVzdW1lX3ByZXBhcmUoKS4KPiAKPiA+IEkgc3RpbGwKPiA+IHRo aW5rIHRoaXMgaXMgYSBnb29kIGlkZWEsIGJ1dCBJIGFkbWl0IHdlIG5lZWQgdG8gd29yayBvbiBp dCBtb3JlLCBieQo+ID4gc2hhcmluZyBtb3JlIGJldHdlZW4gdGhlIHR3byBwYXRocy4gU28gZm9y IGV4YW1wbGUgaW5zdGVhZCBvZiBkb2luZyB0aGlzCj4gPiByZXZlcnQgbm93IEkgd291bGQgY29u c2lkZXIgY2FsbGluZyBpbnRlbF91bmNvcmVfZWFybHlfc2FuaXRpemUoKSBmb3IKPiA+IGJvdGgg c3lzdGVtIGFuZCBydW50aW1lIHJlc3VtZS4KPiAKPiBUaGF0IHN0aWxsIHdvdWxkbid0IHNvbHZl IHRoZSBvcmRlcmluZyBwcm9ibGVtIHdlIGhhdmUgb24gUzMuIE15IGdvYWwKPiBpcyBqdXN0IHRv IGZpeCBhIHZlcnkgc2ltcGxlIGJ1ZyB3aXRoIG91ciBmdW5jdGlvbiBvcmRlcmluZy4uLgoKSSB0 aGluayBpdCB3b3VsZCBieSBoYXZpbmcgaW4gaW50ZWxfcmVzdW1lX3ByZXBhcmUoKToKCmlmIChJ U19WQUxMRVlWSUVXKGRldl9wcml2KSkKCXJldCA9IHZsdl9yZXN1bWVfcHJlcGFyZShkZXZfcHJp diwgcnBtX3Jlc3VtZSk7CmludGVsX3VuY29yZV9lYXJseV9zYW5pdGl6ZShkZXYsdHJ1ZSk7Cmlm IChJU19IQVNXRUxMKGRldl9wcml2KSB8fElTX0JST0FEV0VMTChkZXZfcHJpdikpCgloc3dfZGlz YWJsZV9wYzgoZGV2X3ByaXYpOwoKYW5kIGNhbGwgaXQgZm9yIGJvdGggc3lzdGVtIGFuZCBydW50 aW1lIHJlc3VtZS4KCj4gPiBCdXQgaWYgdGhhdCdzIG5vdCBmZWFzaWJsZSBhbmQgeW91IHdhbnQg dG8gZ28gYWhlYWQgd2l0aCB0aGUgcmVtb3ZhbAo+ID4gdGhlbiBwbGVhc2UgYWxzbyByZW1vdmUg aW50ZWxfc3VzcGVuZF9jb21wbGV0ZSgpLCBsZWF2aW5nIGl0IGluIHdvdWxkIGJlCj4gPiBjb25m dXNpbmcgaW1vLgo+IAo+IEkgZG9uJ3QgdGhpbmsgc28uIEl0IGRvZXNuJ3QgaGF2ZSBhbGwgdGhl ICJib29sIHJwbV9yZXN1bWUiIGNvbmZ1c2lvbiwKPiB0aGVyZSdzIG5vIGZ1bmN0aW9uIG9yZGVy aW5nIGlzc3VlcyB3aXRoIGl0LCBhbmQgYm90aCB0aGUgUzMgYW5kIFJQTQo+IHZlcnNpb25zIGFy ZSBhY3R1YWxseSBpZGVudGljYWwuIEkgZG9uJ3QgdGhpbmsga2lsbGluZyBpdCBpcyByZWxldmFu dAo+IHRvIHRoZSBidWcgd2UncmUgdHJ5aW5nIHRvIGZpeCBoZXJlLCBhbmQgSSBhbHNvIGRvbid0 IHRoaW5rIHRoYXQKPiByZW1vdmluZyB0IHdvdWxkIGJlIGFuIGltcHJvdmVtZW50IHRvIHRoZSBj b2RlIGJhc2UuCgpJdCdzIGNvbmZ1c2luZyB0byBjYWxsIHZsdl9yZXN1bWVfcHJlcGFyZSgpLCBo c3dfZGlzYWJsZV9wYzgoKSBmcm9tCmk5MTVfZHJtX3Jlc3VtZV9lYXJseSgpIGRpcmVjdGx5IGFu ZCBoYXZlIHRvIGp1bXAgb3ZlciBzb21lIHdyYXBwZXJzIHRvCmZpbmQgdGhlIGNvcnJlc3BvbmRp bmcgdmx2X3N1c3BlbmRfY29tcGxldGUoKSwgaHN3X2VuYWJsZV9wYzgoKSBpbgppOTE1X2RybV9z dXNwZW5kX2NvbXBsZXRlKCkuIEJ1dCB0aGlzIGlzIHNvbWV3aGF0IGJpa2VzaGVkZGluZywgc28K ZWl0aGVyIHdheSBmZWVsIGZyZWUgdG8gYWRkIG9uIGJvdGggcGF0Y2hlczoKUmV2aWV3ZWQtYnk6 IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KCj4gCj4gPgo+ID4gLS1JbXJlCj4gPgo+ ID4gWzFdCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdm eC8yMDE0LUF1Z3VzdC8wNTAwMzYuaHRtbAo+ID4KPiA+Pgo+ID4+IHYyOiAtIFJlYmFzZS4KPiA+ Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwu Y29tPgo+ID4+IC0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIHwgNjMg KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+PiAgMSBmaWxlIGNo YW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCj4gPj4gaW5kZXggMDM1ZWM5NC4uMzNiNmZjNCAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4+IEBAIC01NTEsOCArNTUxLDggQEAgc3RhdGljIHZv aWQgaW50ZWxfc3VzcGVuZF9lbmNvZGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gPj4gIH0KPiA+Pgo+ID4+ICBzdGF0aWMgaW50IGludGVsX3N1c3BlbmRfY29tcGxldGUo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+PiAtc3RhdGljIGludCBpbnRl bF9yZXN1bWVfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBycG1fcmVzdW1lKTsKPiA+PiArc3Rh dGljIGludCB2bHZfcmVzdW1lX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJwbV9yZXN1bWUpOwo+ ID4+Cj4gPj4gIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ID4+ICB7Cj4gPj4gQEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJt X3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ICBzdGF0aWMgaW50IGk5MTVfZHJt X3Jlc3VtZV9lYXJseShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ICB7Cj4gPj4gICAgICAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ PiAtICAgICBpbnQgcmV0Owo+ID4+ICsgICAgIGludCByZXQgPSAwOwo+ID4+Cj4gPj4gICAgICAg LyoKPiA+PiAgICAgICAgKiBXZSBoYXZlIGEgcmVzdW1lIG9yZGVyaW5nIGlzc3VlIHdpdGggdGhl IHNuZC1oZGEgZHJpdmVyIGFsc28KPiA+PiBAQCAtNzYwLDcgKzc2MCwxMCBAQCBzdGF0aWMgaW50 IGk5MTVfZHJtX3Jlc3VtZV9lYXJseShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+Cj4gPj4g ICAgICAgcGNpX3NldF9tYXN0ZXIoZGV2LT5wZGV2KTsKPiA+Pgo+ID4+IC0gICAgIHJldCA9IGlu dGVsX3Jlc3VtZV9wcmVwYXJlKGRldl9wcml2LCBmYWxzZSk7Cj4gPj4gKyAgICAgaWYgKElTX0hB U1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCj4gPj4gKyAgICAgICAg ICAgICBoc3dfZGlzYWJsZV9wYzgoZGV2X3ByaXYpOwo+ID4+ICsgICAgIGVsc2UgaWYgKElTX1ZB TExFWVZJRVcoZGV2X3ByaXYpKQo+ID4+ICsgICAgICAgICAgICAgcmV0ID0gdmx2X3Jlc3VtZV9w cmVwYXJlKGRldl9wcml2LCBmYWxzZSk7Cj4gPj4gICAgICAgaWYgKHJldCkKPiA+PiAgICAgICAg ICAgICAgIERSTV9FUlJPUigiUmVzdW1lIHByZXBhcmUgZmFpbGVkOiAlZCxDb250aW51aW5nIHJl c3VtZVxuIiwgcmV0KTsKPiA+Pgo+ID4+IEBAIC05ODYsMjUgKzk4OSw2IEBAIHN0YXRpYyBpbnQg aHN3X3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ID4+ICAgICAgIHJldHVybiAwOwo+ID4+ICB9Cj4gPj4KPiA+PiAtc3RhdGljIGludCBzbmJfcmVz dW1lX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcnBtX3Jlc3VtZSkKPiA+PiAtewo+ID4+IC0g ICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ID4+IC0KPiA+PiAt ICAgICBpZiAocnBtX3Jlc3VtZSkKPiA+PiAtICAgICAgICAgICAgIGludGVsX2luaXRfcGNoX3Jl ZmNsayhkZXYpOwo+ID4+IC0KPiA+PiAtICAgICByZXR1cm4gMDsKPiA+PiAtfQo+ID4+IC0KPiA+ PiAtc3RhdGljIGludCBoc3dfcmVzdW1lX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcnBtX3Jl c3VtZSkKPiA+PiAtewo+ID4+IC0gICAgIGhzd19kaXNhYmxlX3BjOChkZXZfcHJpdik7Cj4gPj4g LQo+ID4+IC0gICAgIHJldHVybiAwOwo+ID4+IC19Cj4gPj4gLQo+ID4+ICAvKgo+ID4+ICAgKiBT YXZlIGFsbCBHdW5pdCByZWdpc3RlcnMgdGhhdCBtYXkgYmUgbG9zdCBhZnRlciBhIEQzIGFuZCBh IHN1YnNlcXVlbnQKPiA+PiAgICogUzBpW1IxMjNdIHRyYW5zaXRpb24uIFRoZSBsaXN0IG9mIHJl Z2lzdGVycyBuZWVkaW5nIGEgc2F2ZS9yZXN0b3JlIGlzCj4gPj4gQEAgLTE0NjIsNyArMTQ0Niw3 IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2aWNl KQo+ID4+ICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gdG9fcGNpX2RldihkZXZpY2UpOwo+ ID4+ICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7 Cj4gPj4gICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPiA+PiAtICAgICBpbnQgcmV0Owo+ID4+ICsgICAgIGludCByZXQgPSAwOwo+ID4+ Cj4gPj4gICAgICAgaWYgKFdBUk5fT05fT05DRSghSEFTX1JVTlRJTUVfUE0oZGV2KSkpCj4gPj4g ICAgICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsKPiA+PiBAQCAtMTQ3Miw3ICsxNDU2LDEzIEBA IHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2aWNlKQo+ ID4+ICAgICAgIGludGVsX29wcmVnaW9uX25vdGlmeV9hZGFwdGVyKGRldiwgUENJX0QwKTsKPiA+ PiAgICAgICBkZXZfcHJpdi0+cG0uc3VzcGVuZGVkID0gZmFsc2U7Cj4gPj4KPiA+PiAtICAgICBy ZXQgPSBpbnRlbF9yZXN1bWVfcHJlcGFyZShkZXZfcHJpdiwgdHJ1ZSk7Cj4gPj4gKyAgICAgaWYg KElTX0dFTjYoZGV2X3ByaXYpKQo+ID4+ICsgICAgICAgICAgICAgaW50ZWxfaW5pdF9wY2hfcmVm Y2xrKGRldik7Cj4gPj4gKyAgICAgZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNf QlJPQURXRUxMKGRldl9wcml2KSkKPiA+PiArICAgICAgICAgICAgIGhzd19kaXNhYmxlX3BjOChk ZXZfcHJpdik7Cj4gPj4gKyAgICAgZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikpCj4g Pj4gKyAgICAgICAgICAgICByZXQgPSB2bHZfcmVzdW1lX3ByZXBhcmUoZGV2X3ByaXYsIHRydWUp Owo+ID4+ICsKPiA+PiAgICAgICAvKgo+ID4+ICAgICAgICAqIE5vIHBvaW50IG9mIHJvbGxpbmcg YmFjayB0aGluZ3MgaW4gY2FzZSBvZiBhbiBlcnJvciwgYXMgdGhlIGJlc3QKPiA+PiAgICAgICAg KiB3ZSBjYW4gZG8gaXMgdG8gaG9wZSB0aGF0IHRoaW5ncyB3aWxsIHN0aWxsIHdvcmsgKGFuZCBk aXNhYmxlIFJQTSkuCj4gPj4gQEAgLTE1MTAsMjkgKzE1MDAsNiBAQCBzdGF0aWMgaW50IGludGVs X3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ ICAgICAgIHJldHVybiByZXQ7Cj4gPj4gIH0KPiA+Pgo+ID4+IC0vKgo+ID4+IC0gKiBUaGlzIGZ1 bmN0aW9uIGltcGxlbWVudHMgY29tbW9uIGZ1bmN0aW9uYWxpdHkgb2YgcnVudGltZSBhbmQgc3lz dGVtCj4gPj4gLSAqIHJlc3VtZSBzZXF1ZW5jZS4gVmFyaWFibGUgcnBtX3Jlc3VtZSB1c2VkIGZv ciBpbXBsZW1lbnRpbmcgZGlmZmVyZW50Cj4gPj4gLSAqIGNvZGUgcGF0aHMuCj4gPj4gLSAqLwo+ ID4+IC1zdGF0aWMgaW50IGludGVsX3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJw bV9yZXN1bWUpCj4gPj4gLXsKPiA+PiAtICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2 X3ByaXYtPmRldjsKPiA+PiAtICAgICBpbnQgcmV0Owo+ID4+IC0KPiA+PiAtICAgICBpZiAoSVNf R0VONihkZXYpKQo+ID4+IC0gICAgICAgICAgICAgcmV0ID0gc25iX3Jlc3VtZV9wcmVwYXJlKGRl dl9wcml2LCBycG1fcmVzdW1lKTsKPiA+PiAtICAgICBlbHNlIGlmIChJU19IQVNXRUxMKGRldikg fHwgSVNfQlJPQURXRUxMKGRldikpCj4gPj4gLSAgICAgICAgICAgICByZXQgPSBoc3dfcmVzdW1l X3ByZXBhcmUoZGV2X3ByaXYsIHJwbV9yZXN1bWUpOwo+ID4+IC0gICAgIGVsc2UgaWYgKElTX1ZB TExFWVZJRVcoZGV2KSkKPiA+PiAtICAgICAgICAgICAgIHJldCA9IHZsdl9yZXN1bWVfcHJlcGFy ZShkZXZfcHJpdiwgcnBtX3Jlc3VtZSk7Cj4gPj4gLSAgICAgZWxzZQo+ID4+IC0gICAgICAgICAg ICAgcmV0ID0gMDsKPiA+PiAtCj4gPj4gLSAgICAgcmV0dXJuIHJldDsKPiA+PiAtfQo+ID4+IC0K PiA+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIGk5MTVfcG1fb3BzID0gewo+ID4+ ICAgICAgIC8qCj4gPj4gICAgICAgICogUzBpeCAodmlhIHN5c3RlbSBzdXNwZW5kKSBhbmQgUzMg ZXZlbnQgaGFuZGxlcnMgW1BNU0dfU1VTUEVORCwKPiA+Cj4gPgo+IAo+IAo+IAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==