From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 3/3] drm/i915: Markup expected timeline locks for i915_active Date: Fri, 16 Aug 2019 15:02:21 +0300 Message-ID: <87lfvt5nea.fsf@gaia.fi.intel.com> References: <20190816092424.31386-1-chris@chris-wilson.co.uk> <20190816092424.31386-3-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A1868953E for ; Fri, 16 Aug 2019 12:03:06 +0000 (UTC) In-Reply-To: <20190816092424.31386-3-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+IHdyaXRlczoKCj4gQXMgZXZl cnkgaTkxNV9hY3RpdmVfcmVxdWVzdCBzaG91bGQgYmUgc2VyaWFsaXNlZCBieSBhIGRlZGljYXRl ZCBsb2NrLAo+IGk5MTVfYWN0aXZlIGNvbnNpc3RzIG9mIGEgdHJlZSBvZiBsb2Nrczsgb25lIGZv ciBlYWNoIG5vZGUuIE1hcmt1cCB1cAo+IHRoZSBpOTE1X2FjdGl2ZV9yZXF1ZXN0IHdpdGggd2hh dCBsb2NrIGlzIHN1cHBvc2VkIHRvIGJlIGd1YXJkaW5nIGl0IHNvCj4gdGhhdCB3ZSBjYW4gdmVy aWZ5IHRoYXQgdGhlIHNlcmlhbGlzZWQgdXBkYXRlZCBhcmUgaW5kZWVkIHNlcmlhbGlzZWQuCj4K PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9vdmVybGF5LmMgIHwg IDIgKy0KPiAgLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jICAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyAgIHwg IDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfY29udGV4dC5jICAgICAgIHwg MTEgKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3Bv b2wuaCAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUu YyAgICAgIHwgIDcgKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90 aW1lbGluZS5jICAgfCAgNCArKysrCj4gIC4uLi9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21v Y2tfdGltZWxpbmUuYyB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfYWN0aXZl LmMgICAgICAgICAgICB8IDE5ICsrKysrKysrKysrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9hY3RpdmUuaCAgICAgICAgICAgIHwgMTIgKysrKysrKysrKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfYWN0aXZlX3R5cGVzLmggICAgICB8ICAzICsrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2FjdGl2ZS5jICB8ICAzICstLQo+ICAx MyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX292ZXJsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfb3ZlcmxheS5jCj4gaW5kZXggZTEy NDhlYWNlMGUxLi5lY2E0MWM0YTVhYTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9vdmVybGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX292ZXJsYXkuYwo+IEBAIC0yMzAsNyArMjMwLDcgQEAgYWxsb2NfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwgdm9pZCAoKmZuKShzdHJ1Y3QgaW50ZWxf b3ZlcmxheSAqKSkKPiAgCWlmIChJU19FUlIocnEpKQo+ICAJCXJldHVybiBycTsKPiAgCj4gLQll cnIgPSBpOTE1X2FjdGl2ZV9yZWYoJm92ZXJsYXktPmxhc3RfZmxpcCwgcnEtPmZlbmNlLmNvbnRl eHQsIHJxKTsKPiArCWVyciA9IGk5MTVfYWN0aXZlX3JlZigmb3ZlcmxheS0+bGFzdF9mbGlwLCBy cS0+dGltZWxpbmUsIHJxKTsKPiAgCWlmIChlcnIpIHsKPiAgCQlpOTE1X3JlcXVlc3RfYWRkKHJx KTsKPiAgCQlyZXR1cm4gRVJSX1BUUihlcnIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2NsaWVudF9ibHQuYwo+IGluZGV4IDZhNGU4NDE1N2JmMi4uODE4YWM2OTE1 YmM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jbGll bnRfYmx0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50 X2JsdC5jCj4gQEAgLTIxMSw3ICsyMTEsNyBAQCBzdGF0aWMgdm9pZCBjbGVhcl9wYWdlc193b3Jr ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJICoga2VlcCB0cmFjayBvZiB0aGUgR1BV IGFjdGl2aXR5IHdpdGhpbiB0aGlzIHZtYS9yZXF1ZXN0LCBhbmQKPiAgCSAqIHByb3BhZ2F0ZSB0 aGUgc2lnbmFsIGZyb20gdGhlIHJlcXVlc3QgdG8gdy0+ZG1hLgo+ICAJICovCj4gLQllcnIgPSBp OTE1X2FjdGl2ZV9yZWYoJnZtYS0+YWN0aXZlLCBycS0+ZmVuY2UuY29udGV4dCwgcnEpOwo+ICsJ ZXJyID0gaTkxNV9hY3RpdmVfcmVmKCZ2bWEtPmFjdGl2ZSwgcnEtPnRpbWVsaW5lLCBycSk7Cj4g IAlpZiAoZXJyKQo+ICAJCWdvdG8gb3V0X3JlcXVlc3Q7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4IGE2YjBjYjcxNDI5Mi4uY2QxZmQy ZTU0MjNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9j b250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4 dC5jCj4gQEAgLTkwOCw3ICs5MDgsNyBAQCBzdGF0aWMgaW50IGNvbnRleHRfYmFycmllcl90YXNr KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gIAkJaWYgKGVtaXQpCj4gIAkJCWVyciA9 IGVtaXQocnEsIGRhdGEpOwo+ICAJCWlmIChlcnIgPT0gMCkKPiAtCQkJZXJyID0gaTkxNV9hY3Rp dmVfcmVmKCZjYi0+YmFzZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJxKTsKPiArCQkJZXJyID0gaTkx NV9hY3RpdmVfcmVmKCZjYi0+YmFzZSwgcnEtPnRpbWVsaW5lLCBycSk7Cj4gIAo+ICAJCWk5MTVf cmVxdWVzdF9hZGQocnEpOwo+ICAJCWlmIChlcnIpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2NvbnRleHQuYwo+IGluZGV4IDkxMTQ5NTNiZjkyMC4uZjU1NjkxZDE1MWFlIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYwo+IEBAIC0zMDYsMTAgKzMwNiwx MCBAQCBpbnQgaW50ZWxfY29udGV4dF9wcmVwYXJlX3JlbW90ZV9yZXF1ZXN0KHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSwKPiAgCj4gIAkJLyogUXVldWUgdGhpcyBzd2l0Y2ggYWZ0ZXIgY3VycmVu dCBhY3Rpdml0eSBieSB0aGlzIGNvbnRleHQuICovCj4gIAkJZXJyID0gaTkxNV9hY3RpdmVfcmVx dWVzdF9zZXQoJnRsLT5sYXN0X3JlcXVlc3QsIHJxKTsKPiArCQltdXRleF91bmxvY2soJnRsLT5t dXRleCk7Cj4gIAkJaWYgKGVycikKPiAtCQkJZ290byB1bmxvY2s7Cj4gKwkJCXJldHVybiBlcnI7 Cj4gIAl9Cj4gLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZ0bC0+bXV0ZXgpOwo+ICAKPiAgCS8qCj4g IAkgKiBHdWFyYW50ZWUgY29udGV4dCBpbWFnZSBhbmQgdGhlIHRpbWVsaW5lIHJlbWFpbnMgcGlu bmVkIHVudGlsIHRoZQo+IEBAIC0zMTksMTIgKzMxOSw3IEBAIGludCBpbnRlbF9jb250ZXh0X3By ZXBhcmVfcmVtb3RlX3JlcXVlc3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ICAJICogd29y ZHMgdHJhbnNmZXIgdGhlIHBpbm5lZCBjZSBvYmplY3QgdG8gdHJhY2tlZCBhY3RpdmUgcmVxdWVz dC4KPiAgCSAqLwo+ICAJR0VNX0JVR19PTihpOTE1X2FjdGl2ZV9pc19pZGxlKCZjZS0+YWN0aXZl KSk7Cj4gLQllcnIgPSBpOTE1X2FjdGl2ZV9yZWYoJmNlLT5hY3RpdmUsIHJxLT5mZW5jZS5jb250 ZXh0LCBycSk7Cj4gLQo+IC11bmxvY2s6Cj4gLQlpZiAocnEtPnRpbWVsaW5lICE9IHRsKQo+IC0J CW11dGV4X3VubG9jaygmdGwtPm11dGV4KTsKPiAtCXJldHVybiBlcnI7Cj4gKwlyZXR1cm4gaTkx NV9hY3RpdmVfcmVmKCZjZS0+YWN0aXZlLCBycS0+dGltZWxpbmUsIHJxKTsKClRoZXJlIHNlZW0g dG8gaGF2ZSBiZWVuIHNvIG11Y2ggd29yayBoZXJlIGZvciBubyBhcHBhcmVudCBnYWlucy4KR29v ZCByaWRkYW5jZS4KCj4gIH0KPiAgCj4gIHN0cnVjdCBpOTE1X3JlcXVlc3QgKmludGVsX2NvbnRl eHRfY3JlYXRlX3JlcXVlc3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG9vbC5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3Bvb2wuaAo+IGluZGV4IGY3YTBhNjYwYzFjOS4u OGQwNjllZmQ5NDU3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9wb29sLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfcG9vbC5oCj4gQEAgLTE4LDcgKzE4LDcgQEAgc3RhdGljIGlubGluZSBpbnQKPiAgaW50ZWxf ZW5naW5lX3Bvb2xfbWFya19hY3RpdmUoc3RydWN0IGludGVsX2VuZ2luZV9wb29sX25vZGUgKm5v ZGUsCj4gIAkJCSAgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICB7Cj4gLQlyZXR1cm4g aTkxNV9hY3RpdmVfcmVmKCZub2RlLT5hY3RpdmUsIHJxLT5mZW5jZS5jb250ZXh0LCBycSk7Cj4g KwlyZXR1cm4gaTkxNV9hY3RpdmVfcmVmKCZub2RlLT5hY3RpdmUsIHJxLT50aW1lbGluZSwgcnEp Owo+ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHZvaWQKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3RpbWVsaW5lLmMKPiBpbmRleCBlYWZkOTRkNWUyMTEuLjAyZmJlMTFiNjcxYiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYwo+IEBAIC0yNTQsNyAr MjU0LDcgQEAgaW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0 aW1lbGluZSwKPiAgCj4gIAltdXRleF9pbml0KCZ0aW1lbGluZS0+bXV0ZXgpOwo+ICAKPiAtCUlO SVRfQUNUSVZFX1JFUVVFU1QoJnRpbWVsaW5lLT5sYXN0X3JlcXVlc3QpOwo+ICsJSU5JVF9BQ1RJ VkVfUkVRVUVTVCgmdGltZWxpbmUtPmxhc3RfcmVxdWVzdCwgJnRpbWVsaW5lLT5tdXRleCk7Cj4g IAlJTklUX0xJU1RfSEVBRCgmdGltZWxpbmUtPnJlcXVlc3RzKTsKPiAgCj4gIAlpOTE1X3N5bmNt YXBfaW5pdCgmdGltZWxpbmUtPnN5bmMpOwo+IEBAIC00NDAsOCArNDQwLDcgQEAgX19pbnRlbF90 aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKPiAgCSAqIGZyZWUg aXQgYWZ0ZXIgdGhlIGN1cnJlbnQgcmVxdWVzdCBpcyByZXRpcmVkLCB3aGljaCBlbnN1cmVzIHRo YXQKPiAgCSAqIGFsbCB3cml0ZXMgaW50byB0aGUgY2FjaGVsaW5lIGZyb20gcHJldmlvdXMgcmVx dWVzdHMgYXJlIGNvbXBsZXRlLgo+ICAJICovCj4gLQllcnIgPSBpOTE1X2FjdGl2ZV9yZWYoJnRs LT5od3NwX2NhY2hlbGluZS0+YWN0aXZlLAo+IC0JCQkgICAgICB0bC0+ZmVuY2VfY29udGV4dCwg cnEpOwo+ICsJZXJyID0gaTkxNV9hY3RpdmVfcmVmKCZ0bC0+aHdzcF9jYWNoZWxpbmUtPmFjdGl2 ZSwgdGwsIHJxKTsKPiAgCWlmIChlcnIpCj4gIAkJZ290byBlcnJfY2FjaGVsaW5lOwo+ICAKPiBA QCAtNDkyLDcgKzQ5MSw3IEBAIGludCBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0bCwKPiAgc3RhdGljIGludCBjYWNoZWxpbmVfcmVmKHN0cnVjdCBpbnRl bF90aW1lbGluZV9jYWNoZWxpbmUgKmNsLAo+ICAJCQkgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEp Cj4gIHsKPiAtCXJldHVybiBpOTE1X2FjdGl2ZV9yZWYoJmNsLT5hY3RpdmUsIHJxLT5mZW5jZS5j b250ZXh0LCBycSk7Cj4gKwlyZXR1cm4gaTkxNV9hY3RpdmVfcmVmKCZjbC0+YWN0aXZlLCBycS0+ dGltZWxpbmUsIHJxKTsKPiAgfQo+ICAKPiAgaW50IGludGVsX3RpbWVsaW5lX3JlYWRfaHdzcChz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3RfdGltZWxpbmUuYwo+IGluZGV4IGQ1NDExMzY5Nzc0NS4uMzIxNDgxNDAzMTY1IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jCj4gQEAgLTY4 OSw3ICs2ODksOSBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFyZykKPiAgCj4g IAkJdGwtPnNlcW5vID0gLTR1Owo+ICAKPiArCQltdXRleF9sb2NrX25lc3RlZCgmdGwtPm11dGV4 LCBTSU5HTEVfREVQVEhfTkVTVElORyk7Cj4gIAkJZXJyID0gaW50ZWxfdGltZWxpbmVfZ2V0X3Nl cW5vKHRsLCBycSwgJnNlcW5vWzBdKTsKPiArCQltdXRleF91bmxvY2soJnRsLT5tdXRleCk7Cj4g IAkJaWYgKGVycikgewo+ICAJCQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKPiAgCQkJZ290byBvdXQ7 Cj4gQEAgLTcwNCw3ICs3MDYsOSBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFy ZykKPiAgCQl9Cj4gIAkJaHdzcF9zZXFub1swXSA9IHRsLT5od3NwX3NlcW5vOwo+ICAKPiArCQlt dXRleF9sb2NrX25lc3RlZCgmdGwtPm11dGV4LCBTSU5HTEVfREVQVEhfTkVTVElORyk7Cj4gIAkJ ZXJyID0gaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwgJnNlcW5vWzFdKTsKPiArCQlt dXRleF91bmxvY2soJnRsLT5tdXRleCk7Cj4gIAkJaWYgKGVycikgewo+ICAJCQlpOTE1X3JlcXVl c3RfYWRkKHJxKTsKPiAgCQkJZ290byBvdXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCj4gaW5kZXggNWM1NDkyMDU4MjhhLi41OTgx NzBlZmNhZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rz L21vY2tfdGltZWxpbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0 cy9tb2NrX3RpbWVsaW5lLmMKPiBAQCAtMTUsNyArMTUsNyBAQCB2b2lkIG1vY2tfdGltZWxpbmVf aW5pdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKPiAgCj4g IAltdXRleF9pbml0KCZ0aW1lbGluZS0+bXV0ZXgpOwo+ICAKPiAtCUlOSVRfQUNUSVZFX1JFUVVF U1QoJnRpbWVsaW5lLT5sYXN0X3JlcXVlc3QpOwo+ICsJSU5JVF9BQ1RJVkVfUkVRVUVTVCgmdGlt ZWxpbmUtPmxhc3RfcmVxdWVzdCwgJnRpbWVsaW5lLT5tdXRleCk7Cj4gIAlJTklUX0xJU1RfSEVB RCgmdGltZWxpbmUtPnJlcXVlc3RzKTsKPiAgCj4gIAlpOTE1X3N5bmNtYXBfaW5pdCgmdGltZWxp bmUtPnN5bmMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYwo+IGluZGV4IDI0MzljNGY2 MmFkOC4uZGY2MTY0NTkxNzAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfYWN0aXZlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZS5jCj4g QEAgLTE2OSwxMCArMTY5LDExIEBAIG5vZGVfcmV0aXJlKHN0cnVjdCBpOTE1X2FjdGl2ZV9yZXF1 ZXN0ICpiYXNlLCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgfQo+ICAKPiAgc3RhdGljIHN0 cnVjdCBpOTE1X2FjdGl2ZV9yZXF1ZXN0ICoKPiAtYWN0aXZlX2luc3RhbmNlKHN0cnVjdCBpOTE1 X2FjdGl2ZSAqcmVmLCB1NjQgaWR4KQo+ICthY3RpdmVfaW5zdGFuY2Uoc3RydWN0IGk5MTVfYWN0 aXZlICpyZWYsIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCj4gIHsKPiAgCXN0cnVjdCBhY3Rp dmVfbm9kZSAqbm9kZSwgKnByZWFsbG9jOwo+ICAJc3RydWN0IHJiX25vZGUgKipwLCAqcGFyZW50 Owo+ICsJdTY0IGlkeCA9IHRsLT5mZW5jZV9jb250ZXh0Owo+ICAKPiAgCS8qCj4gIAkgKiBXZSB0 cmFjayB0aGUgbW9zdCByZWNlbnRseSB1c2VkIHRpbWVsaW5lIHRvIHNraXAgYSByYnRyZWUgc2Vh cmNoCj4gQEAgLTIxMSw3ICsyMTIsNyBAQCBhY3RpdmVfaW5zdGFuY2Uoc3RydWN0IGk5MTVfYWN0 aXZlICpyZWYsIHU2NCBpZHgpCj4gIAl9Cj4gIAo+ICAJbm9kZSA9IHByZWFsbG9jOwo+IC0JaTkx NV9hY3RpdmVfcmVxdWVzdF9pbml0KCZub2RlLT5iYXNlLCBOVUxMLCBub2RlX3JldGlyZSk7Cj4g KwlpOTE1X2FjdGl2ZV9yZXF1ZXN0X2luaXQoJm5vZGUtPmJhc2UsICZ0bC0+bXV0ZXgsIE5VTEws IG5vZGVfcmV0aXJlKTsKPiAgCW5vZGUtPnJlZiA9IHJlZjsKPiAgCW5vZGUtPnRpbWVsaW5lID0g aWR4Owo+ICAKPiBAQCAtMjk0LDE4ICsyOTUsMjAgQEAgX19hY3RpdmVfZGVsX2JhcnJpZXIoc3Ry dWN0IGk5MTVfYWN0aXZlICpyZWYsIHN0cnVjdCBhY3RpdmVfbm9kZSAqbm9kZSkKPiAgfQo+ICAK PiAgaW50IGk5MTVfYWN0aXZlX3JlZihzdHJ1Y3QgaTkxNV9hY3RpdmUgKnJlZiwKPiAtCQkgICAg dTY0IHRpbWVsaW5lLAo+ICsJCSAgICBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAo+ICAJCSAg ICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgewo+ICAJc3RydWN0IGk5MTVfYWN0aXZlX3Jl cXVlc3QgKmFjdGl2ZTsKPiAgCWludCBlcnI7Cj4gIAo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgm dGwtPm11dGV4KTsKPiArCj4gIAkvKiBQcmV2ZW50IHJlYXBpbmcgaW4gY2FzZSB3ZSBtYWxsb2Mv d2FpdCB3aGlsZSBidWlsZGluZyB0aGUgdHJlZSAqLwo+ICAJZXJyID0gaTkxNV9hY3RpdmVfYWNx dWlyZShyZWYpOwo+ICAJaWYgKGVycikKPiAgCQlyZXR1cm4gZXJyOwo+ICAKPiAtCWFjdGl2ZSA9 IGFjdGl2ZV9pbnN0YW5jZShyZWYsIHRpbWVsaW5lKTsKPiArCWFjdGl2ZSA9IGFjdGl2ZV9pbnN0 YW5jZShyZWYsIHRsKTsKPiAgCWlmICghYWN0aXZlKSB7Cj4gIAkJZXJyID0gLUVOT01FTTsKPiAg CQlnb3RvIG91dDsKPiBAQCAtNTk2LDYgKzU5OSwxMCBAQCBpbnQgaTkxNV9hY3RpdmVfYWNxdWly ZV9wcmVhbGxvY2F0ZV9iYXJyaWVyKHN0cnVjdCBpOTE1X2FjdGl2ZSAqcmVmLAo+ICAJCQkJZ290 byB1bndpbmQ7Cj4gIAkJCX0KPiAgCj4gKyNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9E RUJVR19HRU0pCj4gKwkJCW5vZGUtPmJhc2UubG9jayA9Cj4gKwkJCQkmZW5naW5lLT5rZXJuZWxf Y29udGV4dC0+dGltZWxpbmUtPm11dGV4Owo+ICsjZW5kaWYKPiAgCQkJUkNVX0lOSVRfUE9JTlRF Uihub2RlLT5iYXNlLnJlcXVlc3QsIE5VTEwpOwo+ICAJCQlub2RlLT5iYXNlLnJldGlyZSA9IG5v ZGVfcmV0aXJlOwo+ICAJCQlub2RlLT50aW1lbGluZSA9IGlkeDsKPiBAQCAtNzAxLDYgKzcwOCwx MCBAQCBpbnQgaTkxNV9hY3RpdmVfcmVxdWVzdF9zZXQoc3RydWN0IGk5MTVfYWN0aXZlX3JlcXVl c3QgKmFjdGl2ZSwKPiAgewo+ICAJaW50IGVycjsKPiAgCj4gKyNpZiBJU19FTkFCTEVEKENPTkZJ R19EUk1fSTkxNV9ERUJVR19HRU0pCj4gKwlsb2NrZGVwX2Fzc2VydF9oZWxkKGFjdGl2ZS0+bG9j ayk7Cj4gKyNlbmRpZgo+ICsKPiAgCS8qIE11c3QgbWFpbnRhaW4gb3JkZXJpbmcgd3J0IHByZXZp b3VzIGFjdGl2ZSByZXF1ZXN0cyAqLwo+ICAJZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X2FjdGl2 ZV9yZXF1ZXN0KHJxLCBhY3RpdmUpOwo+ICAJaWYgKGVycikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf YWN0aXZlLmgKPiBpbmRleCBmNmQ3MzBjZjJmZTYuLmY5NTA1OGY5OTA1NyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZS5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9hY3RpdmUuaAo+IEBAIC01OCwxNSArNTgsMjAgQEAgdm9pZCBpOTE1X2Fj dGl2ZV9yZXRpcmVfbm9vcChzdHJ1Y3QgaTkxNV9hY3RpdmVfcmVxdWVzdCAqYWN0aXZlLAo+ICAg Ki8KPiAgc3RhdGljIGlubGluZSB2b2lkCj4gIGk5MTVfYWN0aXZlX3JlcXVlc3RfaW5pdChzdHJ1 Y3QgaTkxNV9hY3RpdmVfcmVxdWVzdCAqYWN0aXZlLAo+ICsJCQkgc3RydWN0IG11dGV4ICpsb2Nr LAo+ICAJCQkgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gIAkJCSBpOTE1X2FjdGl2ZV9yZXRp cmVfZm4gcmV0aXJlKQo+ICB7Cj4gIAlSQ1VfSU5JVF9QT0lOVEVSKGFjdGl2ZS0+cmVxdWVzdCwg cnEpOwo+ICAJSU5JVF9MSVNUX0hFQUQoJmFjdGl2ZS0+bGluayk7Cj4gIAlhY3RpdmUtPnJldGly ZSA9IHJldGlyZSA/OiBpOTE1X2FjdGl2ZV9yZXRpcmVfbm9vcDsKPiArI2lmIElTX0VOQUJMRUQo Q09ORklHX0RSTV9JOTE1X0RFQlVHX0dFTSkKPiArCWFjdGl2ZS0+bG9jayA9IGxvY2s7Cj4gKyNl bmRpZgo+ICB9Cj4gIAo+IC0jZGVmaW5lIElOSVRfQUNUSVZFX1JFUVVFU1QobmFtZSkgaTkxNV9h Y3RpdmVfcmVxdWVzdF9pbml0KChuYW1lKSwgTlVMTCwgTlVMTCkKPiArI2RlZmluZSBJTklUX0FD VElWRV9SRVFVRVNUKG5hbWUsIGxvY2spIFwKPiArCWk5MTVfYWN0aXZlX3JlcXVlc3RfaW5pdCgo bmFtZSksIChsb2NrKSwgTlVMTCwgTlVMTCkKPiAgCj4gIC8qKgo+ICAgKiBpOTE1X2FjdGl2ZV9y ZXF1ZXN0X3NldCAtIHVwZGF0ZXMgdGhlIHRyYWNrZXIgdG8gd2F0Y2ggdGhlIGN1cnJlbnQgcmVx dWVzdAo+IEBAIC04MSw2ICs4Niw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZAo+ICBfX2k5MTVfYWN0 aXZlX3JlcXVlc3Rfc2V0KHN0cnVjdCBpOTE1X2FjdGl2ZV9yZXF1ZXN0ICphY3RpdmUsCj4gIAkJ CSAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgewo+ICsjaWYgSVNfRU5BQkxFRChD T05GSUdfRFJNX0k5MTVfREVCVUdfR0VNKQo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZChhY3RpdmUt PmxvY2spOwo+ICsjZW5kaWYKPiAgCWxpc3RfbW92ZSgmYWN0aXZlLT5saW5rLCAmcmVxdWVzdC0+ YWN0aXZlX2xpc3QpOwo+ICAJcmN1X2Fzc2lnbl9wb2ludGVyKGFjdGl2ZS0+cmVxdWVzdCwgcmVx dWVzdCk7Cj4gIH0KPiBAQCAtMzYyLDcgKzM3MCw3IEBAIHZvaWQgX19pOTE1X2FjdGl2ZV9pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ICB9IHdoaWxlICgwKQo+ICAKPiAgaW50 IGk5MTVfYWN0aXZlX3JlZihzdHJ1Y3QgaTkxNV9hY3RpdmUgKnJlZiwKPiAtCQkgICAgdTY0IHRp bWVsaW5lLAo+ICsJCSAgICBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAo+ICAJCSAgICBzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSk7Cj4gIAo+ICBpbnQgaTkxNV9hY3RpdmVfd2FpdChzdHJ1Y3Qg aTkxNV9hY3RpdmUgKnJlZik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfYWN0aXZlX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZV90eXBl cy5oCj4gaW5kZXggYWUzZWU0NDFjMTE0Li5kODU3YmQxMmFhN2UgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmVfdHlwZXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfYWN0aXZlX3R5cGVzLmgKPiBAQCAtMjQsNiArMjQsOSBAQCBzdHJ1Y3Qg aTkxNV9hY3RpdmVfcmVxdWVzdCB7Cj4gIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0IF9fcmN1ICpyZXF1 ZXN0Owo+ICAJc3RydWN0IGxpc3RfaGVhZCBsaW5rOwo+ICAJaTkxNV9hY3RpdmVfcmV0aXJlX2Zu IHJldGlyZTsKPiArI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X0RFQlVHX0dFTSkKPiAr CXN0cnVjdCBtdXRleCAqbG9jazsKCkNoZWNrcGF0Y2ggdGhpbmtzIHRoZSB1c2FnZSBzaG91bGQg YmUgc29tZWhvdyBzdGF0ZWQgd2l0aCBjb21tZW50LgoKU28gcHV0IHNvbWV0aGluZyBsaWtlCi8q IEluY29ycG9yZWFsLiBSZWYgcGlnZ3lwYWNraW5nIHRpbWVsaW5lIGZvciBsb2NrZGVwICovCgpS ZXZpZXdlZC1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+ Cgo+ICsjZW5kaWYKPiAgfTsKPiAgCj4gIHN0cnVjdCBhY3RpdmVfbm9kZTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdm1hLmMKPiBpbmRleCBhMzIyNDM5NTFiMjkuLjczYjAyMjM0YWZmZSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuYwo+IEBAIC05MDMsMTQgKzkwMywxNCBAQCBpbnQgaTkxNV92bWFf bW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gIAkgKiBhZGQgdGhlIGFjdGl2 ZSByZWZlcmVuY2UgZmlyc3QgYW5kIHF1ZXVlIGZvciBpdCB0byBiZSBkcm9wcGVkCj4gIAkgKiAq bGFzdCouCj4gIAkgKi8KPiAtCWVyciA9IGk5MTVfYWN0aXZlX3JlZigmdm1hLT5hY3RpdmUsIHJx LT5mZW5jZS5jb250ZXh0LCBycSk7Cj4gKwllcnIgPSBpOTE1X2FjdGl2ZV9yZWYoJnZtYS0+YWN0 aXZlLCBycS0+dGltZWxpbmUsIHJxKTsKPiAgCWlmICh1bmxpa2VseShlcnIpKQo+ICAJCXJldHVy biBlcnI7Cj4gIAo+ICAJaWYgKGZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJVEUpIHsKPiAgCQlpZiAo aW50ZWxfZnJvbnRidWZmZXJfaW52YWxpZGF0ZShvYmotPmZyb250YnVmZmVyLCBPUklHSU5fQ1Mp KQo+ICAJCQlpOTE1X2FjdGl2ZV9yZWYoJm9iai0+ZnJvbnRidWZmZXItPndyaXRlLAo+IC0JCQkJ CXJxLT5mZW5jZS5jb250ZXh0LAo+ICsJCQkJCXJxLT50aW1lbGluZSwKPiAgCQkJCQlycSk7Cj4g IAo+ICAJCWRtYV9yZXN2X2FkZF9leGNsX2ZlbmNlKHZtYS0+cmVzdiwgJnJxLT5mZW5jZSk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2FjdGl2ZS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfYWN0aXZlLmMKPiBpbmRleCBl NWNkNWQ0N2UzODAuLjc3ZDg0NGFjOGI3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9hY3RpdmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X2FjdGl2ZS5jCj4gQEAgLTExMCw4ICsxMTAsNyBAQCBfX2xpdmVfYWN0 aXZlX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAJCQkJCQkgICAgICAg c3VibWl0LAo+ICAJCQkJCQkgICAgICAgR0ZQX0tFUk5FTCk7Cj4gIAkJaWYgKGVyciA+PSAwKQo+ IC0JCQllcnIgPSBpOTE1X2FjdGl2ZV9yZWYoJmFjdGl2ZS0+YmFzZSwKPiAtCQkJCQkgICAgICBy cS0+ZmVuY2UuY29udGV4dCwgcnEpOwo+ICsJCQllcnIgPSBpOTE1X2FjdGl2ZV9yZWYoJmFjdGl2 ZS0+YmFzZSwgcnEtPnRpbWVsaW5lLCBycSk7Cj4gIAkJaTkxNV9yZXF1ZXN0X2FkZChycSk7Cj4g IAkJaWYgKGVycikgewo+ICAJCQlwcl9lcnIoIkZhaWxlZCB0byB0cmFjayBhY3RpdmUgcmVmIVxu Iik7Cj4gLS0gCj4gMi4yMy4wLnJjMQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=