From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 020/190] drm/i915: Remove the lazy_coherency parameter from request-completed? Date: Tue, 12 Jan 2016 12:27:05 +0200 Message-ID: <87h9ijks92.fsf@gaia.fi.intel.com> References: <1452503961-14837-1-git-send-email-chris@chris-wilson.co.uk> <1452503961-14837-20-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id BCE5B6E2BD for ; Tue, 12 Jan 2016 02:28:34 -0800 (PST) In-Reply-To: <1452503961-14837-20-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 Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gTm93IHRo YXQgd2UgaGF2ZSBzcGxpdCBvdXQgdGhlIHNlcW5vLWJhcnJpZXIgZnJvbSB0aGUKPiBlbmdpbmUt PmdldF9zZXFubygpIGNhbGxiYWNrIGl0c2VsZiwgd2UgY2FuIG1vdmUgdGhlIHVzZXJzIG9mIHRo ZQo+IHNlcW5vLWJhcnJpZXIgdG8gdGhlIHJlcXVpcmVkIGNhbGxzaXRlcyBzaW1wbGlmeWluZyB0 aGUgY29tbW9uIGNvZGUgYW5kCj4gbWFraW5nIHRoZSByZXF1aXJlZCB3b3JrYXJvdW5kIGhhbmRs aW5nIG11Y2ggbW9yZSBleHBsaWNpdC4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICB8IDE3ICsrKysrKysrLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgICAgICB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jICAgICAgfCAgNCArKy0tCj4gIDUgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0 aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+IGluZGV4IDE0OTllMjMzN2U1ZC4uZDA5ZTQ4NDU1ZGNiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtNjAxLDcgKzYwMSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9n ZW1fcGFnZWZsaXBfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gIAkJCQkJ ICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8od29yay0+ZmxpcF9xdWV1ZWRfcmVxKSwKPiAg CQkJCQkgICBkZXZfcHJpdi0+bmV4dF9zZXFubywKPiAgCQkJCQkgICByaW5nLT5nZXRfc2Vxbm8o cmluZyksCj4gLQkJCQkJICAgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQod29yay0+ZmxpcF9x dWV1ZWRfcmVxLCB0cnVlKSk7Cj4gKwkJCQkJICAgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQo d29yay0+ZmxpcF9xdWV1ZWRfcmVxKSk7Cj4gIAkJCX0gZWxzZQo+ICAJCQkJc2VxX3ByaW50Ziht LCAiRmxpcCBub3QgYXNzb2NpYXRlZCB3aXRoIGFueSByaW5nXG4iKTsKPiAgCQkJc2VxX3ByaW50 ZihtLCAiRmxpcCBxdWV1ZWQgb24gZnJhbWUgJWQsICh3YXMgcmVhZHkgb24gZnJhbWUgJWQpLCBu b3cgJWRcbiIsCj4gQEAgLTEzNTQsOCArMTM1NCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9oYW5nY2hl Y2tfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgCWludGVsX3J1bnRp bWVfcG1fZ2V0KGRldl9wcml2KTsKPiAgCj4gIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2 LCBpKSB7Cj4gLQkJc2Vxbm9baV0gPSByaW5nLT5nZXRfc2Vxbm8ocmluZyk7Cj4gIAkJYWN0aGRb aV0gPSBpbnRlbF9yaW5nX2dldF9hY3RpdmVfaGVhZChyaW5nKTsKPiArCQlzZXFub1tpXSA9IHJp bmctPmdldF9zZXFubyhyaW5nKTsKCk9oISBQZXJoYXBzIEkgYW0gb3Zlcmx5IG9wdGltaXN0aWMg YnV0IGRpZCB5b3UganVzdCBzaG93IGhvdyB0byBzb2x2ZQp0aGUgJ2hhbmdjaGVjayBlbGFwc2Vk IDxyYW5kb20+IHJpbmcgaWRsZS4uJyBjb2hlcmVuY3kgaXNzdWUKaW4gaGFuZ2NoZWNrPwoKSSB3 b3VsZCBsaWtlIHRvIGhhdmUgYSBzZXBhcmF0ZSBwYXRjaCB0aGF0IGRvZXMgdGhpcyBvcmRlcmlu ZwppbiBoZXJlIGFuZCBhbHNvIGluIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQgdG8gYmUgaW4gdGhl IHNhZmUKc2lkZSwgcmVnYXJkbGVzcy4KCk9yIGF0IG1pbmltdW0sIGNvcHkgdGhlIGFjdGhkIHJl YWQsIHNlcW5vIHJlYWQgb3JkZXJpbmcKaW50byB0aGUgaTkxNV9oYW5nY2hlY2tfZWxhcHNlZCBh bHNvLgoKLU1pa2EKCgo+ICAJfQo+ICAKPiAgCWk5MTVfZ2V0X2V4dHJhX2luc3Rkb25lKGRldiwg aW5zdGRvbmUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDk3NjJhYTc2YmIwYS4u NDRkNDYwMThlZTEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTI5NjksMjAg KzI5NjksMTQgQEAgaTkxNV9zZXFub19wYXNzZWQodWludDMyX3Qgc2VxMSwgdWludDMyX3Qgc2Vx MikKPiAgCXJldHVybiAoaW50MzJfdCkoc2VxMSAtIHNlcTIpID49IDA7Cj4gIH0KPiAgCj4gLXN0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X3N0YXJ0ZWQoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEsCj4gLQkJCQkJICAgYm9vbCBsYXp5X2NvaGVyZW5jeSkKPiArc3Rh dGljIGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3Rfc3RhcnRlZChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSkKPiAgewo+IC0JaWYgKCFsYXp5X2NvaGVyZW5jeSAmJiByZXEtPnJp bmctPmlycV9zZXFub19iYXJyaWVyKQo+IC0JCXJlcS0+cmluZy0+aXJxX3NlcW5vX2JhcnJpZXIo cmVxLT5yaW5nKTsKPiAgCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChyZXEtPnJpbmctPmdldF9z ZXFubyhyZXEtPnJpbmcpLAo+ICAJCQkJIHJlcS0+cHJldmlvdXNfc2Vxbm8pOwo+ICB9Cj4gIAo+ IC1zdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gLQkJCQkJICAgICAgYm9vbCBsYXp5X2NvaGVyZW5j eSkKPiArc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ICB7Cj4gLQlpZiAoIWxhenlfY29oZXJlbmN5 ICYmIHJlcS0+cmluZy0+aXJxX3NlcW5vX2JhcnJpZXIpCj4gLQkJcmVxLT5yaW5nLT5pcnFfc2Vx bm9fYmFycmllcihyZXEtPnJpbmcpOwo+ICAJcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKHJlcS0+ cmluZy0+Z2V0X3NlcW5vKHJlcS0+cmluZyksCj4gIAkJCQkgcmVxLT5zZXFubyk7Cj4gIH0KPiBA QCAtMzYzNiw2ICszNjMwLDggQEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdHJhY2VfaXJxX2dl dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAKPiAgc3RhdGljIGlubGluZSBib29s IF9faTkxNV9yZXF1ZXN0X2lycV9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSkKPiAgewo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5yaW5n Owo+ICsKPiAgCS8qIEVuc3VyZSBvdXIgcmVhZCBvZiB0aGUgc2Vxbm8gaXMgY29oZXJlbnQgc28g dGhhdCB3ZQo+ICAJICogZG8gbm90ICJtaXNzIGFuIGludGVycnVwdCIgKGkuZS4gaWYgdGhpcyBp cyB0aGUgbGFzdAo+ICAJICogcmVxdWVzdCBhbmQgdGhlIHNlcW5vIHdyaXRlIGZyb20gdGhlIEdQ VSBpcyBub3QgdmlzaWJsZQo+IEBAIC0zNjQ3LDcgKzM2NDMsMTAgQEAgc3RhdGljIGlubGluZSBi b29sIF9faTkxNV9yZXF1ZXN0X2lycV9jb21wbGV0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSkKPiAgCSAqIGJ1dCBpdCBpcyBlYXNpZXIgYW5kIHNhZmVyIHRvIGRvIGl0IGV2ZXJ5 IHRpbWUgdGhlIHdhaXRlcgo+ICAJICogaXMgd29rZW4uCj4gIAkgKi8KPiAtCWlmIChpOTE1X2dl bV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIGZhbHNlKSkKPiArCWlmIChlbmdpbmUtPmlycV9zZXFu b19iYXJyaWVyKQo+ICsJCWVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIoZW5naW5lKTsKPiArCj4g KwlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKPiAgCQlyZXR1cm4gdHJ1ZTsK PiAgCj4gIAkvKiBXZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgYW55IGdwdSByZXNldCBoYXBwZW5l ZCBpbiBiZXR3ZWVuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggNGIyNjUyOWYxZjQ0 Li5kMTI1ODIwYzYzMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMTE3MSwx MiArMTE3MSwxMiBAQCBzdGF0aWMgYm9vbCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAJICovCj4gIAo+ICAJLyogT25seSBzcGluIGlmIHdl IGtub3cgdGhlIEdQVSBpcyBwcm9jZXNzaW5nIHRoaXMgcmVxdWVzdCAqLwo+IC0JaWYgKCFpOTE1 X2dlbV9yZXF1ZXN0X3N0YXJ0ZWQocmVxLCB0cnVlKSkKPiArCWlmICghaTkxNV9nZW1fcmVxdWVz dF9zdGFydGVkKHJlcSkpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAgCXRpbWVvdXQgPSBsb2Nh bF9jbG9ja191cygmY3B1KSArIDU7Cj4gIAlkbyB7Cj4gLQkJaWYgKGk5MTVfZ2VtX3JlcXVlc3Rf Y29tcGxldGVkKHJlcSwgdHJ1ZSkpCj4gKwkJaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVk KHJlcSkpCj4gIAkJCXJldHVybiB0cnVlOwo+ICAKPiAgCQlpZiAoc2lnbmFsX3BlbmRpbmdfc3Rh dGUoc3RhdGUsIHdhaXQtPnRhc2spKQo+IEBAIC0xMjI4LDcgKzEyMjgsNyBAQCBpbnQgX19pOTE1 X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAgCWlmIChs aXN0X2VtcHR5KCZyZXEtPmxpc3QpKQo+ICAJCXJldHVybiAwOwo+ICAKPiAtCWlmIChpOTE1X2dl bV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKQo+ICsJaWYgKGk5MTVfZ2VtX3JlcXVlc3Rf Y29tcGxldGVkKHJlcSkpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJdGltZW91dF9yZW1haW4gPSBN QVhfU0NIRURVTEVfVElNRU9VVDsKPiBAQCAtMjcyNCw4ICsyNzI0LDE2IEBAIGk5MTVfZ2VtX2Zp bmRfYWN0aXZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgewo+ICAJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0Owo+ICAKPiArCS8qIFdlIGFyZSBj YWxsZWQgYnkgdGhlIGVycm9yIGNhcHR1cmUgYW5kIHJlc2V0IGF0IGEgcmFuZG9tCj4gKwkgKiBw b2ludCBpbiB0aW1lLiBJbiBwYXJ0aWN1bGFyLCBub3RlIHRoYXQgbmVpdGhlciBpcyBjcnVjaWFs bHkKPiArCSAqIG9yZGVyZWQgd2l0aCBhbiBpbnRlcnJ1cHQuIEFmdGVyIGEgaGFuZywgdGhlIEdQ VSBpcyBkZWFkIGFuZCB3ZQo+ICsJICogYXNzdW1lIHRoYXQgbm8gbW9yZSB3cml0ZXMgY2FuIGhh cHBlbiAod2Ugd2FpdGVkIGxvbmcgZW5vdWdoIGZvcgo+ICsJICogYWxsIHdyaXRlcyB0aGF0IHdl cmUgaW4gdHJhbnNhY3Rpb24gdG8gYmUgZmx1c2hlZCkgLSBhZGRpbmcgYW4KPiArCSAqIGV4dHJh IGRlbGF5IGZvciBhIHJlY2VudCBpbnRlcnJ1cHQgaXMgcG9pbnRsZXNzLiBIZW5jZSwgd2UgZG8K PiArCSAqIG5vdCBuZWVkIGFuIGVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIoKSBiZWZvcmUgdGhl IHNlcW5vIHJlYWRzLgo+ICsJICovCj4gIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZy aW5nLT5yZXF1ZXN0X2xpc3QsIGxpc3QpIHsKPiAtCQlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21w bGV0ZWQocmVxdWVzdCwgZmFsc2UpKQo+ICsJCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRl ZChyZXF1ZXN0KSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCXJldHVybiByZXF1ZXN0Owo+IEBA IC0yODU5LDcgKzI4NjcsNyBAQCBpOTE1X2dlbV9yZXRpcmVfcmVxdWVzdHNfcmluZyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAJCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCwKPiAgCQkJCQkgICBsaXN0KTsKPiAgCj4gLQkJaWYgKCFpOTE1X2dlbV9yZXF1ZXN0X2Nv bXBsZXRlZChyZXF1ZXN0LCB0cnVlKSkKPiArCQlpZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxl dGVkKHJlcXVlc3QpKQo+ICAJCQlicmVhazsKPiAgCj4gIAkJaTkxNV9nZW1fcmVxdWVzdF9yZXRp cmUocmVxdWVzdCk7Cj4gQEAgLTI4ODMsNyArMjg5MSw3IEBAIGk5MTVfZ2VtX3JldGlyZV9yZXF1 ZXN0c19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4gIAl9Cj4gIAo+ICAJaWYg KHVubGlrZWx5KHJpbmctPnRyYWNlX2lycV9yZXEgJiYKPiAtCQkgICAgIGk5MTVfZ2VtX3JlcXVl c3RfY29tcGxldGVkKHJpbmctPnRyYWNlX2lycV9yZXEsIHRydWUpKSkgewo+ICsJCSAgICAgaTkx NV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmluZy0+dHJhY2VfaXJxX3JlcSkpKSB7Cj4gIAkJcmlu Zy0+aXJxX3B1dChyaW5nKTsKPiAgCQlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmluZy0+dHJh Y2VfaXJxX3JlcSwgTlVMTCk7Cj4gIAl9Cj4gQEAgLTI5OTUsNyArMzAwMyw3IEBAIGk5MTVfZ2Vt X29iamVjdF9mbHVzaF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAg CQlpZiAobGlzdF9lbXB0eSgmcmVxLT5saXN0KSkKPiAgCQkJZ290byByZXRpcmU7Cj4gIAo+IC0J CWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEsIHRydWUpKSB7Cj4gKwkJaWYgKGk5 MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSkpIHsKPiAgCQkJX19pOTE1X2dlbV9yZXF1ZXN0 X3JldGlyZV9fdXB0byhyZXEpOwo+ICByZXRpcmU6Cj4gIAkJCWk5MTVfZ2VtX29iamVjdF9yZXRp cmVfX3JlYWQob2JqLCBpKTsKPiBAQCAtMzEwNCw3ICszMTEyLDcgQEAgX19pOTE1X2dlbV9vYmpl Y3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAJaWYgKHRvID09IGZy b20pCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVk KGZyb21fcmVxLCB0cnVlKSkKPiArCWlmIChpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChmcm9t X3JlcSkpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJaWYgKCFpOTE1X3NlbWFwaG9yZV9pc19lbmFi bGVkKG9iai0+YmFzZS5kZXYpKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ IGluZGV4IDdlMzZmODVkMzEwOS4uZGU0ZDRhMGQ5MjNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMTUyMyw3ICsxMTUyMyw3IEBAIHN0YXRpYyBib29sIF9f aW50ZWxfcGFnZWZsaXBfc3RhbGxfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4g IAlpZiAod29yay0+ZmxpcF9yZWFkeV92YmxhbmsgPT0gMCkgewo+ICAJCWlmICh3b3JrLT5mbGlw X3F1ZXVlZF9yZXEgJiYKPiAtCQkgICAgIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHdvcmst PmZsaXBfcXVldWVkX3JlcSwgdHJ1ZSkpCj4gKwkJICAgICFpOTE1X2dlbV9yZXF1ZXN0X2NvbXBs ZXRlZCh3b3JrLT5mbGlwX3F1ZXVlZF9yZXEpKQo+ICAJCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ICAJ CXdvcmstPmZsaXBfcmVhZHlfdmJsYW5rID0gZHJtX2NydGNfdmJsYW5rX2NvdW50KGNydGMpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IDlkZjllOWEyMmYzYy4uNDAxYzM3NzAwNTdk IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTcyODYsNyArNzI4Niw3IEBAIHN0 YXRpYyB2b2lkIF9faW50ZWxfcnBzX2Jvb3N0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQo+ICAJc3RydWN0IHJlcXVlc3RfYm9vc3QgKmJvb3N0ID0gY29udGFpbmVyX29mKHdvcmssIHN0 cnVjdCByZXF1ZXN0X2Jvb3N0LCB3b3JrKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxID0gYm9vc3QtPnJlcTsKPiAgCj4gLQlpZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxl dGVkKHJlcSwgdHJ1ZSkpCj4gKwlpZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSkp Cj4gIAkJZ2VuNl9ycHNfYm9vc3QodG9faTkxNShyZXEtPnJpbmctPmRldiksIE5VTEwsCj4gIAkJ CSAgICAgICByZXEtPmVtaXR0ZWRfamlmZmllcyk7Cj4gIAo+IEBAIC03MzAyLDcgKzczMDIsNyBA QCB2b2lkIGludGVsX3F1ZXVlX3Jwc19ib29zdF9mb3JfcmVxdWVzdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAJaWYgKHJlcSA9PSBOVUxMIHx8IElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNikK PiAgCQlyZXR1cm47Cj4gIAo+IC0JaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSwg dHJ1ZSkpCj4gKwlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKPiAgCQlyZXR1 cm47Cj4gIAo+ICAJYm9vc3QgPSBrbWFsbG9jKHNpemVvZigqYm9vc3QpLCBHRlBfQVRPTUlDKTsK PiAtLSAKPiAyLjcuMC5yYzMKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==