From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 17/32] drm/i915: Remove the lazy_coherency parameter from request-completed? Date: Mon, 14 Dec 2015 14:59:30 +0000 Message-ID: <566ED952.7080602@linux.intel.com> References: <1449833608-22125-1-git-send-email-chris@chris-wilson.co.uk> <1449833608-22125-18-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 071EF6E035 for ; Mon, 14 Dec 2015 06:59:35 -0800 (PST) In-Reply-To: <1449833608-22125-18-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CkhpLAoKT24gMTEvMTIvMTUgMTE6MzMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBOb3cgdGhhdCB3 ZSBoYXZlIHNwbGl0IG91dCB0aGUgc2Vxbm8tYmFycmllciBmcm9tIHRoZQo+IGVuZ2luZS0+Z2V0 X3NlcW5vKCkgY2FsbGJhY2sgaXRzZWxmLCB3ZSBjYW4gbW92ZSB0aGUgdXNlcnMgb2YgdGhlCj4g c2Vxbm8tYmFycmllciB0byB0aGUgcmVxdWlyZWQgY2FsbHNpdGVzIHNpbXBsaWZ5aW5nIHRoZSBj b21tb24gY29kZSBhbmQKPiBtYWtpbmcgdGhlIHJlcXVpcmVkIHdvcmthcm91bmQgaGFuZGxpbmcg bXVjaCBtb3JlIGV4cGxpY2l0LgoKV2hhdCBib3RoZXJzIG1lIGFib3V0IHRoaXMgcGF0Y2gsIGFu ZCB0aGUgb25lIHByZWNlZGluZyBpdCwgaXMgdGhhdCBJIApkb24ndCBzZWUgYSB0YW5naWJsZSBp bXByb3ZlbWVudCBmb3IgdGhlIHByb2dyYW1tZXIgd2hvIHN0aWxsIGhhcyB0byAKa25vdyB3aGVu IHRvIHJlYWQgdGhlIHNlcW5vIGFuZCB3aGVuIHRvICJyZWFkIGl0IGhhcmRlciwgcmVhZCBmb3Ig cmVhbCIuCgpCYXJyaWVyIGluIHRoaXMgc2Vuc2UgaGFzIGEgcmVsYXRpb24gdG8gdGhlIHN0YXRl IG9mIHRoaW5ncyBidXQgc29tZWhvdyAKZmVlbHMgdG9vIGxvdyBsZXZlbCB0byBtZSB3aGVuIHVz ZWQgZnJvbSB0aGUgY29kZS4gQnV0IHRvIGJlIGZhaXIgSSBhbSAKbm90IHN1cmUgaG93IHRvIGJl dHRlciBkZWZpbmUgaXQuCgpXb3VsZCByaW5nLT5nZXRfc2Vxbm8gcGFpcmVkIHdpdGggcmluZy0+ cmVhZF9zZXFubyBwZXJoYXBzIG1ha2Ugc2Vuc2U/IApJbXBsZW1lbnRhdGlvbiBmb3IgcmluZy0+ cmVhZF9zZXFubyB3b3VsZCBqdXN0IGJlIGEgZmx1c2ggZm9sbG93ZWQgYnkgCnJpbmctPmdldF9z ZXFubyB0aGVuLiBPciBtYXliZSBrZWVwIHRoZSBiYXJyaWVyIGFuZCBhZGQgcmluZy0+cmVhZF9z ZXFubyAKd2hpY2ggd291bGQgYmUgcmluZy0+c2Vxbm9fYmFycmllciArIHJpbmdfZ2V0X3NlcW5v PwoKUmVnYXJkcywKClR2cnRrbwoKPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgIHwgIDQgKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgIHwgMTAgKystLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyAgICAgIHwgMjQgKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyAgICAgIHwgIDQgKystLQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25z KCspLCAyMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4g aW5kZXggNjM0NGZlNjlhYjgyLi44ODYwZGVjMzZhYWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+IEBAIC02MDEsNyArNjAxLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9w YWdlZmxpcF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgIAkJCQkJICAg aTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8od29yay0+ZmxpcF9xdWV1ZWRfcmVxKSwKPiAgIAkJ CQkJICAgZGV2X3ByaXYtPm5leHRfc2Vxbm8sCj4gICAJCQkJCSAgIHJpbmctPmdldF9zZXFubyhy aW5nKSwKPiAtCQkJCQkgICBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZCh3b3JrLT5mbGlwX3F1 ZXVlZF9yZXEsIHRydWUpKTsKPiArCQkJCQkgICBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZCh3 b3JrLT5mbGlwX3F1ZXVlZF9yZXEpKTsKPiAgIAkJCX0gZWxzZQo+ICAgCQkJCXNlcV9wcmludGYo bSwgIkZsaXAgbm90IGFzc29jaWF0ZWQgd2l0aCBhbnkgcmluZ1xuIik7Cj4gICAJCQlzZXFfcHJp bnRmKG0sICJGbGlwIHF1ZXVlZCBvbiBmcmFtZSAlZCwgKHdhcyByZWFkeSBvbiBmcmFtZSAlZCks IG5vdyAlZFxuIiwKPiBAQCAtMTM1Myw4ICsxMzUzLDggQEAgc3RhdGljIGludCBpOTE1X2hhbmdj aGVja19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQo+ICAgCWludGVsX3J1 bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPgo+ICAgCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3By aXYsIGkpIHsKPiAtCQlzZXFub1tpXSA9IHJpbmctPmdldF9zZXFubyhyaW5nKTsKPiAgIAkJYWN0 aGRbaV0gPSBpbnRlbF9yaW5nX2dldF9hY3RpdmVfaGVhZChyaW5nKTsKPiArCQlzZXFub1tpXSA9 IHJpbmctPmdldF9zZXFubyhyaW5nKTsKPiAgIAl9Cj4KPiAgIAlpbnRlbF9ydW50aW1lX3BtX3B1 dChkZXZfcHJpdik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggZmY4M2YxNDg2NThm Li5kMDk5ZTk2MGY5YjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMjk3OCwy MCArMjk3OCwxNCBAQCBpOTE1X3NlcW5vX3Bhc3NlZCh1aW50MzJfdCBzZXExLCB1aW50MzJfdCBz ZXEyKQo+ICAgCXJldHVybiAoaW50MzJfdCkoc2VxMSAtIHNlcTIpID49IDA7Cj4gICB9Cj4KPiAt c3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3Rfc3RhcnRlZChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAtCQkJCQkgICBib29sIGxhenlfY29oZXJlbmN5KQo+ICtz dGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fcmVxdWVzdF9zdGFydGVkKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxKQo+ICAgewo+IC0JaWYgKCFsYXp5X2NvaGVyZW5jeSAmJiByZXEt PnJpbmctPnNlcW5vX2JhcnJpZXIpCj4gLQkJcmVxLT5yaW5nLT5zZXFub19iYXJyaWVyKHJlcS0+ cmluZyk7Cj4gICAJcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKHJlcS0+cmluZy0+Z2V0X3NlcW5v KHJlcS0+cmluZyksCj4gICAJCQkJIHJlcS0+cHJldmlvdXNfc2Vxbm8pOwo+ICAgfQo+Cj4gLXN0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAtCQkJCQkgICAgICBib29sIGxhenlfY29oZXJlbmN5KQo+ ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gICB7Cj4gLQlpZiAoIWxhenlfY29oZXJlbmN5ICYm IHJlcS0+cmluZy0+c2Vxbm9fYmFycmllcikKPiAtCQlyZXEtPnJpbmctPnNlcW5vX2JhcnJpZXIo cmVxLT5yaW5nKTsKPiAgIAlyZXR1cm4gaTkxNV9zZXFub19wYXNzZWQocmVxLT5yaW5nLT5nZXRf c2Vxbm8ocmVxLT5yaW5nKSwKPiAgIAkJCQkgcmVxLT5zZXFubyk7Cj4gICB9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gaW5kZXggZmEwY2Y2YzlmNGQwLi5mM2MxZTI2OGY2MTQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMTE3MywxMiArMTE3MywxMiBAQCBzdGF0aWMgYm9v bCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ ICAgCSAqLwo+Cj4gICAJLyogT25seSBzcGluIGlmIHdlIGtub3cgdGhlIEdQVSBpcyBwcm9jZXNz aW5nIHRoaXMgcmVxdWVzdCAqLwo+IC0JaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X3N0YXJ0ZWQocmVx LCB0cnVlKSkKPiArCWlmICghaTkxNV9nZW1fcmVxdWVzdF9zdGFydGVkKHJlcSkpCj4gICAJCXJl dHVybiBmYWxzZTsKPgo+ICAgCXRpbWVvdXQgPSBsb2NhbF9jbG9ja191cygmY3B1KSArIDU7Cj4g ICAJZG8gewo+IC0JCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKQo+ ICsJCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQo+ICAgCQkJcmV0dXJuIHRy dWU7Cj4KPiAgIAkJaWYgKHNpZ25hbF9wZW5kaW5nX3N0YXRlKHN0YXRlLCB3YWl0LT50YXNrKSkK PiBAQCAtMTIzMCw3ICsxMjMwLDcgQEAgaW50IF9faTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gICAJaWYgKGxpc3RfZW1wdHkoJnJlcS0+bGlzdCkp Cj4gICAJCXJldHVybiAwOwo+Cj4gLQlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVx LCB0cnVlKSkKPiArCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQo+ICAgCQly ZXR1cm4gMDsKPgo+ICAgCXRpbWVvdXRfcmVtYWluID0gTUFYX1NDSEVEVUxFX1RJTUVPVVQ7Cj4g QEAgLTEyOTksNyArMTI5OSwxMCBAQCB3YWtldXA6CQlzZXRfdGFza19zdGF0ZSh3YWl0LnRhc2ss IHN0YXRlKTsKPiAgIAkJICogYnV0IGl0IGlzIGVhc2llciBhbmQgc2FmZXIgdG8gZG8gaXQgZXZl cnkgdGltZSB0aGUgd2FpdGVyCj4gICAJCSAqIGlzIHdva2VuLgo+ICAgCQkgKi8KPiAtCQlpZiAo aTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxLCBmYWxzZSkpCj4gKwkJaWYgKHJlcS0+cmlu Zy0+c2Vxbm9fYmFycmllcikKPiArCQkJcmVxLT5yaW5nLT5zZXFub19iYXJyaWVyKHJlcS0+cmlu Zyk7Cj4gKwo+ICsJCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQo+ICAgCQkJ YnJlYWs7Cj4KPiAgIAkJLyogV2UgbmVlZCB0byBjaGVjayB3aGV0aGVyIGFueSBncHUgcmVzZXQg aGFwcGVuZWQgaW4gYmV0d2Vlbgo+IEBAIC0yNzMxLDggKzI3MzQsMTEgQEAgaTkxNV9nZW1fZmlu ZF9hY3RpdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAgewo+ICAg CXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKPgo+ICsJaWYgKHJpbmctPnNl cW5vX2JhcnJpZXIpCj4gKwkJcmluZy0+c2Vxbm9fYmFycmllcihyaW5nKTsKPiArCj4gICAJbGlz dF9mb3JfZWFjaF9lbnRyeShyZXF1ZXN0LCAmcmluZy0+cmVxdWVzdF9saXN0LCBsaXN0KSB7Cj4g LQkJaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcXVlc3QsIGZhbHNlKSkKPiArCQlp ZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxdWVzdCkpCj4gICAJCQljb250aW51ZTsK Pgo+ICAgCQlyZXR1cm4gcmVxdWVzdDsKPiBAQCAtMjg3Myw3ICsyODc5LDcgQEAgaTkxNV9nZW1f cmV0aXJlX3JlcXVlc3RzX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgIAkJ CQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0LAo+ICAgCQkJCQkgICBsaXN0KTsKPgo+ IC0JCWlmICghaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxdWVzdCwgdHJ1ZSkpCj4gKwkJ aWYgKCFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXF1ZXN0KSkKPiAgIAkJCWJyZWFrOwo+ Cj4gICAJCWk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwo+IEBAIC0yODk3LDcgKzI5 MDMsNyBAQCBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nKQo+ICAgCX0KPgo+ICAgCWlmICh1bmxpa2VseShyaW5nLT50cmFjZV9pcnFfcmVx ICYmCj4gLQkJICAgICBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyaW5nLT50cmFjZV9pcnFf cmVxLCB0cnVlKSkpIHsKPiArCQkgICAgIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJpbmct PnRyYWNlX2lycV9yZXEpKSkgewo+ICAgCQlyaW5nLT5pcnFfcHV0KHJpbmcpOwo+ICAgCQlpOTE1 X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmluZy0+dHJhY2VfaXJxX3JlcSwgTlVMTCk7Cj4gICAJfQo+ IEBAIC0zMDA3LDcgKzMwMTMsNyBAQCBpOTE1X2dlbV9vYmplY3RfZmx1c2hfYWN0aXZlKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gICAJCWlmIChsaXN0X2VtcHR5KCZyZXEtPmxp c3QpKQo+ICAgCQkJZ290byByZXRpcmU7Cj4KPiAtCQlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21w bGV0ZWQocmVxLCB0cnVlKSkgewo+ICsJCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChy ZXEpKSB7Cj4gICAJCQlfX2k5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlX191cHRvKHJlcSk7Cj4gICBy ZXRpcmU6Cj4gICAJCQlpOTE1X2dlbV9vYmplY3RfcmV0aXJlX19yZWFkKG9iaiwgaSk7Cj4gQEAg LTMxMTYsNyArMzEyMiw3IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKPiAgIAlpZiAodG8gPT0gZnJvbSkKPiAgIAkJcmV0dXJuIDA7Cj4K PiAtCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChmcm9tX3JlcSwgdHJ1ZSkpCj4gKwlp ZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQoZnJvbV9yZXEpKQo+ICAgCQlyZXR1cm4gMDsK Pgo+ICAgCWlmICghaTkxNV9zZW1hcGhvcmVfaXNfZW5hYmxlZChvYmotPmJhc2UuZGV2KSkgewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA4NzViZGY4MTRkNzMuLmZm Y2RjMmM2MzFlMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAt MTE0NTksNyArMTE0NTksNyBAQCBzdGF0aWMgYm9vbCBfX2ludGVsX3BhZ2VmbGlwX3N0YWxsX2No ZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4KPiAgIAlpZiAod29yay0+ZmxpcF9yZWFkeV92 YmxhbmsgPT0gMCkgewo+ICAgCQlpZiAod29yay0+ZmxpcF9xdWV1ZWRfcmVxICYmCj4gLQkJICAg ICFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZCh3b3JrLT5mbGlwX3F1ZXVlZF9yZXEsIHRydWUp KQo+ICsJCSAgICAhaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQod29yay0+ZmxpcF9xdWV1ZWRf cmVxKSkKPiAgIAkJCXJldHVybiBmYWxzZTsKPgo+ICAgCQl3b3JrLT5mbGlwX3JlYWR5X3ZibGFu ayA9IGRybV9jcnRjX3ZibGFua19jb3VudChjcnRjKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK PiBpbmRleCA5OWYyNjQyZmQ1ZGYuLjU3MDYyODYyOGE5MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwo+IEBAIC03MTg4LDcgKzcxODgsNyBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX3Jwc19i b29zdF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgIAlzdHJ1Y3QgcmVxdWVzdF9i b29zdCAqYm9vc3QgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IHJlcXVlc3RfYm9vc3QsIHdv cmspOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxID0gYm9vc3QtPnJlcTsK Pgo+IC0JaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKQo+ICsJaWYg KCFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQo+ICAgCQlnZW42X3Jwc19ib29zdCh0 b19pOTE1KHJlcS0+cmluZy0+ZGV2KSwgTlVMTCwKPiAgIAkJCSAgICAgICByZXEtPmVtaXR0ZWRf amlmZmllcyk7Cj4KPiBAQCAtNzIwNCw3ICs3MjA0LDcgQEAgdm9pZCBpbnRlbF9xdWV1ZV9ycHNf Ym9vc3RfZm9yX3JlcXVlc3Qoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlpZiAocmVxID09 IE5VTEwgfHwgSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA2KQo+ICAgCQlyZXR1cm47Cj4KPiAtCWlm IChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKQo+ICsJaWYgKGk5MTVfZ2Vt X3JlcXVlc3RfY29tcGxldGVkKHJlcSkpCj4gICAJCXJldHVybjsKPgo+ICAgCWJvb3N0ID0ga21h bGxvYyhzaXplb2YoKmJvb3N0KSwgR0ZQX0FUT01JQyk7Cj4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK