From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 4/6] drm/i915: Move timeline from GTT to ring Date: Mon, 23 Apr 2018 11:44:19 +0100 Message-ID: References: <20180423101400.27418-1-chris@chris-wilson.co.uk> <20180423101400.27418-4-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 mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 130BD89F6B for ; Mon, 23 Apr 2018 10:44:24 +0000 (UTC) In-Reply-To: <20180423101400.27418-4-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 Ck9uIDIzLzA0LzIwMTggMTE6MTMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgZnV0dXJl LCB3ZSB3YW50IHRvIG1vdmUgYSByZXF1ZXN0IGJldHdlZW4gZW5naW5lcy4gVG8gYWNoaWV2ZQo+ IHRoaXMsIHdlIGZpcnN0IHJlYWxpc2UgdGhhdCB3ZSBoYXZlIHR3byB0aW1lbGluZXMgaW4gZWZm ZWN0IGhlcmUuIFRoZQo+IGZpcnN0IHJ1bnMgdGhyb3VnaCB0aGUgR1RUIGlzIHJlcXVpcmVkIGZv ciBvcmRlcmluZyB2bWEgYWNjZXNzLCB3aGljaCBpcwo+IHRyYWNrZWQgY3VycmVudGx5IGJ5IGVu Z2luZS4gVGhlIHNlY29uZCBpcyBpbXBsaWVkIGJ5IHNlcXVlbnRpYWwKPiBleGVjdXRpb24gb2Yg Y29tbWFuZHMgaW5zaWRlIHRoZSByaW5nYnVmZmVyLiBUaGlzIHRpbWVsaW5lIGlzIG9uZSB0aGF0 Cj4gbWFwcyB0byB1c2Vyc3BhY2UncyBleHBlY3RhdGlvbnMgd2hlbiBzdWJtaXR0aW5nIHJlcXVl c3RzIChpLmUuIGdpdmVuIHRoZQo+IHNhbWUgY29udGV4dCwgYmF0Y2ggQSBpcyBleGVjdXRlZCBi ZWZvcmUgYmF0Y2ggQikuIEFzIHRoZSByaW5ncydzCj4gdGltZWxpbmVzIG1hcCB0byB1c2Vyc3Bh Y2UgYW5kIHRoZSBHVFQgdGltZWxpbmUgYW4gaW1wbGVtZW50YXRpb24KPiBkZXRhaWwsIG1vdmUg dGhlIHRpbWVsaW5lIGZyb20gdGhlIEdUVCBpbnRvIHRoZSByaW5nIGl0c2VsZiAocGVyLWNvbnRl eHQKPiBpbiBsb2dpY2FsLXJpbmctY29udGV4dHMvZXhlY2xpc3RzLCBvciBhIGdsb2JhbCBwZXIt ZW5naW5lIHRpbWVsaW5lIGZvcgo+IHRoZSBzaGFyZWQgcmluZ2J1ZmZlcnMgaW4gbGVnYWN5IHN1 Ym1pc3Npb24uCj4gCj4gVGhlIHR3byB0aW1lbGluZXMgYXJlIHN0aWxsIGFzc3VtZWQgdG8gYmUg ZXF1aXZhbGVudCBhdCB0aGUgbW9tZW50IChubwo+IG1pZ3JhdGluZyByZXF1ZXN0cyBiZXR3ZWVu IGVuZ2luZXMgeWV0KSBhbmQgc28gd2UgY2FuIHNpbXBseSBtb3ZlIGZyb20KPiBvbmUgdG8gdGhl IG90aGVyIHdpdGhvdXQgYWRkaW5nIGV4dHJhIG9yZGVyaW5nLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgMTMgKy0tLS0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICB8ICA5ICsrLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICAgICB8IDE1ICsrKysrLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oICAgICAgIHwgIDIgKwo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgIHwgIDMgLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICAgICAgICB8ICAxIC0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5lLmMgICAgICB8IDU0ICsrKysrKysr KysrKysrKysrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5lLmgg ICAgICB8ICA0ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyAgICAg ICAgICAgfCAxNSArKystLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jICAgICAgICB8ICAzICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAg ICAgICAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jICAgICAgIHwgIDkgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oICAgICAgIHwgIDUgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9tb2NrX2VuZ2luZS5jICB8ICAzICstCj4gICAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX2dlbV9kZXZpY2UuYyAgfCAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL21vY2tfZ3R0LmMgICAgIHwgIDEgLQo+ICAgMTYgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2Vy dGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGlu ZGV4IGE3Nzg3YzJjYjUzYy4uNjYxMjNjZjBlZGEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gQEAgLTIwNTgsNyArMjA1OCw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKPiAg IAkJdm9pZCAoKnJlc3VtZSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKik7Cj4gICAJCXZvaWQg KCpjbGVhbnVwX2VuZ2luZSkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAgIAo+ IC0JCXN0cnVjdCBpOTE1X2dlbV90aW1lbGluZSBnbG9iYWxfdGltZWxpbmU7Cj4gKwkJc3RydWN0 IGk5MTVfZ2VtX3RpbWVsaW5lIGV4ZWN1dGlvbl90aW1lbGluZTsKPiArCQlzdHJ1Y3QgaTkxNV9n ZW1fdGltZWxpbmUgbGVnYWN5X3RpbWVsaW5lOwo+ICAgCQlzdHJ1Y3QgbGlzdF9oZWFkIHRpbWVs aW5lczsKPiAgIAkJc3RydWN0IGxpc3RfaGVhZCBsaXZlX3JpbmdzOwo+ICAgCQl1MzIgYWN0aXZl X3JlcXVlc3RzOwo+IEBAIC0zMjMyLDE2ICszMjMzLDYgQEAgaTkxNV9nZW1fY29udGV4dF9sb29r dXAoc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2LCB1MzIgaWQpCj4gICAJ cmV0dXJuIGN0eDsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF90aW1l bGluZSAqCj4gLWk5MTVfZ2VtX2NvbnRleHRfbG9va3VwX3RpbWVsaW5lKHN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHgsCj4gLQkJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ IC17Cj4gLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKPiAtCj4gLQl2bSA9IGN0eC0+ cHBndHQgPyAmY3R4LT5wcGd0dC0+YmFzZSA6ICZjdHgtPmk5MTUtPmdndHQuYmFzZTsKPiAtCXJl dHVybiAmdm0tPnRpbWVsaW5lLmVuZ2luZVtlbmdpbmUtPmlkXTsKPiAtfQo+IC0KPiAgIGludCBp OTE1X3BlcmZfb3Blbl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ICAgCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gICBpbnQgaTkxNV9wZXJmX2FkZF9jb25m aWdfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPiBpbmRleCAwMDk3YTc3ZmFlOGQuLjE2MzU5NzVkYmMxNiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0zMTEwLDEwICszMTEwLDEwIEBAIHN0YXRpYyB2b2lk IGVuZ2luZV9za2lwX2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgIHsK PiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7Cj4g ICAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmh1bmdfY3R4ID0gcmVxdWVzdC0+Y3R4Owo+IC0J c3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKPiArCXN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGltZWxpbmUgPSByZXF1ZXN0LT50aW1lbGluZTsKPiAgIAl1bnNpZ25lZCBsb25nIGZsYWdz Owo+ICAgCj4gLQl0aW1lbGluZSA9IGk5MTVfZ2VtX2NvbnRleHRfbG9va3VwX3RpbWVsaW5lKGh1 bmdfY3R4LCBlbmdpbmUpOwo+ICsJR0VNX0JVR19PTih0aW1lbGluZSA9PSBlbmdpbmUtPnRpbWVs aW5lKTsKCklzbid0IHRoaXMgdGhlIGd1aWx0eSByZXF1ZXN0LCBzbyB3b3VsZCBiZSBvbiB0aGUg ZW5naW5lIHRpbWVsaW5lPwoKPiAgIAo+ICAgCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnRp bWVsaW5lLT5sb2NrLCBmbGFncyk7Cj4gICAJc3Bpbl9sb2NrKCZ0aW1lbGluZS0+bG9jayk7Cj4g QEAgLTM3ODIsNyArMzc4Miw3IEBAIGludCBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gICAKPiAgIAkJcmV0 ID0gd2FpdF9mb3JfZW5naW5lcyhpOTE1KTsKPiAgIAl9IGVsc2Ugewo+IC0JCXJldCA9IHdhaXRf Zm9yX3RpbWVsaW5lKCZpOTE1LT5ndC5nbG9iYWxfdGltZWxpbmUsIGZsYWdzKTsKPiArCQlyZXQg PSB3YWl0X2Zvcl90aW1lbGluZSgmaTkxNS0+Z3QuZXhlY3V0aW9uX3RpbWVsaW5lLCBmbGFncyk7 Cj4gICAJfQo+ICAgCj4gICAJcmV0dXJuIHJldDsKPiBAQCAtNTY1MSw3ICs1NjUxLDggQEAgdm9p ZCBpOTE1X2dlbV9jbGVhbnVwX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgIAlXQVJOX09OKGRldl9wcml2LT5tbS5vYmplY3RfY291bnQpOwo+ICAgCj4gICAJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+IC0JaTkxNV9nZW1fdGltZWxp bmVfZmluaSgmZGV2X3ByaXYtPmd0Lmdsb2JhbF90aW1lbGluZSk7Cj4gKwlpOTE1X2dlbV90aW1l bGluZV9maW5pKCZkZXZfcHJpdi0+Z3QubGVnYWN5X3RpbWVsaW5lKTsKPiArCWk5MTVfZ2VtX3Rp bWVsaW5lX2ZpbmkoJmRldl9wcml2LT5ndC5leGVjdXRpb25fdGltZWxpbmUpOwo+ICAgCVdBUk5f T04oIWxpc3RfZW1wdHkoJmRldl9wcml2LT5ndC50aW1lbGluZXMpKTsKPiAgIAltdXRleF91bmxv Y2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCA3NDQzNWFmZmUyM2YuLjU4YjE4NWFiZTY1MiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBAQCAtMTIyLDYg KzEyMiw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4KQo+ICAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmN0eC0+aTkxNS0+ZHJt LnN0cnVjdF9tdXRleCk7Cj4gICAJR0VNX0JVR19PTighaTkxNV9nZW1fY29udGV4dF9pc19jbG9z ZWQoY3R4KSk7Cj4gICAKPiArCWk5MTVfZ2VtX3RpbWVsaW5lX2ZyZWUoY3R4LT50aW1lbGluZSk7 Cj4gICAJaTkxNV9wcGd0dF9wdXQoY3R4LT5wcGd0dCk7Cj4gICAKPiAgIAlmb3IgKGkgPSAwOyBp IDwgSTkxNV9OVU1fRU5HSU5FUzsgaSsrKSB7Cj4gQEAgLTM3Niw2ICszNzcsMTggQEAgaTkxNV9n ZW1fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAg CQljdHgtPmRlc2NfdGVtcGxhdGUgPSBkZWZhdWx0X2Rlc2NfdGVtcGxhdGUoZGV2X3ByaXYsIHBw Z3R0KTsKPiAgIAl9Cj4gICAKPiArCWlmIChIQVNfRVhFQ0xJU1RTKGRldl9wcml2KSkgewo+ICsJ CXN0cnVjdCBpOTE1X2dlbV90aW1lbGluZSAqdGltZWxpbmU7Cj4gKwo+ICsJCXRpbWVsaW5lID0g aTkxNV9nZW1fdGltZWxpbmVfY3JlYXRlKGRldl9wcml2LCBjdHgtPm5hbWUpOwo+ICsJCWlmIChJ U19FUlIodGltZWxpbmUpKSB7Cj4gKwkJCV9fZGVzdHJveV9od19jb250ZXh0KGN0eCwgZmlsZV9w cml2KTsKPiArCQkJcmV0dXJuIEVSUl9DQVNUKHRpbWVsaW5lKTsKCkxlYWtzIHBwZ3R0IGJ5IHRo ZSBsb29rIG9mIGl0LgoKPiArCQl9Cj4gKwo+ICsJCWN0eC0+dGltZWxpbmUgPSB0aW1lbGluZTsK PiArCX0KPiArCj4gICAJdHJhY2VfaTkxNV9jb250ZXh0X2NyZWF0ZShjdHgpOwo+ICAgCj4gICAJ cmV0dXJuIGN0eDsKPiBAQCAtNTg0LDcgKzU5Nyw3IEBAIHN0YXRpYyBib29sIGVuZ2luZV9oYXNf aWRsZV9rZXJuZWxfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJ bGlzdF9mb3JfZWFjaF9lbnRyeSh0aW1lbGluZSwgJmVuZ2luZS0+aTkxNS0+Z3QudGltZWxpbmVz LCBsaW5rKSB7Cj4gICAJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7Cj4gICAKPiAtCQlpZiAo dGltZWxpbmUgPT0gJmVuZ2luZS0+aTkxNS0+Z3QuZ2xvYmFsX3RpbWVsaW5lKQo+ICsJCWlmICh0 aW1lbGluZSA9PSAmZW5naW5lLT5pOTE1LT5ndC5leGVjdXRpb25fdGltZWxpbmUpCj4gICAJCQlj b250aW51ZTsKPiAgIAo+ICAgCQl0bCA9ICZ0aW1lbGluZS0+ZW5naW5lW2VuZ2luZS0+aWRdOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKPiBpbmRleCBiMTJhOGE4YzVh ZjkuLjE0MGVkY2I0MjRkZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmgKPiBAQCAtNTgsNiArNTgsOCBAQCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCB7Cj4gICAJ LyoqIGZpbGVfcHJpdjogb3duaW5nIGZpbGUgZGVzY3JpcHRvciAqLwo+ICAgCXN0cnVjdCBkcm1f aTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKPiAgIAo+ICsJc3RydWN0IGk5MTVfZ2VtX3Rp bWVsaW5lICp0aW1lbGluZTsKPiArCj4gICAJLyoqCj4gICAJICogQHBwZ3R0OiB1bmlxdWUgYWRk cmVzcyBzcGFjZSAoR1RUKQo+ICAgCSAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMK PiBpbmRleCAyMWQ3MmY2OTVhZGIuLmU5ZDgyODMyNGY2NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTIxMTEsOCArMjExMSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVf YWRkcmVzc19zcGFjZV9pbml0KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAgCQkJ CSAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICAJCQkJICAgIGNvbnN0 IGNoYXIgKm5hbWUpCj4gICB7Cj4gLQlpOTE1X2dlbV90aW1lbGluZV9pbml0KGRldl9wcml2LCAm dm0tPnRpbWVsaW5lLCBuYW1lKTsKPiAtCj4gICAJZHJtX21tX2luaXQoJnZtLT5tbSwgMCwgdm0t PnRvdGFsKTsKPiAgIAl2bS0+bW0uaGVhZF9ub2RlLmNvbG9yID0gSTkxNV9DT0xPUl9VTkVWSUNU QUJMRTsKPiAgIAo+IEBAIC0yMTI5LDcgKzIxMjcsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2FkZHJl c3Nfc3BhY2VfZmluaShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKPiAgIAlpZiAocGFn ZXZlY19jb3VudCgmdm0tPmZyZWVfcGFnZXMpKQo+ICAgCQl2bV9mcmVlX3BhZ2VzX3JlbGVhc2Uo dm0sIHRydWUpOwo+ICAgCj4gLQlpOTE1X2dlbV90aW1lbGluZV9maW5pKCZ2bS0+dGltZWxpbmUp Owo+ICAgCWRybV9tbV90YWtlZG93bigmdm0tPm1tKTsKPiAgIAlsaXN0X2RlbCgmdm0tPmdsb2Jh bF9saW5rKTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+IGluZGV4IDZl ZmMwMTdlOGJiMy4uOTgxMDc5MjVkZTQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmgKPiBAQCAtMjU3LDcgKzI1Nyw2IEBAIHN0cnVjdCBpOTE1X3BtbDQgewo+ICAgCj4gICBz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKPiAgIAlzdHJ1Y3QgZHJtX21tIG1tOwo+IC0Jc3Ry dWN0IGk5MTVfZ2VtX3RpbWVsaW5lIHRpbWVsaW5lOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1Owo+ICAgCXN0cnVjdCBkZXZpY2UgKmRtYTsKPiAgIAkvKiBFdmVyeSBhZGRyZXNz IHNwYWNlIGJlbG9uZ3MgdG8gYSBzdHJ1Y3QgZmlsZSAtIGV4Y2VwdCBmb3IgdGhlIGdsb2JhbAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aW1lbGluZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGltZWxpbmUuYwo+IGluZGV4IGU5ZmQ4NzYw NDA2Ny4uMjRmNDA2OGNjMTM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3RpbWVsaW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90 aW1lbGluZS5jCj4gQEAgLTk1LDEyICs5NSwyOCBAQCBpbnQgaTkxNV9nZW1fdGltZWxpbmVfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgIAo+ICAgaW50IGk5MTVfZ2VtX3Rp bWVsaW5lX2luaXRfX2dsb2JhbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgIHsK PiAtCXN0YXRpYyBzdHJ1Y3QgbG9ja19jbGFzc19rZXkgY2xhc3M7Cj4gKwlzdGF0aWMgc3RydWN0 IGxvY2tfY2xhc3Nfa2V5IGNsYXNzMSwgY2xhc3MyOwo+ICsJaW50IGVycjsKPiArCj4gKwllcnIg PSBfX2k5MTVfZ2VtX3RpbWVsaW5lX2luaXQoaTkxNSwKPiArCQkJCSAgICAgICAmaTkxNS0+Z3Qu ZXhlY3V0aW9uX3RpbWVsaW5lLAo+ICsJCQkJICAgICAgICJbZXhlY3V0aW9uXSIsICZjbGFzczEs Cj4gKwkJCQkgICAgICAgImk5MTVfZXhlY3V0aW9uX3RpbWVsaW5lIik7Cj4gKwlpZiAoZXJyKQo+ ICsJCXJldHVybiBlcnI7Cj4gKwo+ICsJZXJyID0gX19pOTE1X2dlbV90aW1lbGluZV9pbml0KGk5 MTUsCj4gKwkJCQkgICAgICAgJmk5MTUtPmd0LmxlZ2FjeV90aW1lbGluZSwKPiArCQkJCSAgICAg ICAiW2dsb2JhbF0iLCAmY2xhc3MyLAo+ICsJCQkJICAgICAgICJpOTE1X2dsb2JhbF90aW1lbGlu ZSIpOwo+ICsJaWYgKGVycikKPiArCQlnb3RvIGVycl9leGVjX3RpbWVsaW5lOwo+ICsKPiArCXJl dHVybiAwOwo+ICAgCj4gLQlyZXR1cm4gX19pOTE1X2dlbV90aW1lbGluZV9pbml0KGk5MTUsCj4g LQkJCQkJJmk5MTUtPmd0Lmdsb2JhbF90aW1lbGluZSwKPiAtCQkJCQkiW2V4ZWN1dGlvbl0iLAo+ IC0JCQkJCSZjbGFzcywgIiZnbG9iYWxfdGltZWxpbmUtPmxvY2siKTsKPiArZXJyX2V4ZWNfdGlt ZWxpbmU6Cj4gKwlpOTE1X2dlbV90aW1lbGluZV9maW5pKCZpOTE1LT5ndC5leGVjdXRpb25fdGlt ZWxpbmUpOwo+ICsJcmV0dXJuIGVycjsKPiAgIH0KPiAgIAo+ICAgLyoqCj4gQEAgLTE0OCw2ICsx NjQsMzQgQEAgdm9pZCBpOTE1X2dlbV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X2dlbV90aW1l bGluZSAqdGltZWxpbmUpCj4gICAJa2ZyZWUodGltZWxpbmUtPm5hbWUpOwo+ICAgfQo+ICAgCj4g K3N0cnVjdCBpOTE1X2dlbV90aW1lbGluZSAqCj4gK2k5MTVfZ2VtX3RpbWVsaW5lX2NyZWF0ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgY29uc3QgY2hhciAqbmFtZSkKPiArewo+ICsJ c3RydWN0IGk5MTVfZ2VtX3RpbWVsaW5lICp0aW1lbGluZTsKPiArCWludCBlcnI7Cj4gKwo+ICsJ dGltZWxpbmUgPSBremFsbG9jKHNpemVvZigqdGltZWxpbmUpLCBHRlBfS0VSTkVMKTsKPiArCWlm ICghdGltZWxpbmUpCj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJZXJyID0g aTkxNV9nZW1fdGltZWxpbmVfaW5pdChpOTE1LCB0aW1lbGluZSwgbmFtZSk7Cj4gKwlpZiAoZXJy KSB7Cj4gKwkJa2ZyZWUodGltZWxpbmUpOwo+ICsJCXJldHVybiBFUlJfUFRSKGVycik7Cj4gKwl9 Cj4gKwo+ICsJcmV0dXJuIHRpbWVsaW5lOwo+ICt9Cj4gKwo+ICt2b2lkIGk5MTVfZ2VtX3RpbWVs aW5lX2ZyZWUoc3RydWN0IGk5MTVfZ2VtX3RpbWVsaW5lICp0aW1lbGluZSkKPiArewo+ICsJaWYg KCF0aW1lbGluZSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaTkxNV9nZW1fdGltZWxpbmVfZmluaSh0 aW1lbGluZSk7Cj4gKwlrZnJlZSh0aW1lbGluZSk7Cj4gK30KPiArCj4gICAjaWYgSVNfRU5BQkxF RChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCj4gICAjaW5jbHVkZSAic2VsZnRlc3RzL21vY2tf dGltZWxpbmUuYyIKPiAgICNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV9nZW1fdGltZWxpbmUuYyIK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGltZWxpbmUuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5lLmgKPiBpbmRleCA2ZTgyMTE5 ZTJjZDguLjc4MGVkNDY1YzRmYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV90aW1lbGluZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dGltZWxpbmUuaAo+IEBAIC05MCw2ICs5MCwxMCBAQCBpbnQgaTkxNV9nZW1fdGltZWxpbmVfaW5p dF9fZ2xvYmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKPiAgIHZvaWQgaTkxNV9n ZW1fdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ICAgdm9p ZCBpOTE1X2dlbV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X2dlbV90aW1lbGluZSAqdGwpOwo+ ICAgCj4gK3N0cnVjdCBpOTE1X2dlbV90aW1lbGluZSAqCj4gK2k5MTVfZ2VtX3RpbWVsaW5lX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgY29uc3QgY2hhciAqbmFtZSk7Cj4g K3ZvaWQgaTkxNV9nZW1fdGltZWxpbmVfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fdGltZWxpbmUgKnRp bWVsaW5lKTsKPiArCj4gICBzdGF0aWMgaW5saW5lIGludCBfX2ludGVsX3RpbWVsaW5lX3N5bmNf c2V0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCj4gICAJCQkJCSAgICB1NjQgY29udGV4dCwg dTMyIHNlcW5vKQo+ICAgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gaW5kZXgg NTM0YjhkNjg0Y2VmLi4zNTg2OWFmZGIxOTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl cXVlc3QuYwo+IEBAIC02MzksNiArNjM5LDcgQEAgaTkxNV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAg IAlpZiAoSVNfRVJSKHJpbmcpKQo+ICAgCQlyZXR1cm4gRVJSX0NBU1QocmluZyk7Cj4gICAJR0VN X0JVR19PTighcmluZyk7Cj4gKwlHRU1fQlVHX09OKHJpbmctPnRpbWVsaW5lID09IGVuZ2luZS0+ dGltZWxpbmUpOwoKSXQncyBkZWJ1Z2dpbmcgb25seSBidXQgZmVlbHMgb3V0IG9mIHBsYWNlLiBQ dXQgaXQgaW4gCmludGVsX2VuZ2luZV9jcmVhdGVfcmluZz8KCj4gICAKPiAgIAlyZXQgPSByZXNl cnZlX2VuZ2luZShlbmdpbmUpOwo+ICAgCWlmIChyZXQpCj4gQEAgLTcxMSw4ICs3MTIsMTIgQEAg aTkxNV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIAkJfQo+ICAgCX0KPiAgIAo+IC0JcnEtPnRpbWVs aW5lID0gaTkxNV9nZW1fY29udGV4dF9sb29rdXBfdGltZWxpbmUoY3R4LCBlbmdpbmUpOwo+IC0J R0VNX0JVR19PTihycS0+dGltZWxpbmUgPT0gZW5naW5lLT50aW1lbGluZSk7Cj4gKwlJTklUX0xJ U1RfSEVBRCgmcnEtPmFjdGl2ZV9saXN0KTsKPiArCXJxLT5pOTE1ID0gaTkxNTsKPiArCXJxLT5l bmdpbmUgPSBlbmdpbmU7Cj4gKwlycS0+Y3R4ID0gY3R4Owo+ICsJcnEtPnJpbmcgPSByaW5nOwo+ ICsJcnEtPnRpbWVsaW5lID0gcmluZy0+dGltZWxpbmU7Cj4gICAKPiAgIAlzcGluX2xvY2tfaW5p dCgmcnEtPmxvY2spOwo+ICAgCWRtYV9mZW5jZV9pbml0KCZycS0+ZmVuY2UsCj4gQEAgLTcyNywx MiArNzMyLDYgQEAgaTkxNV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKPiAgIAo+ICAgCWk5MTVfc2NoZWRf bm9kZV9pbml0KCZycS0+c2NoZWQpOwo+ICAgCj4gLQlJTklUX0xJU1RfSEVBRCgmcnEtPmFjdGl2 ZV9saXN0KTsKPiAtCXJxLT5pOTE1ID0gaTkxNTsKPiAtCXJxLT5lbmdpbmUgPSBlbmdpbmU7Cj4g LQlycS0+Y3R4ID0gY3R4Owo+IC0JcnEtPnJpbmcgPSByaW5nOwo+IC0KPiAgIAkvKiBObyB6YWxs b2MsIG11c3QgY2xlYXIgd2hhdCB3ZSBuZWVkIGJ5IGhhbmQgKi8KPiAgIAlycS0+Z2xvYmFsX3Nl cW5vID0gMDsKPiAgIAlycS0+c2lnbmFsaW5nLndhaXQuc2Vxbm8gPSAwOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggYTU1YTg0OWI4MWI2Li5kNDRhOGViODMz NzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IEBAIC00NTMs NyArNDUzLDggQEAgdm9pZCBpbnRlbF9lbmdpbmVfaW5pdF9nbG9iYWxfc2Vxbm8oc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgc2Vxbm8pCj4gICAKPiAgIHN0YXRpYyB2b2lkIGlu dGVsX2VuZ2luZV9pbml0X3RpbWVsaW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK PiAgIHsKPiAtCWVuZ2luZS0+dGltZWxpbmUgPSAmZW5naW5lLT5pOTE1LT5ndC5nbG9iYWxfdGlt ZWxpbmUuZW5naW5lW2VuZ2luZS0+aWRdOwo+ICsJZW5naW5lLT50aW1lbGluZSA9Cj4gKwkJJmVu Z2luZS0+aTkxNS0+Z3QuZXhlY3V0aW9uX3RpbWVsaW5lLmVuZ2luZVtlbmdpbmUtPmlkXTsKPiAg IH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgaW50ZWxfZW5naW5lX2luaXRfYmF0Y2hfcG9vbChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBp bmRleCAwMjk5MDFhOGZhMzguLmZkMzUzOTAzNDY2NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCj4gQEAgLTI1ODQsNyArMjU4NCw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRl eHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgIAkJZ290 byBlcnJvcl9kZXJlZl9vYmo7Cj4gICAJfQo+ICAgCj4gLQlyaW5nID0gaW50ZWxfZW5naW5lX2Ny ZWF0ZV9yaW5nKGVuZ2luZSwgY3R4LT5yaW5nX3NpemUpOwo+ICsJcmluZyA9IGludGVsX2VuZ2lu ZV9jcmVhdGVfcmluZyhlbmdpbmUsIGN0eC0+dGltZWxpbmUsIGN0eC0+cmluZ19zaXplKTsKPiAg IAlpZiAoSVNfRVJSKHJpbmcpKSB7Cj4gICAJCXJldCA9IFBUUl9FUlIocmluZyk7Cj4gICAJCWdv dG8gZXJyb3JfZGVyZWZfb2JqOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMKPiBpbmRleCAzNDUzZTc0MjZmNmIuLjQ1NTlmZTFjNTc0ZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMTExNyw3ICsxMTE3LDkgQEAgaW50ZWxf cmluZ19jcmVhdGVfdm1hKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHNp emUpCj4gICB9Cj4gICAKPiAgIHN0cnVjdCBpbnRlbF9yaW5nICoKPiAtaW50ZWxfZW5naW5lX2Ny ZWF0ZV9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHNpemUpCj4gK2lu dGVsX2VuZ2luZV9jcmVhdGVfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4g KwkJCSBzdHJ1Y3QgaTkxNV9nZW1fdGltZWxpbmUgKnRpbWVsaW5lLAo+ICsJCQkgaW50IHNpemUp Cj4gICB7Cj4gICAJc3RydWN0IGludGVsX3JpbmcgKnJpbmc7Cj4gICAJc3RydWN0IGk5MTVfdm1h ICp2bWE7Cj4gQEAgLTExMzEsNiArMTEzMyw3IEBAIGludGVsX2VuZ2luZV9jcmVhdGVfcmluZyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBzaXplKQo+ICAgCQlyZXR1cm4gRVJS X1BUUigtRU5PTUVNKTsKPiAgIAo+ICAgCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5yZXF1ZXN0X2xp c3QpOwo+ICsJcmluZy0+dGltZWxpbmUgPSAmdGltZWxpbmUtPmVuZ2luZVtlbmdpbmUtPmlkXTsK PiAgIAo+ICAgCXJpbmctPnNpemUgPSBzaXplOwo+ICAgCS8qIFdvcmthcm91bmQgYW4gZXJyYXR1 bSBvbiB0aGUgaTgzMCB3aGljaCBjYXVzZXMgYSBoYW5nIGlmCj4gQEAgLTEzMjcsNyArMTMzMCw5 IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCj4gICAJaWYgKGVycikKPiAgIAkJZ290byBlcnI7Cj4gICAKPiAtCXJpbmcg PSBpbnRlbF9lbmdpbmVfY3JlYXRlX3JpbmcoZW5naW5lLCAzMiAqIFBBR0VfU0laRSk7Cj4gKwly aW5nID0gaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKGVuZ2luZSwKPiArCQkJCQkmZW5naW5lLT5p OTE1LT5ndC5sZWdhY3lfdGltZWxpbmUsCj4gKwkJCQkJMzIgKiBQQUdFX1NJWkUpOwo+ICAgCWlm IChJU19FUlIocmluZykpIHsKPiAgIAkJZXJyID0gUFRSX0VSUihyaW5nKTsKPiAgIAkJZ290byBl cnI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IGZkNWE2 MzYzYWIxZC4uM2Y2MzQ5OTczNGY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaAo+IEBAIC0xMjgsNiArMTI4LDcgQEAgc3RydWN0IGludGVsX3Jpbmcgewo+ICAg CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAgCXZvaWQgKnZhZGRyOwo+ICAgCj4gKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgcmVxdWVzdF9s aXN0Owo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgbGl2ZTsKPiAgIAo+IEBAIC03NjcsNyArNzY4LDkg QEAgaW50ZWxfd3JpdGVfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LCBpbnQgcmVnLCB1MzIgdmFsdWUpCj4gICAjZGVmaW5lIENOTF9IV1NfQ1NCX1dSSVRFX0lOREVY CQkweDJmCj4gICAKPiAgIHN0cnVjdCBpbnRlbF9yaW5nICoKPiAtaW50ZWxfZW5naW5lX2NyZWF0 ZV9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHNpemUpOwo+ICtpbnRl bF9lbmdpbmVfY3JlYXRlX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICsJ CQkgc3RydWN0IGk5MTVfZ2VtX3RpbWVsaW5lICp0aW1lbGluZSwKPiArCQkJIGludCBzaXplKTsK PiAgIGludCBpbnRlbF9yaW5nX3BpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZywKPiAgIAkJICAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gICAJCSAgIHVuc2lnbmVkIGludCBvZmZz ZXRfYmlhcyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX2VuZ2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZW5naW5l LmMKPiBpbmRleCA3NGE4ODkxMzYyM2YuLjZhMTBjYjczNGMzNSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19lbmdpbmUuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jCj4gQEAgLTE3Myw4ICsxNzMsNyBA QCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICptb2NrX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwKPiAgIAllbmdpbmUtPmJhc2UuZW1pdF9icmVhZGNydW1iID0gbW9ja19lbWl0 X2JyZWFkY3J1bWI7Cj4gICAJZW5naW5lLT5iYXNlLnN1Ym1pdF9yZXF1ZXN0ID0gbW9ja19zdWJt aXRfcmVxdWVzdDsKPiAgIAo+IC0JZW5naW5lLT5iYXNlLnRpbWVsaW5lID0KPiAtCQkmaTkxNS0+ Z3QuZ2xvYmFsX3RpbWVsaW5lLmVuZ2luZVtlbmdpbmUtPmJhc2UuaWRdOwo+ICsJaW50ZWxfZW5n aW5lX2luaXRfdGltZWxpbmUoJmVuZ2luZS0+YmFzZSk7Cj4gICAKPiAgIAlpbnRlbF9lbmdpbmVf aW5pdF9icmVhZGNydW1icygmZW5naW5lLT5iYXNlKTsKPiAgIAllbmdpbmUtPmJhc2UuYnJlYWRj cnVtYnMubW9jayA9IHRydWU7IC8qIHByZXZlbnQgdG91Y2hpbmcgSFcgZm9yIGlycXMgKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rldmlj ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4g aW5kZXggOTMzNWIwOWQ4YjA0Li5lZDFiZjNiMmU0N2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gQEAgLTczLDcgKzczLDkg QEAgc3RhdGljIHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAgCj4gICAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gICAJbW9j a19maW5pX2dndHQoaTkxNSk7Cj4gLQlpOTE1X2dlbV90aW1lbGluZV9maW5pKCZpOTE1LT5ndC5n bG9iYWxfdGltZWxpbmUpOwo+ICsJaTkxNV9nZW1fdGltZWxpbmVfZmluaSgmaTkxNS0+Z3QubGVn YWN5X3RpbWVsaW5lKTsKPiArCWk5MTVfZ2VtX3RpbWVsaW5lX2ZpbmkoJmk5MTUtPmd0LmV4ZWN1 dGlvbl90aW1lbGluZSk7Cj4gKwlXQVJOX09OKCFsaXN0X2VtcHR5KCZpOTE1LT5ndC50aW1lbGlu ZXMpKTsKPiAgIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICAgCj4g ICAJZGVzdHJveV93b3JrcXVldWUoaTkxNS0+d3EpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9tb2NrX2d0dC5jCj4gaW5kZXggZTk2ODczZjk2MTE2Li4zNmMxMTIwODg5NDAgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ3R0LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYwo+IEBAIC03Niw3 ICs3Niw2IEBAIG1vY2tfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gICAK PiAgIAlJTklUX0xJU1RfSEVBRCgmcHBndHQtPmJhc2UuZ2xvYmFsX2xpbmspOwo+ICAgCWRybV9t bV9pbml0KCZwcGd0dC0+YmFzZS5tbSwgMCwgcHBndHQtPmJhc2UudG90YWwpOwo+IC0JaTkxNV9n ZW1fdGltZWxpbmVfaW5pdChpOTE1LCAmcHBndHQtPmJhc2UudGltZWxpbmUsIG5hbWUpOwo+ICAg Cj4gICAJcHBndHQtPmJhc2UuY2xlYXJfcmFuZ2UgPSBub3BfY2xlYXJfcmFuZ2U7Cj4gICAJcHBn dHQtPmJhc2UuaW5zZXJ0X3BhZ2UgPSBtb2NrX2luc2VydF9wYWdlOwo+IAoKTG9va3MgZ29vZCBp biBwcmluY2lwbGUsIG9ubHkgc29tZSBkZXRhaWxzIHRvIHRhbGsgYWJvdXQuCgpSZWdhcmRzLAoK VHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=