From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [DPU PATCH v2] drm/msm: Use atomic private_obj instead of subclassing Date: Mon, 19 Mar 2018 12:33:41 -0700 Message-ID: References: <20180312202823.GC223881@art_vandelay> <20180319173113.94879-1-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: <20180319173113.94879-1-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: dri-devel@lists.freedesktop.org T24gMjAxOC0wMy0xOSAxMDozMSwgU2VhbiBQYXVsIHdyb3RlOgo+IEluc3RlYWQgb2Ygc3ViY2xh c3NpbmcgYXRvbWljIHN0YXRlLCBzdG9yZSBkcml2ZXIgcHJpdmF0ZSBkYXRhIGluCj4gcHJpdmF0 ZV9vYmovc3RhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUgc3dhcF9zdGF0ZSBkcml2 ZXIgaG9vawo+IGZvciBtZHA1IGFuZCBnZXQgY2xvc2VyIHRvIHVzaW5nIHRoZSBhdG9taWMgaGVs cGVycyBlbnRpcmVseS4KPiAKPiBDaGFuZ2VzIGluIHYyOgo+ICAtIFVzZSBzdGF0ZS0+c3RhdGUg aW4gZGlzcCBkdXBsaWNhdGVfc3RhdGUgY2FsbGJhY2sgKEpleWt1bWFyKQo+IAo+IENjOiBKZXlr dW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgo+IFNpZ25lZC1vZmYtYnk6IFNl YW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpXaXRoIHRoZSBiZWxvdyBjb21tZW50IHVw ZGF0ZWQKClJldmlld2VkLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEu b3JnPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYyB8 IDM3ICsrKysrKy0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jICAg ICAgICAgfCAzMCAtLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAg ICAgICAgICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2Rydi5oICAgICAgICAgICAgfCAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9rbXMuaCAgICAgICAgICAgIHwgMjggKysrKystLS0tLQo+ICA1IGZpbGVzIGNoYW5nZWQs IDk1IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCj4gaW5kZXggNmQ4ZTNhOWE2ZmMwLi5mMWEyNDg0MTk2 NTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKPiBAQCAt NzQsMzYgKzc0LDMyIEBAIHN0cnVjdCBtZHA1X3N0YXRlICptZHA1X2dldF9zdGF0ZShzdHJ1Y3QK PiBkcm1fYXRvbWljX3N0YXRlICpzKQo+ICB7Cj4gIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpw cml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMg PSB0b19tZHA1X2ttcyh0b19tZHBfa21zKHByaXYtPmttcykpOwo+IC0Jc3RydWN0IG1zbV9rbXNf c3RhdGUgKnN0YXRlID0gdG9fa21zX3N0YXRlKHMpOwo+IC0Jc3RydWN0IG1kcDVfc3RhdGUgKm5l d19zdGF0ZTsKPiArCXN0cnVjdCBtc21fa21zX3N0YXRlICprbXNfc3RhdGU7Cj4gIAlpbnQgcmV0 Owo+IAo+IC0JaWYgKHN0YXRlLT5zdGF0ZSkKPiAtCQlyZXR1cm4gc3RhdGUtPnN0YXRlOwo+IC0K PiAgCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJm1kcDVfa21zLT5zdGF0ZV9sb2NrLCBzLT5hY3F1 aXJlX2N0eCk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gCj4gLQlu ZXdfc3RhdGUgPSBrbWFsbG9jKHNpemVvZigqbWRwNV9rbXMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7 Cj4gLQlpZiAoIW5ld19zdGF0ZSkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiArCWtt c19zdGF0ZSA9IG1zbV9rbXNfZ2V0X3N0YXRlKHMpOwo+ICsJaWYgKElTX0VSUl9PUl9OVUxMKGtt c19zdGF0ZSkpCj4gKwkJcmV0dXJuIChzdHJ1Y3QgbWRwNV9zdGF0ZSAqKWttc19zdGF0ZTsgLyog Y2FzdGluZyBFUlJfUFRSCj4gKi8KPiAKPiAtCS8qIENvcHkgc3RhdGU6ICovCj4gLQluZXdfc3Rh dGUtPmh3cGlwZSA9IG1kcDVfa21zLT5zdGF0ZS0+aHdwaXBlOwo+IC0JbmV3X3N0YXRlLT5od21p eGVyID0gbWRwNV9rbXMtPnN0YXRlLT5od21peGVyOwo+IC0JaWYgKG1kcDVfa21zLT5zbXApCj4g LQkJbmV3X3N0YXRlLT5zbXAgPSBtZHA1X2ttcy0+c3RhdGUtPnNtcDsKPiArCXJldHVybiBrbXNf c3RhdGUtPnN0YXRlOwo+ICt9Cj4gCj4gLQlzdGF0ZS0+c3RhdGUgPSBuZXdfc3RhdGU7Cj4gK3N0 YXRpYyB2b2lkICptZHA1X2R1cGxpY2F0ZV9zdGF0ZSh2b2lkICpzdGF0ZSkKPiArewo+ICsJaWYg KCFzdGF0ZSkKPiArCQlyZXR1cm4ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1kcDVfc3RhdGUpLCBH RlBfS0VSTkVMKTsKPiAKPiAtCXJldHVybiBuZXdfc3RhdGU7Cj4gKwlyZXR1cm4ga21lbWR1cChz dGF0ZSwgc2l6ZW9mKHN0cnVjdCBtZHA1X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gIH0KPiAKPiAt c3RhdGljIHZvaWQgbWRwNV9zd2FwX3N0YXRlKHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCAK PiBkcm1fYXRvbWljX3N0YXRlCj4gKnN0YXRlKQo+ICtzdGF0aWMgdm9pZCBtZHA1X2Rlc3Ryb3lf c3RhdGUodm9pZCAqc3RhdGUpCj4gIHsKPiAtCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSB0 b19tZHA1X2ttcyh0b19tZHBfa21zKGttcykpOwo+IC0Jc3dhcCh0b19rbXNfc3RhdGUoc3RhdGUp LT5zdGF0ZSwgbWRwNV9rbXMtPnN0YXRlKTsKPiArCXN0cnVjdCBtZHA1X3N0YXRlICptZHBfc3Rh dGUgPSBzdGF0ZTsKPiArCWtmcmVlKG1kcF9zdGF0ZSk7Cj4gIH0KPiAKPiAgc3RhdGljIHZvaWQg bWRwNV9wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QKPiBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKPiBAQCAtMjI5LDcgKzIyNSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbWRwX2ttc19mdW5jcyBrbXNfZnVuY3MgPSB7Cj4gIAkJLmlycSAgICAgICAgICAgICA9IG1k cDVfaXJxLAo+ICAJCS5lbmFibGVfdmJsYW5rICAgPSBtZHA1X2VuYWJsZV92YmxhbmssCj4gIAkJ LmRpc2FibGVfdmJsYW5rICA9IG1kcDVfZGlzYWJsZV92YmxhbmssCj4gLQkJLnN3YXBfc3RhdGUg ICAgICA9IG1kcDVfc3dhcF9zdGF0ZSwKPiArCQkuZHVwbGljYXRlX3N0YXRlID0gbWRwNV9kdXBs aWNhdGVfc3RhdGUsCj4gKwkJLmRlc3Ryb3lfc3RhdGUJID0gbWRwNV9kZXN0cm95X3N0YXRlLAo+ ICAJCS5wcmVwYXJlX2NvbW1pdCAgPSBtZHA1X3ByZXBhcmVfY29tbWl0LAo+ICAJCS5jb21wbGV0 ZV9jb21taXQgPSBtZHA1X2NvbXBsZXRlX2NvbW1pdCwKPiAgCQkud2FpdF9mb3JfY3J0Y19jb21t aXRfZG9uZSA9Cj4gbWRwNV93YWl0X2Zvcl9jcnRjX2NvbW1pdF9kb25lLAo+IEBAIC03MjYsOCAr NzIzLDYgQEAgc3RhdGljIHZvaWQgbWRwNV9kZXN0cm95KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug Cj4gKnBkZXYpCj4gCj4gIAlpZiAobWRwNV9rbXMtPnJwbV9lbmFibGVkKQo+ICAJCXBtX3J1bnRp bWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKPiAtCj4gLQlrZnJlZShtZHA1X2ttcy0+c3RhdGUpOwo+ ICB9Cj4gCj4gIHN0YXRpYyBpbnQgY29uc3RydWN0X3BpcGVzKHN0cnVjdCBtZHA1X2ttcyAqbWRw NV9rbXMsIGludCBjbnQsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0 b21pYy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwo+IGluZGV4IDdlNTRl YjY1ZDA5Ni4uMWY1MzI2MmVhNDZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKPiBA QCAtMTY5LDkgKzE2OSw2IEBAIGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAJICovCj4gIAlCVUdfT04oZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZShz dGF0ZSwgZmFsc2UpIDwgMCk7Cj4gCj4gLQlpZiAodG9fa21zX3N0YXRlKHN0YXRlKS0+c3RhdGUp Cj4gLQkJcHJpdi0+a21zLT5mdW5jcy0+c3dhcF9zdGF0ZShwcml2LT5rbXMsIHN0YXRlKTsKPiAt Cj4gIAkvKgo+ICAJICogUHJvdmlkZSB0aGUgZHJpdmVyIGEgY2hhbmNlIHRvIHByZXBhcmUgZm9y IG91dHB1dCBmZW5jZXMuIFRoaXMKPiBpcwo+ICAJICogZG9uZSBhZnRlciB0aGUgcG9pbnQgb2Yg bm8gcmV0dXJuLCBidXQgYmVmb3JlIGFzeW5jaHJvbm91cwo+IGNvbW1pdHMKPiBAQCAtMjEwLDMw ICsyMDcsMyBAQCBpbnQgbXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgCWRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwo+ICAJcmV0 dXJuIHJldDsKPiAgfQo+IC0KPiAtc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm1zbV9hdG9taWNf c3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgCj4gKmRldikKPiAtewo+IC0Jc3RydWN0IG1z bV9rbXNfc3RhdGUgKnN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7 Cj4gLQo+IC0JaWYgKCFzdGF0ZSB8fCBkcm1fYXRvbWljX3N0YXRlX2luaXQoZGV2LCAmc3RhdGUt PmJhc2UpIDwgMCkgewo+IC0JCWtmcmVlKHN0YXRlKTsKPiAtCQlyZXR1cm4gTlVMTDsKPiAtCX0K PiAtCj4gLQlyZXR1cm4gJnN0YXRlLT5iYXNlOwo+IC19Cj4gLQo+IC12b2lkIG1zbV9hdG9taWNf c3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gLXsKPiAtCXN0cnVjdCBt c21fa21zX3N0YXRlICpzdGF0ZSA9IHRvX2ttc19zdGF0ZShzKTsKPiAtCWRybV9hdG9taWNfc3Rh dGVfZGVmYXVsdF9jbGVhcigmc3RhdGUtPmJhc2UpOwo+IC0Ja2ZyZWUoc3RhdGUtPnN0YXRlKTsK PiAtCXN0YXRlLT5zdGF0ZSA9IE5VTEw7Cj4gLX0KPiAtCj4gLXZvaWQgbXNtX2F0b21pY19zdGF0 ZV9mcmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAtewo+IC0Ja2ZyZWUodG9f a21zX3N0YXRlKHN0YXRlKS0+c3RhdGUpOwo+IC0JZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X3Jl bGVhc2Uoc3RhdGUpOwo+IC0Ja2ZyZWUoc3RhdGUpOwo+IC19Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIAo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMKPiBpbmRleCA1MjE5NzkyZTkzYmMuLjRjMDc0MGRjNzg1NCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5jCj4gQEAgLTEyMSw5ICsxMjEsNjIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9k ZV9jb25maWdfZnVuY3MKPiBtb2RlX2NvbmZpZ19mdW5jcyA9IHsKPiAgCS5vdXRwdXRfcG9sbF9j aGFuZ2VkID0gbXNtX2ZiX291dHB1dF9wb2xsX2NoYW5nZWQsCj4gIAkuYXRvbWljX2NoZWNrID0g ZHJtX2F0b21pY19oZWxwZXJfY2hlY2ssCj4gIAkuYXRvbWljX2NvbW1pdCA9IG1zbV9hdG9taWNf Y29tbWl0LAo+IC0JLmF0b21pY19zdGF0ZV9hbGxvYyA9IG1zbV9hdG9taWNfc3RhdGVfYWxsb2Ms Cj4gLQkuYXRvbWljX3N0YXRlX2NsZWFyID0gbXNtX2F0b21pY19zdGF0ZV9jbGVhciwKPiAtCS5h dG9taWNfc3RhdGVfZnJlZSA9IG1zbV9hdG9taWNfc3RhdGVfZnJlZSwKPiArfTsKPiArCj4gK3N0 YXRpYyBpbmxpbmUKPiArc3RydWN0IG1zbV9rbXMgKm9ial90b19rbXMoc3RydWN0IGRybV9wcml2 YXRlX29iaiAqb2JqKQo+ICt7Cj4gKwlyZXR1cm4gY29udGFpbmVyX29mKG9iaiwgc3RydWN0IG1z bV9rbXMsIGJhc2UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lCj4gK3N0cnVjdCBtc21fa21z X3N0YXRlICpzdGF0ZV90b19rbXNfc3RhdGUoc3RydWN0IGRybV9wcml2YXRlX3N0YXRlIAo+ICpz dGF0ZSkKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihzdGF0ZSwgc3RydWN0IG1zbV9rbXNf c3RhdGUsIGJhc2UpOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNtX2ttc19n ZXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCj4gK3sKPiArCXN0cnVjdCBtc21f ZHJtX3ByaXZhdGUgKnByaXYgPSBzLT5kZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGRybV9w cml2YXRlX29iaiAqb2JqID0gJnByaXYtPmttcy0+YmFzZTsKPiArCXN0cnVjdCBkcm1fcHJpdmF0 ZV9zdGF0ZSAqc3RhdGU7Cj4gKwo+ICsJc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wcml2YXRlX29i al9zdGF0ZShzLCBvYmopOwo+ICsJaWYgKElTX0VSUl9PUl9OVUxMKHN0YXRlKSkKPiArCQlyZXR1 cm4gKHN0cnVjdCBtc21fa21zX3N0YXRlICopc3RhdGU7IC8qIGNhc3RpbmcgRVJSX1BUUgo+ICov Cj4gKwo+ICsJcmV0dXJuIHN0YXRlX3RvX2ttc19zdGF0ZShzdGF0ZSk7Cj4gK30KPiArCj4gK3N0 YXRpYyBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKgo+ICttc21fa21zX2R1cGxpY2F0ZV9zdGF0 ZShzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmopCj4gK3sKPiArCXN0cnVjdCBtc21fa21zICpr bXMgPSBvYmpfdG9fa21zKG9iaik7Cj4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSBz dGF0ZV90b19rbXNfc3RhdGUob2JqLT5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAq bmV3X3N0YXRlOwo+ICsKPiArCWlmIChrbXMtPmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUpCj4gKwkJ bmV3X3N0YXRlID0ga21zLT5mdW5jcy0+ZHVwbGljYXRlX3N0YXRlKHN0YXRlLT5zdGF0ZSk7Cj4g Kwo+ICsJX19kcm1fYXRvbWljX2hlbHBlcl9wcml2YXRlX29ial9kdXBsaWNhdGVfc3RhdGUob2Jq LAo+ICZuZXdfc3RhdGUtPmJhc2UpOwo+ICsKPiArCXJldHVybiAmbmV3X3N0YXRlLT5iYXNlOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBtc21fa21zX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9w cml2YXRlX29iaiAqb2JqLAo+ICsJCQkJICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRl KQo+ICt7Cj4gKwlzdHJ1Y3QgbXNtX2ttcyAqa21zID0gb2JqX3RvX2ttcyhvYmopOwo+ICsJc3Ry dWN0IG1zbV9rbXNfc3RhdGUgKmttc19zdGF0ZSA9IHN0YXRlX3RvX2ttc19zdGF0ZShvYmotPnN0 YXRlKTsKPiArCj4gKwlpZiAoa21zLT5mdW5jcy0+ZGVzdHJveV9zdGF0ZSkKPiArCQlrbXMtPmZ1 bmNzLT5kZXN0cm95X3N0YXRlKGttc19zdGF0ZS0+c3RhdGUpOwo+ICsJa2ZyZWUoa21zX3N0YXRl KTsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5j cyBrbXNfc3RhdGVfZnVuY3MgPSB7Cj4gKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IG1zbV9r bXNfZHVwbGljYXRlX3N0YXRlLAo+ICsJLmF0b21pY19kZXN0cm95X3N0YXRlID0gbXNtX2ttc19k ZXN0cm95X3N0YXRlLAo+ICB9Owo+IAo+ICAjaWZkZWYgQ09ORklHX0RSTV9NU01fUkVHSVNURVJf TE9HR0lORwo+IEBAIC0zNDEsNiArMzk0LDggQEAgc3RhdGljIGludCBtc21fZHJtX3VuaW5pdChz dHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAkJfQo+ICAJfQo+IAo+ICsJZHJtX2F0b21pY19wcml2YXRl X29ial9maW5pKCZrbXMtPmJhc2UpOwo+ICsKPiAgCW1zbV9nZW1fc2hyaW5rZXJfY2xlYW51cChk ZGV2KTsKPiAKPiAgCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsKPiBAQCAtNzcwLDYg KzgyNSwxMCBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdAo+IGRybV9kcml2ZXIgKmRydikKPiAgCX0KPiAgI2VuZGlmCj4gCj4gKwlkcm1fYXRvbWlj X3ByaXZhdGVfb2JqX2luaXQoJmttcy0+YmFzZSwKPiArCQkJCSAgICAma21zLT5zdGF0ZS5iYXNl LAo+ICsJCQkJICAgICZrbXNfc3RhdGVfZnVuY3MpOwo+ICsKPiAgCS8qIHBlcmZvcm0gc3ViZHJp dmVyIHBvc3QgaW5pdGlhbGl6YXRpb24gKi8KPiAgCWlmIChrbXMgJiYga21zLT5mdW5jcyAmJiBr bXMtPmZ1bmNzLT5wb3N0aW5pdCkgewo+ICAJCXJldCA9IGttcy0+ZnVuY3MtPnBvc3Rpbml0KGtt cyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIAo+IGIvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiBpbmRleCAyOTI0OTZiNjgyZTguLjhjYWIzMzNk ZjcxNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4gQEAgLTU5OCw5ICs1OTgsNyBAQCBzdHJ1 Y3QgbXNtX2Zvcm1hdCB7Cj4gCj4gIGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwgYm9vbCBub25i bG9jayk7Cj4gLXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICptc21fYXRvbWljX3N0YXRlX2FsbG9j KHN0cnVjdCBkcm1fZGV2aWNlIAo+ICpkZXYpOwo+IC12b2lkIG1zbV9hdG9taWNfc3RhdGVfY2xl YXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAtdm9pZCBtc21fYXRvbWljX3N0 YXRlX2ZyZWUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiArc3RydWN0IG1zbV9r bXNfc3RhdGUgKm1zbV9rbXNfZ2V0X3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIAo+ICpz dGF0ZSk7Cj4gCj4gIHZvaWQgbXNtX2dlbV91bm1hcF92bWEoc3RydWN0IG1zbV9nZW1fYWRkcmVz c19zcGFjZSAqYXNwYWNlLAo+ICAJCXN0cnVjdCBtc21fZ2VtX3ZtYSAqdm1hLCBzdHJ1Y3Qgc2df dGFibGUgKnNndCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5o IAo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKPiBpbmRleCAwOWJhMWU3OWRiNTAu LjRjNWE2OTI1OGM0MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oCj4gQEAgLTU3LDYgKzU3LDgg QEAgc3RydWN0IG1zbV9rbXNfZnVuY3Mgewo+ICAJdm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1 Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2NydGMKPiAqY3J0Yyk7Cj4gIAkvKiBzd2FwIGds b2JhbCBhdG9taWMgc3RhdGU6ICovCj4gIAl2b2lkICgqc3dhcF9zdGF0ZSkoc3RydWN0IG1zbV9r bXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUKPiAqc3RhdGUpOwo+ICsJdm9pZCAqKCpk dXBsaWNhdGVfc3RhdGUpKHZvaWQgKnN0YXRlKTsKPiArCXZvaWQgKCpkZXN0cm95X3N0YXRlKSh2 b2lkICpzdGF0ZSk7Cj4gIAkvKiBtb2Rlc2V0LCBicmFja2V0aW5nIGF0b21pY19jb21taXQoKTog Ki8KPiAgCXZvaWQgKCpwcmVwYXJlX2ZlbmNlKShzdHJ1Y3QgbXNtX2ttcyAqa21zLAo+ICAJCQlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+IEBAIC0xMTQsMTYgKzExNiw2IEBAIHN0 cnVjdCBtc21fa21zX2Z1bmNzIHsKPiAgI2VuZGlmCj4gIH07Cj4gCj4gLXN0cnVjdCBtc21fa21z IHsKPiAtCWNvbnN0IHN0cnVjdCBtc21fa21zX2Z1bmNzICpmdW5jczsKPiAtCj4gLQkvKiBpcnEg bnVtYmVyIHRvIGJlIHBhc3NlZCBvbiB0byBkcm1faXJxX2luc3RhbGwgKi8KPiAtCWludCBpcnE7 Cj4gLQo+IC0JLyogbWFwcGVyLWlkIHVzZWQgdG8gcmVxdWVzdCBHRU0gYnVmZmVyIG1hcHBlZCBm b3Igc2Nhbm91dDogKi8KPiAtCXN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZTsK PiAtfTsKPiAtCj4gIC8qKgo+ICAgKiBTdWJjbGFzcyBvZiBkcm1fYXRvbWljX3N0YXRlLCB0byBh bGxvdyBrbXMgYmFja2VuZCB0byBoYXZlIGRyaXZlcgo+ICAgKiBwcml2YXRlIGdsb2JhbCBzdGF0 ZS4gIFRoZSBrbXMgYmFja2VuZCBjYW4gZG8gd2hhdGV2ZXIgaXQgd2FudHMKVXBkYXRlIGNvbW1l bnRzLiBJdCBpcyBub3Qgc3ViY2xhc3NpbmcgZHJtX2F0b21pY19zdGF0ZSBhbnltb3JlLgo+IEBA IC0xMzEsMTAgKzEyMywyMiBAQCBzdHJ1Y3QgbXNtX2ttcyB7Cj4gICAqIGlzIGtmcmVlJ2QgYW5k IHNldCBiYWNrIHRvIE5VTEwuCj4gICAqLwo+ICBzdHJ1Y3QgbXNtX2ttc19zdGF0ZSB7Cj4gLQlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSBiYXNlOwo+ICsJc3RydWN0IGRybV9wcml2YXRlX3N0YXRl IGJhc2U7Cj4gIAl2b2lkICpzdGF0ZTsKPiAgfTsKPiAtI2RlZmluZSB0b19rbXNfc3RhdGUoeCkg Y29udGFpbmVyX29mKHgsIHN0cnVjdCBtc21fa21zX3N0YXRlLCBiYXNlKQo+ICsKPiArc3RydWN0 IG1zbV9rbXMgewo+ICsJc3RydWN0IGRybV9wcml2YXRlX29iaiBiYXNlOwo+ICsJc3RydWN0IG1z bV9rbXNfc3RhdGUgc3RhdGU7Cj4gKwo+ICsJY29uc3Qgc3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1 bmNzOwo+ICsKPiArCS8qIGlycSBudW1iZXIgdG8gYmUgcGFzc2VkIG9uIHRvIGRybV9pcnFfaW5z dGFsbCAqLwo+ICsJaW50IGlycTsKPiArCj4gKwkvKiBtYXBwZXItaWQgdXNlZCB0byByZXF1ZXN0 IEdFTSBidWZmZXIgbWFwcGVkIGZvciBzY2Fub3V0OiAqLwo+ICsJc3RydWN0IG1zbV9nZW1fYWRk cmVzc19zcGFjZSAqYXNwYWNlOwo+ICt9Owo+IAo+ICBzdGF0aWMgaW5saW5lIHZvaWQgbXNtX2tt c19pbml0KHN0cnVjdCBtc21fa21zICprbXMsCj4gIAkJY29uc3Qgc3RydWN0IG1zbV9rbXNfZnVu Y3MgKmZ1bmNzKQoKLS0gCkpleWt1bWFyIFMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZnJlZWRyZW5vCg==