From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 12/20] drm/i915: Add a delay between interrupt and inspecting the final seqno (ilk) Date: Fri, 1 Jul 2016 15:27:40 +0100 Message-ID: <57767DDC.1090006@linux.intel.com> References: <1467372140-30422-1-git-send-email-chris@chris-wilson.co.uk> <1467372140-30422-13-git-send-email-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 ESMTP id 89B016EAA6 for ; Fri, 1 Jul 2016 14:27:42 +0000 (UTC) In-Reply-To: <1467372140-30422-13-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 Ck9uIDAxLzA3LzE2IDEyOjIyLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gT24gSXJvbmxha2UsIHRo ZXJlIGlzIG5vIGNvbW1hbmQgbm9yIHJlZ2lzdGVyIHRvIGVuc3VyZSB0aGF0IHRoZSB3cml0ZQo+ IGZyb20gYSBNSV9TVE9SRSBjb21tYW5kIGlzIGNvbXBsZXRlZCAoYW5kIGNvaGVyZW50IG9uIHRo ZSBDUFUpIGJlZm9yZSB0aGUKPiBjb21tYW5kIHBhcnNlciBjb250aW51ZXMuIFRoaXMgbWVhbnMg dGhhdCB0aGUgb3JkZXJpbmcgYmV0d2VlbiB0aGUgc2Vxbm8KCkNvbW1hbmQgKnN0cmVhbWVyKiBJ IHRoaW5rLiAoTW9yZSBpbnN0YW5jZXMgYmVsb3cuKQoKPiB3cml0ZSBhbmQgdGhlIHN1YnNlcXVl bnQgdXNlciBpbnRlcnJ1cHQgaXMgdW5kZWZpbmVkIChsaWtlIGdlbjYrKS4gU28gdG8KPiBlbnN1 cmUgdGhhdCB0aGUgc2Vxbm8gd3JpdGUgaXMgY29tcGxldGVkIGFmdGVyIHRoZSBmaW5hbCB1c2Vy IGludGVycnVwdAo+IHdlIG5lZWQgdG8gZGVsYXkgdGhlIHJlYWQgc3VmZmljaWVudGx5IHRvIGFs bG93IHRoZSB3cml0ZSB0byBjb21wbGV0ZS4KPiBUaGlzIGRlbGF5IGlzIHVuZGVmaW5lZCBieSB0 aGUgYnNwZWMsIGFuZCBlbXBpcmljYWxseSByZXF1aXJlcyA3NXVzIGV2ZW4KPiB0aG91Z2ggYSBy ZWdpc3RlciByZWFkIGNvbWJpbmVkIHdpdGggYSBjbGZsdXNoIGlzIGxlc3MgdGhhbiA1MDBucy4g SGVuY2UsCj4gdGhlIGRlbGF5IGlzIGR1ZSB0byBhbiBvbi1jaGlwIGJ1ZmZlciByYXRoZXIgdGhh biB0aGUgbGF0ZW5jeSBvZiB0aGUgd3JpdGUKPiB0byBtZW1vcnkuCj4KPiBOb3RlIHRoYXQgdGhl IHJlbmRlciByaW5nIGNvbnRyb2xzIHRoaXMgYnkgZmlsbGluZyB0aGUgUElQRV9DT05UUk9MIGZp Zm8KPiB3aXRoIHN0YWxsaW5nIGNvbW1hbmRzIHRoYXQgZm9yY2UgdGhlIGVhcmxpZXN0IHBpcGUt Y29udHJvbCB3aXRoIHRoZQo+IHNlcW5vIHRvIGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIGNvbW1h bmQgcGFyc2VyIGNvbnRpbnVlcy4gR2l2ZW4gdGhhdCB3ZQo+IG5lZWQgYSBiYXJyaWVyIG9wZXJh dGlvbiBmb3IgQlNELCB3ZSBtYXkgYXMgd2VsbCBmb3JnbyB0aGUgZXh0cmEKPiBwZXItYmF0Y2gg bGF0ZW5jeSBieSB1c2luZyBhIGNvbW1vbiBwZXItaW50ZXJydXB0IGJhcnJpZXIuCj4KPiBTdHVk eWluZyB0aGUgaW1wYWN0IG9mIGFkZGluZyB0aGUgdXNsZWVwIHNob3dzIHRoYXQgaW4gYm90aCBz ZXF1ZW5jZXMgb2YKPiBhbmQgaW5kaXZpZHVhbCBzeW5jaHJvbm91cyBuby1vcCBiYXRjaGVzIGlz IG5lZ2xpZ2libGUgZm9yIHRoZSBtZWRpYQo+IGVuZ2luZSAod2hlcmUgdGhlIHdyaXRlIG5vdyBp cyB1bm9yZGVyZWQgd2l0aCB0aGUgaW50ZXJydXB0KS4gQ29udmVydGluZwo+IHRoZSByZW5kZXIg ZW5naW5lIG92ZXIgZnJvbSB0aGUgY3VycmVudCBnbHV0dG9uIG9mIHBpZS1jb250cm9scyBvdmVy IHRvCj4gdGhlIHBlci1pbnRlcnJ1cHQgZGVsYXlzIHNwZWVkcyB1cCBib3RoIHRoZSBzZXF1ZW50 aWFsIGFuZCBpbmRpdmlkdWFsCj4gc3luY2hyb25vdXMgbm8tb3BzIGJ5IDIwJSBhbmQgNjAlLCBy ZXNwZWN0aXZlbHkuIFRoaXMgc3BlZWQgdXAgaG9sZHMKPiBldmVuIHdoZW4gbG9va2luZyBhdCB0 aGUgdGhyb3VnaHB1dCBvZiBzbWFsbCBjb3BpZXMgKDRLaUItPjRNaUIpLCBib3RoCj4gc2VyaWFs IGFuZCBzeW5jaHJvbm91cywgYnkgYWJvdXQgMjAlLiBUaGlzIGlzIGJlY2F1c2UgZGVzcGl0ZSBh ZGRpbmcgYQo+IHNpZ25pZmljYW50IGRlbGF5IHRvIHRoZSBpbnRlcnJ1cHQsIGluIGFsbCBsaWtl bGlob29kIHdlIHdpbGwgc2VlIHRoZQo+IHNlcW5vIHdyaXRlIHdpdGhvdXQgaGF2aW5nIHRvIGFw cGx5IHRoZSBiYXJyaWVyIChvbmx5IGluIHRoZSByYXJlIGNvcm5lcgo+IGNhc2VzIHdoZXJlIHRo ZSB3cml0ZSBpcyBkZWxheWVkIG9uIHRoZSBsYXN0IHJlcXVpcmVkIGlzIHRoZSBkZWxheQo+IG5l Y2Vzc2FyeSkuCj4KPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9OTQzMDcKPiBUZXN0Y2FzZTogaWd0L2dlbV9zeW5jICNpbGsKPiBTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICB8IDEwICsrLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8IDg2ICsrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp LCA3MyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IGluZGV4IDdjMzc5 YWZjZmYyZi4uYmU3ZjBiOWIyN2UwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gQEAg LTEyNjQsOCArMTI2NCw3IEBAIHN0YXRpYyB2b2lkIGl2eWJyaWRnZV9wYXJpdHlfZXJyb3JfaXJx X2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2Cj4gICBzdGF0aWMgdm9p ZCBpbGtfZ3RfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAgCQkJICAgICAgIHUzMiBndF9paXIpCj4gICB7Cj4gLQlpZiAoZ3RfaWlyICYKPiAtCSAgICAo R1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIHwgR1RfUkVOREVSX1BJUEVDVExfTk9USUZZX0lOVEVS UlVQVCkpCj4gKwlpZiAoZ3RfaWlyICYgR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUKQo+ICAgCQlu b3RpZnlfcmluZygmZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKTsKPiAgIAlpZiAoZ3RfaWlyICYgSUxL X0JTRF9VU0VSX0lOVEVSUlVQVCkKPiAgIAkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5lbmdpbmVb VkNTXSk7Cj4gQEAgLTEyNzQsOSArMTI3Myw3IEBAIHN0YXRpYyB2b2lkIGlsa19ndF9pcnFfaGFu ZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICBzdGF0aWMgdm9pZCBz bmJfZ3RfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAg CQkJICAgICAgIHUzMiBndF9paXIpCj4gICB7Cj4gLQo+IC0JaWYgKGd0X2lpciAmCj4gLQkgICAg KEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCB8IEdUX1JFTkRFUl9QSVBFQ1RMX05PVElGWV9JTlRF UlJVUFQpKQo+ICsJaWYgKGd0X2lpciAmIEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCkKPiAgIAkJ bm90aWZ5X3JpbmcoJmRldl9wcml2LT5lbmdpbmVbUkNTXSk7Cj4gICAJaWYgKGd0X2lpciAmIEdU X0JTRF9VU0VSX0lOVEVSUlVQVCkKPiAgIAkJbm90aWZ5X3JpbmcoJmRldl9wcml2LT5lbmdpbmVb VkNTXSk7Cj4gQEAgLTM2MDEsOCArMzU5OCw3IEBAIHN0YXRpYyB2b2lkIGdlbjVfZ3RfaXJxX3Bv c3RpbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4KPiAgIAlndF9pcnFzIHw9IEdUX1JF TkRFUl9VU0VSX0lOVEVSUlVQVDsKPiAgIAlpZiAoSVNfR0VONShkZXYpKSB7Cj4gLQkJZ3RfaXJx cyB8PSBHVF9SRU5ERVJfUElQRUNUTF9OT1RJRllfSU5URVJSVVBUIHwKPiAtCQkJICAgSUxLX0JT RF9VU0VSX0lOVEVSUlVQVDsKPiArCQlndF9pcnFzIHw9IElMS19CU0RfVVNFUl9JTlRFUlJVUFQ7 Cj4gICAJfSBlbHNlIHsKPiAgIAkJZ3RfaXJxcyB8PSBHVF9CTFRfVVNFUl9JTlRFUlJVUFQgfCBH VF9CU0RfVVNFUl9JTlRFUlJVUFQ7Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKPiBpbmRleCBmODliMTc5N2I0NjUuLmQ5MTllNzJmMTMyOCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMTU5Myw2NyArMTU5Mywy MiBAQCBnZW42X3Jpbmdfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKndhaXRlcl9y ZXEsCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiAtI2RlZmluZSBQSVBFX0NPTlRST0xfRkxVU0go cmluZ19fLCBhZGRyX18pCQkJCQlcCj4gLWRvIHsJCQkJCQkJCQlcCj4gLQlpbnRlbF9yaW5nX2Vt aXQocmluZ19fLCBHRlhfT1BfUElQRV9DT05UUk9MKDQpIHwgUElQRV9DT05UUk9MX1FXX1dSSVRF IHwJCVwKPiAtCQkgUElQRV9DT05UUk9MX0RFUFRIX1NUQUxMKTsJCQkJXAo+IC0JaW50ZWxfcmlu Z19lbWl0KHJpbmdfXywgKGFkZHJfXykgfCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVCk7CQkJXAo+ IC0JaW50ZWxfcmluZ19lbWl0KHJpbmdfXywgMCk7CQkJCQkJCVwKPiAtCWludGVsX3JpbmdfZW1p dChyaW5nX18sIDApOwkJCQkJCQlcCj4gLX0gd2hpbGUgKDApCj4gLQo+IC1zdGF0aWMgaW50Cj4g LXBjX3JlbmRlcl9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK PiArc3RhdGljIHZvaWQKPiArZ2VuNV9zZXFub19iYXJyaWVyKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcpCj4gICB7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEt PmVuZ2luZTsKPiAtCXUzMiBhZGRyID0gZW5naW5lLT5zdGF0dXNfcGFnZS5nZnhfYWRkciArCj4g LQkJKEk5MTVfR0VNX0hXU19JTkRFWCA8PCBNSV9TVE9SRV9EV09SRF9JTkRFWF9TSElGVCk7Cj4g LQl1MzIgc2NyYXRjaF9hZGRyID0gYWRkcjsKPiAtCWludCByZXQ7Cj4gLQo+IC0JLyogRm9yIEly b25sYWtlLCBNSV9VU0VSX0lOVEVSUlVQVCB3YXMgZGVwcmVjYXRlZCBhbmQgYXBwYXJlbnRseQo+ IC0JICogaW5jb2hlcmVudCB3aXRoIHdyaXRlcyB0byBtZW1vcnksIGkuZS4gY29tcGxldGVseSBm dWJhciwKPiAtCSAqIHNvIHdlIG5lZWQgdG8gdXNlIFBJUEVfTk9USUZZIGluc3RlYWQuCj4gKwkv KiBNSV9TVE9SRSBhcmUgaW50ZXJuYWxseSBidWZmZXJlZCBieSB0aGUgR1BVIGFuZCBub3QgZmx1 c2hlZAo+ICsJICogZWl0aGVyIGJ5IE1JX0ZMVVNIIG9yIFN5bmNGbHVzaCBvciBhbnkgb3RoZXIg Y29tYmluYXRpb24gb2YKPiArCSAqIE1JIGNvbW1hbmRzLgo+ICAgCSAqCj4gLQkgKiBIb3dldmVy LCB3ZSBhbHNvIG5lZWQgdG8gd29ya2Fyb3VuZCB0aGUgcXdvcmQgd3JpdGUKPiAtCSAqIGluY29o ZXJlbmNlIGJ5IGZsdXNoaW5nIHRoZSA2IFBJUEVfTk9USUZZIGJ1ZmZlcnMgb3V0IHRvCj4gLQkg KiBtZW1vcnkgYmVmb3JlIHJlcXVlc3RpbmcgYW4gaW50ZXJydXB0Lgo+ICsJICogIk9ubHkgdGhl IHN1Ym1pc3Npb24gb2YgdGhlIHN0b3JlIG9wZXJhdGlvbiBpcyBndWFyYW50ZWVkLgo+ICsJICog VGhlIHdyaXRlIHJlc3VsdCB3aWxsIGJlIGNvbXBsZXRlIChjb2hlcmVudCkgc29tZSB0aW1lIGxh dGVyCj4gKwkgKiAodGhpcyBpcyBwcmFjdGljYWxseSBhIGZpbml0ZSBwZXJpb2QgYnV0IHRoZXJl IGlzIG5vIGd1YXJhbnRlZWQKPiArCSAqIGxhdGVuY3kpLiIKPiArCSAqCj4gKwkgKiBFbXBpcmlj YWxseSwgd2Ugb2JzZXJ2ZSB0aGF0IHdlIG5lZWQgYSBkZWxheSBvZiBhdCBsZWFzdCA3NXVzIHRv Cj4gKwkgKiBiZSBzdXJlIHRoYXQgdGhlIHNlcW5vIHdyaXRlIGlzIHZpc2libGUgYnkgdGhlIENQ VS4KPiAgIAkgKi8KPiAtCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCAzMik7Cj4gLQlpZiAo cmV0KQo+IC0JCXJldHVybiByZXQ7Cj4gLQo+IC0JaW50ZWxfcmluZ19lbWl0KGVuZ2luZSwKPiAt CQkJR0ZYX09QX1BJUEVfQ09OVFJPTCg0KSB8Cj4gLQkJCVBJUEVfQ09OVFJPTF9RV19XUklURSB8 Cj4gLQkJCVBJUEVfQ09OVFJPTF9XUklURV9GTFVTSCB8Cj4gLQkJCVBJUEVfQ09OVFJPTF9URVhU VVJFX0NBQ0hFX0lOVkFMSURBVEUpOwo+IC0JaW50ZWxfcmluZ19lbWl0KGVuZ2luZSwgYWRkciB8 IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUKTsKPiAtCWludGVsX3JpbmdfZW1pdChlbmdpbmUsIHJl cS0+c2Vxbm8pOwo+IC0JaW50ZWxfcmluZ19lbWl0KGVuZ2luZSwgMCk7Cj4gLQlQSVBFX0NPTlRS T0xfRkxVU0goZW5naW5lLCBzY3JhdGNoX2FkZHIpOwo+IC0Jc2NyYXRjaF9hZGRyICs9IDIgKiBD QUNIRUxJTkVfQllURVM7IC8qIHdyaXRlIHRvIHNlcGFyYXRlIGNhY2hlbGluZXMgKi8KPiAtCVBJ UEVfQ09OVFJPTF9GTFVTSChlbmdpbmUsIHNjcmF0Y2hfYWRkcik7Cj4gLQlzY3JhdGNoX2FkZHIg Kz0gMiAqIENBQ0hFTElORV9CWVRFUzsKPiAtCVBJUEVfQ09OVFJPTF9GTFVTSChlbmdpbmUsIHNj cmF0Y2hfYWRkcik7Cj4gLQlzY3JhdGNoX2FkZHIgKz0gMiAqIENBQ0hFTElORV9CWVRFUzsKPiAt CVBJUEVfQ09OVFJPTF9GTFVTSChlbmdpbmUsIHNjcmF0Y2hfYWRkcik7Cj4gLQlzY3JhdGNoX2Fk ZHIgKz0gMiAqIENBQ0hFTElORV9CWVRFUzsKPiAtCVBJUEVfQ09OVFJPTF9GTFVTSChlbmdpbmUs IHNjcmF0Y2hfYWRkcik7Cj4gLQlzY3JhdGNoX2FkZHIgKz0gMiAqIENBQ0hFTElORV9CWVRFUzsK PiAtCVBJUEVfQ09OVFJPTF9GTFVTSChlbmdpbmUsIHNjcmF0Y2hfYWRkcik7Cj4gLQo+IC0JaW50 ZWxfcmluZ19lbWl0KGVuZ2luZSwKPiAtCQkJR0ZYX09QX1BJUEVfQ09OVFJPTCg0KSB8IFBJUEVf Q09OVFJPTF9RV19XUklURSB8Cj4gLQkJCVBJUEVfQ09OVFJPTF9XUklURV9GTFVTSCB8Cj4gLQkJ CVBJUEVfQ09OVFJPTF9URVhUVVJFX0NBQ0hFX0lOVkFMSURBVEUgfAo+IC0JCQlQSVBFX0NPTlRS T0xfTk9USUZZKTsKPiAtCWludGVsX3JpbmdfZW1pdChlbmdpbmUsIGFkZHIgfCBQSVBFX0NPTlRS T0xfR0xPQkFMX0dUVCk7Cj4gLQlpbnRlbF9yaW5nX2VtaXQoZW5naW5lLCByZXEtPnNlcW5vKTsK PiAtCWludGVsX3JpbmdfZW1pdChlbmdpbmUsIDApOwo+IC0JX19pbnRlbF9yaW5nX2FkdmFuY2Uo ZW5naW5lKTsKPiAtCj4gLQlyZXR1cm4gMDsKPiArCXVzbGVlcF9yYW5nZSgxMjUsIDI1MCk7Cj4g ICB9Cj4KPiAgIHN0YXRpYyB2b2lkCj4gQEAgLTI5NjQsNiArMjkxOSw3IEBAIHN0YXRpYyB2b2lk IGludGVsX3JpbmdfaW5pdF9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAgCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA1KSB7Cj4gICAJCWVuZ2luZS0+ aXJxX2dldCA9IGdlbjVfcmluZ19nZXRfaXJxOwo+ICAgCQllbmdpbmUtPmlycV9wdXQgPSBnZW41 X3JpbmdfcHV0X2lycTsKPiArCQllbmdpbmUtPmlycV9zZXFub19iYXJyaWVyID0gZ2VuNV9zZXFu b19iYXJyaWVyOwo+ICAgCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAzKSB7Cj4g ICAJCWVuZ2luZS0+aXJxX2dldCA9IGk5eHhfcmluZ19nZXRfaXJxOwo+ICAgCQllbmdpbmUtPmly cV9wdXQgPSBpOXh4X3JpbmdfcHV0X2lycTsKPiBAQCAtMzAxMiwxMSArMjk2OCwxMiBAQCBpbnQg aW50ZWxfaW5pdF9yZW5kZXJfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPgo+ ICAgCWludGVsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZGV2X3ByaXYsIGVuZ2luZSk7Cj4KPiArCWVu Z2luZS0+aXJxX2VuYWJsZV9tYXNrID0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUOwo+ICsKPiAg IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4KSB7Cj4gICAJCWVuZ2luZS0+aW5pdF9jb250 ZXh0ID0gaW50ZWxfcmNzX2N0eF9pbml0Owo+ICAgCQllbmdpbmUtPmFkZF9yZXF1ZXN0ID0gZ2Vu OF9yZW5kZXJfYWRkX3JlcXVlc3Q7Cj4gICAJCWVuZ2luZS0+Zmx1c2ggPSBnZW44X3JlbmRlcl9y aW5nX2ZsdXNoOwo+IC0JCWVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrID0gR1RfUkVOREVSX1VTRVJf SU5URVJSVVBUOwo+ICAgCQlpZiAoaTkxNV9zZW1hcGhvcmVfaXNfZW5hYmxlZChkZXZfcHJpdikp Cj4gICAJCQllbmdpbmUtPnNlbWFwaG9yZS5zaWduYWwgPSBnZW44X3Jjc19zaWduYWw7Cj4gICAJ fSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDYpIHsKPiBAQCAtMzAyNCwxMiArMjk4 MSw4IEBAIGludCBpbnRlbF9pbml0X3JlbmRlcl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgCQllbmdpbmUtPmZsdXNoID0gZ2VuN19yZW5kZXJfcmluZ19mbHVzaDsKPiAg IAkJaWYgKElTX0dFTjYoZGV2X3ByaXYpKQo+ICAgCQkJZW5naW5lLT5mbHVzaCA9IGdlbjZfcmVu ZGVyX3JpbmdfZmx1c2g7Cj4gLQkJZW5naW5lLT5pcnFfZW5hYmxlX21hc2sgPSBHVF9SRU5ERVJf VVNFUl9JTlRFUlJVUFQ7Cj4gICAJfSBlbHNlIGlmIChJU19HRU41KGRldl9wcml2KSkgewo+IC0J CWVuZ2luZS0+YWRkX3JlcXVlc3QgPSBwY19yZW5kZXJfYWRkX3JlcXVlc3Q7Cj4gICAJCWVuZ2lu ZS0+Zmx1c2ggPSBnZW40X3JlbmRlcl9yaW5nX2ZsdXNoOwo+IC0JCWVuZ2luZS0+aXJxX2VuYWJs ZV9tYXNrID0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIHwKPiAtCQkJCQlHVF9SRU5ERVJfUElQ RUNUTF9OT1RJRllfSU5URVJSVVBUOwo+ICAgCX0gZWxzZSB7Cj4gICAJCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpIDwgNCkKPiAgIAkJCWVuZ2luZS0+Zmx1c2ggPSBnZW4yX3JlbmRlcl9yaW5nX2Zs dXNoOwo+IEBAIC0zMDQ4LDcgKzMwMDEsNyBAQCBpbnQgaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19i dWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4g cmV0Owo+Cj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA1KSB7Cj4gKwlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA2KSB7Cj4gICAJCXJldCA9IGludGVsX2luaXRfcGlwZV9jb250cm9s KGVuZ2luZSwgNDA5Nik7Cj4gICAJCWlmIChyZXQpCj4gICAJCQlyZXR1cm4gcmV0Owo+IEBAIC0z MDg3LDkgKzMwNDAsMTAgQEAgaW50IGludGVsX2luaXRfYnNkX3JpbmdfYnVmZmVyKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gICAJfSBlbHNlIHsKPiAgIAkJZW5naW5lLT5tbWlvX2Jhc2UgPSBC U0RfUklOR19CQVNFOwo+ICAgCQllbmdpbmUtPmZsdXNoID0gYnNkX3JpbmdfZmx1c2g7Cj4gLQkJ aWYgKElTX0dFTjUoZGV2X3ByaXYpKQo+ICsJCWlmIChJU19HRU41KGRldl9wcml2KSkgewo+ICAg CQkJZW5naW5lLT5pcnFfZW5hYmxlX21hc2sgPSBJTEtfQlNEX1VTRVJfSU5URVJSVVBUOwo+IC0J CWVsc2UKPiArCQkJZW5naW5lLT5pcnFfc2Vxbm9fYmFycmllciA9IGdlbjVfc2Vxbm9fYmFycmll cjsKClRoaXMgaXMgYWxyZWFkeSBzZXQgaW4gY29tbW9uIHNldHVwIEFGQUlDUy4KCj4gKwkJfSBl bHNlCj4gICAJCQllbmdpbmUtPmlycV9lbmFibGVfbWFzayA9IEk5MTVfQlNEX1VTRVJfSU5URVJS VVBUOwo+ICAgCX0KPgo+CgpPdGhlcndpc2UgbG9va3MgZ29vZCB0byBtZS4KClJldmlld2VkLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywKClR2 cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK