From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukas Wunner Subject: Re: [PATCH] drm/i915: Shut down displays gracefully on reboot Date: Sat, 6 Aug 2016 10:09:16 +0200 Message-ID: <20160806080916.GA5153@wunner.de> References: <1470231378-10656-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.hostsharing.net (mailout2.hostsharing.net [83.223.90.233]) by gabe.freedesktop.org (Postfix) with ESMTPS id 34B026E1A6 for ; Sat, 6 Aug 2016 08:15:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1470231378-10656-1-git-send-email-ville.syrjala@linux.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.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBdWcgMDMsIDIwMTYgYXQgMDQ6MzY6MThQTSArMDMwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBEZWxsIFVQMjQxNFEgZG9lc24ndCBsaWtlIGl0IHdo ZW4gd2UncmUgZHJpdmluZyBpdCBpbiBNU1QgbW9kZSwgYW5kIHRoZW4KPiByZWJvb3QgdGhlIG1h Y2hpbmUuIEFmdGVyIHJlYm9vdCwgdGhlIG1vbml0b3IgaXMgc29tZWhvdyBjb25mdXNlZCBhbmQK PiByZWZ1c2VzIHRvIGRvIHRoZSBwYXlsb2FkIGFsbG9jYXRpb246Cj4gIFtkcm06ZHJtX2RwX21z dF9hbGxvY2F0ZV92Y3BpXSBpbml0aW5nIHZjcGkgZm9yIDI4MiA4Cj4gIFtkcm06ZHJtX2RwX2Rw Y2Rfd3JpdGVfcGF5bG9hZF0gc3RhdHVzIG5vdCBzZXQgYWZ0ZXIgcmVhZCBwYXlsb2FkIHRhYmxl IHN0YXR1cyAwCj4gYW5kIHRodXMgd2UncmUgbGVmdCB3aXRoIGEgYmxhY2sgc2NyZWVuIHVudGls IHRoZSBtb25pdG9yIHBvd2VyIGlzCj4gdG9nZ2xlZC4KPiAKPiBJdCBzZWVtcyB0aGF0IGlmIHdl IHNodXQgZG93biB0aGluZ3MgZ3JhY2VmdWxseSBwcmlvciB0byByZWJvb3RpbmcsIHRoZQo+IG1v bml0b3IgZG9lc24ndCBnZXQgY29uZnVzZWQgbGlrZSB0aGlzLiBTbyBsZXQncyB0cnkgdG8gc2h1 dCBkb3duIGFsbAo+IHRoZSBkaXNwbGF5cyBncmFjZWZ1bGx5IG9uIHJlYm9vdC4gVGhlIGRvd25z aWRlIGlzIHRoYXQgd2Ugd2lsbAo+IGludHJvZHVjZSB0aGUgcmVib290IG5vdGlmaWVyIHRvIGFs bCB0aGUgbW9kZXNldGwgbG9ja3MuIFNvIGlmIHRoZXJlJ3MKPiBhIGxvY2tpbmcgYnVnIGFyb3Vu ZCwgd2UgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVib290IHRoZSBtYWNoaW5lCj4gZ3JhY2VmdWxs eS4gc3lzcnEgcmVib290IHdpbGwgc3RpbGwgd29yayB0aG91Z2gsIGFzIGl0IHdpbGwgbm90Cj4g Y2FsbCB0aGUgbm90aWZpZXJzLgoKc3RydWN0IHBjaV9kcml2ZXIgaGFzIGEgLT5zaHV0ZG93biBo b29rIHdoaWNoIGlzIGN1cnJlbnRseSBub3QgZGVmaW5lZAppbiBpOTE1X3BjaV9kcml2ZXIuIEhv dyBhYm91dCB1c2luZyB0aGF0IGluc3RlYWQgb2YgcmVib290X25vdGlmaWVyCnRvIGF2b2lkIHBv dGVudGlhbCBsb2NraW5nIGlzc3Vlcz8KCkJlc3QgcmVnYXJkcywKCkx1a2FzCgo+IAo+IFdoaWxl IHdlIGRvIHRoaXMsIHdlIGNhbiBlbGltaW5hdGUgdGhlIGVEUCByZWJvb3Qgbm90aWZpZXIsIHdo aWNoIGlzCj4gdGhlcmUgdG8gc2h1dCBkb3duIHRoZSBwYW5lbCBwb3dlciBhbmQgbWFrZSBzdXJl IHRoZSBmaXJtd2FyZSB3b24ndAo+IHZpb2xhdGUgdGhlIHBhbmVsIHBvd2VyIGN5Y2xlIGRlbGF5 IHBvc3QtcmVib290LiBTaW5jZSB3ZSdyZSBub3cKPiBzaHV0dGluZyBlRFAgZG93biBwcm9wZXJs eSwgd2UgY2FuIG1vc3RseSBqdXN0IHJpcCBvdXQgdGhlIGVEUCBub3RpZmllci4KPiBXZSBzdGls bCBuZWVkIHRvIGRvIHRoZSBwYW5lbCBwb3dlciBjeWNsZSB3YWl0IHRob3VnaCwgYXMgdGhhdCB3 b3VsZAo+IG5vcm1hbGx5IGdldCBwb3N0cG9uZWQgdW50aWwgdGhlIG5leHQgbW9kZXNldC4gU28g bGV0J3MgbW92ZSB0aGF0IHBhcnQKPiBpbnRvIGludGVsX3BhbmVsIHNvIHRoYXQgb3RoZXIgZGlz cGxheSB0eXBlcyB3aWxsIGdldCB0aGUgc2FtZSB0cmVhdG1lbnQKPiBhcyBhIGJvbnVzLgo+IAo+ IFRoZSBEZWxsIFVQMjQxNFEgY2FuIG9mdGVuIGdldCBldmVuIG1vcmUgY29uZnVzZWQsIGFuZCBz b21ldGltZXMgd2hhdAo+IHlvdSBoYXZlIHRvIGRvIGlzOiBzd2l0Y2ggdG8gYW5vdGhlciBpbnB1 dCBvbiB0aGUgbW9uaXRvciwgdG9nZ2xlIHRoZQo+IG1vbml0b3IgcG93ZXIsIHN3aXRjaCB0aGUg aW5wdXQgYmFjayB0byB0aGUgb3JpZ2luYWwgc2V0dGluZy4gQW5kCj4gc29tZXRpbWVzIGl0IHNl ZW1zIHlvdSBqdXN0IGhhdmUgdG8geWFuayB0aGUgcG93ZXIgY2FibGUgZW50aXJlbHkuIEknbQo+ IG5vdCBzdXJlIGlmIHRoaXMgcmVib290IG5vdGlmaWVyIG1pZ2h0IGF2b2lkIHNvbWUgb2YgdGhl c2Ugb3RoZXIKPiBmYWlsdXJlIG1vZGVzIGFzIHdlbGwsIGJ1dCBJJ20gcHJldHR5IHN1cmUgaXQg Y2FuJ3QgaHVydCBhdCBsZWFzdC4KPiAKPiBDYzogQ2xpbnQgVGF5bG9yIDxjbGludG9uLmEudGF5 bG9yQGludGVsLmNvbT4KPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5j b20+Cj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg IHwgIDIgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjQgKysr KysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8 IDQ5ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNyArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpLmMgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2R2by5jICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAg ICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jICAgfCAyOSAr KysrKysrKysrKysrKysrKysrKy0KPiAgOCBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCsp LCA1NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA2NWFk YTVkMmY4OGMuLmY4ZWI4YzdkZTAwNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBA IC0xNzI3LDYgKzE3MjcsOCBAQCBzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIHsKPiAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgZHJtOwo+ICAKPiArCXN0cnVj dCBub3RpZmllcl9ibG9jayByZWJvb3Rfbm90aWZpZXI7Cj4gKwo+ICAJc3RydWN0IGttZW1fY2Fj aGUgKm9iamVjdHM7Cj4gIAlzdHJ1Y3Qga21lbV9jYWNoZSAqdm1hczsKPiAgCXN0cnVjdCBrbWVt X2NhY2hlICpyZXF1ZXN0czsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5k ZXggYThlOGNjOGRmYWU5Li4yMTkyYTIxYWE2YzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gQEAgLTMxLDYgKzMxLDggQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5l bC5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICAjaW5jbHVkZSA8bGludXgvdmdhYXJi Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+ICsjaW5jbHVkZSA8bGludXgvcmVi b290Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1Q Lmg+Cj4gICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiBAQCAtMTU1NzgsNiArMTU1ODAsMjMgQEAg ZmFpbDoKPiAgCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiAgfQo+ICAKPiArCj4g K3N0YXRpYyBpbnQgaW50ZWxfcmVib290X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAq bmIsCj4gKwkJCQkgdW5zaWduZWQgbG9uZyBjb2RlLCB2b2lkICp1bnVzZWQpCj4gK3sKPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gKwkJY29udGFpbmVyX29mKG5iLCB0 eXBlb2YoKmRldl9wcml2KSwgcmVib290X25vdGlmaWVyKTsKPiArCj4gKwlpZiAoY29kZSAhPSBT WVNfUkVTVEFSVCkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlpbnRlbF9kaXNwbGF5X3N1c3BlbmQo JmRldl9wcml2LT5kcm0pOwo+ICsKPiArCWludGVsX3BhbmVsX3JlYm9vdF9ub3RpZmllcihkZXZf cHJpdik7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfbW9kZXNldF9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiBAQCAtMTU3MDYsNiArMTU3MjUsOSBAQCB2 b2lkIGludGVsX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJICogc2lu Y2UgdGhlIHdhdGVybWFyayBjYWxjdWxhdGlvbiBkb25lIGhlcmUgd2lsbCB1c2UgcHN0YXRlLT5m Yi4KPiAgCSAqLwo+ICAJc2FuaXRpemVfd2F0ZXJtYXJrcyhkZXYpOwo+ICsKPiArCWRldl9wcml2 LT5yZWJvb3Rfbm90aWZpZXIubm90aWZpZXJfY2FsbCA9IGludGVsX3JlYm9vdF9ub3RpZmllcjsK PiArCXJlZ2lzdGVyX3JlYm9vdF9ub3RpZmllcigmZGV2X3ByaXYtPnJlYm9vdF9ub3RpZmllcik7 Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9waXBlX2Eoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiBAQCAtMTYyOTEsNiArMTYzMTMsOCBAQCB2b2lkIGludGVsX21vZGVzZXRf Y2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gIAo+ICsJdW5yZWdpc3Rlcl9yZWJv b3Rfbm90aWZpZXIoJmRldl9wcml2LT5yZWJvb3Rfbm90aWZpZXIpOwo+ICsKPiAgCWludGVsX2Rp c2FibGVfZ3RfcG93ZXJzYXZlKGRldl9wcml2KTsKPiAgCj4gIAkvKgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+IGluZGV4IDAwMWY3NGZjMGNlNS4uZDhkMTNhOWUzM2U1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jCj4gQEAgLTI4LDggKzI4LDYgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2ky Yy5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICAjaW5jbHVkZSA8bGludXgvZXhwb3J0 Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgo+IC0jaW5jbHVkZSA8bGludXgvcmVi b290Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9hdG9t aWNfaGVscGVyLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiBAQCAtNjMxLDQyICs2 MjksNiBAQCBfcHBfc3RhdF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCXJldHVy biByZWdzLnBwX3N0YXQ7Cj4gIH0KPiAgCj4gLS8qIFJlYm9vdCBub3RpZmllciBoYW5kbGVyIHRv IHNodXRkb3duIHBhbmVsIHBvd2VyIHRvIGd1YXJhbnRlZSBUMTIgdGltaW5nCj4gLSAgIFRoaXMg ZnVuY3Rpb24gb25seSBhcHBsaWNhYmxlIHdoZW4gcGFuZWwgUE0gc3RhdGUgaXMgbm90IHRvIGJl IHRyYWNrZWQgKi8KPiAtc3RhdGljIGludCBlZHBfbm90aWZ5X2hhbmRsZXIoc3RydWN0IG5vdGlm aWVyX2Jsb2NrICp0aGlzLCB1bnNpZ25lZCBsb25nIGNvZGUsCj4gLQkJCSAgICAgIHZvaWQgKnVu dXNlZCkKPiAtewo+IC0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGNvbnRhaW5lcl9vZih0 aGlzLCB0eXBlb2YoKiBpbnRlbF9kcCksCj4gLQkJCQkJCSBlZHBfbm90aWZpZXIpOwo+IC0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQo+IC0JaWYg KCFpc19lZHAoaW50ZWxfZHApIHx8IGNvZGUgIT0gU1lTX1JFU1RBUlQpCj4gLQkJcmV0dXJuIDA7 Cj4gLQo+IC0JcHBzX2xvY2soaW50ZWxfZHApOwo+IC0KPiAtCWlmIChJU19WQUxMRVlWSUVXKGRl dikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7Cj4gLQkJZW51bSBwaXBlIHBpcGUgPSB2bHZfcG93 ZXJfc2VxdWVuY2VyX3BpcGUoaW50ZWxfZHApOwo+IC0JCWk5MTVfcmVnX3QgcHBfY3RybF9yZWcs IHBwX2Rpdl9yZWc7Cj4gLQkJdTMyIHBwX2RpdjsKPiAtCj4gLQkJcHBfY3RybF9yZWcgPSBWTFZf UElQRV9QUF9DT05UUk9MKHBpcGUpOwo+IC0JCXBwX2Rpdl9yZWcgID0gVkxWX1BJUEVfUFBfRElW SVNPUihwaXBlKTsKPiAtCQlwcF9kaXYgPSBJOTE1X1JFQUQocHBfZGl2X3JlZyk7Cj4gLQkJcHBf ZGl2ICY9IFBQX1JFRkVSRU5DRV9ESVZJREVSX01BU0s7Cj4gLQo+IC0JCS8qIDB4MUYgd3JpdGUg dG8gUFBfRElWX1JFRyBzZXRzIG1heCBjeWNsZSBkZWxheSAqLwo+IC0JCUk5MTVfV1JJVEUocHBf ZGl2X3JlZywgcHBfZGl2IHwgMHgxRik7Cj4gLQkJSTkxNV9XUklURShwcF9jdHJsX3JlZywgUEFO RUxfVU5MT0NLX1JFR1MgfCBQQU5FTF9QT1dFUl9PRkYpOwo+IC0JCW1zbGVlcChpbnRlbF9kcC0+ cGFuZWxfcG93ZXJfY3ljbGVfZGVsYXkpOwo+IC0JfQo+IC0KPiAtCXBwc191bmxvY2soaW50ZWxf ZHApOwo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+ICBzdGF0aWMgYm9vbCBlZHBfaGF2ZV9w YW5lbF9wb3dlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiBAQCAtNDU2MiwxMSAr NDUyNCw2IEBAIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcikKPiAgCQlwcHNfbG9jayhpbnRlbF9kcCk7Cj4gIAkJZWRwX3BhbmVsX3ZkZF9v ZmZfc3luYyhpbnRlbF9kcCk7Cj4gIAkJcHBzX3VubG9jayhpbnRlbF9kcCk7Cj4gLQo+IC0JCWlm IChpbnRlbF9kcC0+ZWRwX25vdGlmaWVyLm5vdGlmaWVyX2NhbGwpIHsKPiAtCQkJdW5yZWdpc3Rl cl9yZWJvb3Rfbm90aWZpZXIoJmludGVsX2RwLT5lZHBfbm90aWZpZXIpOwo+IC0JCQlpbnRlbF9k cC0+ZWRwX25vdGlmaWVyLm5vdGlmaWVyX2NhbGwgPSBOVUxMOwo+IC0JCX0KPiAgCX0KPiAgCj4g IAlpbnRlbF9kcF9hdXhfZmluaShpbnRlbF9kcCk7Cj4gQEAgLTU0NjUsOSArNTQyMiw2IEBAIHN0 YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiAgCj4gIAlp ZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewo+IC0JCWludGVs X2RwLT5lZHBfbm90aWZpZXIubm90aWZpZXJfY2FsbCA9IGVkcF9ub3RpZnlfaGFuZGxlcjsKPiAt CQlyZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJmludGVsX2RwLT5lZHBfbm90aWZpZXIpOwo+IC0K PiAgCQkvKgo+ICAJCSAqIEZpZ3VyZSBvdXQgdGhlIGN1cnJlbnQgcGlwZSBmb3IgdGhlIGluaXRp YWwgYmFja2xpZ2h0IHNldHVwLgo+ICAJCSAqIElmIHRoZSBjdXJyZW50IHBpcGUgaXNuJ3QgdmFs aWQsIHRyeSB0aGUgUFBTIHBpcGUsIGFuZCBpZiB0aGF0Cj4gQEAgLTU0ODgsNyArNTQ0Miw4IEBA IHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLAo+ICAJCQkgICAgICBwaXBlX25hbWUocGlwZSkpOwo+ICAJfQo+ICAKPiAtCWludGVs X3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZpeGVkX21vZGUsIGRvd25jbG9j a19tb2RlKTsKPiArCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZp eGVkX21vZGUsIGRvd25jbG9ja19tb2RlLAo+ICsJCQkgaW50ZWxfZHAtPnBhbmVsX3Bvd2VyX2N5 Y2xlX2RlbGF5KTsKPiAgCWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuYmFja2xpZ2h0LnBvd2VyID0g aW50ZWxfZWRwX2JhY2tsaWdodF9wb3dlcjsKPiAgCWludGVsX3BhbmVsX3NldHVwX2JhY2tsaWdo dChjb25uZWN0b3IsIHBpcGUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4 IDUwY2RjODkwZDk1Ni4uOTJmYTY2YTAyY2E1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBAQCAtMjI2LDYgKzIyNiw3IEBAIHN0cnVjdCBpbnRlbF9wYW5lbCB7Cj4gIAlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZTsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICpkb3duY2xvY2tfbW9kZTsKPiAgCWludCBmaXR0aW5nX21vZGU7Cj4gKwlpbnQgcmVib290X3Bv d2VyX2N5Y2xlX2RlbGF5Owo+ICAKPiAgCS8qIGJhY2tsaWdodCAqLwo+ICAJc3RydWN0IHsKPiBA QCAtODc3LDggKzg3OCw2IEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gIAl1bnNpZ25lZCBsb25nIGxh c3RfYmFja2xpZ2h0X29mZjsKPiAgCWt0aW1lX3QgcGFuZWxfcG93ZXJfb2ZmX3RpbWU7Cj4gIAo+ IC0Jc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGVkcF9ub3RpZmllcjsKPiAtCj4gIAkvKgo+ICAJICog UGlwZSB3aG9zZSBwb3dlciBzZXF1ZW5jZXIgaXMgY3VycmVudGx5IGxvY2tlZCBpbnRvCj4gIAkg KiB0aGlzIHBvcnQuIE9ubHkgcmVsZXZhbnQgb24gVkxWL0NIVi4KPiBAQCAtMTUyMSw4ICsxNTIw LDEwIEBAIHZvaWQgaW50ZWxfb3ZlcmxheV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpOwo+ICAvKiBpbnRlbF9wYW5lbC5jICovCj4gIGludCBpbnRlbF9wYW5lbF9pbml0 KHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwsCj4gIAkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqZml4ZWRfbW9kZSwKPiAtCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3du Y2xvY2tfbW9kZSk7Cj4gKwkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2Nr X21vZGUsCj4gKwkJICAgICBpbnQgcmVib290X3Bvd2VyX2N5Y2xlX2RlbGF5KTsKPiAgdm9pZCBp bnRlbF9wYW5lbF9maW5pKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpOwo+ICt2b2lkIGludGVs X3BhbmVsX3JlYm9vdF9ub3RpZmllcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+ICB2b2lkIGludGVsX2ZpeGVkX3BhbmVsX21vZGUoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmZpeGVkX21vZGUsCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSk7Cj4gIHZvaWQgaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmcoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rz aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiBpbmRleCBkZThlOWZiNTE1 OTUuLjViNzIyZWMyMzM4MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gQEAgLTE1 OTYsNyArMTU5Niw4IEBAIHZvaWQgaW50ZWxfZHNpX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLndpZHRoX21tID0gZml4ZWRfbW9kZS0+d2lk dGhfbW07Cj4gIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZWlnaHRfbW0gPSBmaXhlZF9tb2Rl LT5oZWlnaHRfbW07Cj4gIAo+IC0JaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVjdG9yLT5w YW5lbCwgZml4ZWRfbW9kZSwgTlVMTCk7Cj4gKwlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25u ZWN0b3ItPnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMLAo+ICsJCQkgaW50ZWxfZHNpLT5wYW5lbF9w d3JfY3ljbGVfZGVsYXkpOwo+ICAJaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KGNvbm5lY3Rv ciwgSU5WQUxJRF9QSVBFKTsKPiAgCj4gIAlpbnRlbF9kc2lfYWRkX3Byb3BlcnRpZXMoaW50ZWxf Y29ubmVjdG9yKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZv LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IGluZGV4IDQ3YmRmOWRhZDBk My4uYzJjOWM5MjI1OTBjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2R2by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKPiBAQCAtNTQ3 LDcgKzU0Nyw3IEBAIHZvaWQgaW50ZWxfZHZvX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCQkJICovCj4gIAkJCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+cGFuZWws Cj4gIAkJCQkJIGludGVsX2R2b19nZXRfY3VycmVudF9tb2RlKGNvbm5lY3RvciksCj4gLQkJCQkJ IE5VTEwpOwo+ICsJCQkJCSBOVUxMLCAwKTsKPiAgCQkJaW50ZWxfZHZvLT5wYW5lbF93YW50c19k aXRoZXIgPSB0cnVlOwo+ICAJCX0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+IGlu ZGV4IDQ5NTUwNDcwNDgzZS4uMDdkN2FjMmMxNTIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2x2ZHMuYwo+IEBAIC0xMTIwLDcgKzExMjAsOCBAQCB2b2lkIGludGVsX2x2ZHNfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICBvdXQ6Cj4gIAltdXRleF91bmxvY2soJmRldi0+bW9kZV9j b25maWcubXV0ZXgpOwo+ICAKPiAtCWludGVsX3BhbmVsX2luaXQoJmludGVsX2Nvbm5lY3Rvci0+ cGFuZWwsIGZpeGVkX21vZGUsIGRvd25jbG9ja19tb2RlKTsKPiArCS8qIEZJWE1FIGZpbGwgaW4g YW4gYWNjdXJhdGUgcG93ZXIgY3ljbGUgZGVsYXkgKi8KPiArCWludGVsX3BhbmVsX2luaXQoJmlu dGVsX2Nvbm5lY3Rvci0+cGFuZWwsIGZpeGVkX21vZGUsIGRvd25jbG9ja19tb2RlLCAwKTsKPiAg CWludGVsX3BhbmVsX3NldHVwX2JhY2tsaWdodChjb25uZWN0b3IsIElOVkFMSURfUElQRSk7Cj4g IAo+ICAJbHZkc19lbmNvZGVyLT5pc19kdWFsX2xpbmsgPSBjb21wdXRlX2lzX2R1YWxfbGlua19s dmRzKGx2ZHNfZW5jb2Rlcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gaW5kZXgg OTZjNjVkNzdlODg2Li5mZTU3YTc0M2FkMjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bh bmVsLmMKPiBAQCAtMTc4MSwxNCArMTc4MSw0MSBAQCBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdo dF9mdW5jcyhzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsKQo+ICAJfQo+ICB9Cj4gIAo+ICsvKgo+ ICsgKiBNYWtlIHN1cmUgdGhlIHBvd2VyIGN5Y2xlIGRlbGF5IGlzIHJlc3BlY3RlZC4gVGhlIFBQ Uwo+ICsgKiBkb2VzIHN1cHBvc2VkbHkgaW5pdGlhdGUgYSBwb3dlciBjeWNsZSBvbiByZXNldCwg YnV0IGl0Cj4gKyAqIGFsc28gcmVzZXRzIHRoZSBwb3dlciBjeWNsZSBkZWxheSByZWdpc3RlciB2 YWx1ZSB0byB0aGUKPiArICogZGVmYXVsdCB2YWx1ZSwgYW5kIGhlbmNlIG1heSBub3Qgd2FpdCBs b25nIGVub3VnaCBpZiB0aGUKPiArICogZmlybXdhcmUgYXR0ZW1wdHMgdG8gcG93ZXIgdXAgdGhl IHBhbmVsIGltbWVkaWF0ZWx5Lgo+ICsgKiBBbHNvIGVnLiBEU0kgZG9lc24ndCB1c2UgdGhlIFBQ Uy4KPiArICovCj4gK3ZvaWQgaW50ZWxfcGFuZWxfcmVib290X25vdGlmaWVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 ICZkZXZfcHJpdi0+ZHJtOwo+ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ ICsJaW50IHJlYm9vdF9wb3dlcl9jeWNsZV9kZWxheSA9IDA7Cj4gKwo+ICsJZm9yX2VhY2hfaW50 ZWxfY29ubmVjdG9yKGRldiwgY29ubmVjdG9yKSB7Cj4gKwkJc3RydWN0IGludGVsX3BhbmVsICpw YW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ICsKPiArCQlyZWJvb3RfcG93ZXJfY3ljbGVfZGVs YXkgPSBtYXgocmVib290X3Bvd2VyX2N5Y2xlX2RlbGF5LAo+ICsJCQkJCSAgICAgICBwYW5lbC0+ cmVib290X3Bvd2VyX2N5Y2xlX2RlbGF5KTsKPiArCX0KPiArCj4gKwlpZiAocmVib290X3Bvd2Vy X2N5Y2xlX2RlbGF5KQo+ICsJCW1zbGVlcChyZWJvb3RfcG93ZXJfY3ljbGVfZGVsYXkpOwo+ICt9 Cj4gKwo+ICBpbnQgaW50ZWxfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsLAo+ ICAJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUsCj4gLQkJICAgICBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUpCj4gKwkJICAgICBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUsCj4gKwkJICAgICBpbnQgcmVib290X3Bv d2VyX2N5Y2xlX2RlbGF5KQo+ICB7Cj4gIAlpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5j cyhwYW5lbCk7Cj4gIAo+ICAJcGFuZWwtPmZpeGVkX21vZGUgPSBmaXhlZF9tb2RlOwo+ICAJcGFu ZWwtPmRvd25jbG9ja19tb2RlID0gZG93bmNsb2NrX21vZGU7Cj4gKwlwYW5lbC0+cmVib290X3Bv d2VyX2N5Y2xlX2RlbGF5ID0gcmVib290X3Bvd2VyX2N5Y2xlX2RlbGF5Owo+ICAKPiAgCXJldHVy biAwOwo+ICB9Cj4gLS0gCj4gMi43LjQKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==