From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 8/9] drm/i915: Sanitize watermarks after hardware state readout (v2) Date: Mon, 30 Nov 2015 15:09:25 -0800 Message-ID: <20151130230925.GA11484@intel.com> References: <1448470115-7863-1-git-send-email-matthew.d.roper@intel.com> <1448470115-7863-9-git-send-email-matthew.d.roper@intel.com> <565C1BE2.3000607@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id CB88C6E073 for ; Mon, 30 Nov 2015 15:09:25 -0800 (PST) Content-Disposition: inline In-Reply-To: <565C1BE2.3000607@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBOb3YgMzAsIDIwMTUgYXQgMTA6NTA6MjZBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMjUtMTEtMTUgb20gMTc6NDggc2NocmVlZiBNYXR0IFJvcGVyOgo+ID4g QWx0aG91Z2ggd2UgY2FuIGRvIGEgZ29vZCBqb2Igb2YgcmVhZGluZyBvdXQgaGFyZHdhcmUgc3Rh dGUsIHRoZQo+ID4gZ3JhcGhpY3MgZmlybXdhcmUgbWF5IGhhdmUgcHJvZ3JhbW1lZCB0aGUgd2F0 ZXJtYXJrcyBpbiBhIGNyZWF0aXZlIHdheQo+ID4gdGhhdCBkb2Vzbid0IG1hdGNoIGhvdyBpOTE1 IHdvdWxkIGhhdmUgY2hvc2VuIHRvIHByb2dyYW0gdGhlbS4gIFdlCj4gPiBzaG91bGRuJ3QgdHJ1 c3QgdGhlIGZpcm13YXJlJ3Mgd2F0ZXJtYXJrIHByb2dyYW1taW5nLCBidXQgc2hvdWxkIHJhdGhl cgo+ID4gcmUtY2FsY3VsYXRlIGhvdyB3ZSB0aGluayBXTSdzIHNob3VsZCBiZSBwcm9ncmFtbWVk IGFuZCB0aGVuIHNob3ZlIHRob3NlCj4gPiB2YWx1ZXMgaW50byB0aGUgaGFyZHdhcmUuCj4gPgo+ ID4gV2UgY2FuIGRvIHRoaXMgcHJldHR5IGVhc2lseSBieSBjcmVhdGluZyBhIGR1bW15IHRvcC1s ZXZlbCBzdGF0ZSwKPiA+IHJ1bm5pbmcgaXQgdGhyb3VnaCB0aGUgY2hlY2sgcHJvY2VzcyB0byBj YWxjdWxhdGUgYWxsIHRoZSB2YWx1ZXMsIGFuZAo+ID4gdGhlbiBqdXN0IHByb2dyYW1taW5nIHRo ZSB3YXRlcm1hcmtzIGZvciBlYWNoIENSVEMuCj4gPgo+ID4gdjI6ICBNb3ZlIHdhdGVybWFyayBz YW5pdGl6YXRpb24gYWZ0ZXIgb3VyIEJJT1MgZmIgcmVjb25zdHJ1Y3Rpb247IHRoZQo+ID4gICAg ICB3YXRlcm1hcmsgY2FsY3VsYXRpb25zIHRoYXQgd2UgZG8gaGVyZSBuZWVkIHRvIGxvb2sgYXQg cHN0YXRlLT5mYiwKPiA+ICAgICAgd2hpY2ggaXNuJ3Qgc2V0dXAgeWV0IGluIGludGVsX21vZGVz ZXRfc2V0dXBfaHdfc3RhdGUoKSwgZXZlbgo+ID4gICAgICB0aG91Z2ggd2UgaGF2ZSBhbiBlbmFi bGVkICYgdmlzaWJsZSBwbGFuZS4KPiA+Cj4gPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9w ZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyAgfCAgMSArCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCAgICAgIHwgIDEgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICB8IDE0ICsrKysrLS0tLQo+ID4gIDQg ZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiA+Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gaW5kZXggMzczMWEyNi4uOGE5OGUwYyAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gQEAgLTI0NzgsNiAr MjQ3OCw3IEBAIGRybV9hdG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ID4gIAkJfQo+ID4gIAl9Cj4gPiAgCj4gPiArCWRybV9tb2Rlc2V0X2xvY2so JmRldi0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCwgY3R4KTsKPiA+ICAJZHJtX2Zvcl9l YWNoX2Nvbm5lY3Rvcihjb25uLCBkZXYpIHsKPiA+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlOwo+IFNlZW1zIHRoaXMgaHVuayBkb2Vzbid0IGJlbG9uZyB0byB0aGlz IHBhdGNoPwo+IEFsc28gdGhhdCBsb2NraW5nIGlzIGFscmVhZHkgdGFrZW4gY2FyZSBvZiBieSBk cm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUsCj4gYW5kIGl0IGRvZXNuJ3QgY2hlY2sgZm9y IGRybV9tb2Rlc2V0X2xvY2sgcmV0dXJuaW5nIGFuIGVycm9yIGNvZGUuLgoKVGhpcyBzaG91bGQg YmUgYSBzZXBhcmF0ZSBwYXRjaCwgYnV0IGl0IGlzIGluZGVlZCBuZWNlc3NhcnkuICBXZSBoaXQg dGhlCmxvY2tpbmcgZXJyb3IgYmVmb3JlIHdlIGNhbGwgZHJtX2F0b21pY19nZXRfY29ubmVjdG9y X3N0YXRlLi4udGhlIGxvb3AKaXRlcmF0b3IgaXRzZWxmIChkcm1fZm9yX2VhY2hfY29ubmVjdG9y KSB3aWxsIHRocm93IGEgd2FybmluZyBpZiB3ZSdyZQpub3QgYWxyZWFkeSBob2xkaW5nIGNvbm5l Y3Rpb25fbXV0ZXggYXMgb2YKCiAgICAgICAgY29tbWl0IDdhM2YzZDY2NjdmNWY5ZmZkMTUxN2Y2 YjIxZDY0YmJmNTMxMjA0MmMKICAgICAgICBBdXRob3I6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+CiAgICAgICAgRGF0ZTogICBUaHUgSnVsIDkgMjM6NDQ6MjggMjAxNSAr MDIwMAoKICAgICAgICAgICAgZHJtOiBDaGVjayBsb2NraW5nIGluIGRybV9mb3JfZWFjaF9jb25u ZWN0b3IKCkknbGwgcHVsbCB0aGlzIG91dCBhbmQgc2VuZCBpdCBzZXBhcmF0ZWx5LgoKCk1hdHQK Cj4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IDExYWU1YTUuLjUxNzI2MDQg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtNjMwLDYgKzYzMCw3IEBA IHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPiA+ICAJCQkgIHN0cnVjdCBkcGxsICpi ZXN0X2Nsb2NrKTsKPiA+ICAJaW50ICgqY29tcHV0ZV9waXBlX3dtKShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKPiA+ICAJCQkgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsK PiA+ICsJdm9pZCAoKnByb2dyYW1fd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNzdGF0ZSk7Cj4gPiAgCXZvaWQgKCp1cGRhdGVfd20pKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7 Cj4gPiAgCWludCAoKm1vZGVzZXRfY2FsY19jZGNsaykoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKTsKPiA+ICAJdm9pZCAoKm1vZGVzZXRfY29tbWl0X2NkY2xrKShzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ ID4gaW5kZXggMDBlNGMzNy4uZWI1MmFmYSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPiBAQCAtMTUxMjAsNiArMTUxMjAsNTcgQEAgdm9pZCBpbnRlbF9tb2Rl c2V0X2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAJaW50ZWxfZW5hYmxlX2d0 X3Bvd2Vyc2F2ZShkZXYpOwo+ID4gIH0KPiA+ICAKPiA+ICsvKgo+ID4gKyAqIENhbGN1bGF0ZSB3 aGF0IHdlIHRoaW5rIHRoZSB3YXRlcm1hcmtzIHNob3VsZCBiZSBmb3IgdGhlIHN0YXRlIHdlJ3Zl IHJlYWQKPiA+ICsgKiBvdXQgb2YgdGhlIGhhcmR3YXJlIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHBy b2dyYW0gdGhvc2Ugd2F0ZXJtYXJrcyBzbyB0aGF0Cj4gPiArICogd2UgZW5zdXJlIHRoZSBoYXJk d2FyZSBzZXR0aW5ncyBtYXRjaCBvdXIgaW50ZXJuYWwgc3RhdGUuCj4gPiArICovCj4gPiArc3Rh dGljIHZvaWQgc2FuaXRpemVfd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4g K3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp Owo+ID4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gPiArCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YzsKPiA+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gPiArCXN0 cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4gPiArCWludCByZXQ7Cj4gPiArCWlu dCBpOwo+ID4gKwo+ID4gKwkvKiBPbmx5IHN1cHBvcnRlZCBvbiBwbGF0Zm9ybXMgdGhhdCB1c2Ug YXRvbWljIHdhdGVybWFyayBkZXNpZ24gKi8KPiA+ICsJaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5w cm9ncmFtX3dhdGVybWFya3MpCj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCS8qCj4gPiArCSAq IENhbGN1bGF0ZSB3aGF0IHdlIHRoaW5rIFdNJ3Mgc2hvdWxkIGJlIGJ5IGNyZWF0aW5nIGEgZHVt bXkgc3RhdGUgYW5kCj4gPiArCSAqIHJ1bm5pbmcgaXQgdGhyb3VnaCB0aGUgYXRvbWljIGNoZWNr IGNvZGUuCj4gPiArCSAqLwo+ID4gKwlkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0eCwgMCk7 Cj4gPiArCXN0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKGRldiwgJmN0 eCk7Cj4gPiArCWlmIChXQVJOX09OKElTX0VSUihzdGF0ZSkpKQo+ID4gKwkJcmV0dXJuOwo+ID4g Kwo+ID4gKwlyZXQgPSBpbnRlbF9hdG9taWNfY2hlY2soZGV2LCBzdGF0ZSk7Cj4gPiArCWlmIChy ZXQpIHsKPiA+ICsJCS8qCj4gPiArCQkgKiBKdXN0IGdpdmUgdXAgYW5kIGxlYXZlIHdhdGVybWFy a3MgdW50b3VjaGVkIGlmIHdlIGdldCBhbgo+ID4gKwkJICogZXJyb3IgYmFjayBmcm9tICdjaGVj aycKPiA+ICsJCSAqLwo+ID4gKwkJRFJNX0RFQlVHX0tNUygiQ291bGQgbm90IGRldGVybWluZSB2 YWxpZCB3YXRlcm1hcmtzIGZvciBpbmhlcml0ZWQgc3RhdGVcbiIpOwo+ID4gKwkJcmV0dXJuOwo+ ID4gKwl9Cj4gPiArCj4gPiArCS8qIFdyaXRlIGNhbGN1bGF0ZWQgd2F0ZXJtYXJrIHZhbHVlcyBi YWNrICovCj4gPiArCXRvX2k5MTUoZGV2KS0+d20uY29uZmlnID0gdG9faW50ZWxfYXRvbWljX3N0 YXRlKHN0YXRlKS0+d21fY29uZmlnOwo+ID4gKwlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRl LCBjcnRjLCBjc3RhdGUsIGkpIHsKPiA+ICsJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcyA9 IHRvX2ludGVsX2NydGNfc3RhdGUoY3N0YXRlKTsKPiA+ICsKPiA+ICsJCWRldl9wcml2LT5kaXNw bGF5LnByb2dyYW1fd2F0ZXJtYXJrcyhjcyk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJZHJtX2F0b21p Y19zdGF0ZV9mcmVlKHN0YXRlKTsKPiA+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2NrcygmY3R4KTsK PiA+ICsJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOwo+ID4gK30KPiA+ICsKPiA+ICB2 b2lkIGludGVsX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIHsKPiA+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiA+IEBAIC0xNTI0Myw2ICsxNTI5NCwxMyBAQCB2b2lkIGludGVsX21vZGVzZXRfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAkJaW50ZWxfZHVtcF9waXBlX2NvbmZpZyhjcnRjLCBj cnRjLT5jb25maWcsCj4gPiAgCQkJCSAgICAgICAiW3N0YXRlIGFmdGVyIGluaXQgZmIgcmVjb25z dHJ1Y3Rpb25dIik7Cj4gPiAgCX0KPiA+ICsKPiA+ICsJLyoKPiA+ICsJICogTWFrZSBzdXJlIGhh cmR3YXJlIHdhdGVybWFya3MgcmVhbGx5IG1hdGNoIHRoZSBzdGF0ZSB3ZSByZWFkIG91dC4KPiA+ ICsJICogTm90ZSB0aGF0IHdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciByZWNvbnN0cnVjdGluZyB0 aGUgQklPUyBmYidzCj4gPiArCSAqIHNpbmNlIHRoZSB3YXRlcm1hcmsgY2FsY3VsYXRpb24gZG9u ZSBoZXJlIHdpbGwgdXNlIHBzdGF0ZS0+ZmIuCj4gPiArCSAqLwo+ID4gKwlzYW5pdGl6ZV93YXRl cm1hcmtzKGRldik7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9w aXBlX2Eoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ID4gaW5kZXggZDRjZDVkNS4uYzIwOWE2OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKPiA+IEBAIC0zNjEwLDE1ICszNjEwLDE5IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfd20o c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIAlkZXZfcHJpdi0+d20uc2tsX2h3ID0gKnJlc3Vs dHM7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFya3Mo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gK3N0YXRpYyB2b2lkIGlsa19w cm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKPiA+ICB7 Cj4gPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ID4gKwlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBjc3RhdGUtPmJhc2UuY3J0YzsKPiA+ICsJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfcGlwZV93bSBscF93bV8x XzIgPSB7fSwgbHBfd21fNV82ID0ge30sICpiZXN0X2xwX3dtOwo+ID4gIAlzdHJ1Y3QgaWxrX3dt X21heGltdW1zIG1heDsKPiA+ICAJc3RydWN0IGludGVsX3dtX2NvbmZpZyAqY29uZmlnID0gJmRl dl9wcml2LT53bS5jb25maWc7Cj4gPiAgCXN0cnVjdCBpbGtfd21fdmFsdWVzIHJlc3VsdHMgPSB7 fTsKPiA+ICAJZW51bSBpbnRlbF9kZGJfcGFydGl0aW9uaW5nIHBhcnRpdGlvbmluZzsKPiA+ICAK PiA+ICsJdG9faW50ZWxfY3J0YyhjcnRjKS0+d20uYWN0aXZlLmlsayA9IGNzdGF0ZS0+d20ub3B0 aW1hbC5pbGs7Cj4gPiArCj4gPiAgCWlsa19jb21wdXRlX3dtX21heGltdW1zKGRldiwgMSwgY29u ZmlnLCBJTlRFTF9EREJfUEFSVF8xXzIsICZtYXgpOwo+ID4gIAlpbGtfd21fbWVyZ2UoZGV2LCBj b25maWcsICZtYXgsICZscF93bV8xXzIpOwo+ID4gIAo+ID4gQEAgLTM2NDMsNyArMzY0Nyw2IEBA IHN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfd20oc3RydWN0 IGRybV9jcnRjICpjcnRjKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ICAKPiA+ IEBAIC0zNjYxLDkgKzM2NjQsNyBAQCBzdGF0aWMgdm9pZCBpbGtfdXBkYXRlX3dtKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiA+ICAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhjcnRjLT5kZXYsIGlu dGVsX2NydGMtPnBpcGUpOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCWludGVsX2NydGMtPndtLmFjdGl2 ZS5pbGsgPSBjc3RhdGUtPndtLm9wdGltYWwuaWxrOwo+ID4gLQo+ID4gLQlpbGtfcHJvZ3JhbV93 YXRlcm1hcmtzKGRldl9wcml2KTsKPiA+ICsJaWxrX3Byb2dyYW1fd2F0ZXJtYXJrcyhjc3RhdGUp Owo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBza2xfcGlwZV93bV9hY3RpdmVfc3RhdGUo dWludDMyX3QgdmFsLAo+ID4gQEAgLTY5NzEsNiArNjk3Miw3IEBAIHZvaWQgaW50ZWxfaW5pdF9w bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAkJICAgICBkZXZfcHJpdi0+d20uc3ByX2xh dGVuY3lbMF0gJiYgZGV2X3ByaXYtPndtLmN1cl9sYXRlbmN5WzBdKSkgewo+ID4gIAkJCWRldl9w cml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IGlsa191cGRhdGVfd207Cj4gPiAgCQkJZGV2X3ByaXYt PmRpc3BsYXkuY29tcHV0ZV9waXBlX3dtID0gaWxrX2NvbXB1dGVfcGlwZV93bTsKPiA+ICsJCQlk ZXZfcHJpdi0+ZGlzcGxheS5wcm9ncmFtX3dhdGVybWFya3MgPSBpbGtfcHJvZ3JhbV93YXRlcm1h cmtzOwo+ID4gIAkJfSBlbHNlIHsKPiA+ICAJCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gcmVh ZCBkaXNwbGF5IHBsYW5lIGxhdGVuY3kuICIKPiA+ICAJCQkJICAgICAgIkRpc2FibGUgQ3hTUlxu Iik7Cj4gCgotLSAKTWF0dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBs YXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2 LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK