From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH] drm: Store the plane's index Date: Thu, 26 May 2016 08:17:40 -0700 Message-ID: <20160526151740.GI10094@intel.com> References: <20160526112720.GM4329@intel.com> <1464265038-17908-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1464265038-17908-1-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 Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXkgMjYsIDIwMTYgYXQgMDE6MTc6MThQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEN1cnJlbnRseSB0aGUgcGxhbmUncyBpbmRleCBpcyBkZXRlcm1pbmVkIGJ5IHdhbGtp bmcgdGhlIGxpc3Qgb2YgYWxsCj4gcGxhbmVzIGluIHRoZSBtb2RlIGFuZCBmaW5kaW5nIHRoZSBw b3NpdGlvbiBvZiB0aGF0IHBsYW5lIGluIHRoZSBsaXN0LiBBCj4gbGluZWFyIHdhbGssIGVzcGVj aWFsbHkgYSBsaW5lYXIgd2FsayB3aXRoaW4gYSBsaW5lYXIgd2FsayBhcyBmcmVxdWVudGx5Cj4g Y29uY2VpdmVkIGJ5IGk5MTUua28gW08oTl4yKV0gcXVpY2tseSBjb21lcyB0byBkb21pbmF0ZSBw cm9maWxlcy4KPiAKPiBUaGUgcGxhbmUncyBpbmRleCBpcyBjb25zdGFudCBmb3IgYXMgbG9uZyBh cyBubyBlYXJsaWVyIHBsYW5lcyBhcmUKPiByZW1vdmVkIGZyb20gdGhlIGxpc3QuIEZvciBtb3N0 IGRyaXZlcnMsIHBsYW5lcyBhcmUgc3RhdGljLCBkZXRlcm1pbmVkCj4gYXQgYm9vdCBhbmQgdGhl biB1bnRvdWNoZWQgdW50aWwgc2h1dGRvd24uIFN0b3JpbmcgdGhlIGluZGV4IHVwb24KPiBjb25z dHJ1Y3Rpb24gYW5kIHRoZW4gb25seSB3YWxraW5nIHRoZSB0YWlsIHVwb24gcmVtb3ZhbCBzaG91 bGQKPiBiZSBhIG1ham9yIGltcHJvdmVtZW50IGZvciBhbGwuCj4gCj4gdjI6IENvbnZlcnQgZHJt X2NydGNfaW5kZXgoKSBhbmQgZHJtX2VuY29kZXJfaW5kZXgoKSBhcyB3ZWxsLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IENjOiBNYXR0IFJvcGVyIDxt YXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgoKTG9va3MgZ29vZCB0byBtZS4KClJldmlld2VkLWJ5OiBN YXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgoKWW91ciBjb21taXQgbWVzc2Fn ZSBzYXlzICJtb3N0IGRyaXZlcnMiIGhhdmUgc3RhdGljCnBsYW5lcy9jcnRjcy9lbmNvZGVycy4u LmFyZSB0aGVyZSBhbnkgZHJpdmVycyB0b2RheSB0aGF0IHRoaXMgaXNuJ3QgdHJ1ZQpmb3I/ICBX b3VsZG4ndCB3ZSBuZWVkIHNwZWNpYWwgbG9ja2luZyBmb3IgbGlzdCBpdGVyYXRpb24gaW4gZ2Vu ZXJhbApsaWtlIHdlIGhhdmUgZm9yIGNvbm5lY3RvcnMgaWYgdGhhdCB3YXMgdGhlIGNhc2U/CgoK TWF0dAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgfCA5OCArKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9j cnRjLmggICAgIHwgMjUgKysrKysrKysrKy0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0 aW9ucygrKSwgODAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBpbmRleCBkMmE2ZDk1 OGNhNzYuLjRkOTc4MDk5YWExNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gQEAgLTY5Miw3ICs2OTIs NyBAQCBpbnQgZHJtX2NydGNfaW5pdF93aXRoX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAljcnRjLT5iYXNlLnByb3BlcnRpZXMgPSAmY3J0 Yy0+cHJvcGVydGllczsKPiAgCj4gIAlsaXN0X2FkZF90YWlsKCZjcnRjLT5oZWFkLCAmY29uZmln LT5jcnRjX2xpc3QpOwo+IC0JY29uZmlnLT5udW1fY3J0YysrOwo+ICsJY3J0Yy0+aW5kZXggPSBj b25maWctPm51bV9jcnRjKys7Cj4gIAo+ICAJY3J0Yy0+cHJpbWFyeSA9IHByaW1hcnk7Cj4gIAlj cnRjLT5jdXJzb3IgPSBjdXJzb3I7Cj4gQEAgLTcyMSw2ICs3MjEsMTEgQEAgRVhQT1JUX1NZTUJP TChkcm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKTsKPiAgdm9pZCBkcm1fY3J0Y19jbGVhbnVwKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmRldjsKPiArCXN0cnVjdCBkcm1fY3J0YyAqb3RoZXI7Cj4gKwo+ICsJb3RoZXIgPSBsaXN0 X25leHRfZW50cnkoY3J0YywgaGVhZCk7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20ob3Ro ZXIsICZkZXYtPm1vZGVfY29uZmlnLmNydGNfbGlzdCwgaGVhZCkKPiArCQlvdGhlci0+aW5kZXgt LTsKPiAgCj4gIAlrZnJlZShjcnRjLT5nYW1tYV9zdG9yZSk7Cj4gIAljcnRjLT5nYW1tYV9zdG9y ZSA9IE5VTEw7Cj4gQEAgLTc0MSwyOSArNzQ2LDYgQEAgdm9pZCBkcm1fY3J0Y19jbGVhbnVwKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9jcnRjX2NsZWFu dXApOwo+ICAKPiAtLyoqCj4gLSAqIGRybV9jcnRjX2luZGV4IC0gZmluZCB0aGUgaW5kZXggb2Yg YSByZWdpc3RlcmVkIENSVEMKPiAtICogQGNydGM6IENSVEMgdG8gZmluZCBpbmRleCBmb3IKPiAt ICoKPiAtICogR2l2ZW4gYSByZWdpc3RlcmVkIENSVEMsIHJldHVybiB0aGUgaW5kZXggb2YgdGhh dCBDUlRDIHdpdGhpbiBhIERSTQo+IC0gKiBkZXZpY2UncyBsaXN0IG9mIENSVENzLgo+IC0gKi8K PiAtdW5zaWduZWQgaW50IGRybV9jcnRjX2luZGV4KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAt ewo+IC0JdW5zaWduZWQgaW50IGluZGV4ID0gMDsKPiAtCXN0cnVjdCBkcm1fY3J0YyAqdG1wOwo+ IC0KPiAtCWRybV9mb3JfZWFjaF9jcnRjKHRtcCwgY3J0Yy0+ZGV2KSB7Cj4gLQkJaWYgKHRtcCA9 PSBjcnRjKQo+IC0JCQlyZXR1cm4gaW5kZXg7Cj4gLQo+IC0JCWluZGV4Kys7Cj4gLQl9Cj4gLQo+ IC0JQlVHKCk7Cj4gLX0KPiAtRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19pbmRleCk7Cj4gLQo+ICAv Kgo+ICAgKiBkcm1fbW9kZV9yZW1vdmUgLSByZW1vdmUgYW5kIGZyZWUgYSBtb2RlCj4gICAqIEBj b25uZWN0b3I6IGNvbm5lY3RvciBsaXN0IHRvIG1vZGlmeQo+IEBAIC0xMTY2LDcgKzExNDgsNyBA QCBpbnQgZHJtX2VuY29kZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJfQo+ICAK PiAgCWxpc3RfYWRkX3RhaWwoJmVuY29kZXItPmhlYWQsICZkZXYtPm1vZGVfY29uZmlnLmVuY29k ZXJfbGlzdCk7Cj4gLQlkZXYtPm1vZGVfY29uZmlnLm51bV9lbmNvZGVyKys7Cj4gKwllbmNvZGVy LT5pbmRleCA9IGRldi0+bW9kZV9jb25maWcubnVtX2VuY29kZXIrKzsKPiAgCj4gIG91dF9wdXQ6 Cj4gIAlpZiAocmV0KQo+IEBAIC0xMTgwLDI5ICsxMTYyLDYgQEAgb3V0X3VubG9jazoKPiAgRVhQ T1JUX1NZTUJPTChkcm1fZW5jb2Rlcl9pbml0KTsKPiAgCj4gIC8qKgo+IC0gKiBkcm1fZW5jb2Rl cl9pbmRleCAtIGZpbmQgdGhlIGluZGV4IG9mIGEgcmVnaXN0ZXJlZCBlbmNvZGVyCj4gLSAqIEBl bmNvZGVyOiBlbmNvZGVyIHRvIGZpbmQgaW5kZXggZm9yCj4gLSAqCj4gLSAqIEdpdmVuIGEgcmVn aXN0ZXJlZCBlbmNvZGVyLCByZXR1cm4gdGhlIGluZGV4IG9mIHRoYXQgZW5jb2RlciB3aXRoaW4g YSBEUk0KPiAtICogZGV2aWNlJ3MgbGlzdCBvZiBlbmNvZGVycy4KPiAtICovCj4gLXVuc2lnbmVk IGludCBkcm1fZW5jb2Rlcl9pbmRleChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gLXsK PiAtCXVuc2lnbmVkIGludCBpbmRleCA9IDA7Cj4gLQlzdHJ1Y3QgZHJtX2VuY29kZXIgKnRtcDsK PiAtCj4gLQlkcm1fZm9yX2VhY2hfZW5jb2Rlcih0bXAsIGVuY29kZXItPmRldikgewo+IC0JCWlm ICh0bXAgPT0gZW5jb2RlcikKPiAtCQkJcmV0dXJuIGluZGV4Owo+IC0KPiAtCQlpbmRleCsrOwo+ IC0JfQo+IC0KPiAtCUJVRygpOwo+IC19Cj4gLUVYUE9SVF9TWU1CT0woZHJtX2VuY29kZXJfaW5k ZXgpOwo+IC0KPiAtLyoqCj4gICAqIGRybV9lbmNvZGVyX2NsZWFudXAgLSBjbGVhbnMgdXAgYW4g aW5pdGlhbGlzZWQgZW5jb2Rlcgo+ICAgKiBAZW5jb2RlcjogZW5jb2RlciB0byBjbGVhbnVwCj4g ICAqCj4gQEAgLTEyMTEsNiArMTE3MCwxMSBAQCBFWFBPUlRfU1lNQk9MKGRybV9lbmNvZGVyX2lu ZGV4KTsKPiAgdm9pZCBkcm1fZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKPiAr CXN0cnVjdCBkcm1fZW5jb2RlciAqb3RoZXI7Cj4gKwo+ICsJb3RoZXIgPSBsaXN0X25leHRfZW50 cnkoZW5jb2RlciwgaGVhZCk7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X2Zyb20ob3RoZXIsICZk ZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgaGVhZCkKPiArCQlvdGhlci0+aW5kZXgtLTsK PiAgCj4gIAlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJZHJtX21vZGVfb2JqZWN0X3Vu cmVnaXN0ZXIoZGV2LCAmZW5jb2Rlci0+YmFzZSk7Cj4gQEAgLTEzMDAsNyArMTI2NCw3IEBAIGlu dCBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlwbGFuZS0+dHlwZSA9IHR5cGU7Cj4gIAo+ICAJbGlzdF9h ZGRfdGFpbCgmcGxhbmUtPmhlYWQsICZjb25maWctPnBsYW5lX2xpc3QpOwo+IC0JY29uZmlnLT5u dW1fdG90YWxfcGxhbmUrKzsKPiArCXBsYW5lLT5pbmRleCA9IGNvbmZpZy0+bnVtX3RvdGFsX3Bs YW5lKys7Cj4gIAlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSkKPiAg CQljb25maWctPm51bV9vdmVybGF5X3BsYW5lKys7Cj4gIAo+IEBAIC0xMzY3LDYgKzEzMzEsNyBA QCBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9pbml0KTsKPiAgdm9pZCBkcm1fcGxhbmVfY2xlYW51 cChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IHBsYW5lLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lICpvdGhlcjsKPiAgCj4gIAlkcm1f bW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJa2ZyZWUocGxhbmUtPmZvcm1hdF90eXBlcyk7Cj4g QEAgLTEzNzQsNiArMTMzOSwxMCBAQCB2b2lkIGRybV9wbGFuZV9jbGVhbnVwKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKQo+ICAKPiAgCUJVR19PTihsaXN0X2VtcHR5KCZwbGFuZS0+aGVhZCkpOwo+ ICAKPiArCW90aGVyID0gbGlzdF9uZXh0X2VudHJ5KHBsYW5lLCBoZWFkKTsKPiArCWxpc3RfZm9y X2VhY2hfZW50cnlfZnJvbShvdGhlciwgJmRldi0+bW9kZV9jb25maWcucGxhbmVfbGlzdCwgaGVh ZCkKPiArCQlvdGhlci0+aW5kZXgtLTsKPiArCj4gIAlsaXN0X2RlbCgmcGxhbmUtPmhlYWQpOwo+ ICAJZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxfcGxhbmUtLTsKPiAgCWlmIChwbGFuZS0+dHlw ZSA9PSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZKQo+IEBAIC0xMzkxLDI5ICsxMzYwLDYgQEAgdm9p ZCBkcm1fcGxhbmVfY2xlYW51cChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgRVhQT1JUX1NZ TUJPTChkcm1fcGxhbmVfY2xlYW51cCk7Cj4gIAo+ICAvKioKPiAtICogZHJtX3BsYW5lX2luZGV4 IC0gZmluZCB0aGUgaW5kZXggb2YgYSByZWdpc3RlcmVkIHBsYW5lCj4gLSAqIEBwbGFuZTogcGxh bmUgdG8gZmluZCBpbmRleCBmb3IKPiAtICoKPiAtICogR2l2ZW4gYSByZWdpc3RlcmVkIHBsYW5l LCByZXR1cm4gdGhlIGluZGV4IG9mIHRoYXQgQ1JUQyB3aXRoaW4gYSBEUk0KPiAtICogZGV2aWNl J3MgbGlzdCBvZiBwbGFuZXMuCj4gLSAqLwo+IC11bnNpZ25lZCBpbnQgZHJtX3BsYW5lX2luZGV4 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQo+IC17Cj4gLQl1bnNpZ25lZCBpbnQgaW5kZXggPSAw Owo+IC0Jc3RydWN0IGRybV9wbGFuZSAqdG1wOwo+IC0KPiAtCWRybV9mb3JfZWFjaF9wbGFuZSh0 bXAsIHBsYW5lLT5kZXYpIHsKPiAtCQlpZiAodG1wID09IHBsYW5lKQo+IC0JCQlyZXR1cm4gaW5k ZXg7Cj4gLQo+IC0JCWluZGV4Kys7Cj4gLQl9Cj4gLQo+IC0JQlVHKCk7Cj4gLX0KPiAtRVhQT1JU X1NZTUJPTChkcm1fcGxhbmVfaW5kZXgpOwo+IC0KPiAtLyoqCj4gICAqIGRybV9wbGFuZV9mcm9t X2luZGV4IC0gZmluZCB0aGUgcmVnaXN0ZXJlZCBwbGFuZSBhdCBhbiBpbmRleAo+ICAgKiBAZGV2 OiBEUk0gZGV2aWNlCj4gICAqIEBpZHg6IGluZGV4IG9mIHJlZ2lzdGVyZWQgcGxhbmUgdG8gZmlu ZCBmb3IKPiBAQCAtMTQyNSwxMyArMTM3MSwxMSBAQCBzdHJ1Y3QgZHJtX3BsYW5lICoKPiAgZHJt X3BsYW5lX2Zyb21faW5kZXgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGlkeCkKPiAgewo+ ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQl1bnNpZ25lZCBpbnQgaSA9IDA7Cj4gIAo+ IC0JZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBkZXYpIHsKPiAtCQlpZiAoaSA9PSBpZHgpCj4g Kwlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUsIGRldikKPiArCQlpZiAoaWR4ID09IHBsYW5lLT5p bmRleCkKPiAgCQkJcmV0dXJuIHBsYW5lOwo+IC0JCWkrKzsKPiAtCX0KPiArCj4gIAlyZXR1cm4g TlVMTDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9mcm9tX2luZGV4KTsKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgK PiBpbmRleCAxNTBmNzg2NGMzY2EuLjY2YjA3YzkxMWU2NyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS9kcm1fY3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC03NTQs NiArNzU0LDkgQEAgc3RydWN0IGRybV9jcnRjIHsKPiAgCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1h cnk7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpjdXJzb3I7Cj4gIAo+ICsJLyogcG9zaXRpb24gaW5z aWRlIHRoZSBtb2RlX2NvbmZpZy5saXN0LCBjYW4gYmUgdXNlZCBhcyBhIFtdIGlkeCAqLwo+ICsJ dW5zaWduZWQgaW5kZXg7Cj4gKwo+ICAJLyogcG9zaXRpb24gb2YgY3Vyc29yIHBsYW5lIG9uIGNy dGMgKi8KPiAgCWludCBjdXJzb3JfeDsKPiAgCWludCBjdXJzb3JfeTsKPiBAQCAtMTA5OCw2ICsx MTAxLDEwIEBAIHN0cnVjdCBkcm1fZW5jb2RlciB7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0 IGJhc2U7Cj4gIAljaGFyICpuYW1lOwo+ICAJaW50IGVuY29kZXJfdHlwZTsKPiArCj4gKwkvKiBw b3NpdGlvbiBpbnNpZGUgdGhlIG1vZGVfY29uZmlnLmxpc3QsIGNhbiBiZSB1c2VkIGFzIGEgW10g aWR4ICovCj4gKwl1bnNpZ25lZCBpbmRleDsKPiArCj4gIAl1aW50MzJfdCBwb3NzaWJsZV9jcnRj czsKPiAgCXVpbnQzMl90IHBvc3NpYmxlX2Nsb25lczsKPiAgCj4gQEAgLTE1NDQsNiArMTU1MSw5 IEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAKPiAgCWVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZTsK PiAgCj4gKwkvKiBwb3NpdGlvbiBpbnNpZGUgdGhlIG1vZGVfY29uZmlnLmxpc3QsIGNhbiBiZSB1 c2VkIGFzIGEgW10gaWR4ICovCj4gKwl1bnNpZ25lZCBpbmRleDsKPiArCj4gIAljb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyAqaGVscGVyX3ByaXZhdGU7Cj4gIAo+ICAJc3RydWN0 IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGU7Cj4gQEAgLTIyMzEsNyArMjI0MSwxMCBAQCBpbnQgZHJt X2NydGNfaW5pdF93aXRoX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkgICAg ICBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgKmZ1bmNzLAo+ICAJCQkgICAgICBjb25zdCBj aGFyICpuYW1lLCAuLi4pOwo+ICBleHRlcm4gdm9pZCBkcm1fY3J0Y19jbGVhbnVwKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yyk7Cj4gLWV4dGVybiB1bnNpZ25lZCBpbnQgZHJtX2NydGNfaW5kZXgoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiArc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZHJtX2Ny dGNfaW5kZXgoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlyZXR1cm4gY3J0Yy0+aW5k ZXg7Cj4gK30KPiAgCj4gIC8qKgo+ICAgKiBkcm1fY3J0Y19tYXNrIC0gZmluZCB0aGUgbWFzayBv ZiBhIHJlZ2lzdGVyZWQgQ1JUQwo+IEBAIC0yMjg1LDcgKzIyOTgsMTAgQEAgaW50IGRybV9lbmNv ZGVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICAgIHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKPiAgCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyAq ZnVuY3MsCj4gIAkJICAgICBpbnQgZW5jb2Rlcl90eXBlLCBjb25zdCBjaGFyICpuYW1lLCAuLi4p Owo+IC1leHRlcm4gdW5zaWduZWQgaW50IGRybV9lbmNvZGVyX2luZGV4KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2Rlcik7Cj4gK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGRybV9lbmNvZGVy X2luZGV4KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiArewo+ICsJcmV0dXJuIGVuY29k ZXItPmluZGV4Owo+ICt9Cj4gIAo+ICAvKioKPiAgICogZHJtX2VuY29kZXJfY3J0Y19vayAtIGNh biBhIGdpdmVuIGNydGMgZHJpdmUgYSBnaXZlbiBlbmNvZGVyPwo+IEBAIC0yMzE2LDcgKzIzMzIs MTAgQEAgZXh0ZXJuIGludCBkcm1fcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAJCQkgIGNvbnN0IHVpbnQzMl90ICpmb3JtYXRzLCB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50 LAo+ICAJCQkgIGJvb2wgaXNfcHJpbWFyeSk7Cj4gIGV4dGVybiB2b2lkIGRybV9wbGFuZV9jbGVh bnVwKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKPiAtZXh0ZXJuIHVuc2lnbmVkIGludCBkcm1f cGxhbmVfaW5kZXgoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICtzdGF0aWMgaW5saW5lIHVu c2lnbmVkIGludCBkcm1fcGxhbmVfaW5kZXgoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gK3sK PiArCXJldHVybiBwbGFuZS0+aW5kZXg7Cj4gK30KPiAgZXh0ZXJuIHN0cnVjdCBkcm1fcGxhbmUg KiBkcm1fcGxhbmVfZnJvbV9pbmRleChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaWR4KTsK PiAgZXh0ZXJuIHZvaWQgZHJtX3BsYW5lX2ZvcmNlX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUpOwo+ICBleHRlcm4gaW50IGRybV9wbGFuZV9jaGVja19waXhlbF9mb3JtYXQoY29uc3Qg c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLS0gCj4gMi44LjEKPiAKCi0tIApNYXR0IFJvcGVy CkdyYXBoaWNzIFNvZnR3YXJlIEVuZ2luZWVyCklvVEcgUGxhdGZvcm0gRW5hYmxpbmcgJiBEZXZl bG9wbWVudApJbnRlbCBDb3Jwb3JhdGlvbgooOTE2KSAzNTYtMjc5NQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK