From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH 07/11] drm/msm: Use atomic private_obj instead of subclassing Date: Mon, 12 Mar 2018 16:28:23 -0400 Message-ID: <20180312202823.GC223881@art_vandelay> References: <20180228191906.185417-1-seanpaul@chromium.org> <20180228191906.185417-8-seanpaul@chromium.org> <7fb92416ee99990f6a1280a617736051@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <7fb92416ee99990f6a1280a617736051-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Jeykumar Sankaran Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMDgsIDIwMTggYXQgMDU6NTk6MTFQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gT24gMjAxOC0wMi0yOCAxMToxOSwgU2VhbiBQYXVsIHdyb3RlOgo+ID4gSW5z dGVhZCBvZiBzdWJjbGFzc2luZyBhdG9taWMgc3RhdGUsIHN0b3JlIGRyaXZlciBwcml2YXRlIGRh dGEgaW4KPiA+IHByaXZhdGVfb2JqL3N0YXRlLiBUaGlzIGFsbG93cyB1cyB0byByZW1vdmUgdGhl IHN3YXBfc3RhdGUgZHJpdmVyIGhvb2sKPiA+IGZvciBtZHA1IGFuZCBnZXQgY2xvc2VyIHRvIHVz aW5nIHRoZSBhdG9taWMgaGVscGVycyBlbnRpcmVseS4KPiA+IAo+ID4gQ2hhbmdlLUlkOiBJNjVh NGEyODg3NTkzYWUyNTdkNTg0ZTAwYjM1MmI1ZGFmMDBlNGU2MQo+ID4gU2lnbmVkLW9mZi1ieTog U2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jIHwgMzcgKysrKysrLS0tLS0tLS0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyAgICAgICAgIHwgMzAgLS0tLS0tLS0tLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAgICAgICAgICAgIHwgNjUgKysrKysr KysrKysrKysrKysrKysrKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAg ICAgICAgICB8ICA0ICstCj4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggICAgICAg ICAgICB8IDI4ICsrKysrLS0tLS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMo KyksIDY5IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNS9tZHA1X2ttcy5jCj4gPiBpbmRleCA2ZDhlM2E5YTZmYzAuLmYxYTI0ODQxOTY1NSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKPiA+IEBAIC03 NCwzNiArNzQsMzIgQEAgc3RydWN0IG1kcDVfc3RhdGUgKm1kcDVfZ2V0X3N0YXRlKHN0cnVjdAo+ ID4gZHJtX2F0b21pY19zdGF0ZSAqcykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBtc21fZHJtX3ByaXZh dGUgKnByaXYgPSBzLT5kZXYtPmRldl9wcml2YXRlOwo+ID4gIAlzdHJ1Y3QgbWRwNV9rbXMgKm1k cDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2LT5rbXMpKTsKPiA+IC0Jc3RydWN0 IG1zbV9rbXNfc3RhdGUgKnN0YXRlID0gdG9fa21zX3N0YXRlKHMpOwo+ID4gLQlzdHJ1Y3QgbWRw NV9zdGF0ZSAqbmV3X3N0YXRlOwo+ID4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqa21zX3N0YXRl Owo+ID4gIAlpbnQgcmV0Owo+ID4gCj4gPiAtCWlmIChzdGF0ZS0+c3RhdGUpCj4gPiAtCQlyZXR1 cm4gc3RhdGUtPnN0YXRlOwo+ID4gLQo+ID4gIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZtZHA1 X2ttcy0+c3RhdGVfbG9jaywgcy0+YWNxdWlyZV9jdHgpOwo+ID4gIAlpZiAocmV0KQo+ID4gIAkJ cmV0dXJuIEVSUl9QVFIocmV0KTsKPiA+IAo+ID4gLQluZXdfc3RhdGUgPSBrbWFsbG9jKHNpemVv ZigqbWRwNV9rbXMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gPiAtCWlmICghbmV3X3N0YXRlKQo+ ID4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gPiArCWttc19zdGF0ZSA9IG1zbV9rbXNf Z2V0X3N0YXRlKHMpOwo+ID4gKwlpZiAoSVNfRVJSX09SX05VTEwoa21zX3N0YXRlKSkKPiA+ICsJ CXJldHVybiAoc3RydWN0IG1kcDVfc3RhdGUgKilrbXNfc3RhdGU7IC8qIGNhc3RpbmcgRVJSX1BU Ugo+ID4gKi8KPiA+IAo+ID4gLQkvKiBDb3B5IHN0YXRlOiAqLwo+ID4gLQluZXdfc3RhdGUtPmh3 cGlwZSA9IG1kcDVfa21zLT5zdGF0ZS0+aHdwaXBlOwo+ID4gLQluZXdfc3RhdGUtPmh3bWl4ZXIg PSBtZHA1X2ttcy0+c3RhdGUtPmh3bWl4ZXI7Cj4gPiAtCWlmIChtZHA1X2ttcy0+c21wKQo+ID4g LQkJbmV3X3N0YXRlLT5zbXAgPSBtZHA1X2ttcy0+c3RhdGUtPnNtcDsKPiA+ICsJcmV0dXJuIGtt c19zdGF0ZS0+c3RhdGU7Cj4gPiArfQo+ID4gCj4gPiAtCXN0YXRlLT5zdGF0ZSA9IG5ld19zdGF0 ZTsKPiA+ICtzdGF0aWMgdm9pZCAqbWRwNV9kdXBsaWNhdGVfc3RhdGUodm9pZCAqc3RhdGUpCj4g PiArewo+ID4gKwlpZiAoIXN0YXRlKQo+ID4gKwkJcmV0dXJuIGt6YWxsb2Moc2l6ZW9mKHN0cnVj dCBtZHA1X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gPiAKPiA+IC0JcmV0dXJuIG5ld19zdGF0ZTsK PiA+ICsJcmV0dXJuIGttZW1kdXAoc3RhdGUsIHNpemVvZihzdHJ1Y3QgbWRwNV9zdGF0ZSksIEdG UF9LRVJORUwpOwo+ID4gIH0KPiA+IAo+ID4gLXN0YXRpYyB2b2lkIG1kcDVfc3dhcF9zdGF0ZShz dHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QKPiA+IGRybV9hdG9taWNfc3RhdGUKPiA+ICpzdGF0 ZSkKPiA+ICtzdGF0aWMgdm9pZCBtZHA1X2Rlc3Ryb3lfc3RhdGUodm9pZCAqc3RhdGUpCj4gPiAg ewo+ID4gLQlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2tt cyhrbXMpKTsKPiA+IC0Jc3dhcCh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSwgbWRwNV9rbXMt PnN0YXRlKTsKPiA+ICsJc3RydWN0IG1kcDVfc3RhdGUgKm1kcF9zdGF0ZSA9IHN0YXRlOwo+ID4g KwlrZnJlZShtZHBfc3RhdGUpOwo+ID4gIH0KPiA+IAo+ID4gIHN0YXRpYyB2b2lkIG1kcDVfcHJl cGFyZV9jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0Cj4gPiBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKPiA+IEBAIC0yMjksNyArMjI1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBt ZHBfa21zX2Z1bmNzIGttc19mdW5jcyA9IHsKPiA+ICAJCS5pcnEgICAgICAgICAgICAgPSBtZHA1 X2lycSwKPiA+ICAJCS5lbmFibGVfdmJsYW5rICAgPSBtZHA1X2VuYWJsZV92YmxhbmssCj4gPiAg CQkuZGlzYWJsZV92YmxhbmsgID0gbWRwNV9kaXNhYmxlX3ZibGFuaywKPiA+IC0JCS5zd2FwX3N0 YXRlICAgICAgPSBtZHA1X3N3YXBfc3RhdGUsCj4gPiArCQkuZHVwbGljYXRlX3N0YXRlID0gbWRw NV9kdXBsaWNhdGVfc3RhdGUsCj4gPiArCQkuZGVzdHJveV9zdGF0ZQkgPSBtZHA1X2Rlc3Ryb3lf c3RhdGUsCj4gPiAgCQkucHJlcGFyZV9jb21taXQgID0gbWRwNV9wcmVwYXJlX2NvbW1pdCwKPiA+ ICAJCS5jb21wbGV0ZV9jb21taXQgPSBtZHA1X2NvbXBsZXRlX2NvbW1pdCwKPiA+ICAJCS53YWl0 X2Zvcl9jcnRjX2NvbW1pdF9kb25lID0KPiA+IG1kcDVfd2FpdF9mb3JfY3J0Y19jb21taXRfZG9u ZSwKPiA+IEBAIC03MjYsOCArNzIzLDYgQEAgc3RhdGljIHZvaWQgbWRwNV9kZXN0cm95KHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UKPiA+ICpwZGV2KQo+ID4gCj4gPiAgCWlmIChtZHA1X2ttcy0+cnBt X2VuYWJsZWQpCj4gPiAgCQlwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7Cj4gPiAtCj4g PiAtCWtmcmVlKG1kcDVfa21zLT5zdGF0ZSk7Cj4gPiAgfQo+ID4gCj4gPiAgc3RhdGljIGludCBj b25zdHJ1Y3RfcGlwZXMoc3RydWN0IG1kcDVfa21zICptZHA1X2ttcywgaW50IGNudCwKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwo+ID4gaW5kZXggN2U1NGViNjVkMDk2Li4xZjUzMjYy ZWE0NmIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKPiA+IEBAIC0xNjksOSAr MTY5LDYgQEAgaW50IG1zbV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g PiAgCSAqLwo+ID4gIAlCVUdfT04oZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShzdGF0ZSwg ZmFsc2UpIDwgMCk7Cj4gPiAKPiA+IC0JaWYgKHRvX2ttc19zdGF0ZShzdGF0ZSktPnN0YXRlKQo+ ID4gLQkJcHJpdi0+a21zLT5mdW5jcy0+c3dhcF9zdGF0ZShwcml2LT5rbXMsIHN0YXRlKTsKPiA+ IC0KPiA+ICAJLyoKPiA+ICAJICogUHJvdmlkZSB0aGUgZHJpdmVyIGEgY2hhbmNlIHRvIHByZXBh cmUgZm9yIG91dHB1dCBmZW5jZXMuIFRoaXMKPiA+IGlzCj4gPiAgCSAqIGRvbmUgYWZ0ZXIgdGhl IHBvaW50IG9mIG5vIHJldHVybiwgYnV0IGJlZm9yZSBhc3luY2hyb25vdXMKPiA+IGNvbW1pdHMK PiA+IEBAIC0yMTAsMzAgKzIwNywzIEBAIGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ID4gIAlkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYs IHN0YXRlKTsKPiA+ICAJcmV0dXJuIHJldDsKPiA+ICB9Cj4gPiAtCj4gPiAtc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKm1zbV9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+IC17Cj4gPiAtCXN0cnVjdCBtc21fa21zX3N0YXRlICpzdGF0ZSA9IGt6YWxsb2Moc2l6 ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ID4gLQo+ID4gLQlpZiAoIXN0YXRlIHx8IGRybV9h dG9taWNfc3RhdGVfaW5pdChkZXYsICZzdGF0ZS0+YmFzZSkgPCAwKSB7Cj4gPiAtCQlrZnJlZShz dGF0ZSk7Cj4gPiAtCQlyZXR1cm4gTlVMTDsKPiA+IC0JfQo+ID4gLQo+ID4gLQlyZXR1cm4gJnN0 YXRlLT5iYXNlOwo+ID4gLX0KPiA+IC0KPiA+IC12b2lkIG1zbV9hdG9taWNfc3RhdGVfY2xlYXIo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gPiAtewo+ID4gLQlzdHJ1Y3QgbXNtX2ttc19z dGF0ZSAqc3RhdGUgPSB0b19rbXNfc3RhdGUocyk7Cj4gPiAtCWRybV9hdG9taWNfc3RhdGVfZGVm YXVsdF9jbGVhcigmc3RhdGUtPmJhc2UpOwo+ID4gLQlrZnJlZShzdGF0ZS0+c3RhdGUpOwo+ID4g LQlzdGF0ZS0+c3RhdGUgPSBOVUxMOwo+ID4gLX0KPiA+IC0KPiA+IC12b2lkIG1zbV9hdG9taWNf c3RhdGVfZnJlZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiAtewo+ID4gLQlr ZnJlZSh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSk7Cj4gPiAtCWRybV9hdG9taWNfc3RhdGVf ZGVmYXVsdF9yZWxlYXNlKHN0YXRlKTsKPiA+IC0Ja2ZyZWUoc3RhdGUpOwo+ID4gLX0KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+ID4gYi9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9kcnYuYwo+ID4gaW5kZXggYjM1NDQyNGNjY2I1Li5lNTgyZDU4ODliNjYg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPiA+IEBAIC0xMjEsOSArMTIxLDYyIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzCj4gPiBtb2RlX2NvbmZpZ19m dW5jcyA9IHsKPiA+ICAJLm91dHB1dF9wb2xsX2NoYW5nZWQgPSBtc21fZmJfb3V0cHV0X3BvbGxf Y2hhbmdlZCwKPiA+ICAJLmF0b21pY19jaGVjayA9IG1zbV9hdG9taWNfY2hlY2ssCj4gPiAgCS5h dG9taWNfY29tbWl0ID0gbXNtX2F0b21pY19jb21taXQsCj4gPiAtCS5hdG9taWNfc3RhdGVfYWxs b2MgPSBtc21fYXRvbWljX3N0YXRlX2FsbG9jLAo+ID4gLQkuYXRvbWljX3N0YXRlX2NsZWFyID0g bXNtX2F0b21pY19zdGF0ZV9jbGVhciwKPiA+IC0JLmF0b21pY19zdGF0ZV9mcmVlID0gbXNtX2F0 b21pY19zdGF0ZV9mcmVlLAo+ID4gK307Cj4gPiArCj4gPiArc3RhdGljIGlubGluZQo+ID4gK3N0 cnVjdCBtc21fa21zICpvYmpfdG9fa21zKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaikKPiA+ ICt7Cj4gPiArCXJldHVybiBjb250YWluZXJfb2Yob2JqLCBzdHJ1Y3QgbXNtX2ttcywgYmFzZSk7 Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyBpbmxpbmUKPiA+ICtzdHJ1Y3QgbXNtX2ttc19zdGF0 ZSAqc3RhdGVfdG9fa21zX3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZQo+ID4gKnN0YXRl KQo+ID4gK3sKPiA+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihzdGF0ZSwgc3RydWN0IG1zbV9rbXNf c3RhdGUsIGJhc2UpOwo+ID4gK30KPiA+ICsKPiA+ICtzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNt X2ttc19nZXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gPiArewo+ID4gKwlz dHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICsJ c3RydWN0IGRybV9wcml2YXRlX29iaiAqb2JqID0gJnByaXYtPmttcy0+YmFzZTsKPiA+ICsJc3Ry dWN0IGRybV9wcml2YXRlX3N0YXRlICpzdGF0ZTsKPiA+ICsKPiA+ICsJc3RhdGUgPSBkcm1fYXRv bWljX2dldF9wcml2YXRlX29ial9zdGF0ZShzLCBvYmopOwo+ID4gKwlpZiAoSVNfRVJSX09SX05V TEwoc3RhdGUpKQo+ID4gKwkJcmV0dXJuIChzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqKXN0YXRlOyAv KiBjYXN0aW5nIEVSUl9QVFIKPiA+ICovCj4gPiArCj4gPiArCXJldHVybiBzdGF0ZV90b19rbXNf c3RhdGUoc3RhdGUpOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgc3RydWN0IGRybV9wcml2YXRl X3N0YXRlICoKPiA+ICttc21fa21zX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3ByaXZhdGVf b2JqICpvYmopCj4gPiArewo+ID4gKwlzdHJ1Y3QgbXNtX2ttcyAqa21zID0gb2JqX3RvX2ttcyhv YmopOwo+ID4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSBzdGF0ZV90b19rbXNfc3Rh dGUob2JqLT5zdGF0ZSk7Cj4gPiArCXN0cnVjdCBtc21fa21zX3N0YXRlICpuZXdfc3RhdGU7Cj4g PiArCj4gPiArCWlmIChrbXMtPmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUpCj4gPiArCQluZXdfc3Rh dGUgPSBrbXMtPmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUoc3RhdGUpOwo+IAo+IFNob3VsZG4ndCB0 aGlzIGJlIHN0YXRlLT5zdGF0ZT8gSSBiZWxpZXZlIHdlIGFyZSB0cnlpbmcgdG8gZHVwbGljYXRl Cj4gbWRwNV9zdGF0ZSBoZXJlLgoKQWhoLCB5ZWFoLCBnb29kIGNhdGNoISBJdCBtaWdodCBiZSBu aWNlIHRvIHJlZmFjdG9yIHRoZXNlIGhvb2sgYXJncyB0bwp0YWtlIHNvbWV0aGluZyBtb3JlIHBy ZWNpc2UgdGhhbiB2b2lkICogOikKClNlYW4KCj4gCj4gPiArCj4gPiArCV9fZHJtX2F0b21pY19o ZWxwZXJfcHJpdmF0ZV9vYmpfZHVwbGljYXRlX3N0YXRlKG9iaiwKPiA+ICZuZXdfc3RhdGUtPmJh c2UpOwo+ID4gKwo+ID4gKwlyZXR1cm4gJm5ld19zdGF0ZS0+YmFzZTsKPiA+ICt9Cj4gPiArCj4g PiArc3RhdGljIHZvaWQgbXNtX2ttc19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9v YmogKm9iaiwKPiA+ICsJCQkJICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRlKQo+ID4g K3sKPiA+ICsJc3RydWN0IG1zbV9rbXMgKmttcyA9IG9ial90b19rbXMob2JqKTsKPiA+ICsJc3Ry dWN0IG1zbV9rbXNfc3RhdGUgKmttc19zdGF0ZSA9IHN0YXRlX3RvX2ttc19zdGF0ZShvYmotPnN0 YXRlKTsKPiA+ICsKPiA+ICsJaWYgKGttcy0+ZnVuY3MtPmRlc3Ryb3lfc3RhdGUpCj4gPiArCQlr bXMtPmZ1bmNzLT5kZXN0cm95X3N0YXRlKGttc19zdGF0ZS0+c3RhdGUpOwo+ID4gKwlrZnJlZShr bXNfc3RhdGUpOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcml2 YXRlX3N0YXRlX2Z1bmNzIGttc19zdGF0ZV9mdW5jcyA9IHsKPiA+ICsJLmF0b21pY19kdXBsaWNh dGVfc3RhdGUgPSBtc21fa21zX2R1cGxpY2F0ZV9zdGF0ZSwKPiA+ICsJLmF0b21pY19kZXN0cm95 X3N0YXRlID0gbXNtX2ttc19kZXN0cm95X3N0YXRlLAo+ID4gIH07Cj4gPiAKPiA+ICAjaWZkZWYg Q09ORklHX0RSTV9NU01fUkVHSVNURVJfTE9HR0lORwo+ID4gQEAgLTM0MSw2ICszOTQsOCBAQCBz dGF0aWMgaW50IG1zbV9kcm1fdW5pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ICAJCX0KPiA+ ICAJfQo+ID4gCj4gPiArCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpfZmluaSgma21zLT5iYXNlKTsK PiA+ICsKPiA+ICAJbXNtX2dlbV9zaHJpbmtlcl9jbGVhbnVwKGRkZXYpOwo+ID4gCj4gPiAgCWRy bV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsKPiA+IEBAIC03NzAsNiArODI1LDEwIEBAIHN0 YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0Cj4gPiBkcm1f ZHJpdmVyICpkcnYpCj4gPiAgCX0KPiA+ICAjZW5kaWYKPiA+IAo+ID4gKwlkcm1fYXRvbWljX3By aXZhdGVfb2JqX2luaXQoJmttcy0+YmFzZSwKPiA+ICsJCQkJICAgICZrbXMtPnN0YXRlLmJhc2Us Cj4gPiArCQkJCSAgICAma21zX3N0YXRlX2Z1bmNzKTsKPiA+ICsKPiA+ICAJLyogcGVyZm9ybSBz dWJkcml2ZXIgcG9zdCBpbml0aWFsaXphdGlvbiAqLwo+ID4gIAlpZiAoa21zICYmIGttcy0+ZnVu Y3MgJiYga21zLT5mdW5jcy0+cG9zdGluaXQpIHsKPiA+ICAJCXJldCA9IGttcy0+ZnVuY3MtPnBv c3Rpbml0KGttcyk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmgKPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiA+IGluZGV4IDI5MjQ5NmI2 ODJlOC4uOGNhYjMzM2RmNzE3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4gPiBAQCAt NTk4LDkgKzU5OCw3IEBAIHN0cnVjdCBtc21fZm9ybWF0IHsKPiA+IAo+ID4gIGludCBtc21fYXRv bWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlLCBib29sIG5vbmJsb2NrKTsKPiA+IC1zdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqbXNtX2F0b21pY19zdGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZQo+ID4gKmRldik7 Cj4gPiAtdm9pZCBtc21fYXRvbWljX3N0YXRlX2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSk7Cj4gPiAtdm9pZCBtc21fYXRvbWljX3N0YXRlX2ZyZWUoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKTsKPiA+ICtzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNtX2ttc19nZXRf c3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUKPiA+ICpzdGF0ZSk7Cj4gPiAKPiA+ICB2b2lk IG1zbV9nZW1fdW5tYXBfdm1hKHN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZSwK PiA+ICAJCXN0cnVjdCBtc21fZ2VtX3ZtYSAqdm1hLCBzdHJ1Y3Qgc2dfdGFibGUgKnNndCk7Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKPiA+IGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fa21zLmgKPiA+IGluZGV4IDA5YmExZTc5ZGI1MC4uNGM1YTY5MjU4 YzQyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oCj4gPiBAQCAtNTcsNiArNTcsOCBAQCBz dHJ1Y3QgbXNtX2ttc19mdW5jcyB7Cj4gPiAgCXZvaWQgKCpkaXNhYmxlX3ZibGFuaykoc3RydWN0 IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9jcnRjCj4gPiAqY3J0Yyk7Cj4gPiAgCS8qIHN3YXAg Z2xvYmFsIGF0b21pYyBzdGF0ZTogKi8KPiA+ICAJdm9pZCAoKnN3YXBfc3RhdGUpKHN0cnVjdCBt c21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4gPiAqc3RhdGUpOwo+ID4gKwl2 b2lkICooKmR1cGxpY2F0ZV9zdGF0ZSkodm9pZCAqc3RhdGUpOwo+ID4gKwl2b2lkICgqZGVzdHJv eV9zdGF0ZSkodm9pZCAqc3RhdGUpOwo+ID4gIAkvKiBtb2Rlc2V0LCBicmFja2V0aW5nIGF0b21p Y19jb21taXQoKTogKi8KPiA+ICAJdm9pZCAoKnByZXBhcmVfZmVuY2UpKHN0cnVjdCBtc21fa21z ICprbXMsCj4gPiAgCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiA+IEBAIC0x MTQsMTYgKzExNiw2IEBAIHN0cnVjdCBtc21fa21zX2Z1bmNzIHsKPiA+ICAjZW5kaWYKPiA+ICB9 Owo+ID4gCj4gPiAtc3RydWN0IG1zbV9rbXMgewo+ID4gLQljb25zdCBzdHJ1Y3QgbXNtX2ttc19m dW5jcyAqZnVuY3M7Cj4gPiAtCj4gPiAtCS8qIGlycSBudW1iZXIgdG8gYmUgcGFzc2VkIG9uIHRv IGRybV9pcnFfaW5zdGFsbCAqLwo+ID4gLQlpbnQgaXJxOwo+ID4gLQo+ID4gLQkvKiBtYXBwZXIt aWQgdXNlZCB0byByZXF1ZXN0IEdFTSBidWZmZXIgbWFwcGVkIGZvciBzY2Fub3V0OiAqLwo+ID4g LQlzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3BhY2U7Cj4gPiAtfTsKPiA+IC0KPiA+ ICAvKioKPiA+ICAgKiBTdWJjbGFzcyBvZiBkcm1fYXRvbWljX3N0YXRlLCB0byBhbGxvdyBrbXMg YmFja2VuZCB0byBoYXZlIGRyaXZlcgo+IFVwZGF0ZSBjb21tZW50cwo+ID4gICAqIHByaXZhdGUg Z2xvYmFsIHN0YXRlLiAgVGhlIGttcyBiYWNrZW5kIGNhbiBkbyB3aGF0ZXZlciBpdCB3YW50cwo+ ID4gQEAgLTEzMSwxMCArMTIzLDIyIEBAIHN0cnVjdCBtc21fa21zIHsKPiA+ICAgKiBpcyBrZnJl ZSdkIGFuZCBzZXQgYmFjayB0byBOVUxMLgo+ID4gICAqLwo+ID4gIHN0cnVjdCBtc21fa21zX3N0 YXRlIHsKPiA+IC0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgYmFzZTsKPiA+ICsJc3RydWN0IGRy bV9wcml2YXRlX3N0YXRlIGJhc2U7Cj4gPiAgCXZvaWQgKnN0YXRlOwo+ID4gIH07Cj4gPiAtI2Rl ZmluZSB0b19rbXNfc3RhdGUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBtc21fa21zX3N0YXRl LCBiYXNlKQo+ID4gKwo+ID4gK3N0cnVjdCBtc21fa21zIHsKPiA+ICsJc3RydWN0IGRybV9wcml2 YXRlX29iaiBiYXNlOwo+ID4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSBzdGF0ZTsKPiA+ICsKPiA+ ICsJY29uc3Qgc3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1bmNzOwo+ID4gKwo+ID4gKwkvKiBpcnEg bnVtYmVyIHRvIGJlIHBhc3NlZCBvbiB0byBkcm1faXJxX2luc3RhbGwgKi8KPiA+ICsJaW50IGly cTsKPiA+ICsKPiA+ICsJLyogbWFwcGVyLWlkIHVzZWQgdG8gcmVxdWVzdCBHRU0gYnVmZmVyIG1h cHBlZCBmb3Igc2Nhbm91dDogKi8KPiA+ICsJc3RydWN0IG1zbV9nZW1fYWRkcmVzc19zcGFjZSAq YXNwYWNlOwo+ID4gK307Cj4gPiAKPiA+ICBzdGF0aWMgaW5saW5lIHZvaWQgbXNtX2ttc19pbml0 KHN0cnVjdCBtc21fa21zICprbXMsCj4gPiAgCQljb25zdCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyAq ZnVuY3MpCj4gCj4gLS0gCj4gSmV5a3VtYXIgUwoKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5n aW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZyZWVkcmVubwo=