From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH] drm/i915/bxt: Fix eDP panel power save/restore Date: Thu, 31 Dec 2015 08:51:46 -0800 Message-ID: <20151231165145.GS2778@intel.com> References: <1451516190-28723-1-git-send-email-matthew.d.roper@intel.com> <56849A99.1070406@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: <56849A99.1070406@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Kannan, Vandana" Cc: intel-gfx@lists.freedesktop.org, drm-intel-fixes@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMzEsIDIwMTUgYXQgMDg6MzE6NDVBTSArMDUzMCwgS2FubmFuLCBWYW5kYW5h IHdyb3RlOgo+IFdoZW4gSSBzdWJtaXR0ZWQgdGhlIFBQUyBwYXRjaCBpbiBBcHJpbCwgSSBnb3Qg YW4gaW5wdXQgZnJvbSBKYW5pIHRvCj4gbm90IG1ha2UgY2hhbmdlcyBpbiBpOTE1X3N1c3BlbmQu YyBhcyBpdCB3YXMgdG8gYmVjb21lIG9ic29sZXRlLgo+IEJlbG93IG1haWwgZm9yIHlvdXIgcmVm ZXJlbmNlLgo+IAo+IEphbmksCj4gRG9lcyB5b3VyIGluaXRpYWwgY29tbWVudCBzdGlsbCBob2xk IGdvb2Q/CgpJIGRvbid0IHRoaW5rIG5vdCB0b3VjaGluZyBpOTE1X3N1c3BlbmQuYyBhdCBhbGwg aXMgYW4gb3B0aW9uIHNpbmNlIHRoYXQKbWVhbnMgdGhhdCB0aGUgY3VycmVudCBjb2RlIHdpbGwg dHJ5IHRvIHJlYWQvd3JpdGUgcmVnaXN0ZXJzIHRoYXQgc2ltcGx5CmRvbid0IGV4aXN0IG9uIHRo ZSBwbGF0Zm9ybS4gIEJhc2VkIG9uIEphbmkncyBjb21tZW50LCBtYXliZSB3ZSBzaG91bGQKanVz dCBiZSBhZGRpbmcgQlhUIHRvIHRoZSBsaXN0IG9mIHBsYXRmb3JtcyB3ZSBkb24ndCBkbyBhbnkg UFAKc2F2ZS9yZXN0b3JlIG9uPwoKICAgICAgICBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zdXNwZW5kLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQu YwogICAgICAgIGluZGV4IDYxYmVjOGUuLjY5ZDU5NjUgMTAwNjQ0CiAgICAgICAgLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKICAgICAgICArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYwogICAgICAgIEBAIC02MCw3ICs2MCw3IEBAIHN0YXRp YyB2b2lkIGk5MTVfc2F2ZV9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAgICAgICAg ICAgICAgICAgICAgICAgIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1 X1JFQUQoUENIX1BQX09OX0RFTEFZUyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGRldl9wcml2 LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTID0gSTkxNV9SRUFEKFBDSF9QUF9PRkZfREVMQVlT KTsKICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklT T1IgPSBJOTE1X1JFQUQoUENIX1BQX0RJVklTT1IpOwogICAgICAgIC0gICAgICAgfSBlbHNlIGlm ICghSVNfVkFMTEVZVklFVyhkZXYpKSB7CiAgICAgICAgKyAgICAgICB9IGVsc2UgaWYgKCFJU19W QUxMRVlWSUVXKGRldikgJiYgIUlTX0JST1hUT04oZGV2KSkgewogICAgICAgICAgICAgICAgICAg ICAgICBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCA9IEk5MTVfUkVBRChQUF9DT05U Uk9MKTsKICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09O X0RFTEFZUyA9IEk5MTVfUkVBRChQUF9PTl9ERUxBWVMpOwogICAgICAgICAgICAgICAgICAgICAg ICBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyA9IEk5MTVfUkVBRChQUF9PRkZf REVMQVlTKTsKCkknbSBub3QgcmVhbGx5IGZhbWlsaWFyIHdpdGggdGhlIHBhbmVsIHBvd2VyIHNl cXVlbmNpbmcgc3R1ZmYsIHNvIEknbGwgbGV0IHlvdQphbmQgSmFuaSBtYWtlIHRoZSBjYWxsIHRo ZXJlLiAgSSdtIGp1c3QgbG9va2luZyBhdCBTMyBvbiBCcm94dG9uICh3aGljaCBoYXMgYWxsCmtp bmRzIG9mIHByb2JsZW1zIHJpZ2h0IG5vdyksIGFuZCBmaWd1cmVkIEknZCB0cnkgdG8gY2xlYXIg dXAgYSBjb3VwbGUgb2YgdGhlCnVuY2xhaW1lZCByZWdpc3RlciB3YXJuaW5ncyB0byBtYWtlIGl0 IG1vcmUgY2xlYXIgd2hlcmUgdGhlIHJlYWwgUzMgcHJvYmxlbXMKbGllLgoKVGhhbmtzLgoKCk1h dHQKCj4gCj4gT24gVGh1LCAzMCBBcHIgMjAxNSwgVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2Fu bmFuQGludGVsLmNvbT4gd3JvdGU6Cj4gPiBDaGFuZ2VzIGJhc2VkIG9uIGZ1dHVyZSBwbGF0Zm9y bSByZWFkaW5lc3MgcGF0Y2hlcyByZWxhdGVkIHRvCj4gPiBIQVNfUENIX1NQTElUKCkuIFVzZSBI QVNfR01DSF9ESVNQTEFZKCkgaW5zdGVhZCBvZiBIQVNfUENIX1NQTElUCj4gPgo+ID4gU2lnbmVk LW9mZi1ieTogVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2FubmFuQGludGVsLmNvbT4KPiA+IFNp Z25lZC1vZmYtYnk6IEEuU3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+ID4g LS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMgfCA0ICsrLS0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICB8IDggKysrKy0tLS0KPiA+ICAy IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiA+Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiA+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiA+IGluZGV4IGNmNjdmODIuLmU5MWQ2 MzcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiA+IEBAIC00NCw3 ICs0NCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2F2ZV9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyA9IEk5MTVfUkVBRChMVkRT KTsKPiA+Cj4gPiAgCS8qIFBhbmVsIHBvd2VyIHNlcXVlbmNlciAqLwo+ID4gLQlpZiAoSEFTX1BD SF9TUExJVChkZXYpKSB7Cj4gPiArCWlmICghSEFTX0dNQ0hfRElTUExBWShkZXYpKSB7Cj4gPiAg CQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCA9IEk5MTVfUkVBRChQQ0hfUFBfQ09O VFJPTCk7Cj4gPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0gSTkxNV9S RUFEKFBDSF9QUF9PTl9ERUxBWVMpOwo+ID4gIAkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09G Rl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09GRl9ERUxBWVMpOwo+ID4gQEAgLTc5LDcgKzc5 LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9yZXN0b3JlX2Rpc3BsYXkoc3RydWN0Cj4gZHJtX2Rldmlj ZSAqZGV2KQo+ID4gIAkJSTkxNV9XUklURShMVkRTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZE UyAmIG1hc2spOwo+ID4KPiA+ICAJLyogUGFuZWwgcG93ZXIgc2VxdWVuY2VyICovCj4gPiAtCWlm IChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+ICsJaWYgKCFIQVNfR01DSF9ESVNQTEFZKGRldikp IHsKPiA+ICAJCUk5MTVfV1JJVEUoUENIX1BQX09OX0RFTEFZUywgZGV2X3ByaXYtPnJlZ2ZpbGUu c2F2ZVBQX09OX0RFTEFZUyk7Cj4gPiAgCQlJOTE1X1dSSVRFKFBDSF9QUF9PRkZfREVMQVlTLCBk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyk7Cj4gPiAgCQlJOTE1X1dSSVRFKFBD SF9QUF9ESVZJU09SLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Cj4gCj4gSSBk b24ndCB0aGluayB5b3Ugc2hvdWxkIHRvdWNoIGk5MTVfc3VzcGVuZC5jIGF0IGFsbC4gV2UncmUg dHJ5aW5nCj4gdG8gZ2V0IHJpZCBvZiB0aGlzIGJsaW5kIHJlZ2lzdGVyIHNhdmUvcmVzdG9yZSwg YW5kIG1ha2UgZXZlcnl0aGluZwo+IHdvcmsgaW4gdGhlIGVuY29kZXIvY29ubmVjdG9yIGNvZGUu IERvIG5vdGUgdGhhdCB3ZSBhbHJlYWR5IHNraXAKPiB0aGlzIGZvciB2bHYvY2h2IHBvd2VyIHNl cXVlbmNlciByZWdpc3RlcnMuCj4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGluZGV4 IDkzN2JhMzEuLjY4ZTEwYzEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiBA QCAtNTU5LDcgKzU1OSw3IEBAIHN0YXRpYyB1MzIgX3BwX2N0cmxfcmVnKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gPiB7Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9k cF90b19kZXYoaW50ZWxfZHApOwo+ID4KPiA+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkKPiA+ ICsJaWYgKCFIQVNfR01DSF9ESVNQTEFZKGRldikpCj4gPiAgCQlyZXR1cm4gUENIX1BQX0NPTlRS T0w7Cj4gPiAgCWVsc2UKPiA+ICAJCXJldHVybiBWTFZfUElQRV9QUF9DT05UUk9MKHZsdl9wb3dl cl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9kcCkpOwo+ID4gQEAgLTU2OSw3ICs1NjksNyBAQCBzdGF0 aWMgdTMyIF9wcF9zdGF0X3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gewo+ID4g IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiA+ Cj4gPiAtCWlmIChIQVNfUENIX1NQTElUKGRldikpCj4gPiArCWlmICghSEFTX0dNQ0hfRElTUExB WShkZXYpKQo+ID4gIAkJcmV0dXJuIFBDSF9QUF9TVEFUVVM7Cj4gPiAgCWVsc2UKPiA+ICAJCXJl dHVybiBWTFZfUElQRV9QUF9TVEFUVVModmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2Rw KSk7Cj4gPiBAQCAtNDk2Myw3ICs0OTYzLDcgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9z ZXF1ZW5jZXIoc3RydWN0Cj4gZHJtX2RldmljZSAqZGV2LAo+ID4gIAlpZiAoZmluYWwtPnQxMV90 MTIgIT0gMCkKPiA+ICAJCXJldHVybjsKPiA+Cj4gPiAtCWlmIChIQVNfUENIX1NQTElUKGRldikp IHsKPiA+ICsJaWYgKCFIQVNfR01DSF9ESVNQTEFZKGRldikpIHsKPiA+ICAJCXBwX2N0cmxfcmVn ID0gUENIX1BQX0NPTlRST0w7Cj4gPiAgCQlwcF9vbl9yZWcgPSBQQ0hfUFBfT05fREVMQVlTOwo+ ID4gIAkJcHBfb2ZmX3JlZyA9IFBDSF9QUF9PRkZfREVMQVlTOwo+ID4gQEAgLTUwNjMsNyArNTA2 Myw3IEBACj4gPiBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Cj4gPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRl dl9wcml2LT5wcHNfbXV0ZXgpOwo+ID4KPiA+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ ID4gKwlpZiAoIUhBU19HTUNIX0RJU1BMQVkoZGV2KSkgewo+ID4gIAkJcHBfb25fcmVnID0gUENI X1BQX09OX0RFTEFZUzsKPiA+ICAJCXBwX29mZl9yZWcgPSBQQ0hfUFBfT0ZGX0RFTEFZUzsKPiA+ ICAJCXBwX2Rpdl9yZWcgPSBQQ0hfUFBfRElWSVNPUjsKPiAKPiBGb3IgdGhlIHJlc3QsIEknZCBs aWtlIHlvdSB0byBkbyB3aGF0IEkgc3VnZ2VzdGVkIGluIG15IHJlcGx5IHRvCj4gcGF0Y2ggMywg aS5lLiBhZGQgYSBuZXcgaWYgKElTX0JST1hUT04oZGV2KSkgYXQgdGhlIHRvcCBvZiBlYWNoIG9m Cj4gdGhlc2UsIHdpdGgKPiBCWFRfUFBfV0hBVEVWRVIoMCkgYXMgdGhlIHJlZ2lzdGVyLiBMYXRl ciBvbiwgd2UgY2FuIGFkZCBjb2RlIHRvCj4gY2hvb3NlIHRoZSBwb3dlciBzZXF1ZW5jZXIsIGEg Yml0IHNpbWlsYXIgdG8gd2hhdCB2bHYvY2h2IGRvIG5vdwo+IChleGNlcHQgdGhlcmUgaXQncyBi YXNlZCBvbiBwaXBlKS4KPiAKPiBCUiwKPiBKYW5pLgo+IAo+ID4gLS0KPiA+IDIuMC4xCj4gPgo+ ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IElu dGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK PiA+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKPiAKPiAtLQo+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENl bnRlcgo+IAo+IC0gVmFuZGFuYQo+IAo+IAo+IE9uIDEyLzMxLzIwMTUgNDoyNiBBTSwgTWF0dCBS b3BlciB3cm90ZToKPiA+QnJveHRvbi1zcGVjaWZpYyBwYW5lbCBwb3dlciBzZXF1ZW5jaW5nIHdh cyBhZGRlZCBpbiBjb21taXQKPiA+Cj4gPiAgICAgICAgIGNvbW1pdCBiMGEwOGJlYzk2MzE4YmU1 NGRiOTdjM2YwYjllMzdiNTI1NjFmOWVhCj4gPiAgICAgICAgIEF1dGhvcjogVmFuZGFuYSBLYW5u YW4gPHZhbmRhbmEua2FubmFuQGludGVsLmNvbT4KPiA+ICAgICAgICAgRGF0ZTogICBUaHUgSnVu IDE4IDExOjAwOjU1IDIwMTUgKzA1MzAKPiA+Cj4gPiAgICAgICAgICAgICBkcm0vaTkxNS9ieHQ6 IGVEUCBQYW5lbCBQb3dlciBzZXF1ZW5jaW5nCj4gPgo+ID5BcyBub3RlZCBpbiB0aGF0IGNvbW1p dCwgQnJveHRvbiBoYXMgdHdvIHNldHMgb2YgcmVnaXN0ZXJzIChhbmQgd2UncmUKPiA+c3VwcG9z ZWQgdG8gcmVhZCB3aGljaCB0byB1c2UgZnJvbSB0aGUgVkJULCBhbHRob3VnaCB3ZSdyZSBwdW50 aW5nIG9uCj4gPnRoYXQgcGFydCBhdCB0aGUgbW9tZW50KSBhbmQgYWxzbyBkb2Vzbid0IGhhdmUg YSBkaXZpc29yIHJlZ2lzdGVyLgo+ID5BbHRob3VnaCB3ZSB0YWtlIHRoZSBCWFQtc3BlY2lmaWMg ZGV0YWlscyBpbnRvIGFjY291bnQgYXQgaW5pdGlhbCBzeXN0ZW0KPiA+aW5pdCwgd2UgZmFpbCB0 byBzYXZlL3Jlc3RvcmUgdGhlIGFwcHJvcHJpYXRlIHJlZ2lzdGVycyBhcm91bmQgc3lzdGVtCj4g PnN1c3BlbmQvcmVzdW1lLCB3aGljaCBsZWFkcyB0byB1bmNsYWltZWQgcmVnaXN0ZXIgd2Fybmlu Z3MgYXQgdGhlCj4gPm1vbWVudCwgYW5kIG1heSBhbHNvIGZhaWwgdG8gc2F2ZSB0aGUgcHJvcGVy IHJlZ2lzdGVycyBvbmNlIHdlIHN0YXJ0Cj4gPmFjdHVhbGx5IHBheWluZyBhdHRlbnRpb24gdG8g dGhlIFZCVC4KPiA+Cj4gPkNjOiBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5AaW50ZWwu Y29tPgo+ID5DYzogZHJtLWludGVsLWZpeGVzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID5TaWdu ZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+ID4tLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYyB8IDI0ICsrKysrKysrKysr KysrKysrKysrKystLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQo+ID4KPiA+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf c3VzcGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiA+aW5kZXgg YmY1ODJmZS4uNjFiZWM4ZSAxMDA2NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zdXNwZW5kLmMKPiA+KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMK PiA+QEAgLTQ0LDcgKzQ0LDE4IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2F2ZV9kaXNwbGF5KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyA9IEk5 MTVfUkVBRChMVkRTKTsKPiA+Cj4gPiAgCS8qIFBhbmVsIHBvd2VyIHNlcXVlbmNlciAqLwo+ID4t CWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+KwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4g PisJCS8qCj4gPisJCSAqIFRPRE86IEJYVCBoYXMgMiBzZXRzIG9mIFBQUyByZWdpc3RlcnMuCj4g PisJCSAqIENvcnJlY3QgUmVnaXN0ZXIgZm9yIEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVk Cj4gPisJCSAqIHVzaW5nIFZCVC4gaGFyZGNvZGluZyBmb3Igbm93Lgo+ID4rCQkgKgo+ID4rCQkg KiBUaGVyZSdzIGFsc28gbm8gZGl2aXNvciByZWdpc3RlciBvbiBCcm94dG9uLgo+ID4rCQkgKi8K PiA+KwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JFQUQoQlhUX1BQ X0NPTlRST0woMCkpOwo+ID4rCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0g STkxNV9SRUFEKEJYVF9QUF9PTl9ERUxBWVMoMCkpOwo+ID4rCQlkZXZfcHJpdi0+cmVnZmlsZS5z YXZlUFBfT0ZGX0RFTEFZUyA9IEk5MTVfUkVBRChCWFRfUFBfT0ZGX0RFTEFZUygwKSk7Cj4gPisJ fSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+ICAJCWRldl9wcml2LT5yZWdmaWxl LnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBDSF9QUF9DT05UUk9MKTsKPiA+ICAJCWRldl9w cml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09OX0RFTEFZ Uyk7Cj4gPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyA9IEk5MTVfUkVB RChQQ0hfUFBfT0ZGX0RFTEFZUyk7Cj4gPkBAIC04Myw3ICs5NCwxNiBAQCBzdGF0aWMgdm9pZCBp OTE1X3Jlc3RvcmVfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAkJSTkxNV9X UklURShMVkRTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyAmIG1hc2spOwo+ID4KPiA+ICAJ LyogUGFuZWwgcG93ZXIgc2VxdWVuY2VyICovCj4gPi0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkg ewo+ID4rCWlmIChJU19CUk9YVE9OKGRldikpIHsKPiA+KwkJLyoKPiA+KwkJICogVE9ETzogQlhU IGhhcyAyIHNldHMgb2YgUFBTIHJlZ2lzdGVycy4KPiA+KwkJICogQ29ycmVjdCBSZWdpc3RlciBm b3IgQnJveHRvbiBuZWVkIHRvIGJlIGlkZW50aWZpZWQKPiA+KwkJICogdXNpbmcgVkJULiBoYXJk Y29kaW5nIGZvciBub3cKPiA+KwkJICovCj4gPisJCUk5MTVfV1JJVEUoQlhUX1BQX09OX0RFTEFZ UygwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7Cj4gPisJCUk5MTVfV1JJ VEUoQlhUX1BQX09GRl9ERUxBWVMoMCksIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVM QVlTKTsKPiA+KwkJSTkxNV9XUklURShCWFRfUFBfQ09OVFJPTCgwKSwgZGV2X3ByaXYtPnJlZ2Zp bGUuc2F2ZVBQX0NPTlRST0wpOwo+ID4rCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7 Cj4gPiAgCQlJOTE1X1dSSVRFKFBDSF9QUF9PTl9ERUxBWVMsIGRldl9wcml2LT5yZWdmaWxlLnNh dmVQUF9PTl9ERUxBWVMpOwo+ID4gIAkJSTkxNV9XUklURShQQ0hfUFBfT0ZGX0RFTEFZUywgZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwo+ID4gIAkJSTkxNV9XUklURShQQ0hf UFBfRElWSVNPUiwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IpOwo+ID4KCi0tIApN YXR0IFJvcGVyCkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxp bmcgJiBEZXZlbG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=