From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 04/24] drm/i915: Remove cursor use of properties for coordinates Date: Fri, 4 Oct 2019 16:22:24 +0300 Message-ID: <20191004132224.GA1208@intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> <20191004113514.17064-5-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2EF336EB79 for ; Fri, 4 Oct 2019 13:22:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191004113514.17064-5-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMDQsIDIwMTkgYXQgMDE6MzQ6NTRQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gV2UgaGF2ZSBhIHNyYyBhbmQgZGVjdCByZWN0YW5nbGUsIHVzZSBpdCBpbnN0 ZWFkIG9mIHJlbHlpbmcgb24KPiB0aGUgY29yZSBkcm0gcHJvcGVydGllcy4KPiAKPiBUaGlzIHJl bW92ZXMgdGhlIHNwZWNpYWwgY2FzZSBpbiB0aGUgd2F0ZXJtYXJrIGNvZGUgZm9yIGN1cnNvciB3 L2guCgpJIGxpa2UgZ2V0dGluZyByaWQgb2Ygc3BlY2lhbCBjYXNlcy4gSSBndWVzcyB0aGUgb25s eSBjb25jZXJuIEkgb25jZQpoYWQgaXMgd2hldGhlciB3ZSdkIG5lZWQgdGhlIGNsaXBwZWQgY29v cmRpbmF0ZXMgZm9yIHNvbWV0aGluZywKYnV0IEkgZG9uJ3QgdGhpbmsgd2UgYWN0dWFsbHkgZG8u CgpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMgfCA1NyArKysrKysrKysrKy0tLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgIHwgNTggKysrKysrKy0tLS0tLS0t LS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ IGluZGV4IGMzYWM1YTVjNTE4NS4uOWUzNGJlNDhjNzcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTA1OTEsMTYgKzEwNTkxLDE2 IEBAIHN0YXRpYyB1MzIgaW50ZWxfY3Vyc29yX2Jhc2UoY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpwbGFuZV9zdGF0ZSkKPiAgCS8qIElMSysgZG8gdGhpcyBhdXRvbWFnaWNhbGx5ICov Cj4gIAlpZiAoSEFTX0dNQ0goZGV2X3ByaXYpICYmCj4gIAkgICAgcGxhbmVfc3RhdGUtPmJhc2Uu cm90YXRpb24gJiBEUk1fTU9ERV9ST1RBVEVfMTgwKQo+IC0JCWJhc2UgKz0gKHBsYW5lX3N0YXRl LT5iYXNlLmNydGNfaCAqCj4gLQkJCSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3cgLSAxKSAqIGZi LT5mb3JtYXQtPmNwcFswXTsKPiArCQliYXNlICs9IChkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0 YXRlLT5iYXNlLmRzdCkgKgo+ICsJCQkgZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNl LmRzdCkgLSAxKSAqIGZiLT5mb3JtYXQtPmNwcFswXTsKPiAgCj4gIAlyZXR1cm4gYmFzZTsKPiAg fQo+ICAKPiAgc3RhdGljIHUzMiBpbnRlbF9jdXJzb3JfcG9zaXRpb24oY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiAgewo+IC0JaW50IHggPSBwbGFuZV9zdGF0 ZS0+YmFzZS5jcnRjX3g7Cj4gLQlpbnQgeSA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfeTsKPiAr CWludCB4ID0gcGxhbmVfc3RhdGUtPmJhc2UuZHN0LngxOwo+ICsJaW50IHkgPSBwbGFuZV9zdGF0 ZS0+YmFzZS5kc3QueTE7Cj4gIAl1MzIgcG9zID0gMDsKPiAgCj4gIAlpZiAoeCA8IDApIHsKPiBA QCAtMTA2MjIsOCArMTA2MjIsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jdXJzb3Jfc2l6ZV9vayhj b25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ICB7Cj4gIAljb25z dCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPQo+ICAJCSZwbGFuZV9zdGF0ZS0+YmFz ZS5wbGFuZS0+ZGV2LT5tb2RlX2NvbmZpZzsKPiAtCWludCB3aWR0aCA9IHBsYW5lX3N0YXRlLT5i YXNlLmNydGNfdzsKPiAtCWludCBoZWlnaHQgPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2g7Cj4g KwlpbnQgd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KTsKPiAr CWludCBoZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7Cj4g IAo+ICAJcmV0dXJuIHdpZHRoID4gMCAmJiB3aWR0aCA8PSBjb25maWctPmN1cnNvcl93aWR0aCAm Jgo+ICAJCWhlaWdodCA+IDAgJiYgaGVpZ2h0IDw9IGNvbmZpZy0+Y3Vyc29yX2hlaWdodDsKPiBA QCAtMTA2NDIsOCArMTA2NDIsOCBAQCBzdGF0aWMgaW50IGludGVsX2N1cnNvcl9jaGVja19zdXJm YWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gIAlpZiAoIXBsYW5l X3N0YXRlLT5iYXNlLnZpc2libGUpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0Jc3JjX3ggPSBwbGFu ZV9zdGF0ZS0+YmFzZS5zcmNfeCA+PiAxNjsKPiAtCXNyY195ID0gcGxhbmVfc3RhdGUtPmJhc2Uu c3JjX3kgPj4gMTY7Cj4gKwlzcmNfeCA9IHBsYW5lX3N0YXRlLT5iYXNlLnNyYy54MSA+PiAxNjsK PiArCXNyY195ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLnkxID4+IDE2Owo+ICAKPiAgCWludGVs X2FkZF9mYl9vZmZzZXRzKCZzcmNfeCwgJnNyY195LCBwbGFuZV9zdGF0ZSwgMCk7Cj4gIAlvZmZz ZXQgPSBpbnRlbF9wbGFuZV9jb21wdXRlX2FsaWduZWRfb2Zmc2V0KCZzcmNfeCwgJnNyY195LAo+ IEBAIC0xMDY3OCw2ICsxMDY3OCwxMCBAQCBzdGF0aWMgaW50IGludGVsX2NoZWNrX2N1cnNvcihz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCWlmIChyZXQpCj4gIAkJcmV0 dXJuIHJldDsKPiAgCj4gKwkvKiBVc2UgdGhlIHVuY2xpcHBlZCBzcmMvZHN0IHJlY3RhbmdsZXMs IHdoaWNoIHdlIHByb2dyYW0gdG8gaHcgKi8KPiArCXBsYW5lX3N0YXRlLT5iYXNlLnNyYyA9IGRy bV9wbGFuZV9zdGF0ZV9zcmMoJnBsYW5lX3N0YXRlLT5iYXNlKTsKPiArCXBsYW5lX3N0YXRlLT5i YXNlLmRzdCA9IGRybV9wbGFuZV9zdGF0ZV9kZXN0KCZwbGFuZV9zdGF0ZS0+YmFzZSk7Cj4gKwo+ ICAJcmV0ID0gaW50ZWxfY3Vyc29yX2NoZWNrX3N1cmZhY2UocGxhbmVfc3RhdGUpOwo+ICAJaWYg KHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+IEBAIC0xMDcyMCw3ICsxMDcyNCw3IEBAIHN0YXRpYyB1 MzIgaTg0NV9jdXJzb3JfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAo+ICAKPiAgc3RhdGljIGJvb2wgaTg0NV9jdXJzb3Jfc2l6ZV9vayhjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ICB7Cj4gLQlpbnQgd2lkdGggPSBwbGFu ZV9zdGF0ZS0+YmFzZS5jcnRjX3c7Cj4gKwlpbnQgd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxh bmVfc3RhdGUtPmJhc2UuZHN0KTsKPiAgCj4gIAkvKgo+ICAJICogODQ1Zy84NjVnIGFyZSBvbmx5 IGxpbWl0ZWQgYnkgdGhlIHdpZHRoIG9mIHRoZWlyIGN1cnNvcnMsCj4gQEAgLTEwNzQ2LDggKzEw NzUwLDggQEAgc3RhdGljIGludCBpODQ1X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCS8qIENoZWNrIGZvciB3aGljaCBjdXJzb3IgdHlwZXMgd2Ug c3VwcG9ydCAqLwo+ICAJaWYgKCFpODQ1X2N1cnNvcl9zaXplX29rKHBsYW5lX3N0YXRlKSkgewo+ ICAJCURSTV9ERUJVRygiQ3Vyc29yIGRpbWVuc2lvbiAlZHglZCBub3Qgc3VwcG9ydGVkXG4iLAo+ IC0JCQkgIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdywKPiAtCQkJICBwbGFuZV9zdGF0ZS0+YmFz ZS5jcnRjX2gpOwo+ICsJCQkgIGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3Qp LAo+ICsJCQkgIGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KSk7Cj4gIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IEBAIC0xMDc4MCw4ICsxMDc4NCw4IEBAIHN0YXRp YyB2b2lkIGk4NDVfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAo+ICAJ dW5zaWduZWQgbG9uZyBpcnFmbGFnczsKPiAgCj4gIAlpZiAocGxhbmVfc3RhdGUgJiYgcGxhbmVf c3RhdGUtPmJhc2UudmlzaWJsZSkgewo+IC0JCXVuc2lnbmVkIGludCB3aWR0aCA9IHBsYW5lX3N0 YXRlLT5iYXNlLmNydGNfdzsKPiAtCQl1bnNpZ25lZCBpbnQgaGVpZ2h0ID0gcGxhbmVfc3RhdGUt PmJhc2UuY3J0Y19oOwo+ICsJCXVuc2lnbmVkIGludCB3aWR0aCA9IGRybV9yZWN0X3dpZHRoKCZw bGFuZV9zdGF0ZS0+YmFzZS5zcmMpOwo+ICsJCXVuc2lnbmVkIGludCBoZWlnaHQgPSBkcm1fcmVj dF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7Cj4gIAo+ICAJCWNudGwgPSBwbGFuZV9z dGF0ZS0+Y3RsIHwKPiAgCQkJaTg0NV9jdXJzb3JfY3RsX2NydGMoY3J0Y19zdGF0ZSk7Cj4gQEAg LTEwODgzLDcgKzEwODg3LDcgQEAgc3RhdGljIHUzMiBpOXh4X2N1cnNvcl9jdGwoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAlpZiAoSVNfR0VOKGRldl9wcml2 LCA2KSB8fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQo+ICAJCWNudGwgfD0gTUNVUlNPUl9UUklD S0xFX0ZFRURfRElTQUJMRTsKPiAgCj4gLQlzd2l0Y2ggKHBsYW5lX3N0YXRlLT5iYXNlLmNydGNf dykgewo+ICsJc3dpdGNoIChkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KSkg ewo+ICAJY2FzZSA2NDoKPiAgCQljbnRsIHw9IE1DVVJTT1JfTU9ERV82NF9BUkdCX0FYOwo+ICAJ CWJyZWFrOwo+IEBAIC0xMDg5NCw3ICsxMDg5OCw3IEBAIHN0YXRpYyB1MzIgaTl4eF9jdXJzb3Jf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCWNudGwg fD0gTUNVUlNPUl9NT0RFXzI1Nl9BUkdCX0FYOwo+ICAJCWJyZWFrOwo+ICAJZGVmYXVsdDoKPiAt CQlNSVNTSU5HX0NBU0UocGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193KTsKPiArCQlNSVNTSU5HX0NB U0UoZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCkpOwo+ICAJCXJldHVybiAw Owo+ICAJfQo+ICAKPiBAQCAtMTA5MDgsOCArMTA5MTIsOCBAQCBzdGF0aWMgYm9vbCBpOXh4X2N1 cnNvcl9zaXplX29rKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUp Cj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gIAkJdG9faTkx NShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZS0+ZGV2KTsKPiAtCWludCB3aWR0aCA9IHBsYW5lX3N0 YXRlLT5iYXNlLmNydGNfdzsKPiAtCWludCBoZWlnaHQgPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRj X2g7Cj4gKwlpbnQgd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0 KTsKPiArCWludCBoZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLmRz dCk7Cj4gIAo+ICAJaWYgKCFpbnRlbF9jdXJzb3Jfc2l6ZV9vayhwbGFuZV9zdGF0ZSkpCj4gIAkJ cmV0dXJuIGZhbHNlOwo+IEBAIC0xMDk2MiwxNyArMTA5NjYsMTkgQEAgc3RhdGljIGludCBpOXh4 X2NoZWNrX2N1cnNvcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCS8q IENoZWNrIGZvciB3aGljaCBjdXJzb3IgdHlwZXMgd2Ugc3VwcG9ydCAqLwo+ICAJaWYgKCFpOXh4 X2N1cnNvcl9zaXplX29rKHBsYW5lX3N0YXRlKSkgewo+ICAJCURSTV9ERUJVRygiQ3Vyc29yIGRp bWVuc2lvbiAlZHglZCBub3Qgc3VwcG9ydGVkXG4iLAo+IC0JCQkgIHBsYW5lX3N0YXRlLT5iYXNl LmNydGNfdywKPiAtCQkJICBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2gpOwo+ICsJCQkgIGRybV9y ZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3QpLAo+ICsJCQkgIGRybV9yZWN0X2hlaWdo dCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KSk7Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4g IAo+ICAJV0FSTl9PTihwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlICYmCj4gIAkJcGxhbmVfc3Rh dGUtPmNvbG9yX3BsYW5lWzBdLnN0cmlkZSAhPSBmYi0+cGl0Y2hlc1swXSk7Cj4gIAo+IC0JaWYg KGZiLT5waXRjaGVzWzBdICE9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdyAqIGZiLT5mb3JtYXQt PmNwcFswXSkgewo+ICsJaWYgKGZiLT5waXRjaGVzWzBdICE9Cj4gKwkgICAgZHJtX3JlY3Rfd2lk dGgoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCkgKiBmYi0+Zm9ybWF0LT5jcHBbMF0pIHsKPiAgCQlE Uk1fREVCVUdfS01TKCJJbnZhbGlkIGN1cnNvciBzdHJpZGUgKCV1KSAoY3Vyc29yIHdpZHRoICVk KVxuIiwKPiAtCQkJICAgICAgZmItPnBpdGNoZXNbMF0sIHBsYW5lX3N0YXRlLT5iYXNlLmNydGNf dyk7Cj4gKwkJCSAgICAgIGZiLT5waXRjaGVzWzBdLAo+ICsJCQkgICAgICBkcm1fcmVjdF93aWR0 aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0KSk7Cj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4g IAo+IEBAIC0xMDk4Nyw3ICsxMDk5Myw3IEBAIHN0YXRpYyBpbnQgaTl4eF9jaGVja19jdXJzb3Io c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAkgKiBSZWZ1c2UgdGhlIHB1 dCB0aGUgY3Vyc29yIGludG8gdGhhdCBjb21wcm9taXNlZCBwb3NpdGlvbi4KPiAgCSAqLwo+ICAJ aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQRV9DICYmCj4gLQkgICAg cGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSAmJiBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3ggPCAw KSB7Cj4gKwkgICAgcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSAmJiBwbGFuZV9zdGF0ZS0+YmFz ZS5kc3QueDEgPCAwKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiQ0hWIGN1cnNvciBDIG5vdCBhbGxv d2VkIHRvIHN0cmFkZGxlIHRoZSBsZWZ0IHNjcmVlbiBlZGdlXG4iKTsKPiAgCQlyZXR1cm4gLUVJ TlZBTDsKPiAgCX0KPiBAQCAtMTEwMDcsMTEgKzExMDEzLDE0IEBAIHN0YXRpYyB2b2lkIGk5eHhf dXBkYXRlX2N1cnNvcihzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAo+ICAJdW5zaWduZWQgbG9u ZyBpcnFmbGFnczsKPiAgCj4gIAlpZiAocGxhbmVfc3RhdGUgJiYgcGxhbmVfc3RhdGUtPmJhc2Uu dmlzaWJsZSkgewo+ICsJCXVuc2lnbmVkIHdpZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0 YXRlLT5iYXNlLmRzdCk7Cj4gKwkJdW5zaWduZWQgaGVpZ2h0ID0gZHJtX3JlY3RfaGVpZ2h0KCZw bGFuZV9zdGF0ZS0+YmFzZS5kc3QpOwo+ICsKPiAgCQljbnRsID0gcGxhbmVfc3RhdGUtPmN0bCB8 Cj4gIAkJCWk5eHhfY3Vyc29yX2N0bF9jcnRjKGNydGNfc3RhdGUpOwo+ICAKPiAtCQlpZiAocGxh bmVfc3RhdGUtPmJhc2UuY3J0Y19oICE9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdykKPiAtCQkJ ZmJjX2N0bCA9IENVUl9GQkNfQ1RMX0VOIHwgKHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfaCAtIDEp Owo+ICsJCWlmICh3aWR0aCAhPSBoZWlnaHQpCj4gKwkJCWZiY19jdGwgPSBDVVJfRkJDX0NUTF9F TiB8IChoZWlnaHQgLSAxKTsKPiAgCj4gIAkJYmFzZSA9IGludGVsX2N1cnNvcl9iYXNlKHBsYW5l X3N0YXRlKTsKPiAgCQlwb3MgPSBpbnRlbF9jdXJzb3JfcG9zaXRpb24ocGxhbmVfc3RhdGUpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDZhZWFhZDU4N2EyMC4uNTMzNThlMzNkZjFi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTExMTcsMTAgKzExMTcsNyBAQCBz dGF0aWMgdTE2IGc0eF9jb21wdXRlX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAo+ICAJY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrOwo+ICAJaHRv dGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7Cj4gIAo+IC0JaWYgKHBsYW5lLT5pZCA9 PSBQTEFORV9DVVJTT1IpCj4gLQkJd2lkdGggPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX3c7Cj4g LQllbHNlCj4gLQkJd2lkdGggPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2UuZHN0 KTsKPiArCXdpZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNlLmRzdCk7Cj4g IAo+ICAJaWYgKHBsYW5lLT5pZCA9PSBQTEFORV9DVVJTT1IpIHsKPiAgCQl3bSA9IGludGVsX3dt X21ldGhvZDIoY2xvY2ssIGh0b3RhbCwgd2lkdGgsIGNwcCwgbGF0ZW5jeSk7Cj4gQEAgLTI1NDks NyArMjU0Niw4IEBAIHN0YXRpYyB1MzIgaWxrX2NvbXB1dGVfY3VyX3dtKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAKPiAgCXJldHVybiBpbGtfd21fbWV0aG9k MihjcnRjX3N0YXRlLT5waXhlbF9yYXRlLAo+ICAJCQkgICAgICBjcnRjX3N0YXRlLT5iYXNlLmFk anVzdGVkX21vZGUuY3J0Y19odG90YWwsCj4gLQkJCSAgICAgIHBsYW5lX3N0YXRlLT5iYXNlLmNy dGNfdywgY3BwLCBtZW1fdmFsdWUpOwo+ICsJCQkgICAgICBkcm1fcmVjdF93aWR0aCgmcGxhbmVf c3RhdGUtPmJhc2UuZHN0KSwKPiArCQkJICAgICAgY3BwLCBtZW1fdmFsdWUpOwo+ICB9Cj4gIAo+ ICAvKiBPbmx5IGZvciBXTV9MUC4gKi8KPiBAQCAtNDA0Niw3ICs0MDQ0LDYgQEAgc3RhdGljIHVp bnRfZml4ZWRfMTZfMTZfdAo+ICBza2xfcGxhbmVfZG93bnNjYWxlX2Ftb3VudChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJICAgY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiAgewo+IC0Jc3RydWN0IGludGVsX3BsYW5l ICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lKTsKPiAgCXUz MiBzcmNfdywgc3JjX2gsIGRzdF93LCBkc3RfaDsKPiAgCXVpbnRfZml4ZWRfMTZfMTZfdCBmcF93 X3JhdGlvLCBmcF9oX3JhdGlvOwo+ICAJdWludF9maXhlZF8xNl8xNl90IGRvd25zY2FsZV9oLCBk b3duc2NhbGVfdzsKPiBAQCAtNDA1NCwyNyArNDA1MSwxNyBAQCBza2xfcGxhbmVfZG93bnNjYWxl X2Ftb3VudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCWlm IChXQVJOX09OKCFpbnRlbF93bV9wbGFuZV92aXNpYmxlKGNydGNfc3RhdGUsIHBsYW5lX3N0YXRl KSkpCj4gIAkJcmV0dXJuIHUzMl90b19maXhlZDE2KDApOwo+ICAKPiAtCS8qIG4uYi4sIHNyYyBp cyAxNi4xNiBmaXhlZCBwb2ludCwgZHN0IGlzIHdob2xlIGludGVnZXIgKi8KPiAtCWlmIChwbGFu ZS0+aWQgPT0gUExBTkVfQ1VSU09SKSB7Cj4gLQkJLyoKPiAtCQkgKiBDdXJzb3JzIG9ubHkgc3Vw cG9ydCAwLzE4MCBkZWdyZWUgcm90YXRpb24sCj4gLQkJICogaGVuY2Ugbm8gbmVlZCB0byBhY2Nv dW50IGZvciByb3RhdGlvbiBoZXJlLgo+IC0JCSAqLwo+IC0JCXNyY193ID0gcGxhbmVfc3RhdGUt PmJhc2Uuc3JjX3cgPj4gMTY7Cj4gLQkJc3JjX2ggPSBwbGFuZV9zdGF0ZS0+YmFzZS5zcmNfaCA+ PiAxNjsKPiAtCQlkc3RfdyA9IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfdzsKPiAtCQlkc3RfaCA9 IHBsYW5lX3N0YXRlLT5iYXNlLmNydGNfaDsKPiAtCX0gZWxzZSB7Cj4gLQkJLyoKPiAtCQkgKiBT cmMgY29vcmRpbmF0ZXMgYXJlIGFscmVhZHkgcm90YXRlZCBieSAyNzAgZGVncmVlcyBmb3IKPiAt CQkgKiB0aGUgOTAvMjcwIGRlZ3JlZSBwbGFuZSByb3RhdGlvbiBjYXNlcyAodG8gbWF0Y2ggdGhl Cj4gLQkJICogR1RUIG1hcHBpbmcpLCBoZW5jZSBubyBuZWVkIHRvIGFjY291bnQgZm9yIHJvdGF0 aW9uIGhlcmUuCj4gLQkJICovCj4gLQkJc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3Rh dGUtPmJhc2Uuc3JjKSA+PiAxNjsKPiAtCQlzcmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVf c3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKPiAtCQlkc3RfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFu ZV9zdGF0ZS0+YmFzZS5kc3QpOwo+IC0JCWRzdF9oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9z dGF0ZS0+YmFzZS5kc3QpOwo+IC0JfQo+ICsJLyoKPiArCSAqIFNyYyBjb29yZGluYXRlcyBhcmUg YWxyZWFkeSByb3RhdGVkIGJ5IDI3MCBkZWdyZWVzIGZvcgo+ICsJICogdGhlIDkwLzI3MCBkZWdy ZWUgcGxhbmUgcm90YXRpb24gY2FzZXMgKHRvIG1hdGNoIHRoZQo+ICsJICogR1RUIG1hcHBpbmcp LCBoZW5jZSBubyBuZWVkIHRvIGFjY291bnQgZm9yIHJvdGF0aW9uIGhlcmUuCj4gKwkgKgo+ICsJ ICogbi5iLiwgc3JjIGlzIDE2LjE2IGZpeGVkIHBvaW50LCBkc3QgaXMgd2hvbGUgaW50ZWdlci4K PiArCSAqLwo+ICsJc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3Jj KSA+PiAxNjsKPiArCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+YmFzZS5z cmMpID4+IDE2Owo+ICsJZHN0X3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uu ZHN0KTsKPiArCWRzdF9oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+YmFzZS5kc3Qp Owo+ICAKPiAgCWZwX3dfcmF0aW8gPSBkaXZfZml4ZWQxNihzcmNfdywgZHN0X3cpOwo+ICAJZnBf aF9yYXRpbyA9IGRpdl9maXhlZDE2KHNyY19oLCBkc3RfaCk7Cj4gQEAgLTQ2OTgsMjAgKzQ2ODUs MTUgQEAgc2tsX2NvbXB1dGVfcGxhbmVfd21fcGFyYW1zKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSwKPiAgCQkJICAgIHN0cnVjdCBza2xfd21fcGFyYW1zICp3cCwgaW50 IGNvbG9yX3BsYW5lKQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50 ZWxfcGxhbmUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUpOwo+ICAJY29uc3Qgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiAgCWludCB3aWR0aDsKPiAg Cj4gLQlpZiAocGxhbmUtPmlkID09IFBMQU5FX0NVUlNPUikgewo+IC0JCXdpZHRoID0gcGxhbmVf c3RhdGUtPmJhc2UuY3J0Y193Owo+IC0JfSBlbHNlIHsKPiAtCQkvKgo+IC0JCSAqIFNyYyBjb29y ZGluYXRlcyBhcmUgYWxyZWFkeSByb3RhdGVkIGJ5IDI3MCBkZWdyZWVzIGZvcgo+IC0JCSAqIHRo ZSA5MC8yNzAgZGVncmVlIHBsYW5lIHJvdGF0aW9uIGNhc2VzICh0byBtYXRjaCB0aGUKPiAtCQkg KiBHVFQgbWFwcGluZyksIGhlbmNlIG5vIG5lZWQgdG8gYWNjb3VudCBmb3Igcm90YXRpb24gaGVy ZS4KPiAtCQkgKi8KPiAtCQl3aWR0aCA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+YmFz ZS5zcmMpID4+IDE2Owo+IC0JfQo+ICsJLyoKPiArCSAqIFNyYyBjb29yZGluYXRlcyBhcmUgYWxy ZWFkeSByb3RhdGVkIGJ5IDI3MCBkZWdyZWVzIGZvcgo+ICsJICogdGhlIDkwLzI3MCBkZWdyZWUg cGxhbmUgcm90YXRpb24gY2FzZXMgKHRvIG1hdGNoIHRoZQo+ICsJICogR1RUIG1hcHBpbmcpLCBo ZW5jZSBubyBuZWVkIHRvIGFjY291bnQgZm9yIHJvdGF0aW9uIGhlcmUuCj4gKwkgKi8KPiArCXdp ZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4gMTY7Cj4gIAo+ ICAJcmV0dXJuIHNrbF9jb21wdXRlX3dtX3BhcmFtcyhjcnRjX3N0YXRlLCB3aWR0aCwKPiAgCQkJ CSAgICAgZmItPmZvcm1hdCwgZmItPm1vZGlmaWVyLAo+IC0tIAo+IDIuMjMuMAo+IAo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxl IFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=