From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH v7 1/8] drm/i915: Convert requests to use struct fence Date: Thu, 21 Apr 2016 11:26:55 +0100 Message-ID: <5718AAEF.20001@Intel.com> References: <1461172195-3959-1-git-send-email-John.C.Harrison@Intel.com> <1461172195-3959-2-git-send-email-John.C.Harrison@Intel.com> <57187BF3.6050304@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 9179E6E25A for ; Thu, 21 Apr 2016 10:26:57 +0000 (UTC) In-Reply-To: <57187BF3.6050304@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , Intel-GFX@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMjEvMDQvMjAxNiAwODowNiwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6Cj4gT3AgMjAtMDQt MTYgb20gMTk6MDkgc2NocmVlZiBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tOgo+PiBGcm9tOiBK b2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Pgo+PiBUaGVyZSBpcyBh IGNvbnN0cnVjdCBpbiB0aGUgbGludXgga2VybmVsIGNhbGxlZCAnc3RydWN0IGZlbmNlJyB0aGF0 IGlzCj4+IGludGVuZGVkIHRvIGtlZXAgdHJhY2sgb2Ygd29yayB0aGF0IGlzIGV4ZWN1dGVkIG9u IGhhcmR3YXJlLiBJLmUuIGl0Cj4+IHNvbHZlcyB0aGUgYmFzaWMgcHJvYmxlbSB0aGF0IHRoZSBk cml2ZXJzICdzdHJ1Y3QKPj4gZHJtX2k5MTVfZ2VtX3JlcXVlc3QnIGlzIHRyeWluZyB0byBhZGRy ZXNzLiBUaGUgcmVxdWVzdCBzdHJ1Y3R1cmUgZG9lcwo+PiBxdWl0ZSBhIGxvdCBtb3JlIHRoYW4g c2ltcGx5IHRyYWNrIHRoZSBleGVjdXRpb24gcHJvZ3Jlc3Mgc28gaXMgdmVyeQo+PiBkZWZpbml0 ZWx5IHN0aWxsIHJlcXVpcmVkLiBIb3dldmVyLCB0aGUgYmFzaWMgY29tcGxldGlvbiBzdGF0dXMg c2lkZQo+PiBjb3VsZCBiZSB1cGRhdGVkIHRvIHVzZSB0aGUgcmVhZHkgbWFkZSBmZW5jZSBpbXBs ZW1lbnRhdGlvbiBhbmQgZ2Fpbgo+PiBhbGwgdGhlIGFkdmFudGFnZXMgdGhhdCBwcm92aWRlcy4K Pj4KPj4gVGhpcyBwYXRjaCBtYWtlcyB0aGUgZmlyc3Qgc3RlcCBvZiBpbnRlZ3JhdGluZyBhIHN0 cnVjdCBmZW5jZSBpbnRvIHRoZQo+PiByZXF1ZXN0LiBJdCByZXBsYWNlcyB0aGUgZXhwbGljaXQg cmVmZXJlbmNlIGNvdW50IHdpdGggdGhhdCBvZiB0aGUKPj4gZmVuY2UuIEl0IGFsc28gcmVwbGFj ZXMgdGhlICdpcyBjb21wbGV0ZWQnIHRlc3Qgd2l0aCB0aGUgZmVuY2Uncwo+PiBlcXVpdmFsZW50 LiBDdXJyZW50bHksIHRoYXQgc2ltcGx5IGNoYWlucyBvbiB0byB0aGUgb3JpZ2luYWwgcmVxdWVz dAo+PiBpbXBsZW1lbnRhdGlvbi4gQSBmdXR1cmUgcGF0Y2ggd2lsbCBpbXByb3ZlIHRoaXMuCj4+ Cj4+IHYzOiBVcGRhdGVkIGFmdGVyIHJldmlldyBjb21tZW50cyBieSBUdnJ0a28gVXJzdWxpbi4g QWRkZWQgZmVuY2UKPj4gY29udGV4dC9zZXFubyBwYWlyIHRvIHRoZSBkZWJ1Z2ZzIHJlcXVlc3Qg aW5mby4gUmVuYW1lZCBmZW5jZSAnZHJpdmVyCj4+IG5hbWUnIHRvIGp1c3QgJ2k5MTUnLiBSZW1v dmVkIEJVR19PTnMuCj4+Cj4+IHY1OiBDaGFuZ2VkIHNlcW5vIGZvcm1hdCBpbiBkZWJ1Z2ZzIHRv ICV4IHJhdGhlciB0aGFuICV1IGFzIHRoYXQgaXMKPj4gYXBwYXJlbnRseSB0aGUgcHJlZmVycmVk IGFwcGVhcmFuY2UuIExpbmUgd3JhcHBlZCBzb21lIGxvbmcgbGluZXMgdG8KPj4ga2VlcCB0aGUg c3R5bGUgY2hlY2tlciBoYXBweS4KPj4KPj4gdjY6IFVwZGF0ZWQgdG8gbmV3ZXIgbmlndGhseSBh bmQgcmVzb2x2ZWQgY29uZmxpY3RzLiBUaGUgYmlnZ2VzdCBpc3N1ZQo+PiB3YXMgd2l0aCB0aGUg cmUtd29ya2VkIGJ1c3kgc3BpbiBwcmVjdXJzb3IgdG8gd2FpdGluZyBvbiBhIHJlcXVlc3QuIElu Cj4+IHBhcnRpY3VsYXIsIHRoZSBhZGRpdGlvbiBvZiBhICdyZXF1ZXN0X3N0YXJ0ZWQnIGhlbHBl ciBmdW5jdGlvbi4gVGhpcwo+PiBoYXMgbm8gY29ycmVzcG9uZGluZyBjb25jZXB0IHdpdGhpbiB0 aGUgZmVuY2UgZnJhbWV3b3JrLiBIb3dldmVyLCBpdAo+PiBpcyBvbmx5IGV2ZXIgdXNlZCBpbiBv bmUgcGxhY2UgYW5kIHRoZSB3aG9sZSBwb2ludCBvZiB0aGF0IHBsYWNlIGlzIHRvCj4+IGFsd2F5 cyBkaXJlY3RseSByZWFkIHRoZSBzZXFubyBmb3IgYWJzb2x1dGVseSBsb3dlc3QgbGF0ZW5jeSBw b3NzaWJsZS4KPj4gU28gdGhlIHNpbXBsZSBzb2x1dGlvbiBpcyB0byBqdXN0IG1ha2UgdGhlIHNl cW5vIHRlc3QgZXhwbGljaXQgYXQgdGhhdAo+PiBwb2ludCBub3cgcmF0aGVyIHRoYW4gbGF0ZXIg aW4gdGhlIHNlcmllcyAoaXQgd2FzIHByZXZpb3VzbHkgYmVpbmcKPj4gZG9uZSBhbnl3YXkgd2hl biBmZW5jZXMgYmVjb21lIGludGVycnVwdCBkcml2ZW4pLgo+Pgo+PiB2NzogUmViYXNlZCB0byBu ZXdlciBuaWdodGx5IC0gbG90cyBvZiByaW5nIC0+IGVuZ2luZSByZW5hbWluZyBhbmQKPj4gaW50 ZXJmYWNlIGNoYW5nZSB0byBnZXRfc2Vxbm8oKS4KPj4KPj4gRm9yOiBWSVotNTE5MAo+PiBTaWdu ZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+PiBD YzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4gUmV2aWV3ZWQt Ynk6IEplc3NlIEJhcm5lcyA8amJhcm5lc0B2aXJ0dW91c2dlZWsub3JnPgo+PiAtLS0KPj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgfCAgNSArKy0KPj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCA1MSArKysrKysrKysrLS0tLS0t LS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDcy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jICAgICAgICB8ICAxICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgfCAgMSArCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIHwgIDMgKysKPj4gICA2IGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMo KyksIDM5IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ PiBpbmRleCAyZDExYjQ5Li42OTE3NTE1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwo+PiBAQCAtNzA3LDExICs3MDcsMTIgQEAgc3RhdGljIGludCBpOTE1X2dlbV9yZXF1 ZXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+PiAgIAkJCXRhc2sgPSBO VUxMOwo+PiAgIAkJCWlmIChyZXEtPnBpZCkKPj4gICAJCQkJdGFzayA9IHBpZF90YXNrKHJlcS0+ cGlkLCBQSURUWVBFX1BJRCk7Cj4+IC0JCQlzZXFfcHJpbnRmKG0sICIgICAgJXggQCAlZDogJXMg WyVkXVxuIiwKPj4gKwkJCXNlcV9wcmludGYobSwgIiAgICAleCBAICVkOiAlcyBbJWRdLCBmZW5j ZSA9ICV4OiV4XG4iLAo+PiAgIAkJCQkgICByZXEtPnNlcW5vLAo+PiAgIAkJCQkgICAoaW50KSAo amlmZmllcyAtIHJlcS0+ZW1pdHRlZF9qaWZmaWVzKSwKPj4gICAJCQkJICAgdGFzayA/IHRhc2st PmNvbW0gOiAiPHVua25vd24+IiwKPj4gLQkJCQkgICB0YXNrID8gdGFzay0+cGlkIDogLTEpOwo+ PiArCQkJCSAgIHRhc2sgPyB0YXNrLT5waWQgOiAtMSwKPj4gKwkJCQkgICByZXEtPmZlbmNlLmNv bnRleHQsIHJlcS0+ZmVuY2Uuc2Vxbm8pOwo+PiAgIAkJCXJjdV9yZWFkX3VubG9jaygpOwo+PiAg IAkJfQo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5kZXggZDFlNmU1OC4uZTVm NDlmMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBAIC01NCw2ICs1NCw3IEBA Cj4+ICAgI2luY2x1ZGUgPGxpbnV4L3BtX3Fvcy5oPgo+PiAgICNpbmNsdWRlICJpbnRlbF9ndWMu aCIKPj4gICAjaW5jbHVkZSAiaW50ZWxfZHBsbF9tZ3IuaCIKPj4gKyNpbmNsdWRlIDxsaW51eC9m ZW5jZS5oPgo+PiAgIAo+PiAgIC8qIEdlbmVyYWwgY3VzdG9taXphdGlvbjoKPj4gICAgKi8KPj4g QEAgLTIyNDIsNyArMjI0MywxNyBAQCB2b2lkIGk5MTVfZ2VtX3RyYWNrX2ZiKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvbGQsCj4+ICAgICogaW5pdGlhbCByZWZlcmVuY2UgdGFrZW4gdXNp bmcga3JlZl9pbml0Cj4+ICAgICovCj4+ICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsK Pj4gLQlzdHJ1Y3Qga3JlZiByZWY7Cj4+ICsJLyoqCj4+ICsJICogVW5kZXJseWluZyBvYmplY3Qg Zm9yIGltcGxlbWVudGluZyB0aGUgc2lnbmFsL3dhaXQgc3R1ZmYuCj4+ICsJICogTkI6IE5ldmVy IGNhbGwgZmVuY2VfbGF0ZXIoKSBvciByZXR1cm4gdGhpcyBmZW5jZSBvYmplY3QgdG8gdXNlcgo+ PiArCSAqIGxhbmQhIER1ZSB0byBsYXp5IGFsbG9jYXRpb24sIHNjaGVkdWxlciByZS1vcmRlcmlu ZywgcHJlLWVtcHRpb24sCj4+ICsJICogZXRjLiwgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIGF0IGFs bCBhYm91dCB0aGUgdmFsaWRpdHkgb3IKPj4gKwkgKiBzZXF1ZW50aWFsaXR5IG9mIHRoZSBmZW5j ZSdzIHNlcW5vISBJdCBpcyBhbHNvIHVuc2FmZSB0byBsZXQKPj4gKwkgKiBhbnl0aGluZyBvdXRz aWRlIG9mIHRoZSBpOTE1IGRyaXZlciBnZXQgaG9sZCBvZiB0aGUgZmVuY2Ugb2JqZWN0Cj4+ICsJ ICogYXMgdGhlIGNsZWFuIHVwIHdoZW4gZGVjcmVtZW50aW5nIHRoZSByZWZlcmVuY2UgY291bnQg cmVxdWlyZXMKPj4gKwkgKiBob2xkaW5nIHRoZSBkcml2ZXIgbXV0ZXggbG9jay4KPj4gKwkgKi8K Pj4gKwlzdHJ1Y3QgZmVuY2UgZmVuY2U7Cj4+ICAgCj4+ICAgCS8qKiBPbiBXaGljaCByaW5nIHRo aXMgcmVxdWVzdCB3YXMgZ2VuZXJhdGVkICovCj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1Owo+PiBAQCAtMjMyOCw3ICsyMzM5LDEzIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqIF9fbXVzdF9jaGVjawo+PiAgIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+PiAgIAkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgpOwo+PiAgIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9jYW5jZWwoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEpOwo+PiAtdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0 IGtyZWYgKnJlcV9yZWYpOwo+PiArCj4+ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fcmVx dWVzdF9jb21wbGV0ZWQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4+ICsJCQkJ CSAgICAgIGJvb2wgbGF6eV9jb2hlcmVuY3kpCj4+ICt7Cj4+ICsJcmV0dXJuIGZlbmNlX2lzX3Np Z25hbGVkKCZyZXEtPmZlbmNlKTsKPj4gK30KPj4gKwo+PiAgIGludCBpOTE1X2dlbV9yZXF1ZXN0 X2FkZF90b19jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4+ICAgCQkJ CSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4+ICAgCj4+IEBAIC0yMzQ4LDcgKzIzNjUsNyBA QCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqCj4+ICAgaTkxNV9n ZW1fcmVxdWVzdF9yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+ ICAgewo+PiAgIAlpZiAocmVxKQo+PiAtCQlrcmVmX2dldCgmcmVxLT5yZWYpOwo+PiArCQlmZW5j ZV9nZXQoJnJlcS0+ZmVuY2UpOwo+PiAgIAlyZXR1cm4gcmVxOwo+PiAgIH0KPj4gICAKPj4gQEAg LTIzNTYsNyArMjM3Myw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZAo+PiAgIGk5MTVfZ2VtX3JlcXVl c3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+ICAgewo+ PiAgIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJnJlcS0+ZW5naW5lLT5kZXYtPnN0cnVjdF9t dXRleCkpOwo+PiAtCWtyZWZfcHV0KCZyZXEtPnJlZiwgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKTsK Pj4gKwlmZW5jZV9wdXQoJnJlcS0+ZmVuY2UpOwo+PiAgIH0KPj4gICAKPj4gICBzdGF0aWMgaW5s aW5lIHZvaWQKPj4gQEAgLTIzNjgsNyArMjM4NSw3IEBAIGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZl cmVuY2VfX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+PiAgIAkJ cmV0dXJuOwo+PiAgIAo+PiAgIAlkZXYgPSByZXEtPmVuZ2luZS0+ZGV2Owo+PiAtCWlmIChrcmVm X3B1dF9tdXRleCgmcmVxLT5yZWYsIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZSwgJmRldi0+c3RydWN0 X211dGV4KSkKPj4gKwlpZiAoa3JlZl9wdXRfbXV0ZXgoJnJlcS0+ZmVuY2UucmVmY291bnQsIGZl bmNlX3JlbGVhc2UsICZkZXYtPnN0cnVjdF9tdXRleCkpCj4+ICAgCQltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKPj4gICB9Cj4+ICAgCj4+IEBAIC0yMzg1LDEyICsyNDAyLDYgQEAg c3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqKnBkc3QsCj4+ICAgfQo+PiAgIAo+PiAgIC8qCj4+IC0gKiBYWFg6IGk5 MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkIHNob3VsZCBiZSBoZXJlIGJ1dCBjdXJyZW50bHkgbmVl ZHMgdGhlCj4+IC0gKiBkZWZpbml0aW9uIG9mIGk5MTVfc2Vxbm9fcGFzc2VkKCkgd2hpY2ggaXMg YmVsb3cuIEl0IHdpbGwgYmUgbW92ZWQgaW4KPj4gLSAqIGEgbGF0ZXIgcGF0Y2ggd2hlbiB0aGUg Y2FsbCB0byBpOTE1X3NlcW5vX3Bhc3NlZCgpIGlzIG9ic29sZXRlZC4uLgo+PiAtICovCj4+IC0K Pj4gLS8qCj4+ICAgICogQSBjb21tYW5kIHRoYXQgcmVxdWlyZXMgc3BlY2lhbCBoYW5kbGluZyBi eSB0aGUgY29tbWFuZCBwYXJzZXIuCj4+ICAgICovCj4+ICAgc3RydWN0IGRybV9pOTE1X2NtZF9k ZXNjcmlwdG9yIHsKPj4gQEAgLTMwNTUsMjQgKzMwNjYsNiBAQCBpOTE1X3NlcW5vX3Bhc3NlZCh1 aW50MzJfdCBzZXExLCB1aW50MzJfdCBzZXEyKQo+PiAgIAlyZXR1cm4gKGludDMyX3QpKHNlcTEg LSBzZXEyKSA+PSAwOwo+PiAgIH0KPj4gICAKPj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X2dl bV9yZXF1ZXN0X3N0YXJ0ZWQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4+IC0J CQkJCSAgIGJvb2wgbGF6eV9jb2hlcmVuY3kpCj4+IC17Cj4+IC0JaWYgKCFsYXp5X2NvaGVyZW5j eSAmJiByZXEtPmVuZ2luZS0+aXJxX3NlcW5vX2JhcnJpZXIpCj4+IC0JCXJlcS0+ZW5naW5lLT5p cnFfc2Vxbm9fYmFycmllcihyZXEtPmVuZ2luZSk7Cj4+IC0JcmV0dXJuIGk5MTVfc2Vxbm9fcGFz c2VkKHJlcS0+ZW5naW5lLT5nZXRfc2Vxbm8ocmVxLT5lbmdpbmUpLAo+PiAtCQkJCSByZXEtPnBy ZXZpb3VzX3NlcW5vKTsKPj4gLX0KPj4gLQo+PiAtc3RhdGljIGlubGluZSBib29sIGk5MTVfZ2Vt X3JlcXVlc3RfY29tcGxldGVkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+PiAt CQkJCQkgICAgICBib29sIGxhenlfY29oZXJlbmN5KQo+PiAtewo+PiAtCWlmICghbGF6eV9jb2hl cmVuY3kgJiYgcmVxLT5lbmdpbmUtPmlycV9zZXFub19iYXJyaWVyKQo+PiAtCQlyZXEtPmVuZ2lu ZS0+aXJxX3NlcW5vX2JhcnJpZXIocmVxLT5lbmdpbmUpOwo+PiAtCXJldHVybiBpOTE1X3NlcW5v X3Bhc3NlZChyZXEtPmVuZ2luZS0+Z2V0X3NlcW5vKHJlcS0+ZW5naW5lKSwKPj4gLQkJCQkgcmVx LT5zZXFubyk7Cj4+IC19Cj4+IC0KPj4gICBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2dldF9z ZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgKnNlcW5vKTsKPj4gICBpbnQgX19tdXN0 X2NoZWNrIGk5MTVfZ2VtX3NldF9zZXFubyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2Vx bm8pOwo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPj4gaW5kZXggZWJlZjAzYi4uMWFk ZDI5YTkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+PiBAQCAtMTE4Myw2ICsxMTgz LDcgQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLCBpbnQgc3RhdGUpCj4+ICAgewo+PiAgIAl1bnNpZ25lZCBsb25nIHRpbWVv dXQ7Cj4+ICAgCXVuc2lnbmVkIGNwdTsKPj4gKwl1aW50MzJfdCBzZXFubzsKPj4gICAKPj4gICAJ LyogV2hlbiB3YWl0aW5nIGZvciBoaWdoIGZyZXF1ZW5jeSByZXF1ZXN0cywgZS5nLiBkdXJpbmcg c3luY2hyb25vdXMKPj4gICAJICogcmVuZGVyaW5nIHNwbGl0IGJldHdlZW4gdGhlIENQVSBhbmQg R1BVLCB0aGUgZmluaXRlIGFtb3VudCBvZiB0aW1lCj4+IEBAIC0xMTk4LDEyICsxMTk5LDE0IEBA IHN0YXRpYyBpbnQgX19pOTE1X3NwaW5fcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwgaW50IHN0YXRlKQo+PiAgIAkJcmV0dXJuIC1FQlVTWTsKPj4gICAKPj4gICAJLyog T25seSBzcGluIGlmIHdlIGtub3cgdGhlIEdQVSBpcyBwcm9jZXNzaW5nIHRoaXMgcmVxdWVzdCAq Lwo+PiAtCWlmICghaTkxNV9nZW1fcmVxdWVzdF9zdGFydGVkKHJlcSwgdHJ1ZSkpCj4+ICsJc2Vx bm8gPSByZXEtPmVuZ2luZS0+Z2V0X3NlcW5vKHJlcS0+ZW5naW5lKTsKPj4gKwlpZiAoIWk5MTVf c2Vxbm9fcGFzc2VkKHNlcW5vLCByZXEtPnByZXZpb3VzX3NlcW5vKSkKPj4gICAJCXJldHVybiAt RUFHQUlOOwo+PiAgIAo+PiAgIAl0aW1lb3V0ID0gbG9jYWxfY2xvY2tfdXMoJmNwdSkgKyA1Owo+ PiAgIAl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Cj4+IC0JCWlmIChpOTE1X2dlbV9yZXF1ZXN0 X2NvbXBsZXRlZChyZXEsIHRydWUpKQo+PiArCQlzZXFubyA9IHJlcS0+ZW5naW5lLT5nZXRfc2Vx bm8ocmVxLT5lbmdpbmUpOwo+PiArCQlpZiAoaTkxNV9zZXFub19wYXNzZWQoc2Vxbm8sIHJlcS0+ c2Vxbm8pKQo+PiAgIAkJCXJldHVybiAwOwo+PiAgIAo+PiAgIAkJaWYgKHNpZ25hbF9wZW5kaW5n X3N0YXRlKHN0YXRlLCBjdXJyZW50KSkKPj4gQEAgLTEyMTUsNyArMTIxOCwxMCBAQCBzdGF0aWMg aW50IF9faTkxNV9zcGluX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs IGludCBzdGF0ZSkKPj4gICAJCWNwdV9yZWxheF9sb3dsYXRlbmN5KCk7Cj4+ICAgCX0KPj4gICAK Pj4gLQlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxLCBmYWxzZSkpCj4+ICsJaWYg KHJlcS0+ZW5naW5lLT5pcnFfc2Vxbm9fYmFycmllcikKPj4gKwkJcmVxLT5lbmdpbmUtPmlycV9z ZXFub19iYXJyaWVyKHJlcS0+ZW5naW5lKTsKPj4gKwlzZXFubyA9IHJlcS0+ZW5naW5lLT5nZXRf c2Vxbm8ocmVxLT5lbmdpbmUpOwo+PiArCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVx LT5zZXFubykpCj4+ICAgCQlyZXR1cm4gMDsKPj4gICAKPj4gICAJcmV0dXJuIC1FQUdBSU47Cj4+ IEBAIC0yNzIxLDEyICsyNzI3LDE0IEBAIHN0YXRpYyB2b2lkIGk5MTVfc2V0X3Jlc2V0X3N0YXR1 cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4+ICAgCX0KPj4gICB9Cj4+ICAg Cj4+IC12b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikKPj4g K3N0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5j ZSkKPj4gICB7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWlu ZXJfb2YocmVxX3JlZiwKPj4gLQkJCQkJCSB0eXBlb2YoKnJlcSksIHJlZik7Cj4+ICsJc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVxX2ZlbmNlLAo+PiAr CQkJCQkJIHR5cGVvZigqcmVxKSwgZmVuY2UpOwo+PiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4ID0gcmVxLT5jdHg7Cj4+ICAgCj4+ICsJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyZXEt PmVuZ2luZS0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKPj4gKwo+PiAgIAlpZiAocmVxLT5maWxlX3By aXYpCj4+ICAgCQlpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChyZXEpOwo+PiAg IAo+Pgo+IElzIGttZW1fY2FjaGVfZnJlZSByY3Utc2FmZT8KPgo+IEkgZG9uJ3QgdGhpbmsgaXQg aXMsIGFuZCB0aGF0IHdvdWxkIGNhdXNlIHNvbWUgaGFyZCB0byBkZWJ1ZyBpc3N1ZXMuCj4KPiBB ZGRpbmcgU0xBQl9ERVNUUk9ZX0JZX1JDVSB0byBmbGFncyB3b3VsZG4ndCBkbyB3aGF0IHlvdSB3 b3VsZCBleHBlY3QgaGVyZSwKPiBzbyB5b3VyIGJlc3QgYmV0IHdvdWxkIGJlIHRvIGRvIGEgY2Fs bF9yY3UoJmZlbmNlLT5yY3UsIHdyYXBwZXJfZm9yX2ttZW1fY2FjaGVfZnJlZSk7Cj4KPiB+TWFh cnRlbgpJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbj8gQXJlIHlvdSByZWZlcnJpbmcg dG8gdGhlIAprbWVtX2NhY2hlX2ZyZWUgdGhhdCBmcmVlcyB0aGUgcmVxdWVzdCBvYmplY3QgYXQg dGhlIGVuZCBvZiB0aGUgYWJvdmUgCmZ1bmN0aW9uICh3aGljaCB5b3UgaGF2ZSBhY3R1YWxseSBk ZWxldGVkIGZyb20geW91ciByZXBseSk/IE9yIGFyZSB5b3UgCnJlZmVycmluZyB0byBzb21ldGhp bmcgaW5zaWRlIHRoZSBpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudCgpIApjYWxs IHRoYXQgeW91ciBjb21tZW50cyBzZWVtIHRvIGJlIGluIHJlcGx5IHRvPwoKSWYgeW91IG1lYW4g dGhlIGZyZWUgb2YgdGhlIHJlcXVlc3QgaXRzZWxmLCB0aGVuIHRoZSBvbmx5IHVzYWdlIG9mIHRo YXQgCnBhcnRpY3VsYXIga21lbV9jYWNoZSBhcmUgd2l0aGluIHRoZSBkcml2ZXIgbXV0ZXggbG9j ay4gRG9lcyB0aGF0IG5vdCAKbWFrZSBpdCBzYWZlPyBJZiB5b3UgbWVhbiB0aGUgY2xpZW50IHJl bW92ZSwgdGhlbiB3aGVyZSBpcyB0aGUgCmttZW1fY2FjaGVfZnJlZSBpbiB0aGF0IGNhbGwgcGF0 aD8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=