From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: Store the plane's index Date: Fri, 27 May 2016 08:44:39 +0200 Message-ID: <20160527064439.GU27098@phenom.ffwll.local> References: <20160526112720.GM4329@intel.com> <1464265038-17908-1-git-send-email-chris@chris-wilson.co.uk> <20160526151740.GI10094@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id C0E656EB89 for ; Fri, 27 May 2016 06:44:40 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id e3so11817103wme.2 for ; Thu, 26 May 2016 23:44:40 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20160526151740.GI10094@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matt Roper Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXkgMjYsIDIwMTYgYXQgMDg6MTc6NDBBTSAtMDcwMCwgTWF0dCBSb3BlciB3cm90 ZToKPiBPbiBUaHUsIE1heSAyNiwgMjAxNiBhdCAwMToxNzoxOFBNICswMTAwLCBDaHJpcyBXaWxz b24gd3JvdGU6Cj4gPiBDdXJyZW50bHkgdGhlIHBsYW5lJ3MgaW5kZXggaXMgZGV0ZXJtaW5lZCBi eSB3YWxraW5nIHRoZSBsaXN0IG9mIGFsbAo+ID4gcGxhbmVzIGluIHRoZSBtb2RlIGFuZCBmaW5k aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGF0IHBsYW5lIGluIHRoZSBsaXN0LiBBCj4gPiBsaW5lYXIg d2FsaywgZXNwZWNpYWxseSBhIGxpbmVhciB3YWxrIHdpdGhpbiBhIGxpbmVhciB3YWxrIGFzIGZy ZXF1ZW50bHkKPiA+IGNvbmNlaXZlZCBieSBpOTE1LmtvIFtPKE5eMildIHF1aWNrbHkgY29tZXMg dG8gZG9taW5hdGUgcHJvZmlsZXMuCj4gPiAKPiA+IFRoZSBwbGFuZSdzIGluZGV4IGlzIGNvbnN0 YW50IGZvciBhcyBsb25nIGFzIG5vIGVhcmxpZXIgcGxhbmVzIGFyZQo+ID4gcmVtb3ZlZCBmcm9t IHRoZSBsaXN0LiBGb3IgbW9zdCBkcml2ZXJzLCBwbGFuZXMgYXJlIHN0YXRpYywgZGV0ZXJtaW5l ZAo+ID4gYXQgYm9vdCBhbmQgdGhlbiB1bnRvdWNoZWQgdW50aWwgc2h1dGRvd24uIFN0b3Jpbmcg dGhlIGluZGV4IHVwb24KPiA+IGNvbnN0cnVjdGlvbiBhbmQgdGhlbiBvbmx5IHdhbGtpbmcgdGhl IHRhaWwgdXBvbiByZW1vdmFsIHNob3VsZAo+ID4gYmUgYSBtYWpvciBpbXByb3ZlbWVudCBmb3Ig YWxsLgo+ID4gCj4gPiB2MjogQ29udmVydCBkcm1fY3J0Y19pbmRleCgpIGFuZCBkcm1fZW5jb2Rl cl9pbmRleCgpIGFzIHdlbGwuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiBDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVs LmNvbT4KPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IExvb2tzIGdvb2QgdG8gbWUuCj4gCj4gUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIg PG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gCj4gWW91ciBjb21taXQgbWVzc2FnZSBzYXlz ICJtb3N0IGRyaXZlcnMiIGhhdmUgc3RhdGljCj4gcGxhbmVzL2NydGNzL2VuY29kZXJzLi4uYXJl IHRoZXJlIGFueSBkcml2ZXJzIHRvZGF5IHRoYXQgdGhpcyBpc24ndCB0cnVlCj4gZm9yPyAgV291 bGRuJ3Qgd2UgbmVlZCBzcGVjaWFsIGxvY2tpbmcgZm9yIGxpc3QgaXRlcmF0aW9uIGluIGdlbmVy YWwKPiBsaWtlIHdlIGhhdmUgZm9yIGNvbm5lY3RvcnMgaWYgdGhhdCB3YXMgdGhlIGNhc2U/Cgpz L21vc3QvYWxsLy4gRFJNIG9ubHkgYWxsb3dzIGhvdHBsdWdnaW5nIG9mIGNvbm5lY3RvcnMsIG5v dGhpbmcgZWxzZS4KVGhhdCBhbHNvIG1lYW5zIHdlIGRvbid0IG5lZWQgYW55IHNwZWNpYWwgY29k ZSBpbiBkcm1fKl9jbGVhbnVwLiBDYW4geW91CnBscyByZXNwaW4gb25jZSBtb3JlPyBNb3JlIG5p dHBpY2tzIGJlbG93LgoKPiAKPiAKPiBNYXR0Cj4gCj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vZHJtX2NydGMuYyB8IDk4ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiA+ICBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICB8IDI1ICsrKysrKysrKyst LQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0p Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPiBpbmRleCBkMmE2ZDk1OGNhNzYuLjRkOTc4MDk5YWEx NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ID4gQEAgLTY5Miw3ICs2OTIsNyBAQCBpbnQgZHJt X2NydGNfaW5pdF93aXRoX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gPiAgCWNydGMtPmJhc2UucHJvcGVydGllcyA9ICZjcnRjLT5wcm9wZXJ0 aWVzOwo+ID4gIAo+ID4gIAlsaXN0X2FkZF90YWlsKCZjcnRjLT5oZWFkLCAmY29uZmlnLT5jcnRj X2xpc3QpOwo+ID4gLQljb25maWctPm51bV9jcnRjKys7Cj4gPiArCWNydGMtPmluZGV4ID0gY29u ZmlnLT5udW1fY3J0YysrOwo+ID4gIAo+ID4gIAljcnRjLT5wcmltYXJ5ID0gcHJpbWFyeTsKPiA+ ICAJY3J0Yy0+Y3Vyc29yID0gY3Vyc29yOwo+ID4gQEAgLTcyMSw2ICs3MjEsMTEgQEAgRVhQT1JU X1NZTUJPTChkcm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKTsKPiA+ICB2b2lkIGRybV9jcnRjX2Ns ZWFudXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICsJc3RydWN0IGRybV9jcnRjICpvdGhlcjsKPiA+ICsK PiA+ICsJb3RoZXIgPSBsaXN0X25leHRfZW50cnkoY3J0YywgaGVhZCk7Cj4gPiArCWxpc3RfZm9y X2VhY2hfZW50cnlfZnJvbShvdGhlciwgJmRldi0+bW9kZV9jb25maWcuY3J0Y19saXN0LCBoZWFk KQo+ID4gKwkJb3RoZXItPmluZGV4LS07Cj4gPiAgCj4gPiAgCWtmcmVlKGNydGMtPmdhbW1hX3N0 b3JlKTsKPiA+ICAJY3J0Yy0+Z2FtbWFfc3RvcmUgPSBOVUxMOwo+ID4gQEAgLTc0MSwyOSArNzQ2 LDYgQEAgdm9pZCBkcm1fY3J0Y19jbGVhbnVwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICB9 Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19jbGVhbnVwKTsKPiA+ICAKPiA+IC0vKioKPiA+ IC0gKiBkcm1fY3J0Y19pbmRleCAtIGZpbmQgdGhlIGluZGV4IG9mIGEgcmVnaXN0ZXJlZCBDUlRD Cj4gPiAtICogQGNydGM6IENSVEMgdG8gZmluZCBpbmRleCBmb3IKPiA+IC0gKgo+ID4gLSAqIEdp dmVuIGEgcmVnaXN0ZXJlZCBDUlRDLCByZXR1cm4gdGhlIGluZGV4IG9mIHRoYXQgQ1JUQyB3aXRo aW4gYSBEUk0KPiA+IC0gKiBkZXZpY2UncyBsaXN0IG9mIENSVENzLgo+ID4gLSAqLwoKUGxlYXNl IG1vdmUga2VybmVsZG9jLCB0b28uCgpUaGFua3MsIERhbmllbAoKPiA+IC11bnNpZ25lZCBpbnQg ZHJtX2NydGNfaW5kZXgoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gLXsKPiA+IC0JdW5zaWdu ZWQgaW50IGluZGV4ID0gMDsKPiA+IC0Jc3RydWN0IGRybV9jcnRjICp0bXA7Cj4gPiAtCj4gPiAt CWRybV9mb3JfZWFjaF9jcnRjKHRtcCwgY3J0Yy0+ZGV2KSB7Cj4gPiAtCQlpZiAodG1wID09IGNy dGMpCj4gPiAtCQkJcmV0dXJuIGluZGV4Owo+ID4gLQo+ID4gLQkJaW5kZXgrKzsKPiA+IC0JfQo+ ID4gLQo+ID4gLQlCVUcoKTsKPiA+IC19Cj4gPiAtRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19pbmRl eCk7Cj4gPiAtCj4gPiAgLyoKPiA+ICAgKiBkcm1fbW9kZV9yZW1vdmUgLSByZW1vdmUgYW5kIGZy ZWUgYSBtb2RlCj4gPiAgICogQGNvbm5lY3RvcjogY29ubmVjdG9yIGxpc3QgdG8gbW9kaWZ5Cj4g PiBAQCAtMTE2Niw3ICsxMTQ4LDcgQEAgaW50IGRybV9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiA+ICAJfQo+ID4gIAo+ID4gIAlsaXN0X2FkZF90YWlsKCZlbmNvZGVyLT5o ZWFkLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QpOwo+ID4gLQlkZXYtPm1vZGVfY29u ZmlnLm51bV9lbmNvZGVyKys7Cj4gPiArCWVuY29kZXItPmluZGV4ID0gZGV2LT5tb2RlX2NvbmZp Zy5udW1fZW5jb2RlcisrOwo+ID4gIAo+ID4gIG91dF9wdXQ6Cj4gPiAgCWlmIChyZXQpCj4gPiBA QCAtMTE4MCwyOSArMTE2Miw2IEBAIG91dF91bmxvY2s6Cj4gPiAgRVhQT1JUX1NZTUJPTChkcm1f ZW5jb2Rlcl9pbml0KTsKPiA+ICAKPiA+ICAvKioKPiA+IC0gKiBkcm1fZW5jb2Rlcl9pbmRleCAt IGZpbmQgdGhlIGluZGV4IG9mIGEgcmVnaXN0ZXJlZCBlbmNvZGVyCj4gPiAtICogQGVuY29kZXI6 IGVuY29kZXIgdG8gZmluZCBpbmRleCBmb3IKPiA+IC0gKgo+ID4gLSAqIEdpdmVuIGEgcmVnaXN0 ZXJlZCBlbmNvZGVyLCByZXR1cm4gdGhlIGluZGV4IG9mIHRoYXQgZW5jb2RlciB3aXRoaW4gYSBE Uk0KPiA+IC0gKiBkZXZpY2UncyBsaXN0IG9mIGVuY29kZXJzLgo+ID4gLSAqLwo+ID4gLXVuc2ln bmVkIGludCBkcm1fZW5jb2Rlcl9pbmRleChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g PiAtewo+ID4gLQl1bnNpZ25lZCBpbnQgaW5kZXggPSAwOwo+ID4gLQlzdHJ1Y3QgZHJtX2VuY29k ZXIgKnRtcDsKPiA+IC0KPiA+IC0JZHJtX2Zvcl9lYWNoX2VuY29kZXIodG1wLCBlbmNvZGVyLT5k ZXYpIHsKPiA+IC0JCWlmICh0bXAgPT0gZW5jb2RlcikKPiA+IC0JCQlyZXR1cm4gaW5kZXg7Cj4g PiAtCj4gPiAtCQlpbmRleCsrOwo+ID4gLQl9Cj4gPiAtCj4gPiAtCUJVRygpOwo+ID4gLX0KPiA+ IC1FWFBPUlRfU1lNQk9MKGRybV9lbmNvZGVyX2luZGV4KTsKPiA+IC0KPiA+IC0vKioKPiA+ICAg KiBkcm1fZW5jb2Rlcl9jbGVhbnVwIC0gY2xlYW5zIHVwIGFuIGluaXRpYWxpc2VkIGVuY29kZXIK PiA+ICAgKiBAZW5jb2RlcjogZW5jb2RlciB0byBjbGVhbnVwCj4gPiAgICoKPiA+IEBAIC0xMjEx LDYgKzExNzAsMTEgQEAgRVhQT1JUX1NZTUJPTChkcm1fZW5jb2Rlcl9pbmRleCk7Cj4gPiAgdm9p ZCBkcm1fZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiA+ICB7 Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Cj4gPiArCXN0cnVj dCBkcm1fZW5jb2RlciAqb3RoZXI7Cj4gPiArCj4gPiArCW90aGVyID0gbGlzdF9uZXh0X2VudHJ5 KGVuY29kZXIsIGhlYWQpOwo+ID4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20ob3RoZXIsICZk ZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgaGVhZCkKPiA+ICsJCW90aGVyLT5pbmRleC0t Owo+ID4gIAo+ID4gIAlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ID4gIAlkcm1fbW9kZV9v YmplY3RfdW5yZWdpc3RlcihkZXYsICZlbmNvZGVyLT5iYXNlKTsKPiA+IEBAIC0xMzAwLDcgKzEy NjQsNyBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gIAlwbGFuZS0+dHlwZSA9IHR5cGU7Cj4g PiAgCj4gPiAgCWxpc3RfYWRkX3RhaWwoJnBsYW5lLT5oZWFkLCAmY29uZmlnLT5wbGFuZV9saXN0 KTsKPiA+IC0JY29uZmlnLT5udW1fdG90YWxfcGxhbmUrKzsKPiA+ICsJcGxhbmUtPmluZGV4ID0g Y29uZmlnLT5udW1fdG90YWxfcGxhbmUrKzsKPiA+ICAJaWYgKHBsYW5lLT50eXBlID09IERSTV9Q TEFORV9UWVBFX09WRVJMQVkpCj4gPiAgCQljb25maWctPm51bV9vdmVybGF5X3BsYW5lKys7Cj4g PiAgCj4gPiBAQCAtMTM2Nyw2ICsxMzMxLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfaW5p dCk7Cj4gPiAgdm9pZCBkcm1fcGxhbmVfY2xlYW51cChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK PiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2Owo+ID4gKwlz dHJ1Y3QgZHJtX3BsYW5lICpvdGhlcjsKPiA+ICAKPiA+ICAJZHJtX21vZGVzZXRfbG9ja19hbGwo ZGV2KTsKPiA+ICAJa2ZyZWUocGxhbmUtPmZvcm1hdF90eXBlcyk7Cj4gPiBAQCAtMTM3NCw2ICsx MzM5LDEwIEBAIHZvaWQgZHJtX3BsYW5lX2NsZWFudXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUp Cj4gPiAgCj4gPiAgCUJVR19PTihsaXN0X2VtcHR5KCZwbGFuZS0+aGVhZCkpOwo+ID4gIAo+ID4g KwlvdGhlciA9IGxpc3RfbmV4dF9lbnRyeShwbGFuZSwgaGVhZCk7Cj4gPiArCWxpc3RfZm9yX2Vh Y2hfZW50cnlfZnJvbShvdGhlciwgJmRldi0+bW9kZV9jb25maWcucGxhbmVfbGlzdCwgaGVhZCkK PiA+ICsJCW90aGVyLT5pbmRleC0tOwo+ID4gKwo+ID4gIAlsaXN0X2RlbCgmcGxhbmUtPmhlYWQp Owo+ID4gIAlkZXYtPm1vZGVfY29uZmlnLm51bV90b3RhbF9wbGFuZS0tOwo+ID4gIAlpZiAocGxh bmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSkKPiA+IEBAIC0xMzkxLDI5ICsxMzYw LDYgQEAgdm9pZCBkcm1fcGxhbmVfY2xlYW51cChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiA+ ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jbGVhbnVwKTsKPiA+ICAKPiA+ICAvKioKPiA+IC0g KiBkcm1fcGxhbmVfaW5kZXggLSBmaW5kIHRoZSBpbmRleCBvZiBhIHJlZ2lzdGVyZWQgcGxhbmUK PiA+IC0gKiBAcGxhbmU6IHBsYW5lIHRvIGZpbmQgaW5kZXggZm9yCj4gPiAtICoKPiA+IC0gKiBH aXZlbiBhIHJlZ2lzdGVyZWQgcGxhbmUsIHJldHVybiB0aGUgaW5kZXggb2YgdGhhdCBDUlRDIHdp dGhpbiBhIERSTQo+ID4gLSAqIGRldmljZSdzIGxpc3Qgb2YgcGxhbmVzLgo+ID4gLSAqLwo+ID4g LXVuc2lnbmVkIGludCBkcm1fcGxhbmVfaW5kZXgoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4g PiAtewo+ID4gLQl1bnNpZ25lZCBpbnQgaW5kZXggPSAwOwo+ID4gLQlzdHJ1Y3QgZHJtX3BsYW5l ICp0bXA7Cj4gPiAtCj4gPiAtCWRybV9mb3JfZWFjaF9wbGFuZSh0bXAsIHBsYW5lLT5kZXYpIHsK PiA+IC0JCWlmICh0bXAgPT0gcGxhbmUpCj4gPiAtCQkJcmV0dXJuIGluZGV4Owo+ID4gLQo+ID4g LQkJaW5kZXgrKzsKPiA+IC0JfQo+ID4gLQo+ID4gLQlCVUcoKTsKPiA+IC19Cj4gPiAtRVhQT1JU X1NZTUJPTChkcm1fcGxhbmVfaW5kZXgpOwo+ID4gLQo+ID4gLS8qKgo+ID4gICAqIGRybV9wbGFu ZV9mcm9tX2luZGV4IC0gZmluZCB0aGUgcmVnaXN0ZXJlZCBwbGFuZSBhdCBhbiBpbmRleAo+ID4g ICAqIEBkZXY6IERSTSBkZXZpY2UKPiA+ICAgKiBAaWR4OiBpbmRleCBvZiByZWdpc3RlcmVkIHBs YW5lIHRvIGZpbmQgZm9yCj4gPiBAQCAtMTQyNSwxMyArMTM3MSwxMSBAQCBzdHJ1Y3QgZHJtX3Bs YW5lICoKPiA+ICBkcm1fcGxhbmVfZnJvbV9pbmRleChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBp bnQgaWR4KQo+ID4gIHsKPiA+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gPiAtCXVuc2ln bmVkIGludCBpID0gMDsKPiA+ICAKPiA+IC0JZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBkZXYp IHsKPiA+IC0JCWlmIChpID09IGlkeCkKPiA+ICsJZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBk ZXYpCj4gPiArCQlpZiAoaWR4ID09IHBsYW5lLT5pbmRleCkKPiA+ICAJCQlyZXR1cm4gcGxhbmU7 Cj4gPiAtCQlpKys7Cj4gPiAtCX0KPiA+ICsKPiA+ICAJcmV0dXJuIE5VTEw7Cj4gPiAgfQo+ID4g IEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2Zyb21faW5kZXgpOwo+ID4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gPiBpbmRleCAx NTBmNzg2NGMzY2EuLjY2YjA3YzkxMWU2NyAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9jcnRjLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiA+IEBAIC03NTQsNiAr NzU0LDkgQEAgc3RydWN0IGRybV9jcnRjIHsKPiA+ICAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFy eTsKPiA+ICAJc3RydWN0IGRybV9wbGFuZSAqY3Vyc29yOwo+ID4gIAo+ID4gKwkvKiBwb3NpdGlv biBpbnNpZGUgdGhlIG1vZGVfY29uZmlnLmxpc3QsIGNhbiBiZSB1c2VkIGFzIGEgW10gaWR4ICov Cj4gPiArCXVuc2lnbmVkIGluZGV4Owo+ID4gKwo+ID4gIAkvKiBwb3NpdGlvbiBvZiBjdXJzb3Ig cGxhbmUgb24gY3J0YyAqLwo+ID4gIAlpbnQgY3Vyc29yX3g7Cj4gPiAgCWludCBjdXJzb3JfeTsK PiA+IEBAIC0xMDk4LDYgKzExMDEsMTAgQEAgc3RydWN0IGRybV9lbmNvZGVyIHsKPiA+ICAJc3Ry dWN0IGRybV9tb2RlX29iamVjdCBiYXNlOwo+ID4gIAljaGFyICpuYW1lOwo+ID4gIAlpbnQgZW5j b2Rlcl90eXBlOwo+ID4gKwo+ID4gKwkvKiBwb3NpdGlvbiBpbnNpZGUgdGhlIG1vZGVfY29uZmln Lmxpc3QsIGNhbiBiZSB1c2VkIGFzIGEgW10gaWR4ICovCj4gPiArCXVuc2lnbmVkIGluZGV4Owo+ ID4gKwo+ID4gIAl1aW50MzJfdCBwb3NzaWJsZV9jcnRjczsKPiA+ICAJdWludDMyX3QgcG9zc2li bGVfY2xvbmVzOwo+ID4gIAo+ID4gQEAgLTE1NDQsNiArMTU1MSw5IEBAIHN0cnVjdCBkcm1fcGxh bmUgewo+ID4gIAo+ID4gIAllbnVtIGRybV9wbGFuZV90eXBlIHR5cGU7Cj4gPiAgCj4gPiArCS8q IHBvc2l0aW9uIGluc2lkZSB0aGUgbW9kZV9jb25maWcubGlzdCwgY2FuIGJlIHVzZWQgYXMgYSBb XSBpZHggKi8KPiA+ICsJdW5zaWduZWQgaW5kZXg7Cj4gPiArCj4gPiAgCWNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfaGVscGVyX2Z1bmNzICpoZWxwZXJfcHJpdmF0ZTsKPiA+ICAKPiA+ICAJc3RydWN0 IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7Cj4gPiBAQCAtMjIzMSw3ICsyMjQxLDEwIEBAIGludCBk cm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJ ICAgICAgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzICpmdW5jcywKPiA+ICAJCQkgICAgICBj b25zdCBjaGFyICpuYW1lLCAuLi4pOwo+ID4gIGV4dGVybiB2b2lkIGRybV9jcnRjX2NsZWFudXAo c3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiA+IC1leHRlcm4gdW5zaWduZWQgaW50IGRybV9jcnRj X2luZGV4KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gPiArc3RhdGljIGlubGluZSB1bnNpZ25l ZCBpbnQgZHJtX2NydGNfaW5kZXgoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gK3sKPiA+ICsJ cmV0dXJuIGNydGMtPmluZGV4Owo+ID4gK30KPiA+ICAKPiA+ICAvKioKPiA+ICAgKiBkcm1fY3J0 Y19tYXNrIC0gZmluZCB0aGUgbWFzayBvZiBhIHJlZ2lzdGVyZWQgQ1JUQwo+ID4gQEAgLTIyODUs NyArMjI5OCwxMCBAQCBpbnQgZHJtX2VuY29kZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ID4gIAkJICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkgICAgIGNv bnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyAqZnVuY3MsCj4gPiAgCQkgICAgIGludCBlbmNv ZGVyX3R5cGUsIGNvbnN0IGNoYXIgKm5hbWUsIC4uLik7Cj4gPiAtZXh0ZXJuIHVuc2lnbmVkIGlu dCBkcm1fZW5jb2Rlcl9pbmRleChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+ID4gK3N0 YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGRybV9lbmNvZGVyX2luZGV4KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKPiA+ICt7Cj4gPiArCXJldHVybiBlbmNvZGVyLT5pbmRleDsKPiA+ICt9 Cj4gPiAgCj4gPiAgLyoqCj4gPiAgICogZHJtX2VuY29kZXJfY3J0Y19vayAtIGNhbiBhIGdpdmVu IGNydGMgZHJpdmUgYSBnaXZlbiBlbmNvZGVyPwo+ID4gQEAgLTIzMTYsNyArMjMzMiwxMCBAQCBl eHRlcm4gaW50IGRybV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiAgCQkJ ICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9jb3VudCwKPiA+ ICAJCQkgIGJvb2wgaXNfcHJpbWFyeSk7Cj4gPiAgZXh0ZXJuIHZvaWQgZHJtX3BsYW5lX2NsZWFu dXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ID4gLWV4dGVybiB1bnNpZ25lZCBpbnQgZHJt X3BsYW5lX2luZGV4KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiA+ICtzdGF0aWMgaW5saW5l IHVuc2lnbmVkIGludCBkcm1fcGxhbmVfaW5kZXgoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4g PiArewo+ID4gKwlyZXR1cm4gcGxhbmUtPmluZGV4Owo+ID4gK30KPiA+ICBleHRlcm4gc3RydWN0 IGRybV9wbGFuZSAqIGRybV9wbGFuZV9mcm9tX2luZGV4KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IGludCBpZHgpOwo+ID4gIGV4dGVybiB2b2lkIGRybV9wbGFuZV9mb3JjZV9kaXNhYmxlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lKTsKPiA+ICBleHRlcm4gaW50IGRybV9wbGFuZV9jaGVja19waXhl bF9mb3JtYXQoY29uc3Qgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAtLSAKPiA+IDIuOC4x Cj4gPiAKPiAKPiAtLSAKPiBNYXR0IFJvcGVyCj4gR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIK PiBJb1RHIFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKPiBJbnRlbCBDb3Jwb3JhdGlv bgo+ICg5MTYpIDM1Ni0yNzk1Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50 ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==