From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH v2 07/10] drm/i915: Try to make sure cxsr is disabled around plane enable/disable Date: Wed, 1 Jul 2015 16:36:32 -0300 Message-ID: References: <1435172410-9834-8-git-send-email-ville.syrjala@linux.intel.com> <1435778018-9412-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-oi0-f52.google.com (mail-oi0-f52.google.com [209.85.218.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0A8EC6E0C5 for ; Wed, 1 Jul 2015 12:36:34 -0700 (PDT) Received: by oiax193 with SMTP id x193so39847363oia.2 for ; Wed, 01 Jul 2015 12:36:33 -0700 (PDT) In-Reply-To: <1435778018-9412-1-git-send-email-ville.syrjala@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: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: Intel Graphics Development , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org MjAxNS0wNy0wMSAxNjoxMyBHTVQtMDM6MDAgIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT46Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPgo+IEN4U1IgKG9yIG1heGZpZm8gb24gVkxWL0NIVikgYmxvY2tzIHNvbW5lIGNoYW5nZXMg dG8gdGhlIHBsYW5lIGNvbnRyb2wKPiByZWdpc3RlciAoZW5hYmxlIGJpdCBhdCBsZWFzdCwgbm90 IHF1aXRlIHN1cmUgYWJvdXQgdGhlIHJlc3QpLiBTbyBpbgo+IG9yZGVyIHRvIGhhdmUgdGhlIHBs YW5lIGVuYWJsZS9kaXNhYmxlIHdoZW4gd2Ugd2FudCB3ZSBuZWVkIHRvIGZpcnN0Cj4ga2ljayB0 aGUgaGFyZHdhcmUgb3V0IG9mIGN4c3IuCj4KPiBVbmZvcnR1bmF0ZWxveSB0aGlzIHJlcXVpcmVz IHNvbWUgZXh0cmEgdmJsYW5rIHdhaXRzLiBGb3IgdGhlIEN4U1IKPiBlbmFibGUgYWZ0ZXIgdGhl IHBsYW5lIHVwZGF0ZSB3ZSBzaG91bGQgZXZlbnR1YWxseSB1c2UgYW4gYXN5bmMKPiB2Ymxhbmsg d29ya2VyLCBidXQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0aGF0IGp1c3QgZG8gc3luYyB2YmxhbmsK PiB3YWl0cy4gRm9yIHRoZSBkaXNhYmxlIGNhc2Ugd2UgaGF2ZSBubyBjaG9pY2UgYnV0IHRvIGRv IGl0Cj4gc3luY2hyb25vdXNseS4KPgo+IHYyOiBEb24ndCBhZGQgYSBzcHVyaW91cyBpbnRlbF9w cmVfcGxhbmVfdXBkYXRlKCkgdG8gY3J0YyBkaXNhYmxlCj4KPiBDYzogUGF1bG8gWmFub25pIDxw YXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IENsaW50IFRheWxvciA8Q2xp bnRvbi5BLlRheWxvckBpbnRlbC5jb20+Cj4gVGVzdGVkLWJ5OiBDbGludCBUYXlsb3IgPENsaW50 b24uQS5UYXlsb3JAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gUGF1bG8gbm90aWNlZCBzb21l IGZyb250YnVmZmVyX2JpdHMgV0FSTnMgZnJvbSB0aGlzIHBhdGNoLCBhbmQgc3VyZSBlbm91Z2gK PiBJIGFjY2lkZW50YWxseSBhZGRlZCBhbm90aGVyIGludGVsX3ByZV9wbGFuZV91cGRhdGUoKSB0 byB0aGUgY3J0YyBkaXNhYmxlIGxvb3AuCj4gSSBmYWlsZWQgdG8gbm90aWNlIGJlY2F1c2UgSSBo YWQgY29tbWVudGVkIG91dCB0aGUgZnJvbnRidWZmZXJfYml0cyBXQVJOcyBlYXJsaWVyCj4gZnJv bSBteSB0cmVlIHNpbmNlIHRoZXkgd2VyZSB0b28gbm9pc3kuCgpPaywgc28gSSBkaWRuJ3QgdGVz dCB0aGlzIGV4YWN0IHYyIHBhdGNoIHNpbmNlIEknbSBvbiAtbmlnaHRseSBhbmQgdjEKaXMgYWxy ZWFkeSBhcHBsaWVkIHRoZXJlLiBCdXQgSSByZW1vdmVkIHRoZSBleHRyYQppbnRlbF9wcmVfcGxh bmVfdXBkYXRlKCkgYWRkZWQgYnkgdjEgb2YgdGhlIHBhdGNoLCBib290ZWQsIGFuZCBJIGNhbgpj b25maXJtIHRoZSBXQVJOcyBhcmUgZ29uZS4gVGhlIHRlc3QgSSB3YXMgdXNpbmcgdG8gcmVwcm9k dWNlIHRoZQpXQVJOcyB3YXM6CgpzdWRvIC4va21zX2Zyb250YnVmZmVyX3RyYWNraW5nIC0tcnVu LXN1YnRlc3QgZmJjLTFwLXJ0ZQoKS2luZGEtdGVzdGVkLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxv LnIuemFub25pQGludGVsLmNvbT4KClRoYW5rcyBmb3IgdGhlIHF1aWNrIHJlc3BvbnNlIGFuZCBm aXghCgo+Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDM0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgIHwgIDMgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMg ICAgICB8IDExICsrKystLS0tLS0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4g aW5kZXggZDY3YjVmMS4uZGVmYzRjZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBAQCAtNDcxNiw2ICs0NzE2LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFu ZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4KPiAgICAgICAgIGludGVsX2Zyb250 YnVmZmVyX2ZsaXAoZGV2LCBhdG9taWMtPmZiX2JpdHMpOwo+Cj4gKyAgICAgICBpZiAoYXRvbWlj LT5kaXNhYmxlX2N4c3IpCj4gKyAgICAgICAgICAgICAgIGNydGMtPndtLmN4c3JfYWxsb3dlZCA9 IHRydWU7Cj4gKwo+ICAgICAgICAgaWYgKGNydGMtPmF0b21pYy51cGRhdGVfd21fcG9zdCkKPiAg ICAgICAgICAgICAgICAgaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoJmNydGMtPmJhc2UpOwo+Cj4g QEAgLTQ3NjUsNiArNDc2OCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+Cj4gICAgICAgICBpZiAoYXRvbWljLT5wcmVfZGlz YWJsZV9wcmltYXJ5KQo+ICAgICAgICAgICAgICAgICBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5 KCZjcnRjLT5iYXNlKTsKPiArCj4gKyAgICAgICBpZiAoYXRvbWljLT5kaXNhYmxlX2N4c3IpIHsK PiArICAgICAgICAgICAgICAgY3J0Yy0+d20uY3hzcl9hbGxvd2VkID0gZmFsc2U7Cj4gKyAgICAg ICAgICAgICAgIGludGVsX3NldF9tZW1vcnlfY3hzcihkZXZfcHJpdiwgZmFsc2UpOwo+ICsgICAg ICAgfQo+ICB9Cj4KPiAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIHBsYW5lX21hc2spCj4gQEAgLTExNjQ2LDEyICsx MTY1NCwyNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5l LT5iYXNlLmlkLCB3YXNfdmlzaWJsZSwgdmlzaWJsZSwKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgdHVybl9vZmYsIHR1cm5fb24sIG1vZGVfY2hhbmdlZCk7Cj4KPiAtICAgICAgIGlmICh0dXJu X29uKQo+ICsgICAgICAgaWYgKHR1cm5fb24pIHsKPiAgICAgICAgICAgICAgICAgaW50ZWxfY3J0 Yy0+YXRvbWljLnVwZGF0ZV93bV9wcmUgPSB0cnVlOwo+IC0gICAgICAgZWxzZSBpZiAodHVybl9v ZmYpCj4gKyAgICAgICAgICAgICAgIC8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBl bmFibGUvZGlzYWJsZSAqLwo+ICsgICAgICAgICAgICAgICBpZiAocGxhbmUtPnR5cGUgIT0gRFJN X1BMQU5FX1RZUEVfQ1VSU09SKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxfY3J0 Yy0+YXRvbWljLmRpc2FibGVfY3hzciA9IHRydWU7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg LyogdG8gcG90ZW50aWFsbHkgcmUtZW5hYmxlIGN4c3IgKi8KPiArICAgICAgICAgICAgICAgICAg ICAgICBpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92YmxhbmsgPSB0cnVlOwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd21fcG9zdCA9IHRydWU7Cj4g KyAgICAgICAgICAgICAgIH0KPiArICAgICAgIH0gZWxzZSBpZiAodHVybl9vZmYpIHsKPiAgICAg ICAgICAgICAgICAgaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV93bV9wb3N0ID0gdHJ1ZTsKPiAt ICAgICAgIGVsc2UgaWYgKGludGVsX3dtX25lZWRfdXBkYXRlKHBsYW5lLCBwbGFuZV9zdGF0ZSkp Cj4gKyAgICAgICAgICAgICAgIC8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBlbmFi bGUvZGlzYWJsZSAqLwo+ICsgICAgICAgICAgICAgICBpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BM QU5FX1RZUEVfQ1VSU09SKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2NydGNf ZW5hYmxlZCkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVsX2NydGMtPmF0 b21pYy53YWl0X3ZibGFuayA9IHRydWU7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxf Y3J0Yy0+YXRvbWljLmRpc2FibGVfY3hzciA9IHRydWU7Cj4gKyAgICAgICAgICAgICAgIH0KPiAr ICAgICAgIH0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRl KSkgewo+ICAgICAgICAgICAgICAgICBpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtX3ByZSA9 IHRydWU7Cj4gKyAgICAgICB9Cj4KPiAgICAgICAgIGlmICh2aXNpYmxlKQo+ICAgICAgICAgICAg ICAgICBpbnRlbF9jcnRjLT5hdG9taWMuZmJfYml0cyB8PQo+IEBAIC0xMTgwOCw4ICsxMTgzMCw4 IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLAo+ICAgICAgICAgaWYgKHBpcGVfY29uZmlnLT5xdWlya3MgJiBQSVBFX0NPTkZJR19RVUlS S19JTklUSUFMX1BMQU5FUykKPiAgICAgICAgICAgICAgICAgaW50ZWxfY3J0Y19jaGVja19pbml0 aWFsX3BsYW5lcyhjcnRjLCBjcnRjX3N0YXRlKTsKPgo+IC0gICAgICAgaWYgKG1vZGVfY2hhbmdl ZCkKPiAtICAgICAgICAgICAgICAgaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV93bV9wb3N0ID0g IWNydGNfc3RhdGUtPmFjdGl2ZTsKPiArICAgICAgIGlmIChtb2RlX2NoYW5nZWQgJiYgIWNydGNf c3RhdGUtPmFjdGl2ZSkKPiArICAgICAgICAgICAgICAgaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0 ZV93bV9wb3N0ID0gdHJ1ZTsKPgo+ICAgICAgICAgaWYgKG1vZGVfY2hhbmdlZCAmJiBjcnRjX3N0 YXRlLT5lbmFibGUgJiYKPiAgICAgICAgICAgICBkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2NvbXB1 dGVfY2xvY2sgJiYKPiBAQCAtMTQwODksNiArMTQxMTEsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9j cnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4gICAgICAgICBpbnRl bF9jcnRjLT5jdXJzb3JfY250bCA9IH4wOwo+ICAgICAgICAgaW50ZWxfY3J0Yy0+Y3Vyc29yX3Np emUgPSB+MDsKPgo+ICsgICAgICAgaW50ZWxfY3J0Yy0+d20uY3hzcl9hbGxvd2VkID0gdHJ1ZTsK PiArCj4gICAgICAgICBCVUdfT04ocGlwZSA+PSBBUlJBWV9TSVpFKGRldl9wcml2LT5wbGFuZV90 b19jcnRjX21hcHBpbmcpIHx8Cj4gICAgICAgICAgICAgICAgZGV2X3ByaXYtPnBsYW5lX3RvX2Ny dGNfbWFwcGluZ1tpbnRlbF9jcnRjLT5wbGFuZV0gIT0gTlVMTCk7Cj4gICAgICAgICBkZXZfcHJp di0+cGxhbmVfdG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPnBsYW5lXSA9ICZpbnRlbF9jcnRj LT5iYXNlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZjI2YTY4MC4uNGU4ZDEz ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTUwNyw2ICs1MDcsNyBAQCBz dHJ1Y3QgaW50ZWxfY3J0Y19hdG9taWNfY29tbWl0IHsKPiAgICAgICAgIC8qIFNsZWVwYWJsZSBv cGVyYXRpb25zIHRvIHBlcmZvcm0gYmVmb3JlIGNvbW1pdCAqLwo+ICAgICAgICAgYm9vbCB3YWl0 X2Zvcl9mbGlwczsKPiAgICAgICAgIGJvb2wgZGlzYWJsZV9mYmM7Cj4gKyAgICAgICBib29sIGRp c2FibGVfY3hzcjsKPiAgICAgICAgIGJvb2wgcHJlX2Rpc2FibGVfcHJpbWFyeTsKPiAgICAgICAg IGJvb2wgdXBkYXRlX3dtX3ByZSwgdXBkYXRlX3dtX3Bvc3Q7Cj4gICAgICAgICB1bnNpZ25lZCBk aXNhYmxlZF9wbGFuZXM7Cj4gQEAgLTU2NSw2ICs1NjYsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0YyB7 Cj4gICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9waXBlX3dtIGFjdGl2ZTsKPiAgICAgICAg ICAgICAgICAgLyogU0tMIHdtIHZhbHVlcyBjdXJyZW50bHkgaW4gdXNlICovCj4gICAgICAgICAg ICAgICAgIHN0cnVjdCBza2xfcGlwZV93bSBza2xfYWN0aXZlOwo+ICsgICAgICAgICAgICAgICAv KiBhbGxvdyBDeFNSIG9uIHRoaXMgcGlwZSAqLwo+ICsgICAgICAgICAgICAgICBib29sIGN4c3Jf YWxsb3dlZDsKPiAgICAgICAgIH0gd207Cj4KPiAgICAgICAgIGludCBzY2FubGluZV9vZmZzZXQ7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggYzdjOTBjZS4uYjY1ODE3ZCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBAIC0zMzUsNiArMzM1LDcgQEAgdm9pZCBpbnRlbF9z ZXRfbWVtb3J5X2N4c3Ioc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIGVu YWJsZSkKPiAgICAgICAgIGlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiAgICAgICAgICAgICAg ICAgSTkxNV9XUklURShGV19CTENfU0VMRl9WTFYsIGVuYWJsZSA/IEZXX0NTUFdSRFdORU4gOiAw KTsKPiAgICAgICAgICAgICAgICAgUE9TVElOR19SRUFEKEZXX0JMQ19TRUxGX1ZMVik7Cj4gKyAg ICAgICAgICAgICAgIGRldl9wcml2LT53bS52bHYuY3hzciA9IGVuYWJsZTsKPiAgICAgICAgIH0g ZWxzZSBpZiAoSVNfRzRYKGRldikgfHwgSVNfQ1JFU1RMSU5FKGRldikpIHsKPiAgICAgICAgICAg ICAgICAgSTkxNV9XUklURShGV19CTENfU0VMRiwgZW5hYmxlID8gRldfQkxDX1NFTEZfRU4gOiAw KTsKPiAgICAgICAgICAgICAgICAgUE9TVElOR19SRUFEKEZXX0JMQ19TRUxGKTsKPiBAQCAtMTEx Niw3ICsxMTE3LDcgQEAgc3RhdGljIHZvaWQgdmx2X2NvbXB1dGVfd20oc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4KPiAgICAgICAgIG1lbXNldCh3bV9zdGF0ZSwgMCwgc2l6ZW9mKCp3bV9zdGF0 ZSkpOwo+Cj4gLSAgICAgICB3bV9zdGF0ZS0+Y3hzciA9IGNydGMtPnBpcGUgIT0gUElQRV9DOwo+ ICsgICAgICAgd21fc3RhdGUtPmN4c3IgPSBjcnRjLT5waXBlICE9IFBJUEVfQyAmJiBjcnRjLT53 bS5jeHNyX2FsbG93ZWQ7Cj4gICAgICAgICBpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQo+ICAgICAg ICAgICAgICAgICB3bV9zdGF0ZS0+bnVtX2xldmVscyA9IENIVl9XTV9OVU1fTEVWRUxTOwo+ICAg ICAgICAgZWxzZQo+IEBAIC0xMzY5LDEwICsxMzcwLDggQEAgc3RhdGljIHZvaWQgdmx2X3VwZGF0 ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gICAgICAgICAgICAgZGV2X3ByaXYtPndtLnZs di5sZXZlbCA+PSBWTFZfV01fTEVWRUxfUE01KQo+ICAgICAgICAgICAgICAgICBjaHZfc2V0X21l bW9yeV9wbTUoZGV2X3ByaXYsIGZhbHNlKTsKPgo+IC0gICAgICAgaWYgKCF3bS5jeHNyICYmIGRl dl9wcml2LT53bS52bHYuY3hzcikgewo+ICsgICAgICAgaWYgKCF3bS5jeHNyICYmIGRldl9wcml2 LT53bS52bHYuY3hzcikKPiAgICAgICAgICAgICAgICAgaW50ZWxfc2V0X21lbW9yeV9jeHNyKGRl dl9wcml2LCBmYWxzZSk7Cj4gLSAgICAgICAgICAgICAgIGludGVsX3dhaXRfZm9yX3ZibGFuayhk ZXYsIHBpcGUpOwo+IC0gICAgICAgfQo+Cj4gICAgICAgICAvKiBGSVhNRSBzaG91bGQgYmUgcGFy dCBvZiBjcnRjIGF0b21pYyBjb21taXQgKi8KPiAgICAgICAgIHZsdl9waXBlX3NldF9maWZvX3Np emUoaW50ZWxfY3J0Yyk7Cj4gQEAgLTEzODUsMTAgKzEzODQsOCBAQCBzdGF0aWMgdm9pZCB2bHZf dXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgICAgICAgICAgICAgICAgICAgICAg d20ucGlwZVtwaXBlXS5zcHJpdGVbMF0sIHdtLnBpcGVbcGlwZV0uc3ByaXRlWzFdLAo+ICAgICAg ICAgICAgICAgICAgICAgICB3bS5zci5wbGFuZSwgd20uc3IuY3Vyc29yLCB3bS5sZXZlbCwgd20u Y3hzcik7Cj4KPiAtICAgICAgIGlmICh3bS5jeHNyICYmICFkZXZfcHJpdi0+d20udmx2LmN4c3Ip IHsKPiAtICAgICAgICAgICAgICAgaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgcGlwZSk7Cj4g KyAgICAgICBpZiAod20uY3hzciAmJiAhZGV2X3ByaXYtPndtLnZsdi5jeHNyKQo+ICAgICAgICAg ICAgICAgICBpbnRlbF9zZXRfbWVtb3J5X2N4c3IoZGV2X3ByaXYsIHRydWUpOwo+IC0gICAgICAg fQo+Cj4gICAgICAgICBpZiAod20ubGV2ZWwgPj0gVkxWX1dNX0xFVkVMX1BNNSAmJgo+ICAgICAg ICAgICAgIGRldl9wcml2LT53bS52bHYubGV2ZWwgPCBWTFZfV01fTEVWRUxfUE01KQo+IC0tCj4g Mi4zLjYKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgoKCi0tIApQYXVsbyBaYW5vbmkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK