From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 2/9] drm/i915: Kill off intel_crtc->atomic.wait_vblank, v3. Date: Tue, 9 Feb 2016 12:42:24 +0200 Message-ID: <20160209104224.GH23290@intel.com> References: <1452515269-6221-1-git-send-email-maarten.lankhorst@linux.intel.com> <1452515269-6221-3-git-send-email-maarten.lankhorst@linux.intel.com> <20160113125806.GF23290@intel.com> <56B9BF20.7050509@linux.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 675926E546 for ; Tue, 9 Feb 2016 02:42:27 -0800 (PST) Content-Disposition: inline In-Reply-To: <56B9BF20.7050509@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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBGZWIgMDksIDIwMTYgYXQgMTE6Mjc6NDRBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSGV5LAo+IAo+IE9wIDEzLTAxLTE2IG9tIDEzOjU4IHNjaHJlZWYgVmlsbGUg U3lyasOkbMOkOgo+ID4gT24gTW9uLCBKYW4gMTEsIDIwMTYgYXQgMDE6Mjc6NDJQTSArMDEwMCwg TWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gPj4gQ3VycmVudGx5IHdlIHBlcmZvcm0gb3VyIG93 biB3YWl0IGluIHBvc3RfcGxhbmVfdXBkYXRlLAo+ID4+IGJ1dCB0aGUgYXRvbWljIGNvcmUgcGVy Zm9ybXMgYW5vdGhlciBvbmUgaW4gd2FpdF9mb3JfdmJsYW5rcy4KPiA+PiBUaGlzIG1lYW5zIHRo YXQgMiB2YmxhbmtzIGFyZSBkb25lIHdoZW4gYSBmYiBpcyBjaGFuZ2VkLAo+ID4+IHdoaWNoIGlz IGEgYml0IG92ZXJraWxsLgo+ID4+Cj4gPj4gTWVyZ2UgdGhlbSBieSBjcmVhdGluZyBhIGhlbHBl ciBmdW5jdGlvbiB0aGF0IHRha2VzIGEgY3J0YyBtYXNrCj4gPj4gZm9yIHRoZSBwbGFuZXMgdG8g d2FpdCBvbi4KPiA+Pgo+ID4+IFRoZSBicm9hZHdlbGwgdmJsYW5rIHdvcmthcm91bmQgbWF5IGxv b2sgZ29uZSBlbnRpcmVseSBidXQgdGhpcyBpcwo+ID4+IG5vdCB0aGUgY2FzZS4gcGlwZV9jb25m aWctPndtX2NoYW5nZWQgaXMgc2V0IHRvIHRydWUKPiA+PiB3aGVuIGFueSBwbGFuZSBpcyB0dXJu ZWQgb24sIHdoaWNoIGZvcmNlcyBhIHZibGFuayB3YWl0Lgo+ID4gU3RpbGwgTkFLLCBiZWNhdXNl IHlvdSBqdXN0IHJlbW92ZWQgdGhlIGNvbW1lbnQgZW50aXJlbHkuCj4gSSBtYXkgaGF2ZSByZW1v dmVkIHRoZSBjb21tZW50IGJ1dCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhbiB1bmNvbmRpdGlvbmFs IHdhaXQgYmVjYXVzZSBvZiB0aGUgd20gY2hhbmdlcy4KPiBJbiBzb21lIGZ1dHVyZSBjb21taXQg SSB3aWxsIHJld29yayBkb19pbnRlbF9maW5pc2hfcGFnZV9mbGlwIHRvIGRlYWwgd2l0aCBhdG9t aWMsIGFuZCBpbiB0aGF0IGZ1bmN0aW9uIHRoZSBjb21tZW50Cj4gd2lsbCBiZSB1c2VmdWwgYWdh aW4uCgpUaGUgY29tbWVudCBpcyB0aGUgc3BlYyBoZXJlLCBzbyBpdCBzaG91bGQgYmUga2VwdC4g QWN0dWFsbHkgd2hhdCBJCnJlYWxseSB3YW50IGlzIHRvIHN0b3AgdXNpbmcgdGhlIGZsaXAgZG9u ZSBpbnRlcnJ1cHQgZW50aXJlbHkgc2luY2UKaXQncyBhcmd1YWJseSBicm9rZW4sIGF0IHdoaWNo IHBvaW50IHRoZSBjb21tZW50IHNob3VsZCBwcm9ibGFibHkgYmUKbW92ZWQgdG8gc29tZXdoZXJl IGVsc2UgKGludGVycnVwdCBzZXR1cCBjb2RlLCBmbGlwIGNvbXBsZXRpb24gY29kZSwKZXRjLiku IEJ1dCByZW1vdmluZyB0aGUgY29tbWVudCB3b3VsZCBiZSBiYWQgc2luY2UgdGhlbiBwZW9wbGUg bWlnaHQKbm90IHVuZGVyc3RhbmQgd2h5IHdlIGRvIGl0IHRoZSB3YXkgd2UgZG8uCgo+ID4+IENo YW5nZXMgc2luY2UgdjE6Cj4gPj4gLSBSZW1vdmluZyB0aGUgZG91YmxlIHZibGFuayB3YWl0IG9u IGJyb2Fkd2VsbCBtb3ZlZCB0byBpdHMgb3duIGNvbW1pdC4KPiA+PiBDaGFuZ2VzIHNpbmNlIHYy Ogo+ID4+IC0gTW92ZSBvdXQgUE9XRVJfRE9NQUlOX01PREVTRVQgaGFuZGxpbmcgdG8gaXRzIG93 biBjb21taXQuCj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFh cnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4+IC0tLQo+ID4+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyAgfCAgMSArCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArLQo+ ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQo+ ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiA+PiBpbmRleCA5NjgyZDk0 YWY3MTAuLmJhOWE1N2YzM2M0MyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdG9taWMuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0 b21pYy5jCj4gPj4gQEAgLTk4LDYgKzk4LDcgQEAgaW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4+ICAJY3J0Y19zdGF0ZS0+ZGlzYWJsZV9jeHNyID0g ZmFsc2U7Cj4gPj4gIAljcnRjX3N0YXRlLT53bV9jaGFuZ2VkID0gZmFsc2U7Cj4gPj4gIAljcnRj X3N0YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlID0gZmFsc2U7Cj4gPj4gKwljcnRjX3N0YXRl LT5mYl9jaGFuZ2VkID0gZmFsc2U7Cj4gPj4gIAo+ID4+ICAJcmV0dXJuICZjcnRjX3N0YXRlLT5i YXNlOwo+ID4+ICB9Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+IGlu ZGV4IDJhYTFjNTM2NzYyNS4uZWFjNzNmMDA1YTcwIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+IEBAIC00Nzk2LDkgKzQ3OTYsNiBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiA+PiAg CQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwo+ID4+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ID4+ICAKPiA+PiAtCWlmIChhdG9taWMt PndhaXRfdmJsYW5rKQo+ID4+IC0JCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGNydGMtPnBp cGUpOwo+ID4+IC0KPiA+PiAgCWludGVsX2Zyb250YnVmZmVyX2ZsaXAoZGV2LCBhdG9taWMtPmZi X2JpdHMpOwo+ID4+ICAKPiA+PiAgCWNydGMtPndtLmN4c3JfYWxsb3dlZCA9IHRydWU7Cj4gPj4g QEAgLTExODcyLDYgKzExODY5LDkgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5n ZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4+ICAJaWYgKCF3YXNfdmlz aWJsZSAmJiAhdmlzaWJsZSkKPiA+PiAgCQlyZXR1cm4gMDsKPiA+PiAgCj4gPj4gKwlpZiAoZmIg IT0gb2xkX3BsYW5lX3N0YXRlLT5iYXNlLmZiKQo+ID4+ICsJCXBpcGVfY29uZmlnLT5mYl9jaGFu Z2VkID0gdHJ1ZTsKPiA+IElzbid0IHRoYXQgZ29pbmcgdG8gc2xvdyBkb3duIGN1cnNvciB1cGRh dGVzIG9uY2UgYWdhaW4/Cj4gVmVyeSBsaWtlbHkuLiBTaGFsbCBJIGFkZCBhIGlmICghc3RhdGUt PmxlZ2FjeV9jdXJzb3JfdXBkYXRlKSB0byBpbnRlbF9hdG9taWNfd2FpdF9mb3JfdmJsYW5rcyA/ CgpOb3Qgc3VyZS4gU3RpbGwgd2lzaGluZyB3ZSBjb3VsZCBoYXZlIGp1c3QgaGFkIHRoZSBwcm9w ZXIgZnBzPj12cmVmcmVzaApzdXBwb3J0IGZyb24gdGhlIHN0YXJ0LgoKPiA+PiArCj4gPj4gIAl0 dXJuX29mZiA9IHdhc192aXNpYmxlICYmICghdmlzaWJsZSB8fCBtb2RlX2NoYW5nZWQpOwo+ID4+ ICAJdHVybl9vbiA9IHZpc2libGUgJiYgKCF3YXNfdmlzaWJsZSB8fCBtb2RlX2NoYW5nZWQpOwo+ ID4+ICAKPiA+PiBAQCAtMTE4ODcsOCArMTE4ODcsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWlj X2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPj4gIAo+ ID4+ICAJCS8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBlbmFibGUvZGlzYWJsZSAq Lwo+ID4+ICAJCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpIHsKPiA+ PiAtCQkJaWYgKGlzX2NydGNfZW5hYmxlZCkKPiA+PiAtCQkJCWludGVsX2NydGMtPmF0b21pYy53 YWl0X3ZibGFuayA9IHRydWU7Cj4gPj4gIAkJCXBpcGVfY29uZmlnLT5kaXNhYmxlX2N4c3IgPSB0 cnVlOwo+ID4+ICAJCX0KPiA+PiAgCX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91cGRhdGUocGxh bmUsIHBsYW5lX3N0YXRlKSkgewo+ID4+IEBAIC0xMTk0MCwxNCArMTE5MzgsNiBAQCBpbnQgaW50 ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCj4gPj4gIAkJICAgIHBsYW5lX3N0YXRlLT5yb3RhdGlvbiAhPSBCSVQoRFJNX1JPVEFU RV8wKSkKPiA+PiAgCQkJaW50ZWxfY3J0Yy0+YXRvbWljLmRpc2FibGVfZmJjID0gdHJ1ZTsKPiA+ PiAgCj4gPj4gLQkJLyoKPiA+PiAtCQkgKiBCRFcgc2lnbmFscyBmbGlwIGRvbmUgaW1tZWRpYXRl bHkgaWYgdGhlIHBsYW5lCj4gPj4gLQkJICogaXMgZGlzYWJsZWQsIGV2ZW4gaWYgdGhlIHBsYW5l IGVuYWJsZSBpcyBhbHJlYWR5Cj4gPj4gLQkJICogYXJtZWQgdG8gb2NjdXIgYXQgdGhlIG5leHQg dmJsYW5rIDooCj4gPj4gLQkJICovCj4gPj4gLQkJaWYgKHR1cm5fb24gJiYgSVNfQlJPQURXRUxM KGRldikpCj4gPj4gLQkJCWludGVsX2NydGMtPmF0b21pYy53YWl0X3ZibGFuayA9IHRydWU7Cj4g Pj4gLQo+ID4+ICAJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjIHw9IHZpc2libGUgfHwg bW9kZV9jaGFuZ2VkOwo+ID4+ICAJCWJyZWFrOwo+ID4+ICAJY2FzZSBEUk1fUExBTkVfVFlQRV9D VVJTT1I6Cj4gPj4gQEAgLTExOTYyLDEyICsxMTk1MiwxMCBAQCBpbnQgaW50ZWxfcGxhbmVfYXRv bWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPj4g IAkJaWYgKElTX0lWWUJSSURHRShkZXYpICYmCj4gPj4gIAkJICAgIG5lZWRzX3NjYWxpbmcodG9f aW50ZWxfcGxhbmVfc3RhdGUocGxhbmVfc3RhdGUpKSAmJgo+ID4+ICAJCSAgICAhbmVlZHNfc2Nh bGluZyhvbGRfcGxhbmVfc3RhdGUpKSB7Cj4gPj4gLQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Y19zdGF0ZSktPmRpc2FibGVfbHBfd20gPSB0cnVlOwo+ID4+IC0JCX0gZWxzZSBpZiAodHVybl9v ZmYgJiYgIW1vZGVfY2hhbmdlZCkgewo+ID4+IC0JCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92 YmxhbmsgPSB0cnVlOwo+ID4+ICsJCQlwaXBlX2NvbmZpZy0+ZGlzYWJsZV9scF93bSA9IHRydWU7 Cj4gPj4gKwkJfSBlbHNlIGlmICh0dXJuX29mZiAmJiAhbW9kZV9jaGFuZ2VkKQo+ID4+ICAJCQlp bnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzIHw9Cj4gPj4gIAkJCQkx IDw8IGk7Cj4gPj4gLQkJfQo+ID4+ICAKPiA+PiAgCQlicmVhazsKPiA+PiAgCX0KPiA+PiBAQCAt MTM1MDksNiArMTM0OTcsNDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfcHJlcGFyZV9jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgCXJldHVybiByZXQ7Cj4gPj4gIH0KPiA+ PiAgCj4gPj4gK3N0YXRpYyB2b2lkIGludGVsX2F0b21pY193YWl0X2Zvcl92YmxhbmtzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gPj4gKwkJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gPj4gKwkJCQkJICB1bnNpZ25lZCBjcnRjX21hc2spCj4gPj4gK3sKPiA+PiAr CXVuc2lnbmVkIGxhc3RfdmJsYW5rX2NvdW50W0k5MTVfTUFYX1BJUEVTXTsKPiA+PiArCWVudW0g cGlwZSBwaXBlOwo+ID4+ICsJaW50IHJldDsKPiA+PiArCj4gPj4gKwlpZiAoIWNydGNfbWFzaykK PiA+PiArCQlyZXR1cm47Cj4gPj4gKwo+ID4+ICsJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlw ZSkgewo+ID4+ICsJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2Ny dGNfbWFwcGluZ1twaXBlXTsKPiA+PiArCj4gPj4gKwkJaWYgKCEoKDEgPDwgcGlwZSkgJiBjcnRj X21hc2spKQo+ID4+ICsJCQljb250aW51ZTsKPiA+PiArCj4gPj4gKwkJcmV0ID0gZHJtX2NydGNf dmJsYW5rX2dldChjcnRjKTsKPiA+PiArCQlpZiAocmV0ICE9IDApIHsKPiA+PiArCQkJY3J0Y19t YXNrICY9IH4oMSA8PCBwaXBlKTsKPiA+PiArCQkJY29udGludWU7Cj4gPj4gKwkJfQo+ID4+ICsK PiA+PiArCQlsYXN0X3ZibGFua19jb3VudFtwaXBlXSA9IGRybV9jcnRjX3ZibGFua19jb3VudChj cnRjKTsKPiA+PiArCX0KPiA+PiArCj4gPj4gKwlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBl KSB7Cj4gPj4gKwkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZGV2X3ByaXYtPnBpcGVfdG9fY3J0 Y19tYXBwaW5nW3BpcGVdOwo+ID4+ICsKPiA+PiArCQlpZiAoISgoMSA8PCBwaXBlKSAmIGNydGNf bWFzaykpCj4gPj4gKwkJCWNvbnRpbnVlOwo+ID4+ICsKPiA+PiArCQl3YWl0X2V2ZW50X3RpbWVv dXQoZGV2LT52YmxhbmtbcGlwZV0ucXVldWUsCj4gPj4gKwkJCQlsYXN0X3ZibGFua19jb3VudFtw aXBlXSAhPQo+ID4+ICsJCQkJCWRybV9jcnRjX3ZibGFua19jb3VudChjcnRjKSwKPiA+PiArCQkJ CW1zZWNzX3RvX2ppZmZpZXMoNTApKTsKPiA+PiArCj4gPj4gKwkJZHJtX2NydGNfdmJsYW5rX3B1 dChjcnRjKTsKPiA+PiArCX0KPiA+PiArfQo+ID4+ICsKPiA+PiArCj4gPj4gIC8qKgo+ID4+ICAg KiBpbnRlbF9hdG9taWNfY29tbWl0IC0gY29tbWl0IHZhbGlkYXRlZCBzdGF0ZSBvYmplY3QKPiA+ PiAgICogQGRldjogRFJNIGRldmljZQo+ID4+IEBAIC0xMzUzNyw2ICsxMzU2Nyw3IEBAIHN0YXRp YyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4+ICAJ aW50IHJldCA9IDAsIGk7Cj4gPj4gIAlib29sIGh3X2NoZWNrID0gaW50ZWxfc3RhdGUtPm1vZGVz ZXQ7Cj4gPj4gIAl1bnNpZ25lZCBsb25nIHB1dF9kb21haW5zW0k5MTVfTUFYX1BJUEVTXSA9IHt9 Owo+ID4+ICsJdW5zaWduZWQgY3J0Y192YmxhbmtfbWFzayA9IDA7Cj4gPj4gIAo+ID4+ICAJcmV0 ID0gaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KGRldiwgc3RhdGUsIGFzeW5jKTsKPiA+PiAg CWlmIChyZXQpIHsKPiA+PiBAQCAtMTM2MDgsOCArMTM2MzksOSBAQCBzdGF0aWMgaW50IGludGVs X2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgCWZvcl9lYWNoX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKPiA+PiAgCQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPj4gIAkJYm9v bCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7Cj4gPj4gLQkJYm9vbCB1cGRh dGVfcGlwZSA9ICFtb2Rlc2V0ICYmCj4gPj4gLQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+ c3RhdGUpLT51cGRhdGVfcGlwZTsKPiA+PiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcgPQo+ID4+ICsJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ PiArCQlib29sIHVwZGF0ZV9waXBlID0gIW1vZGVzZXQgJiYgcGlwZV9jb25maWctPnVwZGF0ZV9w aXBlOwo+ID4+ICAKPiA+PiAgCQlpZiAobW9kZXNldCAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7 Cj4gPj4gIAkJCXVwZGF0ZV9zY2FubGluZV9vZmZzZXQodG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4g Pj4gQEAgLTEzNjIzLDEyICsxMzY1NSwxOCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiAgCQkgICAgKGNydGMtPnN0YXRlLT5wbGFu ZXNfY2hhbmdlZCB8fCB1cGRhdGVfcGlwZSkpCj4gPj4gIAkJCWRybV9hdG9taWNfaGVscGVyX2Nv bW1pdF9wbGFuZXNfb25fY3J0YyhjcnRjX3N0YXRlKTsKPiA+PiAgCj4gPj4gLQkJaW50ZWxfcG9z dF9wbGFuZV91cGRhdGUoaW50ZWxfY3J0Yyk7Cj4gPj4gKwkJaWYgKHBpcGVfY29uZmlnLT5iYXNl LmFjdGl2ZSAmJgo+ID4+ICsJCSAgICAocGlwZV9jb25maWctPndtX2NoYW5nZWQgfHwgcGlwZV9j b25maWctPmRpc2FibGVfY3hzciB8fAo+ID4+ICsJCSAgICAgcGlwZV9jb25maWctPmZiX2NoYW5n ZWQpKQo+ID4+ICsJCQljcnRjX3ZibGFua19tYXNrIHw9IDEgPDwgaTsKPiA+PiAgCX0KPiA+PiAg Cj4gPj4gIAkvKiBGSVhNRTogYWRkIHN1YnBpeGVsIG9yZGVyICovCj4gPj4gIAo+ID4+IC0JZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyhkZXYsIHN0YXRlKTsKPiA+PiArCWludGVs X2F0b21pY193YWl0X2Zvcl92YmxhbmtzKGRldiwgZGV2X3ByaXYsIGNydGNfdmJsYW5rX21hc2sp Owo+ID4+ICsKPiA+PiArCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNf c3RhdGUsIGkpCj4gPj4gKwkJaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUodG9faW50ZWxfY3J0Yyhj cnRjKSk7Cj4gPj4gIAo+ID4+ICAJLyoKPiA+PiAgCSAqIE5vdyB0aGF0IHRoZSB2YmxhbmsgaGFz IHBhc3NlZCwgd2UgY2FuIGdvIGFoZWFkIGFuZCBwcm9ncmFtIHRoZQo+ID4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gPj4gaW5kZXggYmRmZTQwMzVlMDc0Li44OTQwYWE0Y2Y1MGMgMTAwNjQ0 Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+IEBAIC0zODUsNiArMzg1LDcgQEAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ID4+ICAJYm9vbCB1cGRhdGVfcGlwZTsgLyogY2Fu IGEgZmFzdCBtb2Rlc2V0IGJlIHBlcmZvcm1lZD8gKi8KPiA+PiAgCWJvb2wgZGlzYWJsZV9jeHNy Owo+ID4+ICAJYm9vbCB3bV9jaGFuZ2VkOyAvKiB3YXRlcm1hcmtzIGFyZSB1cGRhdGVkICovCj4g Pj4gKwlib29sIGZiX2NoYW5nZWQ7IC8qIGZiIG9uIGFueSBvZiB0aGUgcGxhbmVzIGlzIGNoYW5n ZWQgKi8KPiA+PiAgCj4gPj4gIAkvKiBQaXBlIHNvdXJjZSBzaXplIChpZS4gcGFuZWwgZml0dGVy IGlucHV0IHNpemUpCj4gPj4gIAkgKiBBbGwgcGxhbmVzIHdpbGwgYmUgcG9zaXRpb25lZCBpbnNp ZGUgdGhpcyBzcGFjZSwKPiA+PiBAQCAtNTcwLDcgKzU3MSw2IEBAIHN0cnVjdCBpbnRlbF9jcnRj X2F0b21pY19jb21taXQgewo+ID4+ICAKPiA+PiAgCS8qIFNsZWVwYWJsZSBvcGVyYXRpb25zIHRv IHBlcmZvcm0gYWZ0ZXIgY29tbWl0ICovCj4gPj4gIAl1bnNpZ25lZCBmYl9iaXRzOwo+ID4+IC0J Ym9vbCB3YWl0X3ZibGFuazsKPiA+PiAgCWJvb2wgdXBkYXRlX2ZiYzsKPiA+PiAgCWJvb2wgcG9z dF9lbmFibGVfcHJpbWFyeTsKPiA+PiAgCXVuc2lnbmVkIHVwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJr czsKPiA+PiAtLSAKPiA+PiAyLjEuMAo+ID4+Cj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QK SW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=