From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 3/4] drm/i915: Sanitize watermarks after hardware state readout (v2) Date: Thu, 12 Nov 2015 16:41:48 -0800 Message-ID: <20151113004148.GG3611@intel.com> References: <87k2pzo0yd.fsf@intel.com> <1446569697-17425-1-git-send-email-matthew.d.roper@intel.com> <871tc5onu6.fsf@intel.com> <20151105004613.GA9715@intel.com> <87a8qsmwqv.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 219056E4BE for ; Thu, 12 Nov 2015 16:41:49 -0800 (PST) Content-Disposition: inline In-Reply-To: <87a8qsmwqv.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBOb3YgMDUsIDIwMTUgYXQgMDI6NTU6MjBQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVGh1LCAwNSBOb3YgMjAxNSwgTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGlu dGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBXZWQsIE5vdiAwNCwgMjAxNSBhdCAwNDoxMjozM1BNICsw MjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+PiBPbiBUdWUsIDAzIE5vdiAyMDE1LCBNYXR0IFJv cGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPiB3cm90ZToKPiA+PiA+IEFsdGhvdWdoIHdl IGNhbiBkbyBhIGdvb2Qgam9iIG9mIHJlYWRpbmcgb3V0IGhhcmR3YXJlIHN0YXRlLCB0aGUKPiA+ PiA+IGdyYXBoaWNzIGZpcm13YXJlIG1heSBoYXZlIHByb2dyYW1tZWQgdGhlIHdhdGVybWFya3Mg aW4gYSBjcmVhdGl2ZSB3YXkKPiA+PiA+IHRoYXQgZG9lc24ndCBtYXRjaCBob3cgaTkxNSB3b3Vs ZCBoYXZlIGNob3NlbiB0byBwcm9ncmFtIHRoZW0uICBXZQo+ID4+ID4gc2hvdWxkbid0IHRydXN0 IHRoZSBmaXJtd2FyZSdzIHdhdGVybWFyayBwcm9ncmFtbWluZywgYnV0IHNob3VsZCByYXRoZXIK PiA+PiA+IHJlLWNhbGN1bGF0ZSBob3cgd2UgdGhpbmsgV00ncyBzaG91bGQgYmUgcHJvZ3JhbW1l ZCBhbmQgdGhlbiBzaG92ZSB0aG9zZQo+ID4+ID4gdmFsdWVzIGludG8gdGhlIGhhcmR3YXJlLgo+ ID4+ID4KPiA+PiA+IFdlIGNhbiBkbyB0aGlzIHByZXR0eSBlYXNpbHkgYnkgY3JlYXRpbmcgYSBk dW1teSB0b3AtbGV2ZWwgc3RhdGUsCj4gPj4gPiBydW5uaW5nIGl0IHRocm91Z2ggdGhlIGNoZWNr IHByb2Nlc3MgdG8gY2FsY3VsYXRlIGFsbCB0aGUgdmFsdWVzLCBhbmQKPiA+PiA+IHRoZW4ganVz dCBwcm9ncmFtbWluZyB0aGUgd2F0ZXJtYXJrcyBmb3IgZWFjaCBDUlRDLgo+ID4+ID4KPiA+PiA+ IHYyOiAgTW92ZSB3YXRlcm1hcmsgc2FuaXRpemF0aW9uIGFmdGVyIG91ciBCSU9TIGZiIHJlY29u c3RydWN0aW9uOyB0aGUKPiA+PiA+ICAgICAgd2F0ZXJtYXJrIGNhbGN1bGF0aW9ucyB0aGF0IHdl IGRvIGhlcmUgbmVlZCB0byBsb29rIGF0IHBzdGF0ZS0+ZmIsCj4gPj4gPiAgICAgIHdoaWNoIGlz bid0IHNldHVwIHlldCBpbiBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKCksIGV2ZW4KPiA+ PiA+ICAgICAgdGhvdWdoIHdlIGhhdmUgYW4gZW5hYmxlZCAmIHZpc2libGUgcGxhbmUuCj4gPj4g Pgo+ID4+ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gPj4gPiBD YzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4K PiA+PiA+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5j b20+Cj4gPj4gPiAtLS0KPiA+PiA+IEphbmksIGJhc2VkIG9uIHlvdXIgbG9ncyBpdCBsb29rcyBs aWtlIHRoZSBjdWxwcml0IGlzIHRoYXQgd2UncmUgY2FsY3VsYXRpbmcKPiA+PiA+IHdhdGVybWFy a3MgYXQgc3RhcnR1cCB0aW1lIGFmdGVyIHdlJ3ZlIHJlYWQgb3V0IHByZWxpbWluYXJ5IGhhcmR3 YXJlIHN0YXRlIChzbwo+ID4+ID4gd2Uga25vdyB0aGUgcHJpbWFyeSBwbGFuZSBpcyBlbmFibGVk ICYgdmlzaWJsZSksIGJ1dCBiZWZvcmUgd2UgcmVjb25zdHJ1Y3QgdGhlCj4gPj4gPiBCSU9TIGZi IChzbyBwc3RhdGUtPmZiIGlzIE5VTEwpLiAgSSB0aGluayBtb3ZpbmcgdGhlIHdhdGVybWFyayBz YW5pdGl6YXRpb24KPiA+PiA+IGxhdGVyIGluIHRoZSBwcm9jZXNzIHNvIHRoYXQgd2UnbGwgaGF2 ZSBhIHByb3BlciBmYiBzZXR1cCBzaG91bGQgaG9wZWZ1bGx5Cj4gPj4gPiBzb2x2ZSB0aGUgaXNz dWUuICBDYW4geW91IHRlc3QgdGhpcyB2ZXJzaW9uIHdoZW4geW91IGdldCBhIGNoYW5jZT8gIEkn bGwgYWxzbwo+ID4+ID4gc2VuZCBhIHJlYmFzZWQgcGF0Y2ggIzQgc2luY2UgdGhlIGNvZGUgbW92 ZW1lbnQgaGVyZSBtZWFucyB0aGF0IHRoZSBwcmV2aW91cwo+ID4+ID4gdmVyc2lvbiB3b24ndCBh cHBseSBjbGVhbmx5Lgo+ID4+IAo+ID4+IFNvcnJ5IE1hdHQsIGJsYWNrIHNjcmVlbiB3aXRoIG5l dyB2ZXJzaW9ucyBvZiBwYXRjaGVzIDMtNC4gRG1lc2cgYXQKPiA+PiBodHRwOi8vcGFzdGViaW4u Y29tLzNMWFp3dld1Cj4gPgo+ID4gSG1tLCBva2F5LCBsb29rcyBsaWtlIHdlJ3JlIGdldHRpbmcg Y2xvc2VyIChzdWNjZXNzZnVsbHkgYXZvaWRlZCB0aGUKPiA+IGRpdmlkZSBieSB6ZXJvIHByb2Js ZW0pLCBidXQgSSBuZWdsZWN0ZWQgdG8gZ3JhYiB0aGUgbmVjZXNzYXJ5IGxvY2tzIHNvCj4gPiB0 aGUgc2FuaXRpemF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgaGFwcGVuLiAgRG9lcyBhcHBseWluZwo+ ID4gaHR0cDovL3Bhc3RlLmRlYmlhbi5uZXQvMzIyOTMyIG9uIHRvcCBvZiB0aGUgc2VyaWVzIHdv cmsgYW55IGJldHRlciBmb3IKPiA+IHlvdT8gIEkgaGF2ZW4ndCBoYWQgdGltZSB0byBwdWxsIGJh Y2sgb3V0IGFuIElMSy1zdHlsZSBzeXN0ZW0sIHNvIHRoYXQncwo+ID4gb25seSBjb21waWxlLXRl c3RlZCBhdCB0aGUgbW9tZW50Lgo+IAo+IFN0aWxsIHdhcm5zIGh0dHA6Ly9wYXN0ZWJpbi5jb20v eUd0ZGU1WDIKPiAKPiBCUiwKPiBKYW5pLgoKU29ycnkgdGhpcyBpcyB0YWtpbmcgc28gbG9uZyB0 byB6ZXJvIGluIG9uLiAgV2hlbiB5b3UgaGF2ZSBzb21lIGZyZWUKdGltZSB3b3VsZCB5b3UgbWlu ZCBydW5uaW5nIHRhZyAnZm9yamFuaS93YXRlcm1hcmtfZGVidWctdjEnIGZyb20KCiAgICAgICAg aHR0cHM6Ly9naXRodWIuY29tL21hdHRyb3BlL2tlcm5lbC5naXQKCndpdGggZGVidWcgbWVzc2Fn ZXMgdHVybmVkIG9uPyAgSSB3YXMgYSBiaXQgY29uZnVzZWQgYnkgeW91ciBlYXJsaWVyCmxvZ3Mg YmVjYXVzZSBhcHBhcmVudGx5IHNvbWUgb2Ygb3VyIHN0YXJ0dXAtdGltZSBzdGF0ZSBkdW1waW5n IHdhcwpnaXZpbmcgbWlzbGVhZGluZy9pbmFjY3VyYXRlIGluZm9ybWF0aW9uOyBob3BlZnVsbHkg d2l0aCB0aGUgY2hhbmdlcwpoZXJlLCBJJ2xsIGdldCBtb3JlIHVzZWZ1bCBkZWJ1ZyBpbmZvcm1h dGlvbiBhbmQgYmV0dGVyIHVuZGVyc3RhbmQKd2hhdCdzIGxlYWRpbmcgdG8gdGhlIGZhaWx1cmVz IG9uIHlvdXIgc3lzdGVtLgoKVGhhbmtzIGFnYWluIGZvciB5b3VyIGhlbHAuCgoKTWF0dAoKPiAK PiAKPiA+Cj4gPgo+ID4gTWF0dAo+ID4KPiA+PiAKPiA+PiBCUiwKPiA+PiBKYW5pLgo+ID4+IAo+ ID4+IAo+ID4+IAo+ID4+ID4KPiA+PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgfCAgMSArCj4gPj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPj4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgMTQgKysrKystLS0tCj4gPj4gPiAgMyBm aWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+ID4+ID4KPiA+ PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4+ID4gaW5kZXggMjBjZDZkOC4uMDk4MDdjOCAx MDA2NDQKPiA+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+PiA+IEBAIC02MjksNiAr NjI5LDcgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3Mgewo+ID4+ID4gIAkJCSAgc3Ry dWN0IGRwbGwgKmJlc3RfY2xvY2spOwo+ID4+ID4gIAlpbnQgKCpjb21wdXRlX3BpcGVfd20pKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4+ID4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpOwo+ID4+ID4gKwl2b2lkICgqcHJvZ3JhbV93YXRlcm1hcmtzKShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKTsKPiA+PiA+ICAJdm9pZCAoKnVwZGF0ZV93bSko c3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiA+PiA+ICAJaW50ICgqbW9kZXNldF9jYWxjX2NkY2xr KShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ID4+ID4gIAl2b2lkICgqbW9kZXNl dF9jb21taXRfY2RjbGspKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gPj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPj4gPiBpbmRleCA3YjNjZmI2Li5lMjg5 MzExIDEwMDY0NAo+ID4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gPj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ PiA+IEBAIC0xNDkzNiw2ICsxNDkzNiw1NCBAQCB2b2lkIGludGVsX21vZGVzZXRfaW5pdF9odyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ID4gIAlpbnRlbF9lbmFibGVfZ3RfcG93ZXJzYXZl KGRldik7Cj4gPj4gPiAgfQo+ID4+ID4gIAo+ID4+ID4gKy8qCj4gPj4gPiArICogQ2FsY3VsYXRl IHdoYXQgd2UgdGhpbmsgdGhlIHdhdGVybWFya3Mgc2hvdWxkIGJlIGZvciB0aGUgc3RhdGUgd2Un dmUgcmVhZAo+ID4+ID4gKyAqIG91dCBvZiB0aGUgaGFyZHdhcmUgYW5kIHRoZW4gaW1tZWRpYXRl bHkgcHJvZ3JhbSB0aG9zZSB3YXRlcm1hcmtzIHNvIHRoYXQKPiA+PiA+ICsgKiB3ZSBlbnN1cmUg dGhlIGhhcmR3YXJlIHNldHRpbmdzIG1hdGNoIG91ciBpbnRlcm5hbCBzdGF0ZS4KPiA+PiA+ICsg Ki8KPiA+PiA+ICtzdGF0aWMgdm9pZCBzYW5pdGl6ZV93YXRlcm1hcmtzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gPj4gPiArewo+ID4+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPj4gPiArCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZTsKPiA+PiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4+ID4gKwlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNzdGF0ZTsKPiA+PiA+ICsJaW50IHJldDsKPiA+PiA+ICsJaW50IGk7Cj4g Pj4gPiArCj4gPj4gPiArCS8qIE9ubHkgc3VwcG9ydGVkIG9uIHBsYXRmb3JtcyB0aGF0IHVzZSBh dG9taWMgd2F0ZXJtYXJrIGRlc2lnbiAqLwo+ID4+ID4gKwlpZiAoIWRldl9wcml2LT5kaXNwbGF5 LnByb2dyYW1fd2F0ZXJtYXJrcykKPiA+PiA+ICsJCXJldHVybjsKPiA+PiA+ICsKPiA+PiA+ICsJ LyoKPiA+PiA+ICsJICogQ2FsY3VsYXRlIHdoYXQgd2UgdGhpbmsgV00ncyBzaG91bGQgYmUgYnkg Y3JlYXRpbmcgYSBkdW1teSBzdGF0ZSBhbmQKPiA+PiA+ICsJICogcnVubmluZyBpdCB0aHJvdWdo IHRoZSBhdG9taWMgY2hlY2sgY29kZS4KPiA+PiA+ICsJICovCj4gPj4gPiArCXN0YXRlID0gZHJt X2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKGRldiwKPiA+PiA+ICsJCQkJCQkgIGRldi0+ bW9kZV9jb25maWcuYWNxdWlyZV9jdHgpOwo+ID4+ID4gKwlpZiAoV0FSTl9PTihJU19FUlIoc3Rh dGUpKSkKPiA+PiA+ICsJCXJldHVybjsKPiA+PiA+ICsKPiA+PiA+ICsJcmV0ID0gaW50ZWxfYXRv bWljX2NoZWNrKGRldiwgc3RhdGUpOwo+ID4+ID4gKwlpZiAocmV0KSB7Cj4gPj4gPiArCQkvKgo+ ID4+ID4gKwkJICogSnVzdCBnaXZlIHVwIGFuZCBsZWF2ZSB3YXRlcm1hcmtzIHVudG91Y2hlZCBp ZiB3ZSBnZXQgYW4KPiA+PiA+ICsJCSAqIGVycm9yIGJhY2sgZnJvbSAnY2hlY2snCj4gPj4gPiAr CQkgKi8KPiA+PiA+ICsJCURSTV9ERUJVR19LTVMoIkNvdWxkIG5vdCBkZXRlcm1pbmUgdmFsaWQg d2F0ZXJtYXJrcyBmb3IgaW5oZXJpdGVkIHN0YXRlXG4iKTsKPiA+PiA+ICsJCXJldHVybjsKPiA+ PiA+ICsJfQo+ID4+ID4gKwo+ID4+ID4gKwkvKiBXcml0ZSBjYWxjdWxhdGVkIHdhdGVybWFyayB2 YWx1ZXMgYmFjayAqLwo+ID4+ID4gKwl0b19pOTE1KGRldiktPndtLmNvbmZpZyA9IHRvX2ludGVs X2F0b21pY19zdGF0ZShzdGF0ZSktPndtX2NvbmZpZzsKPiA+PiA+ICsJZm9yX2VhY2hfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0YywgY3N0YXRlLCBpKSB7Cj4gPj4gPiArCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3MgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNzdGF0ZSk7Cj4gPj4gPiArCj4g Pj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5wcm9ncmFtX3dhdGVybWFya3MoY3MpOwo+ID4+ID4g Kwl9Cj4gPj4gPiArCj4gPj4gPiArCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7Cj4gPj4g PiArfQo+ID4+ID4gKwo+ID4+ID4gIHZvaWQgaW50ZWxfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gPj4gPiAgewo+ID4+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4+ID4gQEAgLTE1MDU5LDYgKzE1MTA3LDEz IEBAIHZvaWQgaW50ZWxfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4g PiAgCQkgKi8KPiA+PiA+ICAJCWludGVsX2ZpbmRfaW5pdGlhbF9wbGFuZV9vYmooY3J0YywgJnBs YW5lX2NvbmZpZyk7Cj4gPj4gPiAgCX0KPiA+PiA+ICsKPiA+PiA+ICsJLyoKPiA+PiA+ICsJICog TWFrZSBzdXJlIGhhcmR3YXJlIHdhdGVybWFya3MgcmVhbGx5IG1hdGNoIHRoZSBzdGF0ZSB3ZSBy ZWFkIG91dC4KPiA+PiA+ICsJICogTm90ZSB0aGF0IHdlIG5lZWQgdG8gZG8gdGhpcyBhZnRlciBy ZWNvbnN0cnVjdGluZyB0aGUgQklPUyBmYidzCj4gPj4gPiArCSAqIHNpbmNlIHRoZSB3YXRlcm1h cmsgY2FsY3VsYXRpb24gZG9uZSBoZXJlIHdpbGwgdXNlIHBzdGF0ZS0+ZmIuCj4gPj4gPiArCSAq Lwo+ID4+ID4gKwlzYW5pdGl6ZV93YXRlcm1hcmtzKGRldik7Cj4gPj4gPiAgfQo+ID4+ID4gIAo+ ID4+ID4gIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9waXBlX2Eoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4+ID4gaW5kZXggMTgwMzQ4Yi4u ZmJjYjA3MiAxMDA2NDQKPiA+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKPiA+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+PiA+IEBA IC0zNjExLDE1ICszNjExLDE5IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfd20oc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ID4+ID4gIAlkZXZfcHJpdi0+d20uc2tsX2h3ID0gKnJlc3VsdHM7Cj4g Pj4gPiAgfQo+ID4+ID4gIAo+ID4+ID4gLXN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFy a3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ID4gK3N0YXRpYyB2b2lk IGlsa19wcm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkK PiA+PiA+ICB7Cj4gPj4gPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2 Owo+ID4+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBjc3RhdGUtPmJhc2UuY3J0YzsKPiA+ PiA+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+PiA+ICsJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4+ID4gIAlzdHJ1 Y3QgaW50ZWxfcGlwZV93bSBscF93bV8xXzIgPSB7fSwgbHBfd21fNV82ID0ge30sICpiZXN0X2xw X3dtOwo+ID4+ID4gIAlzdHJ1Y3QgaWxrX3dtX21heGltdW1zIG1heDsKPiA+PiA+ICAJc3RydWN0 IGludGVsX3dtX2NvbmZpZyAqY29uZmlnID0gJmRldl9wcml2LT53bS5jb25maWc7Cj4gPj4gPiAg CXN0cnVjdCBpbGtfd21fdmFsdWVzIHJlc3VsdHMgPSB7fTsKPiA+PiA+ICAJZW51bSBpbnRlbF9k ZGJfcGFydGl0aW9uaW5nIHBhcnRpdGlvbmluZzsKPiA+PiA+ICAKPiA+PiA+ICsJdG9faW50ZWxf Y3J0YyhjcnRjKS0+d20uYWN0aXZlLmlsayA9IGNzdGF0ZS0+d20ub3B0aW1hbC5pbGs7Cj4gPj4g PiArCj4gPj4gPiAgCWlsa19jb21wdXRlX3dtX21heGltdW1zKGRldiwgMSwgY29uZmlnLCBJTlRF TF9EREJfUEFSVF8xXzIsICZtYXgpOwo+ID4+ID4gIAlpbGtfd21fbWVyZ2UoZGV2LCBjb25maWcs ICZtYXgsICZscF93bV8xXzIpOwo+ID4+ID4gIAo+ID4+ID4gQEAgLTM2NDQsNyArMzY0OCw2IEBA IHN0YXRpYyB2b2lkIGlsa19wcm9ncmFtX3dhdGVybWFya3Moc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4+ID4gIAo+ID4+ID4gIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfd20o c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4+ID4gIHsKPiA+PiA+IC0Jc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwo+ID4+ID4gIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPj4gPiAgCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMt PnN0YXRlKTsKPiA+PiA+ICAKPiA+PiA+IEBAIC0zNjYyLDkgKzM2NjUsNyBAQCBzdGF0aWMgdm9p ZCBpbGtfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+PiA+ICAJCWludGVsX3dh aXRfZm9yX3ZibGFuayhjcnRjLT5kZXYsIGludGVsX2NydGMtPnBpcGUpOwo+ID4+ID4gIAl9Cj4g Pj4gPiAgCj4gPj4gPiAtCWludGVsX2NydGMtPndtLmFjdGl2ZS5pbGsgPSBjc3RhdGUtPndtLm9w dGltYWwuaWxrOwo+ID4+ID4gLQo+ID4+ID4gLQlpbGtfcHJvZ3JhbV93YXRlcm1hcmtzKGRldl9w cml2KTsKPiA+PiA+ICsJaWxrX3Byb2dyYW1fd2F0ZXJtYXJrcyhjc3RhdGUpOwo+ID4+ID4gIH0K PiA+PiA+ICAKPiA+PiA+ICBzdGF0aWMgdm9pZCBza2xfcGlwZV93bV9hY3RpdmVfc3RhdGUodWlu dDMyX3QgdmFsLAo+ID4+ID4gQEAgLTY5NzIsNiArNjk3Myw3IEBAIHZvaWQgaW50ZWxfaW5pdF9w bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4+ID4gIAkJICAgICBkZXZfcHJpdi0+d20uc3By X2xhdGVuY3lbMF0gJiYgZGV2X3ByaXYtPndtLmN1cl9sYXRlbmN5WzBdKSkgewo+ID4+ID4gIAkJ CWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV93bSA9IGlsa191cGRhdGVfd207Cj4gPj4gPiAgCQkJ ZGV2X3ByaXYtPmRpc3BsYXkuY29tcHV0ZV9waXBlX3dtID0gaWxrX2NvbXB1dGVfcGlwZV93bTsK PiA+PiA+ICsJCQlkZXZfcHJpdi0+ZGlzcGxheS5wcm9ncmFtX3dhdGVybWFya3MgPSBpbGtfcHJv Z3JhbV93YXRlcm1hcmtzOwo+ID4+ID4gIAkJfSBlbHNlIHsKPiA+PiA+ICAJCQlEUk1fREVCVUdf S01TKCJGYWlsZWQgdG8gcmVhZCBkaXNwbGF5IHBsYW5lIGxhdGVuY3kuICIKPiA+PiA+ICAJCQkJ ICAgICAgIkRpc2FibGUgQ3hTUlxuIik7Cj4gPj4gCj4gPj4gLS0gCj4gPj4gSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCj4gCj4gLS0gCj4gSmFuaSBOaWt1 bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCgotLSAKTWF0dCBSb3BlcgpH cmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxv cG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK