From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH] drm/i915: Pull seqno started checks together Date: Mon, 06 Aug 2018 14:17:16 +0300 Message-ID: <87va8neocj.fsf@gaia.fi.intel.com> References: <20180806111121.12998-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id AD1B16E1EC for ; Mon, 6 Aug 2018 11:18:38 +0000 (UTC) In-Reply-To: <20180806111121.12998-1-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+IHdyaXRlczoKCj4gV2UgaGF2 ZSBhIGZldyBpbnN0YW5jZXMgb2YgY2hlY2tpbmcgc2Vxbm8tMSB0byBzZWUgaWYgdGhlIEhXIGhh cyBzdGFydGVkCj4gdGhlIHJlcXVlc3QuIFB1bGwgdGhvc2UgdG9nZXRoZXIgdW5kZXIgYSBoZWxw ZXIuCj4KCkNvdWxkIHlvdSBlbGFib3JhdGUgd2h5IHlvdSB3YW50IGJvdGggY29tcGxldGVkIGFu ZCBzaWduYWxlZD8KT3RoZXJ3aXNlIGl0IGxvb2tzIGdvb2QuCi1NaWthCgo+IFN1Z2dlc3RlZC1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgICAgICB8ICA5ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlcXVlc3QuaCAgICAgIHwgMzkgKysrKysrKysrKysrKysrLS0tLS0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMgfCAgNiArKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICAgfCAgMyArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oYW5nY2hlY2suYyAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICB8IDMyICsrKysrKysrKysrKysrKy0tLS0K PiAgNiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gaW5kZXggNWMyYzkzY2JhYjEyLi4wOWVk NDg4MzNiNTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IEBAIC01Mjcs NyArNTI3LDcgQEAgdm9pZCBfX2k5MTVfcmVxdWVzdF9zdWJtaXQoc3RydWN0IGk5MTVfcmVxdWVz dCAqcmVxdWVzdCkKPiAgCj4gIAlzZXFubyA9IHRpbWVsaW5lX2dldF9zZXFubygmZW5naW5lLT50 aW1lbGluZSk7Cj4gIAlHRU1fQlVHX09OKCFzZXFubyk7Cj4gLQlHRU1fQlVHX09OKGk5MTVfc2Vx bm9fcGFzc2VkKGludGVsX2VuZ2luZV9nZXRfc2Vxbm8oZW5naW5lKSwgc2Vxbm8pKTsKPiArCUdF TV9CVUdfT04oaW50ZWxfZW5naW5lX3NpZ25hbGVkKGVuZ2luZSwgc2Vxbm8pKTsKPiAgCj4gIAkv KiBXZSBtYXkgYmUgcmVjdXJzaW5nIGZyb20gdGhlIHNpZ25hbCBjYWxsYmFjayBvZiBhbm90aGVy IGk5MTUgZmVuY2UgKi8KPiAgCXNwaW5fbG9ja19uZXN0ZWQoJnJlcXVlc3QtPmxvY2ssIFNJTkdM RV9ERVBUSF9ORVNUSU5HKTsKPiBAQCAtNTc5LDggKzU3OSw3IEBAIHZvaWQgX19pOTE1X3JlcXVl c3RfdW5zdWJtaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgCSAqLwo+ICAJR0VN X0JVR19PTighcmVxdWVzdC0+Z2xvYmFsX3NlcW5vKTsKPiAgCUdFTV9CVUdfT04ocmVxdWVzdC0+ Z2xvYmFsX3NlcW5vICE9IGVuZ2luZS0+dGltZWxpbmUuc2Vxbm8pOwo+IC0JR0VNX0JVR19PTihp OTE1X3NlcW5vX3Bhc3NlZChpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSksCj4gLQkJCQkg ICAgIHJlcXVlc3QtPmdsb2JhbF9zZXFubykpOwo+ICsJR0VNX0JVR19PTihpbnRlbF9lbmdpbmVf aGFzX2NvbXBsZXRlZChlbmdpbmUsIHJlcXVlc3QtPmdsb2JhbF9zZXFubykpOwo+ICAJZW5naW5l LT50aW1lbGluZS5zZXFuby0tOwo+ICAKPiAgCS8qIFdlIG1heSBiZSByZWN1cnNpbmcgZnJvbSB0 aGUgc2lnbmFsIGNhbGxiYWNrIG9mIGFub3RoZXIgaTkxNSBmZW5jZSAqLwo+IEBAIC0xMjA1LDcg KzEyMDQsNyBAQCBzdGF0aWMgYm9vbCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KGNvbnN0IHN0cnVjdCBp OTE1X3JlcXVlc3QgKnJxLAo+ICAJICogaXQgaXMgYSBmYWlyIGFzc3VtcHRpb24gdGhhdCBpdCB3 aWxsIG5vdCBjb21wbGV0ZSB3aXRoaW4gb3VyCj4gIAkgKiByZWxhdGl2ZWx5IHNob3J0IHRpbWVv dXQuCj4gIAkgKi8KPiAtCWlmICghaTkxNV9zZXFub19wYXNzZWQoaW50ZWxfZW5naW5lX2dldF9z ZXFubyhlbmdpbmUpLCBzZXFubyAtIDEpKQo+ICsJaWYgKCFpbnRlbF9lbmdpbmVfaGFzX3N0YXJ0 ZWQoZW5naW5lLCBzZXFubykpCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAgCS8qCj4gQEAgLTEy MjIsNyArMTIyMSw3IEBAIHN0YXRpYyBib29sIF9faTkxNV9zcGluX3JlcXVlc3QoY29uc3Qgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gIAlpcnEgPSBSRUFEX09OQ0UoZW5naW5lLT5icmVhZGNy dW1icy5pcnFfY291bnQpOwo+ICAJdGltZW91dF91cyArPSBsb2NhbF9jbG9ja191cygmY3B1KTsK PiAgCWRvIHsKPiAtCQlpZiAoaTkxNV9zZXFub19wYXNzZWQoaW50ZWxfZW5naW5lX2dldF9zZXFu byhlbmdpbmUpLCBzZXFubykpCj4gKwkJaWYgKGludGVsX2VuZ2luZV9oYXNfY29tcGxldGVkKGVu Z2luZSwgc2Vxbm8pKQo+ICAJCQlyZXR1cm4gc2Vxbm8gPT0gaTkxNV9yZXF1ZXN0X2dsb2JhbF9z ZXFubyhycSk7Cj4gIAo+ICAJCS8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKPiBp bmRleCBlMWM5MzY1ZGZlZmIuLjA1ODg4ZGUyZTA0NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVxdWVzdC5oCj4gQEAgLTI3Miw3ICsyNzIsMTAgQEAgbG9uZyBpOTE1X3JlcXVlc3Rfd2Fp dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKPiAgI2RlZmluZSBJOTE1X1dBSVRfQUxMCQlCSVQo MikgLyogdXNlZCBieSBpOTE1X2dlbV9vYmplY3Rfd2FpdCgpICovCj4gICNkZWZpbmUgSTkxNV9X QUlUX0ZPUl9JRExFX0JPT1NUIEJJVCgzKQo+ICAKPiAtc3RhdGljIGlubGluZSB1MzIgaW50ZWxf ZW5naW5lX2dldF9zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICtzdGF0 aWMgaW5saW5lIGJvb2wgaW50ZWxfZW5naW5lX2hhc19zdGFydGVkKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKPiArCQkJCQkgICAgdTMyIHNlcW5vKTsKPiArc3RhdGljIGlubGluZSBi b29sIGludGVsX2VuZ2luZV9oYXNfY29tcGxldGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwKPiArCQkJCQkgICAgdTMyIHNlcW5vKTsKPiAgCj4gIC8qKgo+ICAgKiBSZXR1cm5zIHRy dWUgaWYgc2VxMSBpcyBsYXRlciB0aGFuIHNlcTIuCj4gQEAgLTI4MiwxMSArMjg1LDMxIEBAIHN0 YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3NlcW5vX3Bhc3NlZCh1MzIgc2VxMSwgdTMyIHNlcTIpCj4g IAlyZXR1cm4gKHMzMikoc2VxMSAtIHNlcTIpID49IDA7Cj4gIH0KPiAgCj4gKy8qKgo+ICsgKiBp OTE1X3JlcXVlc3Rfc3RhcnRlZCAtIGNoZWNrIGlmIHRoZSByZXF1ZXN0IGhhcyBiZWd1biBiZWlu ZyBleGVjdXRlZAo+ICsgKiBAcnE6IHRoZSByZXF1ZXN0Cj4gKyAqCj4gKyAqIFJldHVybnMgdHJ1 ZSBpZiB0aGUgcmVxdWVzdCBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gaGFyZHdhcmUsIGFuZCB0aGUg aGFyZHdhcmUKPiArICogaGFzIGFkdmFuY2VkIHBhc3NlZCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91 cyByZXF1ZXN0IGFuZCBzbyBzaG91bGQgYmUgZWl0aGVyCj4gKyAqIGN1cnJlbnRseSBwcm9jZXNz aW5nIHRoZSByZXF1ZXN0ICh0aG91Z2ggaXQgbWF5IGJlIHByZWVtcHRlZCBhbmQgc28KPiArICog bm90IG5lY2Vzc2FyaWx5IHRoZSBuZXh0IHJlcXVlc3QgdG8gY29tcGxldGUpIG9yIGhhdmUgY29t cGxldGVkIHRoZSByZXF1ZXN0Lgo+ICsgKi8KPiArc3RhdGljIGlubGluZSBib29sIGk5MTVfcmVx dWVzdF9zdGFydGVkKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICt7Cj4gKwl1MzIg c2Vxbm87Cj4gKwo+ICsJc2Vxbm8gPSBpOTE1X3JlcXVlc3RfZ2xvYmFsX3NlcW5vKHJxKTsKPiAr CWlmICghc2Vxbm8pIC8qIG5vdCB5ZXQgc3VibWl0dGVkIHRvIEhXICovCj4gKwkJcmV0dXJuIGZh bHNlOwo+ICsKPiArCXJldHVybiBpbnRlbF9lbmdpbmVfaGFzX3N0YXJ0ZWQocnEtPmVuZ2luZSwg c2Vxbm8pOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW5saW5lIGJvb2wKPiAgX19pOTE1X3JlcXVlc3Rf Y29tcGxldGVkKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgc2Vxbm8pCj4gIHsK PiAgCUdFTV9CVUdfT04oIXNlcW5vKTsKPiAtCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChpbnRl bF9lbmdpbmVfZ2V0X3NlcW5vKHJxLT5lbmdpbmUpLCBzZXFubykgJiYKPiArCXJldHVybiBpbnRl bF9lbmdpbmVfaGFzX2NvbXBsZXRlZChycS0+ZW5naW5lLCBzZXFubykgJiYKPiAgCQlzZXFubyA9 PSBpOTE1X3JlcXVlc3RfZ2xvYmFsX3NlcW5vKHJxKTsKPiAgfQo+ICAKPiBAQCAtMzAxLDE4ICsz MjQsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9yZXF1ZXN0X2NvbXBsZXRlZChjb25zdCBz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgCXJldHVybiBfX2k5MTVfcmVxdWVzdF9jb21wbGV0 ZWQocnEsIHNlcW5vKTsKPiAgfQo+ICAKPiAtc3RhdGljIGlubGluZSBib29sIGk5MTVfcmVxdWVz dF9zdGFydGVkKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+IC17Cj4gLQl1MzIgc2Vx bm87Cj4gLQo+IC0Jc2Vxbm8gPSBpOTE1X3JlcXVlc3RfZ2xvYmFsX3NlcW5vKHJxKTsKPiAtCWlm ICghc2Vxbm8pCj4gLQkJcmV0dXJuIGZhbHNlOwo+IC0KPiAtCXJldHVybiBpOTE1X3NlcW5vX3Bh c3NlZChpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKHJxLT5lbmdpbmUpLAo+IC0JCQkJIHNlcW5vIC0g MSk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3NjaGVkX25vZGVfc2lnbmFs ZWQoY29uc3Qgc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKPiAgewo+ICAJY29uc3Qgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEgPQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9icmVhZGNydW1icy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRj cnVtYnMuYwo+IGluZGV4IDFkYjZiYTdkOTI2ZS4uODRiZjhkODI3MTM2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCj4gQEAgLTI1Niw4ICsyNTYsNyBAQCB2 b2lkIGludGVsX2VuZ2luZV9kaXNhcm1fYnJlYWRjcnVtYnMoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQo+ICAJc3Bpbl91bmxvY2soJmItPmlycV9sb2NrKTsKPiAgCj4gIAlyYnRyZWVf cG9zdG9yZGVyX2Zvcl9lYWNoX2VudHJ5X3NhZmUod2FpdCwgbiwgJmItPndhaXRlcnMsIG5vZGUp IHsKPiAtCQlHRU1fQlVHX09OKCFpOTE1X3NlcW5vX3Bhc3NlZChpbnRlbF9lbmdpbmVfZ2V0X3Nl cW5vKGVuZ2luZSksCj4gLQkJCQkJICAgICAgd2FpdC0+c2Vxbm8pKTsKPiArCQlHRU1fQlVHX09O KCFpbnRlbF9lbmdpbmVfc2lnbmFsZWQoZW5naW5lLCB3YWl0LT5zZXFubykpOwo+ICAJCVJCX0NM RUFSX05PREUoJndhaXQtPm5vZGUpOwo+ICAJCXdha2VfdXBfcHJvY2Vzcyh3YWl0LT50c2spOwo+ ICAJfQo+IEBAIC01MDgsOCArNTA3LDcgQEAgYm9vbCBpbnRlbF9lbmdpbmVfYWRkX3dhaXQoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAJCXJldHVybiBhcm1lZDsKPiAgCj4gIAkv KiBNYWtlIHRoZSBjYWxsZXIgcmVjaGVjayBpZiBpdHMgcmVxdWVzdCBoYXMgYWxyZWFkeSBzdGFy dGVkLiAqLwo+IC0JcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKGludGVsX2VuZ2luZV9nZXRfc2Vx bm8oZW5naW5lKSwKPiAtCQkJCSB3YWl0LT5zZXFubyAtIDEpOwo+ICsJcmV0dXJuIGludGVsX2Vu Z2luZV9oYXNfc3RhcnRlZChlbmdpbmUsIHdhaXQtPnNlcW5vKTsKPiAgfQo+ICAKPiAgc3RhdGlj IGlubGluZSBib29sIGNoYWluX3dha2V1cChzdHJ1Y3QgcmJfbm9kZSAqcmIsIGludCBwcmlvcml0 eSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IGluZGV4IDY3YzRmYzVk NzM3Yy4uOTlkNWEyNDIxOWMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMKPiBAQCAtOTY4LDggKzk2OCw3IEBAIGJvb2wgaW50ZWxfZW5naW5lX2lzX2lkbGUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAgCS8q IEFueSBpbmZsaWdodC9pbmNvbXBsZXRlIHJlcXVlc3RzPyAqLwo+IC0JaWYgKCFpOTE1X3NlcW5v X3Bhc3NlZChpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSksCj4gLQkJCSAgICAgICBpbnRl bF9lbmdpbmVfbGFzdF9zdWJtaXQoZW5naW5lKSkpCj4gKwlpZiAoIWludGVsX2VuZ2luZV9zaWdu YWxlZChlbmdpbmUsIGludGVsX2VuZ2luZV9sYXN0X3N1Ym1pdChlbmdpbmUpKSkKPiAgCQlyZXR1 cm4gZmFsc2U7Cj4gIAo+ICAJaWYgKEk5MTVfU0VMRlRFU1RfT05MWShlbmdpbmUtPmJyZWFkY3J1 bWJzLm1vY2spKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oYW5n Y2hlY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVjay5jCj4gaW5kZXgg MmZjN2EwZGQwZGY5Li5lMjZkMDVhNDY0NTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGFuZ2NoZWNrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oYW5nY2hlY2suYwo+IEBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIGludCBzZW1hcGhvcmVf cGFzc2VkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWlmIChzaWduYWxsZXIt PmhhbmdjaGVjay5kZWFkbG9jayA+PSBJOTE1X05VTV9FTkdJTkVTKQo+ICAJCXJldHVybiAtMTsK PiAgCj4gLQlpZiAoaTkxNV9zZXFub19wYXNzZWQoaW50ZWxfZW5naW5lX2dldF9zZXFubyhzaWdu YWxsZXIpLCBzZXFubykpCj4gKwlpZiAoaW50ZWxfZW5naW5lX3NpZ25hbGVkKHNpZ25hbGxlciwg c2Vxbm8pKQo+ICAJCXJldHVybiAxOwo+ICAKPiAgCS8qIGN1cnNvcnkgY2hlY2sgZm9yIGFuIHVu a2lja2FibGUgZGVhZGxvY2sgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCj4gaW5kZXggNTdmMzc4N2VkNmVjLi4wNTdiODhjMTQ5ZjcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTkxMSwxNCArOTExLDEwIEBAIGludCBp bnRlbF9lbmdpbmVfc3RvcF9jcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwo+ICB1 NjQgaW50ZWxfZW5naW5lX2dldF9hY3RpdmVfaGVhZChjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpOwo+ICB1NjQgaW50ZWxfZW5naW5lX2dldF9sYXN0X2JhdGNoX2hlYWQoY29u c3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAgCj4gLXN0YXRpYyBpbmxpbmUg dTMyIGludGVsX2VuZ2luZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQo+IC17Cj4gLQlyZXR1cm4gaW50ZWxfcmVhZF9zdGF0dXNfcGFnZShlbmdpbmUsIEk5MTVfR0VN X0hXU19JTkRFWCk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX2VuZ2luZV9s YXN0X3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHsKPiAtCS8qIFdl IGFyZSBvbmx5IHBlZWtpbmcgYXQgdGhlIHRhaWwgb2YgdGhlIHN1Ym1pdCBxdWV1ZSAoYW5kIG5v dCB0aGUKPiArCS8qCj4gKwkgKiBXZSBhcmUgb25seSBwZWVraW5nIGF0IHRoZSB0YWlsIG9mIHRo ZSBzdWJtaXQgcXVldWUgKGFuZCBub3QgdGhlCj4gIAkgKiBxdWV1ZSBpdHNlbGYpIGluIG9yZGVy IHRvIGdhaW4gYSBoaW50IGFzIHRvIHRoZSBjdXJyZW50IGFjdGl2ZQo+ICAJICogc3RhdGUgb2Yg dGhlIGVuZ2luZS4gQ2FsbGVycyBhcmUgbm90IGV4cGVjdGVkIHRvIGJlIHRha2luZwo+ICAJICog ZW5naW5lLT50aW1lbGluZS0+bG9jaywgbm9yIGFyZSB0aGV5IGV4cGVjdGVkIHRvIGJlIGNvbmNl cm5lZAo+IEBAIC05MjgsNiArOTI0LDMwIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX2VuZ2lu ZV9sYXN0X3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAlyZXR1cm4g UkVBRF9PTkNFKGVuZ2luZS0+dGltZWxpbmUuc2Vxbm8pOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW5s aW5lIHUzMiBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKPiArewo+ICsJcmV0dXJuIGludGVsX3JlYWRfc3RhdHVzX3BhZ2UoZW5naW5lLCBJOTE1 X0dFTV9IV1NfSU5ERVgpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZW5n aW5lX3NpZ25hbGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiArCQkJCQkgdTMy IHNlcW5vKQo+ICt7Cj4gKwlHRU1fQlVHX09OKCFzZXFubyk7Cj4gKwlyZXR1cm4gaTkxNV9zZXFu b19wYXNzZWQoaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUpLCBzZXFubyk7Cj4gK30KPiAr Cj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9lbmdpbmVfaGFzX2NvbXBsZXRlZChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gKwkJCQkJICAgICAgdTMyIHNlcW5vKQo+ICt7Cj4g KwlyZXR1cm4gaW50ZWxfZW5naW5lX3NpZ25hbGVkKGVuZ2luZSwgc2Vxbm8pOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfZW5naW5lX2hhc19zdGFydGVkKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwKPiArCQkJCQkgICAgdTMyIHNlcW5vKQo+ICt7Cj4gKwlyZXR1 cm4gaW50ZWxfZW5naW5lX3NpZ25hbGVkKGVuZ2luZSwgc2Vxbm8gLSAxKTsKPiArfQo+ICsKPiAg dm9pZCBpbnRlbF9lbmdpbmVfZ2V0X2luc3Rkb25lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwKPiAgCQkJICAgICAgIHN0cnVjdCBpbnRlbF9pbnN0ZG9uZSAqaW5zdGRvbmUpOwo+ICAK PiAtLSAKPiAyLjE4LjAKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK