From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH v2 13/13] drm/i915: Acquire P-Unit access when modifying P-Unit settings Date: Sat, 28 Jan 2017 17:25:56 +0100 Message-ID: <64a4aef7-837f-059c-9be5-4a76602488be@redhat.com> References: <20170123210958.18410-1-hdegoede@redhat.com> <20170123210958.18410-14-hdegoede@redhat.com> <20170127135147.GS31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170127135147.GS31595@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: Wolfram Sang , Takashi Iwai , "russianneuromancer @ ya . ru" , intel-gfx , linux-i2c@vger.kernel.org, Jarkko Nikula , dri-devel@lists.freedesktop.org, "H . Peter Anvin" , Daniel Vetter , Thomas Gleixner , Andy Shevchenko , Mika Westerberg , Len Brown List-Id: linux-i2c@vger.kernel.org SGksCgpPbiAwMS8yNy8yMDE3IDAyOjUxIFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gT24g TW9uLCBKYW4gMjMsIDIwMTcgYXQgMTA6MDk6NThQTSArMDEwMCwgSGFucyBkZSBHb2VkZSB3cm90 ZToKPj4gTWFrZSBzdXJlIHRoZSBQLVVuaXQgb3IgdGhlIFBNSUMgaTJjIGJ1cyBpcyBub3QgaW4g dXNlIHdoZW4gd2Ugc2VuZCBhCj4+IHJlcXVlc3QgdG8gdGhlIFAtVW5pdCBieSBjYWxsaW5nIGlv c2ZfbWJpX3B1bml0X2FjcXVpcmUoKSAvIF9yZWxlYXNlKCkKPj4gYXJvdW5kIFAtVW5pdCB3cml0 ZSBhY2Nlc3Nlcy4KPgo+IENhbid0IHdlIGp1c3Qgc3R1ZmYgdGhlIGNhbGxzIGludG8gdGhlIGFj dHVhbCBwdW5pdCB3cml0ZSBmdW5jdGlvbgo+IHJhdGhlciB0aGFuIHNwcmlua2xpbmcgdGhlbSBh bGwgb3ZlciB0aGUgcGxhY2U/CgpwdW5pdCBhY2Nlc3MgaXMgYWNxdWlyZWQgYWNyb3NzIHNlY3Rp b25zIGxpa2UgdGhpczoKCiAgICAgICAgIGlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsKCiAgICAg ICAgIHZhbCA9IHZsdl9wdW5pdF9yZWFkKGRldl9wcml2LCBQVU5JVF9SRUdfRFNQRlJFUSk7CiAg ICAgICAgIHZhbCAmPSB+RFNQRlJFUUdVQVJfTUFTSzsKICAgICAgICAgdmFsIHw9IChjbWQgPDwg RFNQRlJFUUdVQVJfU0hJRlQpOwogICAgICAgICB2bHZfcHVuaXRfd3JpdGUoZGV2X3ByaXYsIFBV TklUX1JFR19EU1BGUkVRLCB2YWwpOwogICAgICAgICBpZiAod2FpdF9mb3IoKHZsdl9wdW5pdF9y ZWFkKGRldl9wcml2LCBQVU5JVF9SRUdfRFNQRlJFUSkgJgogICAgICAgICAgICAgICAgICAgICAg IERTUEZSRVFTVEFUX01BU0spID09IChjbWQgPDwgRFNQRlJFUVNUQVRfU0hJRlQpLAogICAgICAg ICAgICAgICAgICAgICAgNTApKSB7CiAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJ0aW1lZCBv dXQgd2FpdGluZyBmb3IgQ0RjbGsgY2hhbmdlXG4iKTsKICAgICAgICAgfQogICAgICAgICBpb3Nm X21iaV9wdW5pdF9yZWxlYXNlKCk7CgpXaGVyZSB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoZSByZXF1 ZXN0ZWQgY2hhbmdlIHRvIGhhdmUgdGFrZW4KZWZmZWN0IGJlZm9yZSByZWxlYXNpbmcgdGhlIHB1 bml0LgoKPgo+ICsgYSBjb21tZW50IHdvdWxkIGJlIG5pY2Ugd2h5IGl0J3MgdGhlcmUuCgpJIHdp bGwgYWRkIGNvbW1lbnRzIHRvIHRoZSBhY3F1aXJlIGNhbGxzLgoKPiBEbyB3ZSBuZWVkIGEga2Nv bmZpZyBzZWxlY3QvZGVwZW5kcyBvbiB0aGUgaW9zZl9tYmkgdGhpbmc/IE9yIHNvbWUKPiBpZmRl ZnM/CgpObywgdGhlIGlvc2ZfbWJpIGhlYWRlciBkZWZpbmVzIGVtcHR5IGlubGluZSB2ZXJzaW9u cyBvZgppb3NmX21iaV9wdW5pdF9hY3F1aXJlIC8gX3JlbGVhc2UgaWYgSU9TRl9NQkkgaXMgZGlz YWJsZWQsCnRoaXMgZG9lcyBtZWFuIHRoYXQgaW9zZl9tYmkgbXVzdCBiZSBidWlsdGluIGlmIHRo ZSBpOTE1CmRyaXZlciBpcy4gSSdsbCBhZGQ6CgoJZGVwZW5kcyBvbiBEUk1fSTkxNT1JT1NGX01C SSB8fCBJT1NGX01CST15CgpUbyB0aGUgaTkxNSBLY29uZmlnIHRvIGVuZm9yY2UgdGhpcy4KClJl Z2FyZHMsCgpIYW5zCgoKPgo+Pgo+PiBCdWdMaW5rOiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5v cmcvc2hvd19idWcuY2dpP2lkPTE1NTI0MQo+PiBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRl IDxoZGVnb2VkZUByZWRoYXQuY29tPgo+PiBUZXN0ZWQtYnk6IHRhZ29yZXJlZGR5IDx0YWdvcmUu Y2hhbmRhbkBnbWFpbC5jb20+Cj4+IC0tLQo+PiBDaGFuZ2VzIGluIHYyOgo+PiAtU3BlbGxpbmc6 IFAtVW5pdCwgUE1JQwo+PiAtQWRqdXN0IGZvciBpb3NmX21iaV9wdW5pdF9sb2NrL191bmxvY2sg dG8gX2FjcXVpcmUvX3JlbGVhc2UgcmVuYW1lCj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgNiArKysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgICAgICAgICB8IDkgKysrKysrKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMgfCA5ICsrKysrKysrKwo+PiAgMyBmaWxlcyBjaGFuZ2VkLCAy NCBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4g aW5kZXggNTYwNDcwMS4uMTNlNTE1MiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+PiBAQCAtNDcsNiArNDcsNyBAQAo+PiAgI2luY2x1ZGUgPGRybS9kcm1fcmVjdC5o Pgo+PiAgI2luY2x1ZGUgPGxpbnV4L2RtYV9yZW1hcHBpbmcuaD4KPj4gICNpbmNsdWRlIDxsaW51 eC9yZXNlcnZhdGlvbi5oPgo+PiArI2luY2x1ZGUgPGFzbS9pb3NmX21iaS5oPgo+Pgo+PiAgc3Rh dGljIGJvb2wgaXNfbW1pb193b3JrKHN0cnVjdCBpbnRlbF9mbGlwX3dvcmsgKndvcmspCj4+ICB7 Cj4+IEBAIC02NDIxLDYgKzY0MjIsOCBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X3NldF9jZGNs ayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgY2RjbGspCj4+ICAJCWNtZCA9IDA7Cj4+Cj4+ ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKPj4gKwlpb3NmX21iaV9wdW5p dF9hY3F1aXJlKCk7Cj4+ICsKPj4gIAl2YWwgPSB2bHZfcHVuaXRfcmVhZChkZXZfcHJpdiwgUFVO SVRfUkVHX0RTUEZSRVEpOwo+PiAgCXZhbCAmPSB+RFNQRlJFUUdVQVJfTUFTSzsKPj4gIAl2YWwg fD0gKGNtZCA8PCBEU1BGUkVRR1VBUl9TSElGVCk7Cj4+IEBAIC02NDMwLDYgKzY0MzMsNyBAQCBz dGF0aWMgdm9pZCB2YWxsZXl2aWV3X3NldF9jZGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBp bnQgY2RjbGspCj4+ICAJCSAgICAgNTApKSB7Cj4+ICAJCURSTV9FUlJPUigidGltZWQgb3V0IHdh aXRpbmcgZm9yIENEY2xrIGNoYW5nZVxuIik7Cj4+ICAJfQo+PiArCWlvc2ZfbWJpX3B1bml0X3Jl bGVhc2UoKTsKPj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT5ycHMuaHdfbG9jayk7Cj4+Cj4+ ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOwo+PiBAQCAtNjQ5Nyw2ICs2NTAxLDcg QEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19zZXRfY2RjbGsoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50IGNkY2xrKQo+PiAgCWNtZCA9IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5ocGxs X2ZyZXEgPDwgMSwgY2RjbGspIC0gMTsKPj4KPj4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cnBz Lmh3X2xvY2spOwo+PiArCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsKPj4gIAl2YWwgPSB2bHZf cHVuaXRfcmVhZChkZXZfcHJpdiwgUFVOSVRfUkVHX0RTUEZSRVEpOwo+PiAgCXZhbCAmPSB+RFNQ RlJFUUdVQVJfTUFTS19DSFY7Cj4+ICAJdmFsIHw9IChjbWQgPDwgRFNQRlJFUUdVQVJfU0hJRlRf Q0hWKTsKPj4gQEAgLTY1MDYsNiArNjUxMSw3IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc2V0 X2NkY2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjZGNsaykKPj4gIAkJICAgICA1MCkp IHsKPj4gIAkJRFJNX0VSUk9SKCJ0aW1lZCBvdXQgd2FpdGluZyBmb3IgQ0RjbGsgY2hhbmdlXG4i KTsKPj4gIAl9Cj4+ICsJaW9zZl9tYmlfcHVuaXRfcmVsZWFzZSgpOwo+PiAgCW11dGV4X3VubG9j aygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKPj4KPj4gIAlpbnRlbF91cGRhdGVfY2RjbGsoZGV2 X3ByaXYpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPj4gaW5kZXggMjQ5NjIzZC4uYWRmZjg0 YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+IEBAIC0zMiw2ICszMiw3IEBACj4+ ICAjaW5jbHVkZSAiLi4vLi4vLi4vcGxhdGZvcm0veDg2L2ludGVsX2lwcy5oIgo+PiAgI2luY2x1 ZGUgPGxpbnV4L21vZHVsZS5oPgo+PiAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5o Pgo+PiArI2luY2x1ZGUgPGFzbS9pb3NmX21iaS5oPgo+Pgo+PiAgLyoqCj4+ICAgKiBET0M6IFJD Ngo+PiBAQCAtMjc2LDYgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIGNodl9zZXRfbWVtb3J5X2R2ZnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIGVuYWJsZSkKPj4gIAl1MzIg dmFsOwo+Pgo+PiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5ycHMuaHdfbG9jayk7Cj4+ICsJaW9z Zl9tYmlfcHVuaXRfYWNxdWlyZSgpOwo+Pgo+PiAgCXZhbCA9IHZsdl9wdW5pdF9yZWFkKGRldl9w cml2LCBQVU5JVF9SRUdfRERSX1NFVFVQMik7Cj4+ICAJaWYgKGVuYWJsZSkKPj4gQEAgLTI5MCw2 ICsyOTIsNyBAQCBzdGF0aWMgdm9pZCBjaHZfc2V0X21lbW9yeV9kdmZzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgYm9vbCBlbmFibGUpCj4+ICAJCSAgICAgIEZPUkNFX0REUl9G UkVRX1JFUV9BQ0spID09IDAsIDMpKQo+PiAgCQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5n IGZvciBQdW5pdCBERFIgRFZGUyByZXF1ZXN0XG4iKTsKPj4KPj4gKwlpb3NmX21iaV9wdW5pdF9y ZWxlYXNlKCk7Cj4+ICAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwo+PiAg fQo+Pgo+PiBAQCAtMjk4LDYgKzMwMSw3IEBAIHN0YXRpYyB2b2lkIGNodl9zZXRfbWVtb3J5X3Bt NShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgZW5hYmxlKQo+PiAgCXUz MiB2YWw7Cj4+Cj4+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKPj4gKwlp b3NmX21iaV9wdW5pdF9hY3F1aXJlKCk7Cj4+Cj4+ICAJdmFsID0gdmx2X3B1bml0X3JlYWQoZGV2 X3ByaXYsIFBVTklUX1JFR19EU1BGUkVRKTsKPj4gIAlpZiAoZW5hYmxlKQo+PiBAQCAtMzA2LDYg KzMxMCw3IEBAIHN0YXRpYyB2b2lkIGNodl9zZXRfbWVtb3J5X3BtNShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgZW5hYmxlKQo+PiAgCQl2YWwgJj0gfkRTUF9NQVhGSUZP X1BNNV9FTkFCTEU7Cj4+ICAJdmx2X3B1bml0X3dyaXRlKGRldl9wcml2LCBQVU5JVF9SRUdfRFNQ RlJFUSwgdmFsKTsKPj4KPj4gKwlpb3NmX21iaV9wdW5pdF9yZWxlYXNlKCk7Cj4+ICAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spOwo+PiAgfQo+Pgo+PiBAQCAtNDU1Myw2ICs0 NTU4LDcgQEAgdm9pZCB2bHZfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4+Cj4+ICAJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4+ICAJCW11dGV4X2xvY2so JmRldl9wcml2LT5ycHMuaHdfbG9jayk7Cj4+ICsJCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsK Pj4KPj4gIAkJdmFsID0gdmx2X3B1bml0X3JlYWQoZGV2X3ByaXYsIFBVTklUX1JFR19EU1BGUkVR KTsKPj4gIAkJaWYgKHZhbCAmIERTUF9NQVhGSUZPX1BNNV9FTkFCTEUpCj4+IEBAIC00NTgyLDYg KzQ1ODgsNyBAQCB2b2lkIHZsdl93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPj4gIAkJCQl3bS0+bGV2ZWwgPSBWTFZfV01fTEVWRUxfRERSX0RWRlM7Cj4+ICAJCX0KPj4K Pj4gKwkJaW9zZl9tYmlfcHVuaXRfcmVsZWFzZSgpOwo+PiAgCQltdXRleF91bmxvY2soJmRldl9w cml2LT5ycHMuaHdfbG9jayk7Cj4+ICAJfQo+Pgo+PiBAQCAtNDk4OCw3ICs0OTk1LDkgQEAgc3Rh dGljIHZvaWQgdmFsbGV5dmlld19zZXRfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgdTggdmFsKQo+PiAgCUk5MTVfV1JJVEUoR0VONl9QTUlOVFJNU0ssIGdlbjZfcnBzX3Bt X21hc2soZGV2X3ByaXYsIHZhbCkpOwo+Pgo+PiAgCWlmICh2YWwgIT0gZGV2X3ByaXYtPnJwcy5j dXJfZnJlcSkgewo+PiArCQlpb3NmX21iaV9wdW5pdF9hY3F1aXJlKCk7Cj4+ICAJCXZsdl9wdW5p dF93cml0ZShkZXZfcHJpdiwgUFVOSVRfUkVHX0dQVV9GUkVRX1JFUSwgdmFsKTsKPj4gKwkJaW9z Zl9tYmlfcHVuaXRfcmVsZWFzZSgpOwo+PiAgCQlpZiAoIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYp KQo+PiAgCQkJZ2VuNl9zZXRfcnBzX3RocmVzaG9sZHMoZGV2X3ByaXYsIHZhbCk7Cj4+ICAJfQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4+IGluZGV4IGMwYjdlOTUu LmU2NmJjYzggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRp bWVfcG0uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMK Pj4gQEAgLTI4LDYgKzI4LDcgQEAKPj4KPj4gICNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+ Cj4+ICAjaW5jbHVkZSA8bGludXgvdmdhYXJiLmg+Cj4+ICsjaW5jbHVkZSA8YXNtL2lvc2ZfbWJp Lmg+Cj4+Cj4+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPj4gICNpbmNsdWRlICJpbnRlbF9kcnYu aCIKPj4gQEAgLTEwMjcsNiArMTAyOCw4IEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfcG93ZXJfd2Vs bChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJaWYgKENPTkQpCj4+ICAJ CWdvdG8gb3V0Owo+Pgo+PiArCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsKPj4gKwo+PiAgCWN0 cmwgPSB2bHZfcHVuaXRfcmVhZChkZXZfcHJpdiwgUFVOSVRfUkVHX1BXUkdUX0NUUkwpOwo+PiAg CWN0cmwgJj0gfm1hc2s7Cj4+ICAJY3RybCB8PSBzdGF0ZTsKPj4gQEAgLTEwMzcsNiArMTA0MCw4 IEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4+ICAJCQkgIHN0YXRlLAo+PiAgCQkJICB2bHZfcHVuaXRfcmVhZChkZXZf cHJpdiwgUFVOSVRfUkVHX1BXUkdUX0NUUkwpKTsKPj4KPj4gKwlpb3NmX21iaV9wdW5pdF9yZWxl YXNlKCk7Cj4+ICsKPj4gICN1bmRlZiBDT05ECj4+Cj4+ICBvdXQ6Cj4+IEBAIC0xNjQzLDYgKzE2 NDgsOCBAQCBzdGF0aWMgdm9pZCBjaHZfc2V0X3BpcGVfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAJaWYgKENPTkQpCj4+ICAJCWdvdG8gb3V0Owo+Pgo+ PiArCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsKPj4gKwo+PiAgCWN0cmwgPSB2bHZfcHVuaXRf cmVhZChkZXZfcHJpdiwgUFVOSVRfUkVHX0RTUEZSRVEpOwo+PiAgCWN0cmwgJj0gfkRQX1NTQ19N QVNLKHBpcGUpOwo+PiAgCWN0cmwgfD0gZW5hYmxlID8gRFBfU1NDX1BXUl9PTihwaXBlKSA6IERQ X1NTQ19QV1JfR0FURShwaXBlKTsKPj4gQEAgLTE2NTMsNiArMTY2MCw4IEBAIHN0YXRpYyB2b2lk IGNodl9zZXRfcGlwZV9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPj4gIAkJCSAgc3RhdGUsCj4+ICAJCQkgIHZsdl9wdW5pdF9yZWFkKGRldl9wcml2LCBQVU5J VF9SRUdfRFNQRlJFUSkpOwo+Pgo+PiArCWlvc2ZfbWJpX3B1bml0X3JlbGVhc2UoKTsKPj4gKwo+ PiAgI3VuZGVmIENPTkQKPj4KPj4gIG91dDoKPj4gLS0KPj4gMi45LjMKPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK