From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [DPU PATCH 07/11] drm/msm: Use atomic private_obj instead of subclassing Date: Thu, 08 Mar 2018 17:59:11 -0800 Message-ID: <7fb92416ee99990f6a1280a617736051@codeaurora.org> References: <20180228191906.185417-1-seanpaul@chromium.org> <20180228191906.185417-8-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180228191906.185417-8-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0wMi0yOCAxMToxOSwgU2VhbiBQYXVsIHdyb3RlOgo+IEluc3RlYWQgb2Ygc3ViY2xh c3NpbmcgYXRvbWljIHN0YXRlLCBzdG9yZSBkcml2ZXIgcHJpdmF0ZSBkYXRhIGluCj4gcHJpdmF0 ZV9vYmovc3RhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUgc3dhcF9zdGF0ZSBkcml2 ZXIgaG9vawo+IGZvciBtZHA1IGFuZCBnZXQgY2xvc2VyIHRvIHVzaW5nIHRoZSBhdG9taWMgaGVs cGVycyBlbnRpcmVseS4KPiAKPiBDaGFuZ2UtSWQ6IEk2NWE0YTI4ODc1OTNhZTI1N2Q1ODRlMDBi MzUyYjVkYWYwMGU0ZTYxCj4gU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJv bWl1bS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21z LmMgfCAzNyArKysrKystLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMu YyAgICAgICAgIHwgMzAgLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMgICAgICAgICAgICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9kcnYuaCAgICAgICAgICAgIHwgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJt L21zbS9tc21fa21zLmggICAgICAgICAgICB8IDI4ICsrKysrLS0tLS0KPiAgNSBmaWxlcyBjaGFu Z2VkLCA5NSBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwo+IGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwo+IGluZGV4IDZkOGUzYTlhNmZjMC4uZjFhMjQ4 NDE5NjU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVf a21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCj4g QEAgLTc0LDM2ICs3NCwzMiBAQCBzdHJ1Y3QgbWRwNV9zdGF0ZSAqbWRwNV9nZXRfc3RhdGUoc3Ry dWN0Cj4gZHJtX2F0b21pY19zdGF0ZSAqcykKPiAgewo+ICAJc3RydWN0IG1zbV9kcm1fcHJpdmF0 ZSAqcHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVf a21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2LT5rbXMpKTsKPiAtCXN0cnVjdCBtc21f a21zX3N0YXRlICpzdGF0ZSA9IHRvX2ttc19zdGF0ZShzKTsKPiAtCXN0cnVjdCBtZHA1X3N0YXRl ICpuZXdfc3RhdGU7Cj4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqa21zX3N0YXRlOwo+ICAJaW50 IHJldDsKPiAKPiAtCWlmIChzdGF0ZS0+c3RhdGUpCj4gLQkJcmV0dXJuIHN0YXRlLT5zdGF0ZTsK PiAtCj4gIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZtZHA1X2ttcy0+c3RhdGVfbG9jaywgcy0+ YWNxdWlyZV9jdHgpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+IAo+ IC0JbmV3X3N0YXRlID0ga21hbGxvYyhzaXplb2YoKm1kcDVfa21zLT5zdGF0ZSksIEdGUF9LRVJO RUwpOwo+IC0JaWYgKCFuZXdfc3RhdGUpCj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4g KwlrbXNfc3RhdGUgPSBtc21fa21zX2dldF9zdGF0ZShzKTsKPiArCWlmIChJU19FUlJfT1JfTlVM TChrbXNfc3RhdGUpKQo+ICsJCXJldHVybiAoc3RydWN0IG1kcDVfc3RhdGUgKilrbXNfc3RhdGU7 IC8qIGNhc3RpbmcgRVJSX1BUUgo+ICovCj4gCj4gLQkvKiBDb3B5IHN0YXRlOiAqLwo+IC0JbmV3 X3N0YXRlLT5od3BpcGUgPSBtZHA1X2ttcy0+c3RhdGUtPmh3cGlwZTsKPiAtCW5ld19zdGF0ZS0+ aHdtaXhlciA9IG1kcDVfa21zLT5zdGF0ZS0+aHdtaXhlcjsKPiAtCWlmIChtZHA1X2ttcy0+c21w KQo+IC0JCW5ld19zdGF0ZS0+c21wID0gbWRwNV9rbXMtPnN0YXRlLT5zbXA7Cj4gKwlyZXR1cm4g a21zX3N0YXRlLT5zdGF0ZTsKPiArfQo+IAo+IC0Jc3RhdGUtPnN0YXRlID0gbmV3X3N0YXRlOwo+ ICtzdGF0aWMgdm9pZCAqbWRwNV9kdXBsaWNhdGVfc3RhdGUodm9pZCAqc3RhdGUpCj4gK3sKPiAr CWlmICghc3RhdGUpCj4gKwkJcmV0dXJuIGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtZHA1X3N0YXRl KSwgR0ZQX0tFUk5FTCk7Cj4gCj4gLQlyZXR1cm4gbmV3X3N0YXRlOwo+ICsJcmV0dXJuIGttZW1k dXAoc3RhdGUsIHNpemVvZihzdHJ1Y3QgbWRwNV9zdGF0ZSksIEdGUF9LRVJORUwpOwo+ICB9Cj4g Cj4gLXN0YXRpYyB2b2lkIG1kcDVfc3dhcF9zdGF0ZShzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1 Y3QgCj4gZHJtX2F0b21pY19zdGF0ZQo+ICpzdGF0ZSkKPiArc3RhdGljIHZvaWQgbWRwNV9kZXN0 cm95X3N0YXRlKHZvaWQgKnN0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21z ID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhrbXMpKTsKPiAtCXN3YXAodG9fa21zX3N0YXRlKHN0 YXRlKS0+c3RhdGUsIG1kcDVfa21zLT5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgbWRwNV9zdGF0ZSAqbWRw X3N0YXRlID0gc3RhdGU7Cj4gKwlrZnJlZShtZHBfc3RhdGUpOwo+ICB9Cj4gCj4gIHN0YXRpYyB2 b2lkIG1kcDVfcHJlcGFyZV9jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0Cj4gZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gQEAgLTIyOSw3ICsyMjUsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IG1kcF9rbXNfZnVuY3Mga21zX2Z1bmNzID0gewo+ICAJCS5pcnEgICAgICAgICAgICAg PSBtZHA1X2lycSwKPiAgCQkuZW5hYmxlX3ZibGFuayAgID0gbWRwNV9lbmFibGVfdmJsYW5rLAo+ ICAJCS5kaXNhYmxlX3ZibGFuayAgPSBtZHA1X2Rpc2FibGVfdmJsYW5rLAo+IC0JCS5zd2FwX3N0 YXRlICAgICAgPSBtZHA1X3N3YXBfc3RhdGUsCj4gKwkJLmR1cGxpY2F0ZV9zdGF0ZSA9IG1kcDVf ZHVwbGljYXRlX3N0YXRlLAo+ICsJCS5kZXN0cm95X3N0YXRlCSA9IG1kcDVfZGVzdHJveV9zdGF0 ZSwKPiAgCQkucHJlcGFyZV9jb21taXQgID0gbWRwNV9wcmVwYXJlX2NvbW1pdCwKPiAgCQkuY29t cGxldGVfY29tbWl0ID0gbWRwNV9jb21wbGV0ZV9jb21taXQsCj4gIAkJLndhaXRfZm9yX2NydGNf Y29tbWl0X2RvbmUgPQo+IG1kcDVfd2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZSwKPiBAQCAtNzI2 LDggKzcyMyw2IEBAIHN0YXRpYyB2b2lkIG1kcDVfZGVzdHJveShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlIAo+ICpwZGV2KQo+IAo+ICAJaWYgKG1kcDVfa21zLT5ycG1fZW5hYmxlZCkKPiAgCQlwbV9y dW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7Cj4gLQo+IC0Ja2ZyZWUobWRwNV9rbXMtPnN0YXRl KTsKPiAgfQo+IAo+ICBzdGF0aWMgaW50IGNvbnN0cnVjdF9waXBlcyhzdHJ1Y3QgbWRwNV9rbXMg Km1kcDVfa21zLCBpbnQgY250LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9hdG9taWMuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKPiBpbmRleCA3 ZTU0ZWI2NWQwOTYuLjFmNTMyNjJlYTQ2YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5j Cj4gQEAgLTE2OSw5ICsxNjksNiBAQCBpbnQgbXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCSAqLwo+ICAJQlVHX09OKGRybV9hdG9taWNfaGVscGVyX3N3YXBfc3Rh dGUoc3RhdGUsIGZhbHNlKSA8IDApOwo+IAo+IC0JaWYgKHRvX2ttc19zdGF0ZShzdGF0ZSktPnN0 YXRlKQo+IC0JCXByaXYtPmttcy0+ZnVuY3MtPnN3YXBfc3RhdGUocHJpdi0+a21zLCBzdGF0ZSk7 Cj4gLQo+ICAJLyoKPiAgCSAqIFByb3ZpZGUgdGhlIGRyaXZlciBhIGNoYW5jZSB0byBwcmVwYXJl IGZvciBvdXRwdXQgZmVuY2VzLiBUaGlzCj4gaXMKPiAgCSAqIGRvbmUgYWZ0ZXIgdGhlIHBvaW50 IG9mIG5vIHJldHVybiwgYnV0IGJlZm9yZSBhc3luY2hyb25vdXMKPiBjb21taXRzCj4gQEAgLTIx MCwzMCArMjA3LDMgQEAgaW50IG1zbV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gIAlkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKPiAg CXJldHVybiByZXQ7Cj4gIH0KPiAtCj4gLXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICptc21fYXRv bWljX3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlIAo+ICpkZXYpCj4gLXsKPiAtCXN0cnVj dCBtc21fa21zX3N0YXRlICpzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJO RUwpOwo+IC0KPiAtCWlmICghc3RhdGUgfHwgZHJtX2F0b21pY19zdGF0ZV9pbml0KGRldiwgJnN0 YXRlLT5iYXNlKSA8IDApIHsKPiAtCQlrZnJlZShzdGF0ZSk7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4g LQl9Cj4gLQo+IC0JcmV0dXJuICZzdGF0ZS0+YmFzZTsKPiAtfQo+IC0KPiAtdm9pZCBtc21fYXRv bWljX3N0YXRlX2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzKQo+IC17Cj4gLQlzdHJ1 Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSB0b19rbXNfc3RhdGUocyk7Cj4gLQlkcm1fYXRvbWlj X3N0YXRlX2RlZmF1bHRfY2xlYXIoJnN0YXRlLT5iYXNlKTsKPiAtCWtmcmVlKHN0YXRlLT5zdGF0 ZSk7Cj4gLQlzdGF0ZS0+c3RhdGUgPSBOVUxMOwo+IC19Cj4gLQo+IC12b2lkIG1zbV9hdG9taWNf c3RhdGVfZnJlZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gLXsKPiAtCWtmcmVl KHRvX2ttc19zdGF0ZShzdGF0ZSktPnN0YXRlKTsKPiAtCWRybV9hdG9taWNfc3RhdGVfZGVmYXVs dF9yZWxlYXNlKHN0YXRlKTsKPiAtCWtmcmVlKHN0YXRlKTsKPiAtfQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5jCj4gaW5kZXggYjM1NDQyNGNjY2I1Li5lNTgyZDU4ODliNjYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9kcnYuYwo+IEBAIC0xMjEsOSArMTIxLDYyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfY29uZmlnX2Z1bmNzCj4gbW9kZV9jb25maWdfZnVuY3MgPSB7Cj4gIAkub3V0cHV0X3Bv bGxfY2hhbmdlZCA9IG1zbV9mYl9vdXRwdXRfcG9sbF9jaGFuZ2VkLAo+ICAJLmF0b21pY19jaGVj ayA9IG1zbV9hdG9taWNfY2hlY2ssCj4gIAkuYXRvbWljX2NvbW1pdCA9IG1zbV9hdG9taWNfY29t bWl0LAo+IC0JLmF0b21pY19zdGF0ZV9hbGxvYyA9IG1zbV9hdG9taWNfc3RhdGVfYWxsb2MsCj4g LQkuYXRvbWljX3N0YXRlX2NsZWFyID0gbXNtX2F0b21pY19zdGF0ZV9jbGVhciwKPiAtCS5hdG9t aWNfc3RhdGVfZnJlZSA9IG1zbV9hdG9taWNfc3RhdGVfZnJlZSwKPiArfTsKPiArCj4gK3N0YXRp YyBpbmxpbmUKPiArc3RydWN0IG1zbV9rbXMgKm9ial90b19rbXMoc3RydWN0IGRybV9wcml2YXRl X29iaiAqb2JqKQo+ICt7Cj4gKwlyZXR1cm4gY29udGFpbmVyX29mKG9iaiwgc3RydWN0IG1zbV9r bXMsIGJhc2UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lCj4gK3N0cnVjdCBtc21fa21zX3N0 YXRlICpzdGF0ZV90b19rbXNfc3RhdGUoc3RydWN0IGRybV9wcml2YXRlX3N0YXRlIAo+ICpzdGF0 ZSkKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihzdGF0ZSwgc3RydWN0IG1zbV9rbXNfc3Rh dGUsIGJhc2UpOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNtX2ttc19nZXRf c3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gK3sKPiArCXN0cnVjdCBtc21fZHJt X3ByaXZhdGUgKnByaXYgPSBzLT5kZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGRybV9wcml2 YXRlX29iaiAqb2JqID0gJnByaXYtPmttcy0+YmFzZTsKPiArCXN0cnVjdCBkcm1fcHJpdmF0ZV9z dGF0ZSAqc3RhdGU7Cj4gKwo+ICsJc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9z dGF0ZShzLCBvYmopOwo+ICsJaWYgKElTX0VSUl9PUl9OVUxMKHN0YXRlKSkKPiArCQlyZXR1cm4g KHN0cnVjdCBtc21fa21zX3N0YXRlICopc3RhdGU7IC8qIGNhc3RpbmcgRVJSX1BUUgo+ICovCj4g Kwo+ICsJcmV0dXJuIHN0YXRlX3RvX2ttc19zdGF0ZShzdGF0ZSk7Cj4gK30KPiArCj4gK3N0YXRp YyBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKgo+ICttc21fa21zX2R1cGxpY2F0ZV9zdGF0ZShz dHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmopCj4gK3sKPiArCXN0cnVjdCBtc21fa21zICprbXMg PSBvYmpfdG9fa21zKG9iaik7Cj4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSBzdGF0 ZV90b19rbXNfc3RhdGUob2JqLT5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbmV3 X3N0YXRlOwo+ICsKPiArCWlmIChrbXMtPmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUpCj4gKwkJbmV3 X3N0YXRlID0ga21zLT5mdW5jcy0+ZHVwbGljYXRlX3N0YXRlKHN0YXRlKTsKClNob3VsZG4ndCB0 aGlzIGJlIHN0YXRlLT5zdGF0ZT8gSSBiZWxpZXZlIHdlIGFyZSB0cnlpbmcgdG8gZHVwbGljYXRl IAptZHA1X3N0YXRlIGhlcmUuCgo+ICsKPiArCV9fZHJtX2F0b21pY19oZWxwZXJfcHJpdmF0ZV9v YmpfZHVwbGljYXRlX3N0YXRlKG9iaiwKPiAmbmV3X3N0YXRlLT5iYXNlKTsKPiArCj4gKwlyZXR1 cm4gJm5ld19zdGF0ZS0+YmFzZTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgbXNtX2ttc19kZXN0 cm95X3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaiwKPiArCQkJCSAgc3RydWN0IGRy bV9wcml2YXRlX3N0YXRlICpzdGF0ZSkKPiArewo+ICsJc3RydWN0IG1zbV9rbXMgKmttcyA9IG9i al90b19rbXMob2JqKTsKPiArCXN0cnVjdCBtc21fa21zX3N0YXRlICprbXNfc3RhdGUgPSBzdGF0 ZV90b19rbXNfc3RhdGUob2JqLT5zdGF0ZSk7Cj4gKwo+ICsJaWYgKGttcy0+ZnVuY3MtPmRlc3Ry b3lfc3RhdGUpCj4gKwkJa21zLT5mdW5jcy0+ZGVzdHJveV9zdGF0ZShrbXNfc3RhdGUtPnN0YXRl KTsKPiArCWtmcmVlKGttc19zdGF0ZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mga21zX3N0YXRlX2Z1bmNzID0gewo+ICsJLmF0b21pY19k dXBsaWNhdGVfc3RhdGUgPSBtc21fa21zX2R1cGxpY2F0ZV9zdGF0ZSwKPiArCS5hdG9taWNfZGVz dHJveV9zdGF0ZSA9IG1zbV9rbXNfZGVzdHJveV9zdGF0ZSwKPiAgfTsKPiAKPiAgI2lmZGVmIENP TkZJR19EUk1fTVNNX1JFR0lTVEVSX0xPR0dJTkcKPiBAQCAtMzQxLDYgKzM5NCw4IEBAIHN0YXRp YyBpbnQgbXNtX2RybV91bmluaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAJCX0KPiAgCX0KPiAK PiArCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpfZmluaSgma21zLT5iYXNlKTsKPiArCj4gIAltc21f Z2VtX3Nocmlua2VyX2NsZWFudXAoZGRldik7Cj4gCj4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2Zp bmkoZGRldik7Cj4gQEAgLTc3MCw2ICs4MjUsMTAgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QKPiBkcm1fZHJpdmVyICpkcnYpCj4gIAl9Cj4gICNl bmRpZgo+IAo+ICsJZHJtX2F0b21pY19wcml2YXRlX29ial9pbml0KCZrbXMtPmJhc2UsCj4gKwkJ CQkgICAgJmttcy0+c3RhdGUuYmFzZSwKPiArCQkJCSAgICAma21zX3N0YXRlX2Z1bmNzKTsKPiAr Cj4gIAkvKiBwZXJmb3JtIHN1YmRyaXZlciBwb3N0IGluaXRpYWxpemF0aW9uICovCj4gIAlpZiAo a21zICYmIGttcy0+ZnVuY3MgJiYga21zLT5mdW5jcy0+cG9zdGluaXQpIHsKPiAgCQlyZXQgPSBr bXMtPmZ1bmNzLT5wb3N0aW5pdChrbXMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuaCAKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4gaW5kZXgg MjkyNDk2YjY4MmU4Li44Y2FiMzMzZGY3MTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+IEBA IC01OTgsOSArNTk4LDcgQEAgc3RydWN0IG1zbV9mb3JtYXQgewo+IAo+ICBpbnQgbXNtX2F0b21p Y19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQlzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUsIGJvb2wgbm9uYmxvY2spOwo+IC1zdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq bXNtX2F0b21pY19zdGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAKPiAqZGV2KTsKPiAtdm9p ZCBtc21fYXRvbWljX3N0YXRlX2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7 Cj4gLXZvaWQgbXNtX2F0b21pY19zdGF0ZV9mcmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSk7Cj4gK3N0cnVjdCBtc21fa21zX3N0YXRlICptc21fa21zX2dldF9zdGF0ZShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAKPiAqc3RhdGUpOwo+IAo+ICB2b2lkIG1zbV9nZW1fdW5tYXBfdm1h KHN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZSwKPiAgCQlzdHJ1Y3QgbXNtX2dl bV92bWEgKnZtYSwgc3RydWN0IHNnX3RhYmxlICpzZ3QpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9rbXMuaCAKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5o Cj4gaW5kZXggMDliYTFlNzlkYjUwLi40YzVhNjkyNThjNDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fa21zLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9r bXMuaAo+IEBAIC01Nyw2ICs1Nyw4IEBAIHN0cnVjdCBtc21fa21zX2Z1bmNzIHsKPiAgCXZvaWQg KCpkaXNhYmxlX3ZibGFuaykoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9jcnRjCj4g KmNydGMpOwo+ICAJLyogc3dhcCBnbG9iYWwgYXRvbWljIHN0YXRlOiAqLwo+ICAJdm9pZCAoKnN3 YXBfc3RhdGUpKHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4g KnN0YXRlKTsKPiArCXZvaWQgKigqZHVwbGljYXRlX3N0YXRlKSh2b2lkICpzdGF0ZSk7Cj4gKwl2 b2lkICgqZGVzdHJveV9zdGF0ZSkodm9pZCAqc3RhdGUpOwo+ICAJLyogbW9kZXNldCwgYnJhY2tl dGluZyBhdG9taWNfY29tbWl0KCk6ICovCj4gIAl2b2lkICgqcHJlcGFyZV9mZW5jZSkoc3RydWN0 IG1zbV9rbXMgKmttcywKPiAgCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiBA QCAtMTE0LDE2ICsxMTYsNiBAQCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyB7Cj4gICNlbmRpZgo+ICB9 Owo+IAo+IC1zdHJ1Y3QgbXNtX2ttcyB7Cj4gLQljb25zdCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyAq ZnVuY3M7Cj4gLQo+IC0JLyogaXJxIG51bWJlciB0byBiZSBwYXNzZWQgb24gdG8gZHJtX2lycV9p bnN0YWxsICovCj4gLQlpbnQgaXJxOwo+IC0KPiAtCS8qIG1hcHBlci1pZCB1c2VkIHRvIHJlcXVl c3QgR0VNIGJ1ZmZlciBtYXBwZWQgZm9yIHNjYW5vdXQ6ICovCj4gLQlzdHJ1Y3QgbXNtX2dlbV9h ZGRyZXNzX3NwYWNlICphc3BhY2U7Cj4gLX07Cj4gLQo+ICAvKioKPiAgICogU3ViY2xhc3Mgb2Yg ZHJtX2F0b21pY19zdGF0ZSwgdG8gYWxsb3cga21zIGJhY2tlbmQgdG8gaGF2ZSBkcml2ZXIKVXBk YXRlIGNvbW1lbnRzCj4gICAqIHByaXZhdGUgZ2xvYmFsIHN0YXRlLiAgVGhlIGttcyBiYWNrZW5k IGNhbiBkbyB3aGF0ZXZlciBpdCB3YW50cwo+IEBAIC0xMzEsMTAgKzEyMywyMiBAQCBzdHJ1Y3Qg bXNtX2ttcyB7Cj4gICAqIGlzIGtmcmVlJ2QgYW5kIHNldCBiYWNrIHRvIE5VTEwuCj4gICAqLwo+ ICBzdHJ1Y3QgbXNtX2ttc19zdGF0ZSB7Cj4gLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSBiYXNl Owo+ICsJc3RydWN0IGRybV9wcml2YXRlX3N0YXRlIGJhc2U7Cj4gIAl2b2lkICpzdGF0ZTsKPiAg fTsKPiAtI2RlZmluZSB0b19rbXNfc3RhdGUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBtc21f a21zX3N0YXRlLCBiYXNlKQo+ICsKPiArc3RydWN0IG1zbV9rbXMgewo+ICsJc3RydWN0IGRybV9w cml2YXRlX29iaiBiYXNlOwo+ICsJc3RydWN0IG1zbV9rbXNfc3RhdGUgc3RhdGU7Cj4gKwo+ICsJ Y29uc3Qgc3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1bmNzOwo+ICsKPiArCS8qIGlycSBudW1iZXIg dG8gYmUgcGFzc2VkIG9uIHRvIGRybV9pcnFfaW5zdGFsbCAqLwo+ICsJaW50IGlycTsKPiArCj4g KwkvKiBtYXBwZXItaWQgdXNlZCB0byByZXF1ZXN0IEdFTSBidWZmZXIgbWFwcGVkIGZvciBzY2Fu b3V0OiAqLwo+ICsJc3RydWN0IG1zbV9nZW1fYWRkcmVzc19zcGFjZSAqYXNwYWNlOwo+ICt9Owo+ IAo+ICBzdGF0aWMgaW5saW5lIHZvaWQgbXNtX2ttc19pbml0KHN0cnVjdCBtc21fa21zICprbXMs Cj4gIAkJY29uc3Qgc3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1bmNzKQoKLS0gCkpleWt1bWFyIFMK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5v IG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==