From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: fix failure to power off after hibernate Date: Thu, 26 Feb 2015 21:01:27 +0100 Message-ID: <20150226200127.GU24485@phenom.ffwll.local> References: <87bnkjcqjt.fsf@nemi.mork.no> <1424789904-26699-1-git-send-email-bjorn@mork.no> <1424794340.15554.3.camel@intel.com> <878ufnjfrr.fsf@nemi.mork.no> <1424889214.5991.4.camel@intel.com> <87bnkhqan8.fsf@nemi.mork.no> <1424976648.17078.1.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1424976648.17078.1.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, stable@vger.kernel.org, Daniel Vetter , =?iso-8859-1?Q?Bj=F8rn?= Mork List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBGZWIgMjYsIDIwMTUgYXQgMDg6NTA6NDhQTSArMDIwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIHRvLCAyMDE1LTAyLTI2IGF0IDEwOjM0ICswMTAwLCBCasO4cm4gTW9yayB3cm90ZToK PiA+IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4gd3JpdGVzOgo+ID4KPiA+ID4+IFRo YXQgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0sIHdpdGggb25seSBwY2lfc2V0X3Bvd2VyX3N0YXRl IGNvbW1lbnRlZAo+ID4gPj4gb3V0LiAgRG8geW91IHN0aWxsIHdhbnQgbWUgdG8gdHJ5IHdpdGgg cGNpX2Rpc2FibGVfZGV2aWNlKCkgY29tbWVudGVkCj4gPiA+PiBvdXQgYXMgd2VsbD8KPiA+ID4K PiA+ID4gTm8sIGJ1dCBpdCB3b3VsZCBoZWxwIGlmIHlvdSBjb3VsZCBzdGlsbCB0cnkgdGhlIHR3 byBhdHRhY2hlZCBwYXRjaAo+ID4gPiBzZXBhcmF0ZWx5LCB3aXRob3V0IGFueSBvZiB0aGUgcHJl dmlvdXMgd29ya2Fyb3VuZHMuIEJhc2VkIG9uIHRoZQo+ID4gPiByZXN1bHQsIHdlJ2xsIGZvbGxv dyB1cCB3aXRoIGEgZml4IHRoYXQgYWRkcyBmb3IgeW91ciBzcGVjaWZpYyBwbGF0Zm9ybQo+ID4g PiBlaXRoZXIgb2YgdGhlIGF0dGFjaGVkIHdvcmthcm91bmRzIG9yIHNpbXBseSBhdm9pZHMgcHV0 dGluZyB0aGUgZGV2aWNlCj4gPiA+IGludG8gRDMgKGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhdGNo IHlvdSBhbHJlYWR5IHRyaWVkKS4KPiA+Cj4gPiBOb25lIG9mIHRob3NlIHBhdGNoZXMgbWFkZSBh bnkgZGlmZmVyZW5jZS4gIFRoZSBsYXB0b3Agc3RpbGwgaGFuZ3MgYXQKPiA+IHBvd2VyLW9mZi4K PiA+Cj4gPiBOb3QgcmVhbGx5IHN1cnByaXNpbmcsIGlzIGl0PyAgUHJldmlvdXMgdGVzdGluZyBz aG93cyB0aGF0IHRoZSBoYW5nCj4gPiBvY2N1cnMgYXQgdGhlIHBjaV9zZXRfcG93ZXJfc3RhdGUo ZHJtX2Rldi0+cGRldiwgUENJX0QzaG90KSBjYWxsIGluIHRoZQo+ID4gcG93ZXJvZmZfbGF0ZSBo b29rLiAgSXQgaXMgaGFyZCB0byBzZWUgaG93IHJlcGxhY2luZyBpdCBieSBhbiBhdHRlbXB0IHRv Cj4gPiBzZXQgRDNjb2xkLCBvciBhZGRpbmcgYW55IGNhbGwgYWZ0ZXIgdGhpcyBwb2ludCwgY291 bGQgcG9zc2libHkgY2hhbmdlCj4gPiBhbnl0aGluZy4gIFRoZSBzeXN0ZW0gaXMgc3RpbCBoYW5n aW5nIGF0IHRoZSBwY2lfc2V0X3Bvd2VyX3N0YXRlKCkgY2FsbC4KPiAKPiBKdWRnaW5nIGZyb20g dGhlIGJsaW5raW5nIExFRCwgSSBhc3N1bWUgdGhhdCBpdCdzIG5vdAo+IHBjaV9zZXRfcG93ZXJf c3RhdGUoKSB0aGF0IGhhbmdzIHRoZSBtYWNoaW5lLCBidXQgdGhlIGhhbmcgaGFwcGVucyBpbgo+ IEJJT1MgY29kZS4KPiAKPiA+IFRoZSBnZW5lcmljIHBjaS1kcml2ZXIgY29kZSB3aWxsIHB1dCB0 aGUgaTkxNSBkZXZpY2UgaW50byBQQ0lfRDNob3QgZm9yCj4gPiB5b3UsIHdvbid0IGl0PyBXaHkg ZG8geW91IG5lZWQgdG8gZHVwbGljYXRlIHRoYXQgaW4gdGhlIGRyaXZlciwKPiA+ICprbm93aW5n KiB0aGF0IGRvaW5nIHNvIGJyZWFrcyAoYXQgbGVhc3Qgc29tZSkgc3lzdGVtcz8KPiAKPiBMZXR0 aW5nIHRoZSBwY2kgY29yZSBwdXQgdGhlIGRldmljZSBpbnRvIEQzIHdvdWxkbid0IGdldCByaWQg b2YgdGhlIHByb2JsZW0uCj4gSXQncyBwdXR0aW5nIHRoZSBkZXZpY2UgaW50byBEMyBpbiB0aGUg Zmlyc3QgcGxhY2Ugd2hhdCBjYXVzZXMgaXQuCj4gCj4gPiBJIGhvbmVzdGx5IGRvbid0IHRoaW5r IHRoaXMgImxldCdzIHRyeSBzb21lIHJhbmRvbSBjb2RlIiBpcyB0aGUgcHJvcGVyCj4gPiB3YXkg dG8gZml4IHRoaXMgYnVnIChvciBhbnkgb3RoZXIgYnVnIGZvciB0aGF0IG1hdHRlcikuICBZb3Ug bmVlZCB0bwo+ID4gc3RhcnQgdW5kZXJzdGFuZGluZyB0aGUgY29kZSB5b3Ugd3JpdGUsIGFuZCB0 aGUgZmlyc3Qgc3RlcCBpcyBieQo+ID4gYWN0dWFsbHkgZXhwbGFpbmluZyB0aGUgY2hhbmdlcyB5 b3UgbWFrZS4KPiAKPiBXZSBoYXZlIGEgZ29vZCB1bmRlcnN0YW5kaW5nIGFib3V0IHRoZSBpc3N1 ZTogdGhlIEJJT1Mgb24geW91ciBwbGF0Zm9ybQo+IGRvZXMgc29tZXRoaW5nIHVuZXhwZWN0ZWQg YmVoaW5kIHRoZSBiYWNrIG9mIHRoZSBkcml2ZXIva2VybmVsLiBJbiB0aGF0Cj4gc2Vuc2UgdGhl IHBhdGNoZXMgd2VyZSBub3QgcmFuZG9tLCBmb3IgaW5zdGFuY2UgdGhlIGZpcnN0IG9uZSBpcyBi YXNlZCBvbgo+IGFuIGV4aXN0aW5nIHdvcmthcm91bmQgZm9yIGFuIGlzc3VlIHRoYXQgcmVzZW1i bGVzIHF1aXRlIGEgbG90IHlvdXJzLCBzZWUKPiBwY2lfcG1fcG93ZXJvZmZfbm9pcnEoKS4KPiAK PiA+IEkgYWxzbyBiZWxpZXZlIHRoYXQgeW91IGNvbXBsZXRlbHkgbWlzcyB0aGUgZmFjdCB0aGF0 IHRoaXMgYnVnIGhhcwo+ID4gc3Vydml2ZWQgYSBmdWxsIHJlbGVhc2UgY3ljbGUgYmVmb3JlIHlv dSBiZWNhbWUgYXdhcmUgb2YgaXQsIGFuZCB0aGUKPiA+IGltcGxpY2F0aW9ucyB0aGlzIGhhcyB3 cnQgb3RoZXIgYWZmZWN0ZWQgc3lzdGVtcy91c2Vycy4gIEkgYXNzdW1lIHlvdQo+ID4gdW5kZXJz dGFuZCB0aGF0IG15IHN5c3RlbSBpc24ndCBvbmUtb2YtYS1raW5kLCBUaGlzIG1lYW5zIHRoYXQg dGhlcmUgYXJlCj4gPiBvdGhlciBhZmZlY3RlZCB1c2VycyB3aXRoIGlkZW50aWNhbC9zaW1pbGFy IHN5c3RlbXMuICBOb3csIGlmIG5vbmUgb2YKPiA+IHRob3NlIHVzZXJzIHJlcG9ydGVkIHRoZSBi dWcgdG8geW91ICh3ZSBhbGwga25vdyB3aHk6IExpbnV4IGtlcm5lbAo+ID4gZGV2ZWxvcG1lbnQg aXMgY3VycmVudGx5IGxpbWl0ZWQgYnkgdGhlIGF2YWlsYWJsZSB0ZXN0aW5nIHJlc291cmNlcywg Tk9UCj4gPiBieSB0aGUgYXZhaWxhYmxlIGRldmVsb3BlciByZXNvdXJjZXMpLCB0aGVuIGhvdyBk byB5b3Uga25vdyB0aGF0IHRoZXJlCj4gPiBhcmVuJ3QgYSBudW1iZXIgb2Ygb3RoZXIgc3lzdGVt cyBhZmZlY3RlZCBhcyB3ZWxsPwo+ID4KPiA+IExldCBtZSBhbnN3ZXIgdGhhdCBmb3IgeW91OiAg WW91IGRvbid0Lgo+ID4KPiA+IFdoaWNoIGlzIHdoeSB5b3UgbXVzdCBleHBsYWluIHRoZSBtZWNo YW5pc20gdHJpZ2dlcmluZyB0aGUgYnVnLCBwcm92aW5nCj4gPiB0aGF0IGl0IGlzIGEgY2hpcHNl dC9zeXN0ZW0gc3BlY2lmaWMgaXNzdWUuICBCZWNhdXNlIHRoYXQncyB0aGUgb25seSB3YXkKPiA+ IHlvdSB3aWxsICprbm93KiB0aGF0IHlvdSBoYXZlIHNvbHZlZCB0aGUgcHJvYmxlbSBub3Qgb25s eSBmb3IgbWUsIGJ1dCBmb3IKPiA+IGFsbCBhZmZlY3RlZCB1c2Vycy4KPiA+Cj4gPiBJTUhPLCB0 aGUgb25seSBzYWZlIGFuZCBzYW5lIHNvbHV0aW9uIGF0IHRoZSBtb21lbnQgaXMgdGhlIHJldmVy dCBwYXRjaAo+ID4gSSBwb3N0ZWQuICBJdCdzIGEgc2ltcGxlIGZpeCwgcmV2ZXJ0aW5nIGJhY2sg dG8gdGhlICprbm93biogd29ya2luZwo+ID4gc3RhdGUgYmVmb3JlIHRoaXMgcmVncmVzc2lvbiB3 YXMgaW50cm9kdWNlZC4KPiA+Cj4gPiBUaGVuIHlvdSBjYW4gc3RhcnQgb3ZlciBmcm9tIHRoZXJl LCB0cnlpbmcgdG8gaW1wbGVtZW50IHRoaXMgcHJvcGVybHkuCj4gCj4gVGhlIGN1cnJlbnQgd2F5 IGlzIHRoZSBwcm9wZXIgb25lIHRoYXQgd2Ugd2FudCBmb3IgdGhlIGdlbmVyaWMgY2FzZS4gVGhl IGlzc3VlCj4gb24geW91ciBwbGF0Zm9ybSBpcyB0aGUgZXhjZXB0aW9uLCBzbyB3b3JraW5nIGFy b3VuZCB0aGF0IGlzIGEgc2Vuc2libGUgY2hvaWNlLgo+IAo+IEF0dGFjaGVkIGlzIHRoZSBwcm9w b3NlZCBmaXggZm9yIHRoaXMgaXNzdWUuCj4gCj4gLS1JbXJlCj4gCgo+IEZyb20gNWMyMzY1N2Jj MTY4ZGIxMmExYmExMDBhYjY1ZmFiZDMwNWM4OWM4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK PiBGcm9tOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gRGF0ZTogVGh1LCAyNiBG ZWIgMjAxNSAxODozODo1MyArMDIwMAo+IFN1YmplY3Q6IFtQQVRDSF0gZHJtL2k5MTU6IGdtNDU6 IHdvcmsgYXJvdW5kIGhhbmcgZHVyaW5nIGhpYmVybmF0aW9uCj4gTUlNRS1WZXJzaW9uOiAxLjAK PiBDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiBDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0Cj4gCj4gQmrDuHJuIHJlcG9ydGVkIHRoYXQgaGlzIG1hY2hpbmUg aGFuZyBkdXJpbmcgaGliZXJuYXRpb24gYW5kIGV2ZW50dWFsbHkKPiBiaXNlY3RlZCB0aGUgcHJv YmxlbSB0byB0aGUgZm9sbG93aW5nIGNvbW1pdDoKPiAKPiBjb21taXQgZGEyYmMxYjlkYjMzNTFh ZGRkMjkzZTViODI3NTdlZmUxZjc3ZWQxZAo+IEF1dGhvcjogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPgo+IERhdGU6ICAgVGh1IE9jdCAyMyAxOToyMzoyNiAyMDE0ICswMzAwCj4gCj4g ICAgIGRybS9pOTE1OiBhZGQgcG93ZXJvZmZfbGF0ZSBoYW5kbGVyCj4gCj4gVGhlIHByb2JsZW0g c2VlbXMgdG8gYmUgdGhhdCBhZnRlciB0aGUga2VybmVsIHB1dHMgdGhlIGRldmljZSBpbnRvIEQz Cj4gdGhlIEJJT1Mgc3RpbGwgdHJpZXMgdG8gYWNjZXNzIGl0LCBvciBvdGhlcndpc2UgYXNzdW1l cyB0aGF0IGl0J3MgaW4gRDAuCj4gVGhpcyBpcyBjbGVhcmx5IGJvZ3VzLCBzaW5jZSBBQ1BJIG1h bmRhdGVzIHRoYXQgZGV2aWNlcyBhcmUgcHV0IGludG8gRDMKPiBieSB0aGUgT1NQTSBpZiB0aGV5 IGFyZSBub3Qgd2FrZS11cCBzb3VyY2VzLiBJbiB0aGUgZnV0dXJlIHdlIHdhbnQgdG8KPiB1bmlm eSBtb3JlIG9mIHRoZSBkcml2ZXIncyBydW50aW1lIGFuZCBzeXN0ZW0gc3VzcGVuZCBwYXRocywg Zm9yIGV4YW1wbGUKPiBieSBza2lwcGluZyBhbGwgdGhlIHN5c3RlbSBzdXNwZW5kL2hpYmVybmF0 aW9uIGhvb2tzIGlmIHRoZSBkZXZpY2UgaXMKPiBydW50aW1lIHN1c3BlbmRlZCBhbHJlYWR5LiBB Y2NvcmRpbmdseSBmb3IgYWxsIG90aGVyIHBsYXRmb3JtcyB0aGUgZ29hbAo+IGlzIHN0aWxsIHRv IHByb3Blcmx5IHBvd2VyIGRvd24gdGhlIGRldmljZSBkdXJpbmcgaGliZXJuYXRpb24uCj4gCj4g UmVmZXJlbmNlOiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2ludGVsLWdm eC8yMDE1LUZlYnJ1YXJ5LzA2MDYzMy5odG1sCj4gUmVwb3J0ZWQtYW5kLWJpc2VjdGVkLWJ5OiBC asO4cm4gTW9yayA8Ympvcm5AbW9yay5ubz4KPiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGlt cmUuZGVha0BpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDIy IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j Cj4gaW5kZXggNGJhZGIyMy4uNjdkMjEyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ IEBAIC02MzcsNyArNjM3LDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBpOTE1 X2RybV9zdXNwZW5kX2xhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYpCj4gK3N0YXRpYyBp bnQgaTkxNV9kcm1fc3VzcGVuZF9sYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LCBib29s IGhpYmVybmF0aW9uKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkcm1fZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCWludCByZXQ7Cj4gQEAgLTY1MSw3ICs2NTEsMTQg QEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kX2xhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRy bV9kZXYpCj4gIAl9Cj4gIAo+ICAJcGNpX2Rpc2FibGVfZGV2aWNlKGRybV9kZXYtPnBkZXYpOwo+ IC0JcGNpX3NldF9wb3dlcl9zdGF0ZShkcm1fZGV2LT5wZGV2LCBQQ0lfRDNob3QpOwo+ICsJLyoK PiArCSAqIER1cmluZyBoaWJlcm5hdGlvbiBvbiBzb21lIEdNNDUgcGxhdGZvcm1zIHRoZSBCSU9T IG1heSB0cnkgdG8gYWNjZXNzCj4gKwkgKiB0aGUgZGV2aWNlIGV2ZW4gdGhvdWdoIGl0J3MgYWxy ZWFkeSBpbiBEMyBhbmQgaGFuZyB0aGUgbWFjaGluZS4gU28KPiArCSAqIGxlYXZlIHRoZSBkZXZp Y2UgaW4gRDAgb24gdGhvc2UgcGxhdGZvcm1zIGFuZCBob3BlIHRoZSBCSU9TIHdpbGwKPiArCSAq IHBvd2VyIGRvd24gdGhlIGRldmljZSBwcm9wZXJseS4KPiArCSAqLwo+ICsJaWYgKCEoaGliZXJu YXRpb24gJiYgSVNfR000NShkZXZfcHJpdikpKQo+ICsJCXBjaV9zZXRfcG93ZXJfc3RhdGUoZHJt X2Rldi0+cGRldiwgUENJX0QzaG90KTsKCklmIHdlIHNlZSBtb3JlIG9mIHRoZXNlIHRyb3VibGVz b21lIG1hY2hpbmVzIHdlIG1pZ2h0IG5lZWQgdG8gYXBwbHkgYW4KZXZlbiBiaWdnZXIgaGFtbWVy IGxpa2UgZ2VuIDwgNSBvciBzby4gQnV0IGFzIGxvbmcgYXMgdGhlcmUncyBqdXN0IDEKcmVwb3J0 IEkgdGhpbmsgdGhpcyBpcyB0aGUgcmlnaHQgYXBwcm9hY2guCgpCam9ybiwgYXMgc29vbiBhcyB3 ZSBoYXZlIHlvdXIgdGVzdGVkLWJ5IHRoYXQgdGhpcyB3b3JrIHdlIGNhbiBhcHBseSB0aGlzCmFu ZCBzaG92ZWwgaXQgdGhyb3VnaCB0aGUgYmFja3BvcnRpbmcgbWFjaGluZXJ5LgoKVGhhbmtzLCBE YW5pZWwKCj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBAQCAtNjc3LDcgKzY4NCw3IEBAIGludCBp OTE1X3N1c3BlbmRfbGVnYWN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBz dGF0ZSkKPiAgCWlmIChlcnJvcikKPiAgCQlyZXR1cm4gZXJyb3I7Cj4gIAo+IC0JcmV0dXJuIGk5 MTVfZHJtX3N1c3BlbmRfbGF0ZShkZXYpOwo+ICsJcmV0dXJuIGk5MTVfZHJtX3N1c3BlbmRfbGF0 ZShkZXYsIGZhbHNlKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBpOTE1X2RybV9yZXN1bWUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiBAQCAtOTY1LDcgKzk3MiwxNyBAQCBzdGF0aWMgaW50IGk5 MTVfcG1fc3VzcGVuZF9sYXRlKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCWlmIChkcm1fZGV2LT5z d2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9QT1dFUl9PRkYpCj4gIAkJcmV0dXJuIDA7 Cj4gIAo+IC0JcmV0dXJuIGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShkcm1fZGV2KTsKPiArCXJldHVy biBpOTE1X2RybV9zdXNwZW5kX2xhdGUoZHJtX2RldiwgZmFsc2UpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IGk5MTVfcG1fcG93ZXJvZmZfbGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3sKPiAr CXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGV2X3RvX2k5MTUoZGV2KS0+ZGV2Owo+ICsK PiArCWlmIChkcm1fZGV2LT5zd2l0Y2hfcG93ZXJfc3RhdGUgPT0gRFJNX1NXSVRDSF9QT1dFUl9P RkYpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0dXJuIGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShk cm1fZGV2LCB0cnVlKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBpOTE1X3BtX3Jlc3VtZV9lYXJs eShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gQEAgLTE1MzUsNyArMTU1Miw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGV2X3BtX29wcyBpOTE1X3BtX29wcyA9IHsKPiAgCS50aGF3X2Vhcmx5ID0gaTkx NV9wbV9yZXN1bWVfZWFybHksCj4gIAkudGhhdyA9IGk5MTVfcG1fcmVzdW1lLAo+ICAJLnBvd2Vy b2ZmID0gaTkxNV9wbV9zdXNwZW5kLAo+IC0JLnBvd2Vyb2ZmX2xhdGUgPSBpOTE1X3BtX3N1c3Bl bmRfbGF0ZSwKPiArCS5wb3dlcm9mZl9sYXRlID0gaTkxNV9wbV9wb3dlcm9mZl9sYXRlLAo+ICAJ LnJlc3RvcmVfZWFybHkgPSBpOTE1X3BtX3Jlc3VtZV9lYXJseSwKPiAgCS5yZXN0b3JlID0gaTkx NV9wbV9yZXN1bWUsCj4gIAo+IC0tIAo+IDIuMS4wCj4gCgo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IElu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0gaHR0 cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK