From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Don't rmw PIPESTAT enable bits Date: Mon, 25 Sep 2017 16:53:33 +0300 Message-ID: <20170925135333.GA10981@intel.com> References: <20170914151731.5034-1-ville.syrjala@linux.intel.com> <20170925103318.irv3brn2t2kv3kfq@ideak-desk.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id E84756E33F for ; Mon, 25 Sep 2017 13:53:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20170925103318.irv3brn2t2kv3kfq@ideak-desk.fi.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 List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMjUsIDIwMTcgYXQgMDE6MzM6MThQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIFRodSwgU2VwIDE0LCAyMDE3IGF0IDA2OjE3OjMxUE0gKzAzMDAsIFZpbGxlIFN5cmph bGEgd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gCj4gPiBpODMwIHNlZW1zIHRvIG9jY2FzaW9uYWxseSBmb3JnZXQgdGhl IFBJUEVTVEFUIGVuYWJsZSBiaXRzIHdoZW4KPiA+IHdlIHJlYWQgdGhlIHJlZ2lzdGVyLiBUaGVz ZSBhcmVuJ3QgdGhlIG9ubHkgcmVnaXN0ZXJzIG9uIGk4MzAgdGhhdAo+ID4gaGF2ZSBwcm9ibGVt cyB3aXRoIFJNVywgYXMgcmVhZGluZyB0aGUgZG91YmxlIGJ1ZmZlcmVkIHBsYW5lCj4gPiByZWdp c3RlcnMgcmV0dXJucyB0aGUgbGF0Y2hlZCB2YWx1ZSByYXRoZXIgdGhhbiB0aGUgbGFzdCB3cml0 dGVuCj4gPiB2YWx1ZS4gU28gc29tZXRoaW5nIHNpbWlsYXIgaXMgcGVyaGFwcyBnb2luZyBvbiB3 aXRoIFBJUEVTVEFULgo+ID4gCj4gPiBUaGlzIGNvcnJ1cHRpb24gcmVzdWx0cyBvbiB2Ymxhbmsg aW50ZXJydXB0cyBvY2Nhc2lvbmFsbHkgdHVybmluZyBvZmYKPiA+IG9uIHRoZWlyIG93biwgd2hp Y2ggbGVhZHMgdG8gdmJsYW5rIHRpbWVvdXRzIGFuZCBnZW5lcmFsbHkgYSBzdHVjawo+ID4gZGlz cGxheSBzdWJzeXN0ZW0uCj4gPiAKPiA+IFNvIGxldCdzIG5vdCBSTVcgdGhlIHBpcGVzdGF0IGVu YWJsZSBiaXRzLCBhbmQgaW5zdGVhZCB1c2UgdGhlIGNhY2hlZAo+ID4gY29weSB3ZSBoYXZlIGFy b3VuZC4KPiA+IAo+ID4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IFNp Z25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgfCAgIDIgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAg ICB8IDEzNSArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYyB8ICAxNCArLS0KPiA+ICAzIGZpbGVzIGNoYW5n ZWQsIDY2IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiA+IGluZGV4IDI4YWQ1ZGFkYmIxOC4uM2I0ZGQ0MTBjYWQxIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gQEAgLTMzMDcsNiArMzMwNyw4IEBAIHN0YXRp YyBpbmxpbmUgYm9vbCBpbnRlbF92Z3B1X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPiAgCXJldHVybiBkZXZfcHJpdi0+dmdwdS5hY3RpdmU7Cj4gPiAgfQo+ID4g IAo+ID4gK3UzMiBpOTE1X3BpcGVzdGF0X2VuYWJsZV9tYXNrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiA+ICsJCQkgICAgICBlbnVtIHBpcGUgcGlwZSk7Cj4gPiAgdm9pZAo+ ID4gIGk5MTVfZW5hYmxlX3BpcGVzdGF0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgZW51bSBwaXBlIHBpcGUsCj4gPiAgCQkgICAgIHUzMiBzdGF0dXNfbWFzayk7Cj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMKPiA+IGluZGV4IDAwM2E5Mjg1NzEwMi4uN2M0ZTFhMWZhZWQ3IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4gQEAgLTU2Nyw2MiArNTY3LDE2IEBA IHZvaWQgaWJ4X2Rpc3BsYXlfaW50ZXJydXB0X3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiAgCVBPU1RJTkdfUkVBRChTREVJTVIpOwo+ID4gIH0KPiA+ICAKPiA+ IC1zdGF0aWMgdm9pZAo+ID4gLV9faTkxNV9lbmFibGVfcGlwZXN0YXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSwKPiA+IC0JCSAgICAgICB1MzIgZW5h YmxlX21hc2ssIHUzMiBzdGF0dXNfbWFzaykKPiA+ICt1MzIgaTkxNV9waXBlc3RhdF9lbmFibGVf bWFzayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiArCQkJICAgICAgZW51 bSBwaXBlIHBpcGUpCj4gPiAgewo+ID4gLQlpOTE1X3JlZ190IHJlZyA9IFBJUEVTVEFUKHBpcGUp Owo+ID4gLQl1MzIgcGlwZXN0YXQgPSBJOTE1X1JFQUQocmVnKSAmIFBJUEVTVEFUX0lOVF9FTkFC TEVfTUFTSzsKPiA+IC0KPiA+IC0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPmlycV9s b2NrKTsKPiA+IC0JV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVkKGRldl9wcml2KSk7Cj4gPiAt Cj4gPiAtCWlmIChXQVJOX09OQ0UoZW5hYmxlX21hc2sgJiB+UElQRVNUQVRfSU5UX0VOQUJMRV9N QVNLIHx8Cj4gPiAtCQkgICAgICBzdGF0dXNfbWFzayAmIH5QSVBFU1RBVF9JTlRfU1RBVFVTX01B U0ssCj4gPiAtCQkgICAgICAicGlwZSAlYzogZW5hYmxlX21hc2s9MHgleCwgc3RhdHVzX21hc2s9 MHgleFxuIiwKPiA+IC0JCSAgICAgIHBpcGVfbmFtZShwaXBlKSwgZW5hYmxlX21hc2ssIHN0YXR1 c19tYXNrKSkKPiA+IC0JCXJldHVybjsKPiA+IC0KPiA+IC0JaWYgKChwaXBlc3RhdCAmIGVuYWJs ZV9tYXNrKSA9PSBlbmFibGVfbWFzaykKPiA+IC0JCXJldHVybjsKPiA+IC0KPiA+IC0JZGV2X3By aXYtPnBpcGVzdGF0X2lycV9tYXNrW3BpcGVdIHw9IHN0YXR1c19tYXNrOwo+ID4gLQo+ID4gLQkv KiBFbmFibGUgdGhlIGludGVycnVwdCwgY2xlYXIgYW55IHBlbmRpbmcgc3RhdHVzICovCj4gPiAt CXBpcGVzdGF0IHw9IGVuYWJsZV9tYXNrIHwgc3RhdHVzX21hc2s7Cj4gPiAtCUk5MTVfV1JJVEUo cmVnLCBwaXBlc3RhdCk7Cj4gPiAtCVBPU1RJTkdfUkVBRChyZWcpOwo+ID4gLX0KPiA+IC0KPiA+ IC1zdGF0aWMgdm9pZAo+ID4gLV9faTkxNV9kaXNhYmxlX3BpcGVzdGF0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUsCj4gPiAtCQkgICAgICAgIHUzMiBl bmFibGVfbWFzaywgdTMyIHN0YXR1c19tYXNrKQo+ID4gLXsKPiA+IC0JaTkxNV9yZWdfdCByZWcg PSBQSVBFU1RBVChwaXBlKTsKPiA+IC0JdTMyIHBpcGVzdGF0ID0gSTkxNV9SRUFEKHJlZykgJiBQ SVBFU1RBVF9JTlRfRU5BQkxFX01BU0s7Cj4gPiArCXUzMiBzdGF0dXNfbWFzayA9IGRldl9wcml2 LT5waXBlc3RhdF9pcnFfbWFza1twaXBlXTsKPiA+ICsJdTMyIGVuYWJsZV9tYXNrID0gc3RhdHVz X21hc2sgPDwgMTY7Cj4gPiAgCj4gPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5p cnFfbG9jayk7Cj4gPiAtCVdBUk5fT04oIWludGVsX2lycXNfZW5hYmxlZChkZXZfcHJpdikpOwo+ ID4gLQo+ID4gLQlpZiAoV0FSTl9PTkNFKGVuYWJsZV9tYXNrICYgflBJUEVTVEFUX0lOVF9FTkFC TEVfTUFTSyB8fAo+ID4gLQkJICAgICAgc3RhdHVzX21hc2sgJiB+UElQRVNUQVRfSU5UX1NUQVRV U19NQVNLLAo+ID4gLQkJICAgICAgInBpcGUgJWM6IGVuYWJsZV9tYXNrPTB4JXgsIHN0YXR1c19t YXNrPTB4JXhcbiIsCj4gPiAtCQkgICAgICBwaXBlX25hbWUocGlwZSksIGVuYWJsZV9tYXNrLCBz dGF0dXNfbWFzaykpCj4gPiAtCQlyZXR1cm47Cj4gPiAtCj4gPiAtCWlmICgocGlwZXN0YXQgJiBl bmFibGVfbWFzaykgPT0gMCkKPiA+IC0JCXJldHVybjsKPiA+IC0KPiA+IC0JZGV2X3ByaXYtPnBp cGVzdGF0X2lycV9tYXNrW3BpcGVdICY9IH5zdGF0dXNfbWFzazsKPiA+IC0KPiA+IC0JcGlwZXN0 YXQgJj0gfmVuYWJsZV9tYXNrOwo+ID4gLQlJOTE1X1dSSVRFKHJlZywgcGlwZXN0YXQpOwo+ID4g LQlQT1NUSU5HX1JFQUQocmVnKTsKPiA+IC19Cj4gPiAgCj4gPiAtc3RhdGljIHUzMiB2bHZfZ2V0 X3BpcGVzdGF0X2VuYWJsZV9tYXNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBzdGF0dXNf bWFzaykKPiA+IC17Cj4gPiAtCXUzMiBlbmFibGVfbWFzayA9IHN0YXR1c19tYXNrIDw8IDE2Owo+ ID4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUpCj4gPiArCQlnb3RvIG91dDsKPiA+ICAK PiA+ICAJLyoKPiA+ICAJICogT24gcGlwZSBBIHdlIGRvbid0IHN1cHBvcnQgdGhlIFBTUiBpbnRl cnJ1cHQgeWV0LAo+ID4gQEAgLTY0NSwzNSArNTk5LDU5IEBAIHN0YXRpYyB1MzIgdmx2X2dldF9w aXBlc3RhdF9lbmFibGVfbWFzayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc3RhdHVzX21h c2spCj4gPiAgCWlmIChzdGF0dXNfbWFzayAmIFNQUklURTFfRkxJUF9ET05FX0lOVF9TVEFUVVNf VkxWKQo+ID4gIAkJZW5hYmxlX21hc2sgfD0gU1BSSVRFMV9GTElQX0RPTkVfSU5UX0VOX1ZMVjsK PiA+ICAKPiA+ICtvdXQ6Cj4gPiArCVdBUk5fT05DRShlbmFibGVfbWFzayAmIH5QSVBFU1RBVF9J TlRfRU5BQkxFX01BU0sgfHwKPiA+ICsJCSAgc3RhdHVzX21hc2sgJiB+UElQRVNUQVRfSU5UX1NU QVRVU19NQVNLLAo+ID4gKwkJICAicGlwZSAlYzogZW5hYmxlX21hc2s9MHgleCwgc3RhdHVzX21h c2s9MHgleFxuIiwKPiA+ICsJCSAgcGlwZV9uYW1lKHBpcGUpLCBlbmFibGVfbWFzaywgc3RhdHVz X21hc2spOwo+ID4gKwo+ID4gIAlyZXR1cm4gZW5hYmxlX21hc2s7Cj4gPiAgfQo+ID4gIAo+ID4g LXZvaWQKPiA+IC1pOTE1X2VuYWJsZV9waXBlc3RhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlLAo+ID4gLQkJICAgICB1MzIgc3RhdHVzX21hc2spCj4g PiArdm9pZCBpOTE1X2VuYWJsZV9waXBlc3RhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gPiArCQkJICBlbnVtIHBpcGUgcGlwZSwgdTMyIHN0YXR1c19tYXNrKQo+ID4gIHsK PiA+ICsJaTkxNV9yZWdfdCByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiA+ICAJdTMyIGVuYWJsZV9t YXNrOwo+ID4gIAo+ID4gLQlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZ VklFVyhkZXZfcHJpdikpCj4gPiAtCQllbmFibGVfbWFzayA9IHZsdl9nZXRfcGlwZXN0YXRfZW5h YmxlX21hc2soJmRldl9wcml2LT5kcm0sCj4gPiAtCQkJCQkJCSAgIHN0YXR1c19tYXNrKTsKPiA+ IC0JZWxzZQo+ID4gLQkJZW5hYmxlX21hc2sgPSBzdGF0dXNfbWFzayA8PCAxNjsKPiA+IC0JX19p OTE1X2VuYWJsZV9waXBlc3RhdChkZXZfcHJpdiwgcGlwZSwgZW5hYmxlX21hc2ssIHN0YXR1c19t YXNrKTsKPiA+ICsJV0FSTl9PTkNFKHN0YXR1c19tYXNrICYgflBJUEVTVEFUX0lOVF9TVEFUVVNf TUFTSywKPiA+ICsJCSAgInBpcGUgJWM6IHN0YXR1c19tYXNrPTB4JXhcbiIsCj4gPiArCQkgIHBp cGVfbmFtZShwaXBlKSwgc3RhdHVzX21hc2spOwo+ID4gKwo+ID4gKwlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ID4gKwlXQVJOX09OKCFpbnRlbF9pcnFzX2VuYWJs ZWQoZGV2X3ByaXYpKTsKPiA+ICsKPiA+ICsJaWYgKChkZXZfcHJpdi0+cGlwZXN0YXRfaXJxX21h c2tbcGlwZV0gJiBzdGF0dXNfbWFzaykgPT0gc3RhdHVzX21hc2spCj4gPiArCQlyZXR1cm47Cj4g PiArCj4gPiArCWRldl9wcml2LT5waXBlc3RhdF9pcnFfbWFza1twaXBlXSB8PSBzdGF0dXNfbWFz azsKPiA+ICsJZW5hYmxlX21hc2sgPSBpOTE1X3BpcGVzdGF0X2VuYWJsZV9tYXNrKGRldl9wcml2 LCBwaXBlKTsKPiA+ICsKPiA+ICsJSTkxNV9XUklURShyZWcsIGVuYWJsZV9tYXNrIHwgc3RhdHVz X21hc2spOwo+ID4gKwlQT1NUSU5HX1JFQUQocmVnKTsKPiA+ICB9Cj4gPiAgCj4gPiAtdm9pZAo+ ID4gLWk5MTVfZGlzYWJsZV9waXBlc3RhdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gcGlwZSBwaXBlLAo+ID4gLQkJICAgICAgdTMyIHN0YXR1c19tYXNrKQo+ID4gK3Zv aWQgaTkxNV9kaXNhYmxlX3BpcGVzdGF0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ICsJCQkgICBlbnVtIHBpcGUgcGlwZSwgdTMyIHN0YXR1c19tYXNrKQo+ID4gIHsKPiA+ ICsJaTkxNV9yZWdfdCByZWcgPSBQSVBFU1RBVChwaXBlKTsKPiA+ICAJdTMyIGVuYWJsZV9tYXNr Owo+ID4gIAo+ID4gLQlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklF VyhkZXZfcHJpdikpCj4gPiAtCQllbmFibGVfbWFzayA9IHZsdl9nZXRfcGlwZXN0YXRfZW5hYmxl X21hc2soJmRldl9wcml2LT5kcm0sCj4gPiAtCQkJCQkJCSAgIHN0YXR1c19tYXNrKTsKPiA+IC0J ZWxzZQo+ID4gLQkJZW5hYmxlX21hc2sgPSBzdGF0dXNfbWFzayA8PCAxNjsKPiA+IC0JX19pOTE1 X2Rpc2FibGVfcGlwZXN0YXQoZGV2X3ByaXYsIHBpcGUsIGVuYWJsZV9tYXNrLCBzdGF0dXNfbWFz ayk7Cj4gPiArCVdBUk5fT05DRShzdGF0dXNfbWFzayAmIH5QSVBFU1RBVF9JTlRfU1RBVFVTX01B U0ssCj4gPiArCQkgICJwaXBlICVjOiBzdGF0dXNfbWFzaz0weCV4XG4iLAo+ID4gKwkJICBwaXBl X25hbWUocGlwZSksIHN0YXR1c19tYXNrKTsKPiA+ICsKPiA+ICsJbG9ja2RlcF9hc3NlcnRfaGVs ZCgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ICsJV0FSTl9PTighaW50ZWxfaXJxc19lbmFibGVk KGRldl9wcml2KSk7Cj4gPiArCj4gPiArCWlmICgoZGV2X3ByaXYtPnBpcGVzdGF0X2lycV9tYXNr W3BpcGVdICYgc3RhdHVzX21hc2spID09IDApCj4gPiArCQlyZXR1cm47Cj4gPiArCj4gPiArCWRl dl9wcml2LT5waXBlc3RhdF9pcnFfbWFza1twaXBlXSAmPSB+c3RhdHVzX21hc2s7Cj4gPiArCWVu YWJsZV9tYXNrID0gaTkxNV9waXBlc3RhdF9lbmFibGVfbWFzayhkZXZfcHJpdiwgcGlwZSk7Cj4g PiArCj4gPiArCUk5MTVfV1JJVEUocmVnLCBlbmFibGVfbWFzayB8IHN0YXR1c19tYXNrKTsKPiA+ ICsJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiAgfQo+ID4gIAo+ID4gIC8qKgo+ID4gQEAgLTE3Njks NyArMTc0Nyw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfcGlwZXN0YXRfaXJxX2FjayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCj4gPiAgCWZvcl9lYWNoX3BpcGUoZGV2X3By aXYsIHBpcGUpIHsKPiA+ICAJCWk5MTVfcmVnX3QgcmVnOwo+ID4gLQkJdTMyIG1hc2ssIGlpcl9i aXQgPSAwOwo+ID4gKwkJdTMyIHN0YXR1c19tYXNrLCBlbmFibGVfbWFzaywgaWlyX2JpdCA9IDA7 Cj4gPiAgCj4gPiAgCQkvKgo+ID4gIAkJICogUElQRVNUQVQgYml0cyBnZXQgc2lnbmFsbGVkIGV2 ZW4gd2hlbiB0aGUgaW50ZXJydXB0IGlzCj4gPiBAQCAtMTc4MCw3ICsxNzU4LDcgQEAgc3RhdGlj IHZvaWQgaTl4eF9waXBlc3RhdF9pcnFfYWNrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiA+ICAJCSAqLwo+ID4gIAo+ID4gIAkJLyogZmlmbyB1bmRlcnJ1bnMgYXJlIGZpbHRl cmVyZWQgaW4gdGhlIHVuZGVycnVuIGhhbmRsZXIuICovCj4gPiAtCQltYXNrID0gUElQRV9GSUZP X1VOREVSUlVOX1NUQVRVUzsKPiA+ICsJCXN0YXR1c19tYXNrID0gUElQRV9GSUZPX1VOREVSUlVO X1NUQVRVUzsKPiA+ICAKPiA+ICAJCXN3aXRjaCAocGlwZSkgewo+ID4gIAkJY2FzZSBQSVBFX0E6 Cj4gPiBAQCAtMTc5NCwyMSArMTc3MiwyMCBAQCBzdGF0aWMgdm9pZCBpOXh4X3BpcGVzdGF0X2ly cV9hY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAkJCWJyZWFrOwo+ ID4gIAkJfQo+ID4gIAkJaWYgKGlpciAmIGlpcl9iaXQpCj4gPiAtCQkJbWFzayB8PSBkZXZfcHJp di0+cGlwZXN0YXRfaXJxX21hc2tbcGlwZV07Cj4gPiArCQkJc3RhdHVzX21hc2sgfD0gZGV2X3By aXYtPnBpcGVzdGF0X2lycV9tYXNrW3BpcGVdOwo+ID4gIAo+ID4gLQkJaWYgKCFtYXNrKQo+ID4g KwkJaWYgKCFzdGF0dXNfbWFzaykKPiA+ICAJCQljb250aW51ZTsKPiAKPiBOb3QgaW50cm9kdWNl ZCBoZXJlLCBidXQgdGhlIGFib3ZlIGNvdWxkIGJlIHJlbW92ZWQuCgpJbmRlZWQuIEkgZ3Vlc3Mg YSBzZXBhcmF0ZSBwYXRjaCB3b3VsZCBiZSBjbGVhbmVyLgoKPiBUaGUgcGF0Y2ggbG9va3Mgb2s6 Cj4gCj4gUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KClRoYW5r cy4gUHVzaGVkIHRvIGRpbnEuCgo+IAo+ID4gIAo+ID4gIAkJcmVnID0gUElQRVNUQVQocGlwZSk7 Cj4gPiAtCQltYXNrIHw9IFBJUEVTVEFUX0lOVF9FTkFCTEVfTUFTSzsKPiA+IC0JCXBpcGVfc3Rh dHNbcGlwZV0gPSBJOTE1X1JFQUQocmVnKSAmIG1hc2s7Cj4gPiArCQlwaXBlX3N0YXRzW3BpcGVd ID0gSTkxNV9SRUFEKHJlZykgJiBzdGF0dXNfbWFzazsKPiA+ICsJCWVuYWJsZV9tYXNrID0gaTkx NV9waXBlc3RhdF9lbmFibGVfbWFzayhkZXZfcHJpdiwgcGlwZSk7Cj4gPiAgCj4gPiAgCQkvKgo+ ID4gIAkJICogQ2xlYXIgdGhlIFBJUEUqU1RBVCByZWdzIGJlZm9yZSB0aGUgSUlSCj4gPiAgCQkg Ki8KPiA+IC0JCWlmIChwaXBlX3N0YXRzW3BpcGVdICYgKFBJUEVfRklGT19VTkRFUlJVTl9TVEFU VVMgfAo+ID4gLQkJCQkJUElQRVNUQVRfSU5UX1NUQVRVU19NQVNLKSkKPiA+IC0JCQlJOTE1X1dS SVRFKHJlZywgcGlwZV9zdGF0c1twaXBlXSk7Cj4gPiArCQlpZiAocGlwZV9zdGF0c1twaXBlXSkK PiA+ICsJCQlJOTE1X1dSSVRFKHJlZywgZW5hYmxlX21hc2sgfCBwaXBlX3N0YXRzW3BpcGVdKTsK PiA+ICAJfQo+ID4gIAlzcGluX3VubG9jaygmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiA+ICB9Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5jCj4gPiBpbmRleCAw NDY4OTYwMGUzMzcuLjc3YzEyM2NjODgxNyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZpZm9fdW5kZXJydW4uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmlmb191bmRlcnJ1bi5jCj4gPiBAQCAtODgsMTQgKzg4LDE1IEBAIHN0YXRpYyB2 b2lkIGk5eHhfY2hlY2tfZmlmb191bmRlcnJ1bnMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4g PiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGMtPmJhc2UuZGV2KTsKPiA+ICAJaTkxNV9yZWdfdCByZWcgPSBQSVBFU1RBVChjcnRjLT5waXBl KTsKPiA+IC0JdTMyIHBpcGVzdGF0ID0gSTkxNV9SRUFEKHJlZykgJiAweGZmZmYwMDAwOwo+ID4g Kwl1MzIgZW5hYmxlX21hc2s7Cj4gPiAgCj4gPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9w cml2LT5pcnFfbG9jayk7Cj4gPiAgCj4gPiAtCWlmICgocGlwZXN0YXQgJiBQSVBFX0ZJRk9fVU5E RVJSVU5fU1RBVFVTKSA9PSAwKQo+ID4gKwlpZiAoKEk5MTVfUkVBRChyZWcpICYgUElQRV9GSUZP X1VOREVSUlVOX1NUQVRVUykgPT0gMCkKPiA+ICAJCXJldHVybjsKPiA+ICAKPiA+IC0JSTkxNV9X UklURShyZWcsIHBpcGVzdGF0IHwgUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUyk7Cj4gPiArCWVu YWJsZV9tYXNrID0gaTkxNV9waXBlc3RhdF9lbmFibGVfbWFzayhkZXZfcHJpdiwgY3J0Yy0+cGlw ZSk7Cj4gPiArCUk5MTVfV1JJVEUocmVnLCBlbmFibGVfbWFzayB8IFBJUEVfRklGT19VTkRFUlJV Tl9TVEFUVVMpOwo+ID4gIAlQT1NUSU5HX1JFQUQocmVnKTsKPiA+ICAKPiA+ICAJdHJhY2VfaW50 ZWxfY3B1X2ZpZm9fdW5kZXJydW4oZGV2X3ByaXYsIGNydGMtPnBpcGUpOwo+ID4gQEAgLTEwOCwx NSArMTA5LDE2IEBAIHN0YXRpYyB2b2lkIGk5eHhfc2V0X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5n KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiAgCWk5MTVfcmVnX3QgcmVnID0gUElQ RVNUQVQocGlwZSk7Cj4gPiAtCXUzMiBwaXBlc3RhdCA9IEk5MTVfUkVBRChyZWcpICYgMHhmZmZm MDAwMDsKPiA+ICAKPiA+ICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPmlycV9sb2Nr KTsKPiA+ICAKPiA+ICAJaWYgKGVuYWJsZSkgewo+ID4gLQkJSTkxNV9XUklURShyZWcsIHBpcGVz dGF0IHwgUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUyk7Cj4gPiArCQl1MzIgZW5hYmxlX21hc2sg PSBpOTE1X3BpcGVzdGF0X2VuYWJsZV9tYXNrKGRldl9wcml2LCBwaXBlKTsKPiA+ICsKPiA+ICsJ CUk5MTVfV1JJVEUocmVnLCBlbmFibGVfbWFzayB8IFBJUEVfRklGT19VTkRFUlJVTl9TVEFUVVMp Owo+ID4gIAkJUE9TVElOR19SRUFEKHJlZyk7Cj4gPiAgCX0gZWxzZSB7Cj4gPiAtCQlpZiAob2xk ICYmIHBpcGVzdGF0ICYgUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUykKPiA+ICsJCWlmIChvbGQg JiYgSTkxNV9SRUFEKHJlZykgJiBQSVBFX0ZJRk9fVU5ERVJSVU5fU1RBVFVTKQo+ID4gIAkJCURS TV9FUlJPUigicGlwZSAlYyB1bmRlcnJ1blxuIiwgcGlwZV9uYW1lKHBpcGUpKTsKPiA+ICAJfQo+ ID4gIH0KPiA+IC0tIAo+ID4gMi4xMy41Cj4gPiAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwg T1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=