From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 2/6] drm/i915: Retire requests along rings Date: Mon, 23 Apr 2018 11:18:18 +0100 Message-ID: <47cfb6ff-081a-8f23-6587-12ac0cd5ca7a@linux.intel.com> References: <20180423101400.27418-1-chris@chris-wilson.co.uk> <20180423101400.27418-2-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 03B906E18D for ; Mon, 23 Apr 2018 10:19:37 +0000 (UTC) In-Reply-To: <20180423101400.27418-2-chris@chris-wilson.co.uk> Content-Language: en-GB 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 Ck9uIDIzLzA0LzIwMTggMTE6MTMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgbmV4dCBw YXRjaCwgcmluZ3MgYXJlIHRoZSBjZW50cmFsIHRpbWVsaW5lIGFzIHJlcXVlc3RzIG1heSBqdW1w Cj4gYmV0d2VlbiBlbmdpbmVzLiBUaGVyZWZvcmUgaW4gdGhlIGZ1dHVyZSBhcyB3ZSByZXRpcmUg aW4gb3JkZXIgYWxvbmcgdGhlCj4gZW5naW5lIHRpbWVsaW5lLCB3ZSBtYXkgcmV0aXJlIG91dC1v Zi1vcmRlciB3aXRoaW4gYSByaW5nIChhcyB0aGUgcmluZyBub3cKPiBvY2N1cnMgYWxvbmcgbXVs dGlwbGUgZW5naW5lcyksIGxlYWRpbmcgdG8gbXVjaCBoaWxhcml0eSBpbiBtaXNjb21wdXRpbmcK PiB0aGUgcG9zaXRpb24gb2YgcmluZy0+aGVhZC4KPiAKPiBBcyBhbiBhZGRlZCBib251cywgcmV0 aXJpbmcgYWxvbmcgdGhlIHJpbmcgcmVkdWNlcyB0aGUgcGVuYWx0eSBvZiBoYXZpbmcKPiBvbmUg ZXhlY2xpc3RzIGNsaWVudCBkbyBjbGVhbnVwIGZvciBhbm90aGVyIChvbGQgbGVnYWN5IHN1Ym1p c3Npb24KPiBzaGFyZXMgYSByaW5nIGJldHdlZW4gYWxsIGNsaWVudHMpLiBUaGUgZG93bnNpZGUg aXMgdGhhdCBzbG93IGFuZAo+IGlycmVndWxhciAob2ZmIHRoZSBjcml0aWNhbCBwYXRoKSBwcm9j ZXNzIG9mIGNsZWFuaW5nIHVwIHN0YWxlIHJlcXVlc3RzCj4gYWZ0ZXIgdXNlcnNwYWNlIGJlY29t ZXMgYSBtb2RpY3VtIGxlc3MgZWZmaWNpZW50Lgo+IAo+IEluIHRoZSBsb25nIHJ1biwgaXQgd2ls bCBiZWNvbWUgYXBwYXJlbnQgdGhhdCB0aGUgb3JkZXJlZAo+IHJpbmctPnJlcXVlc3RfbGlzdCBt YXRjaGVzIHRoZSByaW5nLT50aW1lbGluZSwgYSBmdW4gY2hhbGxlbmdlIGZvciB0aGUKPiBmdXR1 cmUgd2lsbCBiZSB1bmlmeWluZyB0aGUgdHdvIGxpc3RzIHRvIGF2b2lkIGR1cGxpY2F0aW9uIQo+ IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr Pgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IC0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgIDMgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICB8ICAxICsK PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jICAgICAgICAgICB8IDQzICsr KysrKysrLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYyAgICAgICB8ICA1ICsrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oICAgICAgIHwgIDEgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21v Y2tfZW5naW5lLmMgIHwgMjcgKysrKysrKysrLS0tCj4gICAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyAgfCAgMiArCj4gICA3IGZpbGVzIGNoYW5nZWQsIDUwIGlu c2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IDg0NDRjYThkNWFhMy4uNzM5MzZiZTkwYWVkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTIwNTgsOCArMjA1OCw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK PiAgIAkJdm9pZCAoKnJlc3VtZSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKik7Cj4gICAJCXZv aWQgKCpjbGVhbnVwX2VuZ2luZSkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAg IAo+IC0JCXN0cnVjdCBsaXN0X2hlYWQgdGltZWxpbmVzOwo+ICAgCQlzdHJ1Y3QgaTkxNV9nZW1f dGltZWxpbmUgZ2xvYmFsX3RpbWVsaW5lOwo+ICsJCXN0cnVjdCBsaXN0X2hlYWQgdGltZWxpbmVz Owo+ICsJCXN0cnVjdCBsaXN0X2hlYWQgcmluZ3M7Cj4gICAJCXUzMiBhY3RpdmVfcmVxdWVzdHM7 Cj4gICAKPiAgIAkJLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggNzk1Y2E4M2Fl ZDdhLi45MDZlMjM5NWMyNDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNTYw MCw2ICs1NjAwLDcgQEAgaW50IGk5MTVfZ2VtX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAgCQlnb3RvIGVycl9kZXBlbmRlbmNpZXM7Cj4gICAKPiAgIAlt dXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gKwlJTklUX0xJU1RfSEVB RCgmZGV2X3ByaXYtPmd0LnJpbmdzKTsKPiAgIAlJTklUX0xJU1RfSEVBRCgmZGV2X3ByaXYtPmd0 LnRpbWVsaW5lcyk7Cj4gICAJZXJyID0gaTkxNV9nZW1fdGltZWxpbmVfaW5pdF9fZ2xvYmFsKGRl dl9wcml2KTsKPiAgIAltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IGluZGV4IDE0Mzc1MzhkNWJmYS4uMGJm OTQ5ZWM5ZjFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVz dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKPiBAQCAtMjky LDYgKzI5Miw3IEBAIHZvaWQgaTkxNV9nZW1fcmV0aXJlX25vb3Aoc3RydWN0IGk5MTVfZ2VtX2Fj dGl2ZSAqYWN0aXZlLAo+ICAgCj4gICBzdGF0aWMgdm9pZCBhZHZhbmNlX3Jpbmcoc3RydWN0IGk5 MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgIHsKPiArCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nID0g cmVxdWVzdC0+cmluZzsKPiAgIAl1bnNpZ25lZCBpbnQgdGFpbDsKPiAgIAo+ICAgCS8qCj4gQEAg LTMwMyw3ICszMDQsOSBAQCBzdGF0aWMgdm9pZCBhZHZhbmNlX3Jpbmcoc3RydWN0IGk5MTVfcmVx dWVzdCAqcmVxdWVzdCkKPiAgIAkgKiBOb3RlIHRoaXMgcmVxdWlyZXMgdGhhdCB3ZSBhcmUgYWx3 YXlzIGNhbGxlZCBpbiByZXF1ZXN0Cj4gICAJICogY29tcGxldGlvbiBvcmRlci4KPiAgIAkgKi8K PiAtCWlmIChsaXN0X2lzX2xhc3QoJnJlcXVlc3QtPnJpbmdfbGluaywgJnJlcXVlc3QtPnJpbmct PnJlcXVlc3RfbGlzdCkpIHsKPiArCUdFTV9CVUdfT04ocmVxdWVzdCAhPSBsaXN0X2ZpcnN0X2Vu dHJ5KCZyaW5nLT5yZXF1ZXN0X2xpc3QsCj4gKwkJCQkJICAgICAgIHR5cGVvZigqcmVxdWVzdCks IHJpbmdfbGluaykpOwo+ICsJaWYgKGxpc3RfaXNfbGFzdCgmcmVxdWVzdC0+cmluZ19saW5rLCAm cmluZy0+cmVxdWVzdF9saXN0KSkgewo+ICAgCQkvKgo+ICAgCQkgKiBXZSBtYXkgcmFjZSBoZXJl IHdpdGggZXhlY2xpc3RzIHJlc3VibWl0dGluZyB0aGlzIHJlcXVlc3QKPiAgIAkJICogYXMgd2Ug cmV0aXJlIGl0LiBUaGUgcmVzdWJtaXNzaW9uIHdpbGwgbW92ZSB0aGUgcmluZy0+dGFpbAo+IEBA IC0zMTgsNyArMzIxLDcgQEAgc3RhdGljIHZvaWQgYWR2YW5jZV9yaW5nKHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnJlcXVlc3QpCj4gICAJfQo+ICAgCWxpc3RfZGVsKCZyZXF1ZXN0LT5yaW5nX2xpbmsp Owo+ICAgCj4gLQlyZXF1ZXN0LT5yaW5nLT5oZWFkID0gdGFpbDsKPiArCXJpbmctPmhlYWQgPSB0 YWlsOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCBmcmVlX2NhcHR1cmVfbGlzdChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+IEBAIC00MjQsMTggKzQyNywxOCBAQCBzdGF0aWMgdm9p ZCBpOTE1X3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gICAK PiAgIHZvaWQgaTkxNV9yZXF1ZXN0X3JldGlyZV91cHRvKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx KQo+ICAgewo+IC0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsK PiArCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nID0gcnEtPnJpbmc7Cj4gICAJc3RydWN0IGk5MTVf cmVxdWVzdCAqdG1wOwo+ICAgCj4gICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmcnEtPmk5MTUtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCUdFTV9CVUdfT04oIWk5MTVfcmVxdWVzdF9jb21wbGV0ZWQo cnEpKTsKPiAgIAo+IC0JaWYgKGxpc3RfZW1wdHkoJnJxLT5saW5rKSkKPiArCWlmIChsaXN0X2Vt cHR5KCZycS0+cmluZ19saW5rKSkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJZG8gewo+IC0JCXRt cCA9IGxpc3RfZmlyc3RfZW50cnkoJmVuZ2luZS0+dGltZWxpbmUtPnJlcXVlc3RzLAo+IC0JCQkJ ICAgICAgIHR5cGVvZigqdG1wKSwgbGluayk7Cj4gKwkJdG1wID0gbGlzdF9maXJzdF9lbnRyeSgm cmluZy0+cmVxdWVzdF9saXN0LAo+ICsJCQkJICAgICAgIHR5cGVvZigqdG1wKSwgcmluZ19saW5r KTsKPiAgIAo+ICAgCQlpOTE1X3JlcXVlc3RfcmV0aXJlKHRtcCk7Cj4gICAJfSB3aGlsZSAodG1w ICE9IHJxKTsKPiBAQCAtNjQ0LDkgKzY0Nyw5IEBAIGk5MTVfcmVxdWVzdF9hbGxvYyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4g ICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnJfdW5yZXNlcnZlOwo+ICAgCj4gLQkvKiBNb3ZlIHRo ZSBvbGRlc3QgcmVxdWVzdCB0byB0aGUgc2xhYi1jYWNoZSAoaWYgbm90IGluIHVzZSEpICovCj4g LQlycSA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmZW5naW5lLT50aW1lbGluZS0+cmVxdWVz dHMsCj4gLQkJCQkgICAgICB0eXBlb2YoKnJxKSwgbGluayk7Cj4gKwkvKiBNb3ZlIG91ciBvbGRl c3QgcmVxdWVzdCB0byB0aGUgc2xhYi1jYWNoZSAoaWYgbm90IGluIHVzZSEpICovCj4gKwlycSA9 IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmcmluZy0+cmVxdWVzdF9saXN0LAo+ICsJCQkJICAg ICAgdHlwZW9mKCpycSksIHJpbmdfbGluayk7Cj4gICAJaWYgKHJxICYmIGk5MTVfcmVxdWVzdF9j b21wbGV0ZWQocnEpKQo+ICAgCQlpOTE1X3JlcXVlc3RfcmV0aXJlKHJxKTsKPiAgIAo+IEBAIC0x MzUwLDM4ICsxMzUzLDMwIEBAIGxvbmcgaTkxNV9yZXF1ZXN0X3dhaXQoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsCj4gICAJcmV0dXJuIHRpbWVvdXQ7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHZvaWQg ZW5naW5lX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4g K3N0YXRpYyB2b2lkIHJpbmdfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5n KQo+ICAgewo+ICAgCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsICpuZXh0Owo+IC0JdTMy IHNlcW5vID0gaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUpOwo+IC0JTElTVF9IRUFEKHJl dGlyZSk7Cj4gICAKPiAtCXNwaW5fbG9ja19pcnEoJmVuZ2luZS0+dGltZWxpbmUtPmxvY2spOwo+ ICAgCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShyZXF1ZXN0LCBuZXh0LAo+IC0JCQkJICZlbmdp bmUtPnRpbWVsaW5lLT5yZXF1ZXN0cywgbGluaykgewo+IC0JCWlmICghaTkxNV9zZXFub19wYXNz ZWQoc2Vxbm8sIHJlcXVlc3QtPmdsb2JhbF9zZXFubykpCj4gKwkJCQkgJnJpbmctPnJlcXVlc3Rf bGlzdCwgcmluZ19saW5rKSB7Cj4gKwkJaWYgKCFpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJlcXVl c3QpKQo+ICAgCQkJYnJlYWs7Cj4gICAKPiAtCQlsaXN0X21vdmVfdGFpbCgmcmVxdWVzdC0+bGlu aywgJnJldGlyZSk7Cj4gLQl9Cj4gLQlzcGluX3VubG9ja19pcnEoJmVuZ2luZS0+dGltZWxpbmUt PmxvY2spOwo+IC0KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShyZXF1ZXN0LCBuZXh0LCAm cmV0aXJlLCBsaW5rKQo+ICAgCQlpOTE1X3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwo+ICsJfQo+ ICAgfQo+ICAgCj4gICB2b2lkIGk5MTVfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQo+ICAgewo+IC0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ IC0JZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZywg Km5leHQ7Cj4gICAKPiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211 dGV4KTsKPiAgIAo+ICAgCWlmICghaTkxNS0+Z3QuYWN0aXZlX3JlcXVlc3RzKQo+ICAgCQlyZXR1 cm47Cj4gICAKPiAtCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKQo+IC0JCWVuZ2lu ZV9yZXRpcmVfcmVxdWVzdHMoZW5naW5lKTsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShy aW5nLCBuZXh0LCAmaTkxNS0+Z3QucmluZ3MsIGxpbmspCj4gKwkJcmluZ19yZXRpcmVfcmVxdWVz dHMocmluZyk7Cj4gICB9Cj4gICAKPiAgICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9T RUxGVEVTVCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXgg YzY4YWM2MDViOGE5Li43OTJhMmNhOTU4NzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTExMjQsNiArMTEyNCw3IEBAIGludGVsX2VuZ2luZV9jcmVh dGVfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBzaXplKQo+ICAgCj4g ICAJR0VNX0JVR19PTighaXNfcG93ZXJfb2ZfMihzaXplKSk7Cj4gICAJR0VNX0JVR19PTihSSU5H X0NUTF9TSVpFKHNpemUpICYgflJJTkdfTlJfUEFHRVMpOwo+ICsJbG9ja2RlcF9hc3NlcnRfaGVs ZCgmZW5naW5lLT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgIAo+ICAgCXJpbmcgPSBremFs bG9jKHNpemVvZigqcmluZyksIEdGUF9LRVJORUwpOwo+ICAgCWlmICghcmluZykKPiBAQCAtMTE0 OSw2ICsxMTUwLDggQEAgaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgaW50IHNpemUpCj4gICAJfQo+ICAgCXJpbmctPnZtYSA9IHZtYTsKPiAg IAo+ICsJbGlzdF9hZGQoJnJpbmctPmxpbmssICZlbmdpbmUtPmk5MTUtPmd0LnJpbmdzKTsKPiAr Cj4gICAJcmV0dXJuIHJpbmc7Cj4gICB9Cj4gICAKPiBAQCAtMTE2MCw2ICsxMTYzLDggQEAgaW50 ZWxfcmluZ19mcmVlKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQo+ICAgCWk5MTVfdm1hX2Nsb3Nl KHJpbmctPnZtYSk7Cj4gICAJX19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZl KG9iaik7Cj4gICAKPiArCWxpc3RfZGVsKCZyaW5nLT5saW5rKTsKPiArCj4gICAJa2ZyZWUocmlu Zyk7Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4g aW5kZXggYzVlMjc5MDViMGUxLi5kODE2ZjhkZWEyNDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTEyOSw2ICsxMjksNyBAQCBzdHJ1Y3QgaW50ZWxf cmluZyB7Cj4gICAJdm9pZCAqdmFkZHI7Cj4gICAKPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIHJlcXVl c3RfbGlzdDsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKPiAgIAo+ICAgCXUzMiBoZWFkOwo+ ICAgCXUzMiB0YWlsOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvbW9ja19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2Vu Z2luZS5jCj4gaW5kZXggNzhhODllZmExMTE5Li5hMGJjMzI0ZWRhZGQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19lbmdpbmUuYwo+IEBAIC0xNDAsOSArMTQw LDE4IEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfcmluZyAqbW9ja19yaW5nKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKPiAgIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVzdF9saXN0 KTsKPiAgIAlpbnRlbF9yaW5nX3VwZGF0ZV9zcGFjZShyaW5nKTsKPiAgIAo+ICsJbGlzdF9hZGQo JnJpbmctPmxpbmssICZlbmdpbmUtPmk5MTUtPmd0LnJpbmdzKTsKPiArCj4gICAJcmV0dXJuIHJp bmc7Cj4gICB9Cj4gICAKPiArc3RhdGljIHZvaWQgbW9ja19yaW5nX2ZyZWUoc3RydWN0IGludGVs X3JpbmcgKnJpbmcpCj4gK3sKPiArCWxpc3RfZGVsKCZyaW5nLT5saW5rKTsKPiArCj4gKwlrZnJl ZShyaW5nKTsKPiArfQo+ICsKPiAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKm1vY2tfZW5naW5l KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ICAgCQkJCSAgICBjb25zdCBjaGFyICpu YW1lLAo+ICAgCQkJCSAgICBpbnQgaWQpCj4gQEAgLTE1NSwxMiArMTY0LDYgQEAgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqbW9ja19lbmdpbmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs Cj4gICAJaWYgKCFlbmdpbmUpCj4gICAJCXJldHVybiBOVUxMOwo+ICAgCj4gLQllbmdpbmUtPmJh c2UuYnVmZmVyID0gbW9ja19yaW5nKCZlbmdpbmUtPmJhc2UpOwo+IC0JaWYgKCFlbmdpbmUtPmJh c2UuYnVmZmVyKSB7Cj4gLQkJa2ZyZWUoZW5naW5lKTsKPiAtCQlyZXR1cm4gTlVMTDsKPiAtCX0K PiAtCj4gICAJLyogbWluaW1hbCBlbmdpbmUgc2V0dXAgZm9yIHJlcXVlc3RzICovCj4gICAJZW5n aW5lLT5iYXNlLmk5MTUgPSBpOTE1Owo+ICAgCXNucHJpbnRmKGVuZ2luZS0+YmFzZS5uYW1lLCBz aXplb2YoZW5naW5lLT5iYXNlLm5hbWUpLCAiJXMiLCBuYW1lKTsKPiBAQCAtMTg1LDcgKzE4OCwx NiBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICptb2NrX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKPiAgIAl0aW1lcl9zZXR1cCgmZW5naW5lLT5od19kZWxheSwgaHdfZGVs YXlfY29tcGxldGUsIDApOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZlbmdpbmUtPmh3X3F1ZXVlKTsK PiAgIAo+ICsJZW5naW5lLT5iYXNlLmJ1ZmZlciA9IG1vY2tfcmluZygmZW5naW5lLT5iYXNlKTsK PiArCWlmICghZW5naW5lLT5iYXNlLmJ1ZmZlcikKPiArCQlnb3RvIGVycl9icmVhZGNydW1iczsK PiArCj4gICAJcmV0dXJuICZlbmdpbmUtPmJhc2U7Cj4gKwo+ICtlcnJfYnJlYWRjcnVtYnM6Cj4g KwlpbnRlbF9lbmdpbmVfZmluaV9icmVhZGNydW1icygmZW5naW5lLT5iYXNlKTsKPiArCWtmcmVl KGVuZ2luZSk7Cj4gKwlyZXR1cm4gTlVMTDsKPiAgIH0KPiAgIAo+ICAgdm9pZCBtb2NrX2VuZ2lu ZV9mbHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gQEAgLTIxOSw4ICsyMzEs OSBAQCB2b2lkIG1vY2tfZW5naW5lX2ZyZWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQo+ICAgCWlmIChlbmdpbmUtPmxhc3RfcmV0aXJlZF9jb250ZXh0KQo+ICAgCQllbmdpbmUtPmNv bnRleHRfdW5waW4oZW5naW5lLCBlbmdpbmUtPmxhc3RfcmV0aXJlZF9jb250ZXh0KTsKPiAgIAo+ ICsJbW9ja19yaW5nX2ZyZWUoZW5naW5lLT5idWZmZXIpOwo+ICsKPiAgIAlpbnRlbF9lbmdpbmVf ZmluaV9icmVhZGNydW1icyhlbmdpbmUpOwo+ICAgCj4gLQlrZnJlZShlbmdpbmUtPmJ1ZmZlcik7 Cj4gICAJa2ZyZWUoZW5naW5lKTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gaW5kZXggZTZkNGI4ODI1OTlhLi5hYzRiYWNm OGI1YjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tf Z2VtX2RldmljZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tf Z2VtX2RldmljZS5jCj4gQEAgLTQ0LDYgKzQ0LDcgQEAgdm9pZCBtb2NrX2RldmljZV9mbHVzaChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgIAkJbW9ja19lbmdpbmVfZmx1c2goZW5n aW5lKTsKPiAgIAo+ICAgCWk5MTVfcmV0aXJlX3JlcXVlc3RzKGk5MTUpOwo+ICsJR0VNX0JVR19P TihpOTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCBt b2NrX2RldmljZV9yZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gQEAgLTIyNCw2ICsy MjUsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19nZW1fZGV2aWNlKHZvaWQpCj4g ICAJCWdvdG8gZXJyX2RlcGVuZGVuY2llczsKPiAgIAo+ICAgCW11dGV4X2xvY2soJmk5MTUtPmRy bS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJSU5JVF9MSVNUX0hFQUQoJmk5MTUtPmd0LnJpbmdzKTsKPiAg IAlJTklUX0xJU1RfSEVBRCgmaTkxNS0+Z3QudGltZWxpbmVzKTsKPiAgIAllcnIgPSBpOTE1X2dl bV90aW1lbGluZV9pbml0X19nbG9iYWwoaTkxNSk7Cj4gICAJaWYgKGVycikgewo+IAoKUmV2aWV3 ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRz LAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=