From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 5/8] drm/i915: Add a atomic evasion step to watermark programming. Date: Thu, 20 Oct 2016 15:51:37 -0200 Message-ID: <1476985897.2597.46.camel@intel.com> References: <1476278901-15750-1-git-send-email-maarten.lankhorst@linux.intel.com> <1476278901-15750-6-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 30EC46EBEC for ; Thu, 20 Oct 2016 17:52:47 +0000 (UTC) In-Reply-To: <1476278901-15750-6-git-send-email-maarten.lankhorst@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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE2LTEwLTEyIMOgcyAxNToyOCArMDIwMCwgTWFhcnRlbiBMYW5raG9yc3QgZXNj cmV2ZXU6Cj4gQWxsb3cgdGhlIGRyaXZlciB0byB3cml0ZSB3YXRlcm1hcmtzIGR1cmluZyBhdG9t aWMgZXZhc2lvbi4KPiBUaGlzIHdpbGwgbWFrZSBpdCBwb3NzaWJsZSB0byB3cml0ZSB0aGUgd2F0 ZXJtYXJrcyBpbiBhIGNsZWFuZXIKPiB3YXkgb24gZ2VuOSsuCj4gCj4gU2lnbmVkLW9mZi1ieTog TWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAt LS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmjCoMKgwqDCoMKgwqB8wqDCoDYg KysrKy0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxOCArKysr KysrKy0tLS0tLS0tLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmPCoMKgwqDC oMKgwqB8IDE5ICsrKysrKysrKysrKysrKysrLS0KPiDCoDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5z ZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBpbmRleCBmNjVjY2Y5YjBiZWEuLjA5NTg4YzU4MTQ4ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAo+IEBAIC00ODQsNiArNDg0LDcgQEAgc3RydWN0IHNkdm9fZGV2aWNlX21hcHBpbmcg ewo+IMKgCj4gwqBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yOwo+IMKgc3RydWN0IGludGVsX2VuY29k ZXI7Cj4gK3N0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGU7Cj4gwqBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZTsKPiDCoHN0cnVjdCBpbnRlbF9pbml0aWFsX3BsYW5lX2NvbmZpZzsKPiDCoHN0cnVjdCBp bnRlbF9jcnRjOwo+IEBAIC00OTcsOCArNDk4LDkgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlf ZnVuY3Mgewo+IMKgCWludCAoKmNvbXB1dGVfaW50ZXJtZWRpYXRlX3dtKShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+IMKgCQkJCcKgwqDCoMKgwqDCoMKgc3RydWN0IGludGVsX2NydGMKPiAqaW50 ZWxfY3J0YywKPiDCoAkJCQnCoMKgwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4g Km5ld3N0YXRlKTsKPiAtCXZvaWQgKCppbml0aWFsX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjc3RhdGUpOwo+IC0Jdm9pZCAoKm9wdGltaXplX3dhdGVybWFya3MpKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlCj4gKmNzdGF0ZSk7Cj4gKwl2b2lkICgqaW5pdGlhbF93YXRlcm1h cmtzKShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKPiBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3N0YXRlKTsKPiArCXZvaWQgKCphdG9taWNfZXZhZGVfd2F0ZXJtYXJrcykoc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZQo+ICpzdGF0ZSwgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNzdGF0ZSk7Cj4gKwl2b2lkICgqb3B0aW1pemVfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZQo+ICpzdGF0ZSwgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSk7CgpD YW4ndCB3ZSBqdXN0IGdldCBpbnRlbF9hdG9taWNfc3RhdGUgZnJvbSBpbnRlbF9jcnRjX3N0YXRl PyDCoFdoeSBwYXNzCmJvdGg/CgoKPiDCoAlpbnQgKCpjb21wdXRlX2dsb2JhbF93YXRlcm1hcmtz KShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQo+ICpzdGF0ZSk7Cj4gwqAJdm9pZCAoKnVwZGF0ZV93 bSkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiDCoAlpbnQgKCptb2Rlc2V0X2NhbGNfY2RjbGsp KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gaW5kZXggNTVmOGVjOGM3NmFlLi4yM2Q4YzcyZGFkZTMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTUxNjAsNyArNTE2MCw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0Cj4gaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUpCj4gwqAJwqAqIHVzIHRvLgo+IMKgCcKgKi8KPiDCoAlpZiAoZGV2 X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gLQkJZGV2X3ByaXYt PmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHBpcGVfY29uZmlnKTsKPiArCQlkZXZfcHJpdi0K PiA+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKG9sZF9z dGF0ZSksCj4gcGlwZV9jb25maWcpOwo+IMKgCWVsc2UgaWYgKHBpcGVfY29uZmlnLT51cGRhdGVf d21fcHJlKQo+IMKgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcygmY3J0Yy0+YmFzZSk7Cj4gwqB9 Cj4gQEAgLTUzNzQsNyArNTM3NCw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxl KHN0cnVjdAo+IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+IMKgCWludGVsX2NvbG9y X2xvYWRfbHV0cygmcGlwZV9jb25maWctPmJhc2UpOwo+IMKgCj4gwqAJaWYgKGRldl9wcml2LT5k aXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyAhPSBOVUxMKQo+IC0JCWRldl9wcml2LT5kaXNwbGF5 LmluaXRpYWxfd2F0ZXJtYXJrcyhpbnRlbF9jcnRjLQo+ID5jb25maWcpOwo+ICsJCWRldl9wcml2 LQo+ID5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xk X3N0YXRlKSwKPiBpbnRlbF9jcnRjLT5jb25maWcpOwo+IMKgCWludGVsX2VuYWJsZV9waXBlKGlu dGVsX2NydGMpOwo+IMKgCj4gwqAJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGFzX3BjaF9lbmNv ZGVyKQo+IEBAIC01NDgwLDcgKzU0ODAsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5h YmxlKHN0cnVjdAo+IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+IMKgCQlpbnRlbF9k ZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhjcnRjKTsKPiDCoAo+IMKgCWlmIChkZXZfcHJpdi0+ ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVMTCkKPiAtCQlkZXZfcHJpdi0+ZGlzcGxh eS5pbml0aWFsX3dhdGVybWFya3MocGlwZV9jb25maWcpOwo+ICsJCWRldl9wcml2LQo+ID5kaXNw bGF5LmluaXRpYWxfd2F0ZXJtYXJrcyh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwK PiBwaXBlX2NvbmZpZyk7Cj4gwqAJZWxzZQo+IMKgCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhj cnRjKTsKPiDCoAo+IEBAIC0xNDUwMyw3ICsxNDUwMyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0 b21pY19jb21taXRfdGFpbChzdHJ1Y3QKPiBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiDCoAkJ aW50ZWxfY3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gwqAKPiDC oAkJaWYgKGRldl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3MpCj4gLQkJCWRldl9w cml2LQo+ID5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3MoaW50ZWxfY3N0YXRlKTsKPiArCQkJ ZGV2X3ByaXYtCj4gPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhpbnRlbF9zdGF0ZSwgaW50 ZWxfY3N0YXRlKTsKPiDCoAl9Cj4gwqAKPiDCoAlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRl LCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwgaSkgewo+IEBAIC0xNDkwOCw3ICsxNDkwOCw2IEBAIHN0 YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0cnVjdAo+IGRybV9jcnRjICpjcnRj LAo+IMKgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUgPQo+IMKgCQl0 b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKTsKPiDCoAlib29sIG1vZGVzZXQgPSBu ZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKTsKPiAtCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0 Yy0+cGlwZTsKPiDCoAo+IMKgCS8qIFBlcmZvcm0gdmJsYW5rIGV2YXNpb24gYXJvdW5kIGNvbW1p dCBvcGVyYXRpb24gKi8KPiDCoAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jcnRjKTsK PiBAQCAtMTQ5MjMsMTIgKzE0OTIyLDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNf Y29tbWl0KHN0cnVjdAo+IGRybV9jcnRjICpjcnRjLAo+IMKgCj4gwqAJaWYgKGludGVsX2NzdGF0 ZS0+dXBkYXRlX3BpcGUpCj4gwqAJCWludGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhpbnRlbF9jcnRj LAo+IG9sZF9pbnRlbF9zdGF0ZSk7Cj4gLQllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDkpIHsKPiArCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKPiDCoAkJc2tsX2Rl dGFjaF9zY2FsZXJzKGludGVsX2NydGMpOwo+IMKgCj4gLQkJSTkxNV9XUklURShQSVBFX1dNX0xJ TkVUSU1FKHBpcGUpLAo+IC0JCQnCoMKgwqBpbnRlbF9jc3RhdGUtPndtLnNrbC5vcHRpbWFsLmxp bmV0aW1lKTsKPiAtCX0KPiArCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfZXZhZGVfd2F0 ZXJtYXJrcykKPiArCQlkZXZfcHJpdi0KPiA+ZGlzcGxheS5hdG9taWNfZXZhZGVfd2F0ZXJtYXJr cyh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX2NydGNfc3RhdGUKPiAtPnN0YXRlKSwgaW50ZWxf Y3N0YXRlKTsKClRoaXMgd2lsbCBub3cgYWxzbyB1cGRhdGUgUElQRV9XTV9MSU5FVElNRSBldmVu IGlmIGludGVsX2NzdGF0ZS0KPnVwZGF0ZV9waXBlIGlzIHRydWUuIElzIHRoaXMgaW50ZW50aW9u YWw/IElzIGl0IGEgYnVnIGZpeD8gSWYgeWVzIGZvcgphbnkgb2YgdGhvc2UgcXVlc3Rpb25zLCBp dCBwcm9iYWJseSBuZWVkcyBzb21lIGdvb2QgZXhwbGFuYXRpb24gaW4gdGhlCmNvbW1pdCBtZXNz YWdlIG9yIG1heWJlIGEgc2VwYXJhdGUgcGF0Y2ggd2l0aCB0aGUgZXhwbGljaXQgYmVoYXZpb3IK Y2hhbmdlIGFuZCBleHBsYW5hdGlvbi4KCgo+IMKgfQo+IMKgCj4gwqBzdGF0aWMgdm9pZCBpbnRl bF9maW5pc2hfY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IEBAIC0xNjM4OCw3 ICsxNjM4Niw3IEBAIHJldHJ5Ogo+IMKgCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3MgPQo+ IHRvX2ludGVsX2NydGNfc3RhdGUoY3N0YXRlKTsKPiDCoAo+IMKgCQljcy0+d20ubmVlZF9wb3N0 dmJsX3VwZGF0ZSA9IHRydWU7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJt YXJrcyhjcyk7Cj4gKwkJZGV2X3ByaXYtCj4gPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyh0 b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLCBjcyk7Cj4gwqAJfQo+IMKgCj4gwqAJZHJtX2F0 b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4 IDQ1ZmI4Mjc1YWJlYS4uMDVjY2QyNTNmZDdhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j Cj4gQEAgLTQxNzcsNiArNDE3NywxOCBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCj4gwqAJcmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiArc3RhdGljIHZvaWQg c2tsX2V2YWRlX2NydGNfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gKwkJ CcKgwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gK3sKPiArCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7 Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLQo+ ID5iYXNlLmRldik7Cj4gKwlzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20gPSAmY3N0YXRlLT53 bS5za2wub3B0aW1hbDsKPiArCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiArCj4gKwlJ OTE1X1dSSVRFKFBJUEVfV01fTElORVRJTUUocGlwZSksCj4gKwkJwqDCoMKgcGlwZV93bS0+bGlu ZXRpbWUpOwo+ICt9Cj4gKwo+IMKgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV93bShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gwqB7Cj4gwqAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGMpOwo+IEBAIC00MjcwLDcgKzQyODIsOCBAQCBzdGF0aWMgdm9pZCBp bGtfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdAo+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+IMKgCWlsa193cml0ZV93bV92YWx1ZXMoZGV2X3ByaXYsICZyZXN1bHRzKTsKPiDCoH0KPiDC oAo+IC1zdGF0aWMgdm9pZCBpbGtfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUpCj4gK3N0YXRpYyB2b2lkIGlsa19pbml0aWFsX3dhdGVybWFya3Moc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gKwkJCQnCoMKgwqBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlKQo+IMKgewo+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLQo+ID5iYXNlLmNydGMtPmRldik7Cj4gwqAJc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNzdGF0ZS0KPiA+YmFzZS5j cnRjKTsKPiBAQCAtNDI4MSw3ICs0Mjk0LDggQEAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxfd2F0 ZXJtYXJrcyhzdHJ1Y3QKPiBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4gwqAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwo+IMKgfQo+IMKgCj4gLXN0YXRpYyB2b2lkIGls a19vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCj4g K3N0YXRpYyB2b2lkIGlsa19vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUKPiAqc3RhdGUsCj4gKwkJCQnCoMKgwqDCoHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUpCj4gwqB7Cj4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjc3RhdGUtCj4gPmJhc2UuY3J0Yy0+ZGV2KTsKPiDCoAlzdHJ1Y3QgaW50ZWxfY3J0YyAq aW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3N0YXRlLQo+ID5iYXNlLmNydGMpOwo+IEBAIC03 NzE1LDYgKzc3MjksNyBAQCB2b2lkIGludGVsX2luaXRfcG0oc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiDCoAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+IMKgCQlza2xfc2V0dXBf d21fbGF0ZW5jeShkZXYpOwo+IMKgCQlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfd20gPSBza2xf dXBkYXRlX3dtOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmF0b21pY19ldmFkZV93YXRlcm1hcmtz ID0KPiBza2xfZXZhZGVfY3J0Y193bTsKPiDCoAkJZGV2X3ByaXYtPmRpc3BsYXkuY29tcHV0ZV9n bG9iYWxfd2F0ZXJtYXJrcyA9Cj4gc2tsX2NvbXB1dGVfd207Cj4gwqAJfSBlbHNlIGlmIChIQVNf UENIX1NQTElUKGRldikpIHsKPiDCoAkJaWxrX3NldHVwX3dtX2xhdGVuY3koZGV2KTsKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==