From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v5 17/19] drm/msm/dpu: remove RM dependency on connector state Date: Fri, 07 Sep 2018 14:02:03 -0700 Message-ID: <5fa0a4cc1c2f765fdbe7154b917457f1@codeaurora.org> References: <1536199708-23664-1-git-send-email-jsanka@codeaurora.org> <1536199708-23664-18-git-send-email-jsanka@codeaurora.org> <20180906161428.GC13368@jcrouse-lnx.qualcomm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180906161428.GC13368-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Jordan Crouse Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0wOS0wNiAwOToxNCwgSm9yZGFuIENyb3VzZSB3cm90ZToKPiBPbiBXZWQsIFNlcCAw NSwgMjAxOCBhdCAwNzowODoyNlBNIC0wNzAwLCBKZXlrdW1hciBTYW5rYXJhbiB3cm90ZToKPj4g Q29ubmVjdG9yIHN0YXRlcyB3ZXJlIHBhc3NlZCBhcm91bmQgUk0gdG8gdXBkYXRlIHRoZSBjdXN0 b20KPj4gdG9wb2xvZ3kgY29ubmVjdG9yIHByb3BlcnR5IHdpdGggY2hvc2VuIHRvcG9sb2d5IGRh dGEuIE5vdyB0aGF0Cj4+IHdlIGdvdCByaWQgb2YgYm90aCBjdXN0b20gcHJvcGVydGllcyBhbmQg dG9wb2xvZ3kgbmFtZXMsIHRoaXMKPj4gY2hhbmdlIGNsZWFucyB1cCB0aGUgbWVjaGFuaXNtIHRv IHBhc3MgY29ubmVjdG9yIHN0YXRlcyBhY3Jvc3MKPj4gUk0gaGVscGVycyBhbmQgZW5jb2RlciBm dW5jdGlvbnMuCj4+IAo+PiBjaGFuZ2VzIGluIHY1Ogo+PiAJLSBJbnRyb2R1Y2VkIGluIHRoZSBz ZXJpZXMKPj4gCj4+IFNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29k ZWF1cm9yYS5vcmc+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2VuY29kZXIuYyAgICAgICAgfCAxNSArKystLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyLmggICAgICAgIHwgIDQgKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaCAgIHwgIDMgKy0KPj4gIC4uLi9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYyAgIHwgIDMgKy0KPj4gIC4uLi9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYyAgIHwgIDcgKystCj4+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uYyAgICAgICAgICAgICB8IDYw Cj4gKysrKystLS0tLS0tLS0tLS0tLS0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3JtLmggICAgICAgICAgICAgfCAgMiAtCj4+ICA3IGZpbGVzIGNoYW5nZWQsIDI3IGlu c2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKPj4gaW5kZXggMGQ0MzUyNS4uMThmNWQxZCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCj4+IEBA IC00MzYsMTUgKzQzNiwxNCBAQCBpbnQgZHB1X2VuY29kZXJfaGVscGVyX3VucmVnaXN0ZXJfaXJx KHN0cnVjdAo+IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jLAo+PiAgfQo+PiAKPj4gIHZvaWQg ZHB1X2VuY29kZXJfZ2V0X2h3X3Jlc291cmNlcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMs Cj4+IC0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9od19yZXNvdXJjZXMgKmh3X3JlcywKPj4gLQkJc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4+ICsJCQkJICBzdHJ1Y3QgZHB1 X2VuY29kZXJfaHdfcmVzb3VyY2VzICpod19yZXMpCj4+ICB7Cj4+ICAJc3RydWN0IGRwdV9lbmNv ZGVyX3ZpcnQgKmRwdV9lbmMgPSBOVUxMOwo+PiAgCWludCBpID0gMDsKPj4gCj4+IC0JaWYgKCFo d19yZXMgfHwgIWRybV9lbmMgfHwgIWNvbm5fc3RhdGUpIHsKPj4gLQkJRFBVX0VSUk9SKCJpbnZh bGlkIGFyZ3VtZW50KHMpLCBkcm1fZW5jICVkLCByZXMgJWQsIHN0YXRlCj4gJWRcbiIsCj4+IC0J CQkJZHJtX2VuYyAhPSAwLCBod19yZXMgIT0gMCwgY29ubl9zdGF0ZSAhPQo+IDApOwo+PiArCWlm ICghaHdfcmVzIHx8ICFkcm1fZW5jKSB7Cj4+ICsJCURQVV9FUlJPUigiaW52YWxpZCBhcmd1bWVu dChzKSwgZHJtX2VuYyAlZCwgcmVzICVkXG4iLAo+PiArCQkJICBkcm1fZW5jICE9IDAsIGh3X3Jl cyAhPSAwKTsKPiAKPiBBcyBmYXIgYXMgSSBjYW4gdGVsbCBib3RoIGh3X3JlcyBhbmQgZHJtX2Vu YyB3aWxsIGJlIHNldCBmb3IgYWxsIHRoZQo+IGNhbGxlcnMgc28KPiB0aGlzIGNoZWNrIHNob3Vs ZG4ndCBiZSBuZWVkZWQuIElmIHlvdSBhcmUgcGFyYW5vaWQgeW91IGNhbiBzd2l0Y2ggdG8gYQo+ IFdBUk5fT04oKSBhbmQgZ2V0IHJpZCBvZiB0aGUgY3VzdG9tIGVycm9yIG1lc3NhZ2UgYnV0IEkg ZG9uJ3QgdGhpbmsgeW91Cj4gbmVlZCB0by4KPiAKPj4gIAkJcmV0dXJuOwo+PiAgCX0KPj4gCj4+ IEBAIC00NTgsNyArNDU3LDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9nZXRfaHdfcmVzb3VyY2VzKHN0 cnVjdCAKPj4gZHJtX2VuY29kZXIKPiAqZHJtX2VuYywKPj4gIAkJc3RydWN0IGRwdV9lbmNvZGVy X3BoeXMgKnBoeXMgPSBkcHVfZW5jLT5waHlzX2VuY3NbaV07Cj4+IAo+PiAgCQlpZiAocGh5cyAm JiBwaHlzLT5vcHMuZ2V0X2h3X3Jlc291cmNlcykKPj4gLQkJCXBoeXMtPm9wcy5nZXRfaHdfcmVz b3VyY2VzKHBoeXMsIGh3X3JlcywKPiBjb25uX3N0YXRlKTsKPj4gKwkJCXBoeXMtPm9wcy5nZXRf aHdfcmVzb3VyY2VzKHBoeXMsIGh3X3Jlcyk7Cj4+ICAJfQo+PiAgfQo+PiAKPj4gQEAgLTY1Miw3 ICs2NTEsNyBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3ZpcnRfYXRvbWljX2NoZWNrKAo+PiAg CQlpZiAoZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkKPj4gIAkJCQkm JiBkcHVfZW5jLT5tb2RlX3NldF9jb21wbGV0ZSkgewo+PiAgCQkJcmV0ID0gZHB1X3JtX3Jlc2Vy dmUoJmRwdV9rbXMtPnJtLCBkcm1fZW5jLAo+IGNydGNfc3RhdGUsCj4+IC0JCQkJY29ubl9zdGF0 ZSwgdG9wb2xvZ3ksIHRydWUpOwo+PiArCQkJCQkgICAgIHRvcG9sb2d5LCB0cnVlKTsKPj4gIAkJ CWRwdV9lbmMtPm1vZGVfc2V0X2NvbXBsZXRlID0gZmFsc2U7Cj4+ICAJCX0KPj4gIAl9Cj4+IEBA IC0xMDQ0LDcgKzEwNDMsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0 KHN0cnVjdAo+IGRybV9lbmNvZGVyICpkcm1fZW5jLAo+PiAKPj4gIAkvKiBSZXNlcnZlIGR5bmFt aWMgcmVzb3VyY2VzIG5vdy4gSW5kaWNhdGluZyBub24tQXRvbWljVGVzdCBwaGFzZQo+ICovCj4+ ICAJcmV0ID0gZHB1X3JtX3Jlc2VydmUoJmRwdV9rbXMtPnJtLCBkcm1fZW5jLCBkcm1fZW5jLT5j cnRjLT5zdGF0ZSwKPj4gLQkJCWNvbm4tPnN0YXRlLCB0b3BvbG9neSwgZmFsc2UpOwo+PiArCQkJ ICAgICB0b3BvbG9neSwgZmFsc2UpOwo+PiAgCWlmIChyZXQpIHsKPj4gIAkJRFBVX0VSUk9SX0VO QyhkcHVfZW5jLAo+PiAgCQkJCSJmYWlsZWQgdG8gcmVzZXJ2ZSBodyByZXNvdXJjZXMsICVkXG4i LAo+IHJldCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rl ci5oCj4+IGluZGV4IGYxMDliNGQuLjM0YWM1YjYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaAo+PiBAQCAtNTEsMTEgKzUxLDkgQEAgc3RydWN0 IGRwdV9lbmNvZGVyX2tpY2tvZmZfcGFyYW1zIHsKPj4gICAqIGRwdV9lbmNvZGVyX2dldF9od19y ZXNvdXJjZXMgLSBQb3B1bGF0ZSB0YWJsZSBvZiByZXF1aXJlZCBoYXJkd2FyZQo+IHJlc291cmNl cwo+PiAgICogQGVuY29kZXI6CWVuY29kZXIgcG9pbnRlcgo+PiAgICogQGh3X3JlczoJcmVzb3Vy Y2UgdGFibGUgdG8gcG9wdWxhdGUgd2l0aCBlbmNvZGVyIHJlcXVpcmVkIAo+PiByZXNvdXJjZXMK Pj4gLSAqIEBjb25uX3N0YXRlOglyZXBvcnQgaHcgcmVxcyBiYXNlZCBvbiB0aGlzIHByb3Bvc2Vk IGNvbm5lY3Rvcgo+IHN0YXRlCj4+ICAgKi8KPj4gIHZvaWQgZHB1X2VuY29kZXJfZ2V0X2h3X3Jl c291cmNlcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+IC0JCXN0cnVjdCBkcHVfZW5j b2Rlcl9od19yZXNvdXJjZXMgKmh3X3JlcywKPj4gLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUpOwo+PiArCQkJCSAgc3RydWN0IGRwdV9lbmNvZGVyX2h3X3Jlc291cmNl cwo+ICpod19yZXMpOwo+PiAKPj4gIC8qKgo+PiAgICogZHB1X2VuY29kZXJfcmVnaXN0ZXJfdmJs YW5rX2NhbGxiYWNrIC0gcHJvdmlkZSBjYWxsYmFjayB0byBlbmNvZGVyCj4gdGhhdAo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5cy5o Cj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzLmgKPj4g aW5kZXggYTAwYjIyMi4uM2ZlNGVkOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5cy5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaAo+PiBAQCAtMTQwLDggKzE0MCw3IEBAIHN0 cnVjdCBkcHVfZW5jb2Rlcl9waHlzX29wcyB7Cj4+ICAJCQkgICAgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwo+PiAgCXZvaWQgKCpkZXN0cm95KShzdHJ1Y3QgZHB1X2Vu Y29kZXJfcGh5cyAqZW5jb2Rlcik7Cj4+ICAJdm9pZCAoKmdldF9od19yZXNvdXJjZXMpKHN0cnVj dCBkcHVfZW5jb2Rlcl9waHlzICplbmNvZGVyLAo+PiAtCQkJc3RydWN0IGRwdV9lbmNvZGVyX2h3 X3Jlc291cmNlcyAqaHdfcmVzLAo+PiAtCQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUpOwo+PiArCQkJCSBzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVzb3VyY2VzICpod19y ZXMpOwo+PiAgCWludCAoKmNvbnRyb2xfdmJsYW5rX2lycSkoc3RydWN0IGRwdV9lbmNvZGVyX3Bo eXMgKmVuYywgYm9vbAo+IGVuYWJsZSk7Cj4+ICAJaW50ICgqd2FpdF9mb3JfY29tbWl0X2RvbmUp KHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7Cj4+ICAJaW50ICgqd2FpdF9mb3Jf dHhfY29tcGxldGUpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2Nt ZC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2Nt ZC5jCj4+IGluZGV4IDVjODk4NjguLmYyNzdhNjkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYwo+PiBAQCAtNTk5 LDggKzU5OSw3IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfY21kX2Rlc3Ryb3koc3Ry dWN0Cj4gZHB1X2VuY29kZXJfcGh5cyAqcGh5c19lbmMpCj4+IAo+PiAgc3RhdGljIHZvaWQgZHB1 X2VuY29kZXJfcGh5c19jbWRfZ2V0X2h3X3Jlc291cmNlcygKPj4gIAkJc3RydWN0IGRwdV9lbmNv ZGVyX3BoeXMgKnBoeXNfZW5jLAo+PiAtCQlzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVzb3VyY2Vz ICpod19yZXMsCj4+IC0JCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ PiArCQlzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVzb3VyY2VzICpod19yZXMpCj4+ICB7Cj4+ICAJ c3RydWN0IGRwdV9lbmNvZGVyX3BoeXNfY21kICpjbWRfZW5jID0KPj4gIAkJdG9fZHB1X2VuY29k ZXJfcGh5c19jbWQocGh5c19lbmMpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYwo+IGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYwo+PiBpbmRleCA2ZGUxM2Y0Li5mZDUx ZmU2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlcl9waHlzX3ZpZC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9lbmNvZGVyX3BoeXNfdmlkLmMKPj4gQEAgLTUzNywxMiArNTM3LDExIEBAIHN0YXRpYyB2b2lk IGRwdV9lbmNvZGVyX3BoeXNfdmlkX2Rlc3Ryb3koc3RydWN0Cj4gZHB1X2VuY29kZXJfcGh5cyAq cGh5c19lbmMpCj4+IAo+PiAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192aWRfZ2V0X2h3 X3Jlc291cmNlcygKPj4gIAkJc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jLAo+PiAt CQlzdHJ1Y3QgZHB1X2VuY29kZXJfaHdfcmVzb3VyY2VzICpod19yZXMsCj4+IC0JCXN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+PiArCQlzdHJ1Y3QgZHB1X2VuY29kZXJf aHdfcmVzb3VyY2VzICpod19yZXMpCj4+ICB7Cj4+ICAJaWYgKCFwaHlzX2VuYyB8fCAhaHdfcmVz KSB7Cj4+IC0JCURQVV9FUlJPUigiaW52YWxpZCBhcmcocyksIGVuYyAlZCBod19yZXMgJWQgY29u bl9zdGF0ZQo+ICVkXG4iLAo+PiAtCQkJCXBoeXNfZW5jICE9IDAsIGh3X3JlcyAhPSAwLCBjb25u X3N0YXRlICE9Cj4gMCk7Cj4+ICsJCURQVV9FUlJPUigiaW52YWxpZCBhcmcocyksIGVuYyAlZCBo d19yZXMgJWRcbiIsCj4+ICsJCQkgIHBoeXNfZW5jICE9IDAsIGh3X3JlcyAhPSAwKTsKPiAKPiBJ IGRvbid0IHRoaW5rIHRoaXMgaXMgcG9zc2libGUgZWl0aGVyLgpUaGUgbmV4dCBwYXRjaCBpbiB0 aGUgc2VyaWVzIHRha2UgY2FyZSBvZiB0aGVzZSBjaGVja3MgaW4gZW5jb2Rlci4KaHR0cHM6Ly9w YXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzI0NzUwOS8KCj4gCj4+ICAJCXJldHVybjsK Pj4gIAl9Cj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X3JtLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5jCj4+IGlu ZGV4IDg2NDY2ZjAuLjExNjQ1NjEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9ybS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9ybS5jCj4+IEBAIC02ODIsNyArNjgyLDYgQEAgc3RhdGljIGludCBfZHB1X3JtX21ha2Vf bmV4dF9yc3ZwKAo+PiAgCQlzdHJ1Y3QgZHB1X3JtICpybSwKPj4gIAkJc3RydWN0IGRybV9lbmNv ZGVyICplbmMsCj4+ICAJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gLQkJ c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCj4+ICAJCXN0cnVjdCBkcHVf cm1fcnN2cCAqcnN2cCwKPj4gIAkJc3RydWN0IGRwdV9ybV9yZXF1aXJlbWVudHMgKnJlcXMpCj4+ ICB7Cj4+IEBAIC03MjgsNyArNzI3LDYgQEAgc3RhdGljIGludCBfZHB1X3JtX3BvcHVsYXRlX3Jl cXVpcmVtZW50cygKPj4gIAkJc3RydWN0IGRwdV9ybSAqcm0sCj4+ICAJCXN0cnVjdCBkcm1fZW5j b2RlciAqZW5jLAo+PiAgCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+IC0J CXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAo+PiAgCQlzdHJ1Y3QgZHB1 X3JtX3JlcXVpcmVtZW50cyAqcmVxcywKPj4gIAkJc3RydWN0IG1zbV9kaXNwbGF5X3RvcG9sb2d5 IHJlcV90b3BvbG9neSkKPj4gIHsKPj4gQEAgLTczNiw3ICs3MzQsNyBAQCBzdGF0aWMgaW50IF9k cHVfcm1fcG9wdWxhdGVfcmVxdWlyZW1lbnRzKAo+PiAKPj4gIAltZW1zZXQocmVxcywgMCwgc2l6 ZW9mKCpyZXFzKSk7Cj4+IAo+PiAtCWRwdV9lbmNvZGVyX2dldF9od19yZXNvdXJjZXMoZW5jLCAm cmVxcy0+aHdfcmVzLCBjb25uX3N0YXRlKTsKPj4gKwlkcHVfZW5jb2Rlcl9nZXRfaHdfcmVzb3Vy Y2VzKGVuYywgJnJlcXMtPmh3X3Jlcyk7Cj4+IAo+PiAgCWZvciAoaSA9IDA7IGkgPCBEUFVfUk1f VE9QT0xPR1lfTUFYOyBpKyspIHsKPj4gIAkJaWYgKFJNX0lTX1RPUE9MT0dZX01BVENIKGdfdG9w X3RhYmxlW2ldLAo+PiBAQCAtNzgwLDI5ICs3NzgsMTIgQEAgc3RhdGljIHN0cnVjdCBkcHVfcm1f cnN2cCAqX2RwdV9ybV9nZXRfcnN2cCgKPj4gIAlyZXR1cm4gTlVMTDsKPj4gIH0KPj4gCj4+IC1z dGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3IgKl9kcHVfcm1fZ2V0X2Nvbm5lY3RvcigKPj4gLQkJ c3RydWN0IGRybV9lbmNvZGVyICplbmMpCj4+IC17Cj4+IC0Jc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm4gPSBOVUxMOwo+PiAtCXN0cnVjdCBsaXN0X2hlYWQgKmNvbm5lY3Rvcl9saXN0ID0KPj4g LQkJCSZlbmMtPmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Q7Cj4+IC0KPj4gLQlsaXN0 X2Zvcl9lYWNoX2VudHJ5KGNvbm4sIGNvbm5lY3Rvcl9saXN0LCBoZWFkKQo+PiAtCQlpZiAoY29u bi0+ZW5jb2RlciA9PSBlbmMpCj4+IC0JCQlyZXR1cm4gY29ubjsKPj4gLQo+PiAtCXJldHVybiBO VUxMOwo+PiAtfQo+PiAtCj4+ICAvKioKPj4gICAqIF9kcHVfcm1fcmVsZWFzZV9yc3ZwIC0gcmVs ZWFzZSByZXNvdXJjZXMgYW5kIHJlbGVhc2UgYSByZXNlcnZhdGlvbgo+PiAgICogQHJtOglLTVMg aGFuZGxlCj4+ICAgKiBAcnN2cDoJUlNWUCBwb2ludGVyIHRvIHJlbGVhc2UgYW5kIHJlbGVhc2Ug cmVzb3VyY2VzIGZvcgo+PiAgICovCj4+IC1zdGF0aWMgdm9pZCBfZHB1X3JtX3JlbGVhc2VfcnN2 cCgKPj4gLQkJc3RydWN0IGRwdV9ybSAqcm0sCj4+IC0JCXN0cnVjdCBkcHVfcm1fcnN2cCAqcnN2 cCwKPj4gLQkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4pCj4+ICtzdGF0aWMgdm9pZCBfZHB1 X3JtX3JlbGVhc2VfcnN2cChzdHJ1Y3QgZHB1X3JtICpybSwgc3RydWN0IAo+PiBkcHVfcm1fcnN2 cAo+ICpyc3ZwKQo+PiAgewo+PiAgCXN0cnVjdCBkcHVfcm1fcnN2cCAqcnN2cF9jLCAqcnN2cF9u Owo+PiAgCXN0cnVjdCBkcHVfcm1faHdfYmxrICpibGs7Cj4+IEBAIC04NDMsNyArODI0LDYgQEAg c3RhdGljIHZvaWQgX2RwdV9ybV9yZWxlYXNlX3JzdnAoCj4+ICB2b2lkIGRwdV9ybV9yZWxlYXNl KHN0cnVjdCBkcHVfcm0gKnJtLCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYykKPj4gIHsKPj4gIAlz dHJ1Y3QgZHB1X3JtX3JzdnAgKnJzdnA7Cj4+IC0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47 Cj4+IAo+PiAgCWlmICghcm0gfHwgIWVuYykgewo+PiAgCQlEUFVfRVJST1IoImludmFsaWQgcGFy YW1zXG4iKTsKPj4gQEAgLTg1OCwyMSArODM4LDEyIEBAIHZvaWQgZHB1X3JtX3JlbGVhc2Uoc3Ry dWN0IGRwdV9ybSAqcm0sIHN0cnVjdAo+IGRybV9lbmNvZGVyICplbmMpCj4+ICAJCWdvdG8gZW5k Owo+PiAgCX0KPj4gCj4+IC0JY29ubiA9IF9kcHVfcm1fZ2V0X2Nvbm5lY3RvcihlbmMpOwo+PiAt CWlmICghY29ubikgewo+PiAtCQlEUFVfRVJST1IoImZhaWxlZCB0byBnZXQgY29ubmVjdG9yIGZv ciBlbmMgJWRcbiIsCj4gZW5jLT5iYXNlLmlkKTsKPj4gLQkJZ290byBlbmQ7Cj4+IC0JfQo+PiAt Cj4+IC0JX2RwdV9ybV9yZWxlYXNlX3JzdnAocm0sIHJzdnAsIGNvbm4pOwo+PiArCV9kcHVfcm1f cmVsZWFzZV9yc3ZwKHJtLCByc3ZwKTsKPj4gIGVuZDoKPj4gIAltdXRleF91bmxvY2soJnJtLT5y bV9sb2NrKTsKPj4gIH0KPj4gCj4+IC1zdGF0aWMgaW50IF9kcHVfcm1fY29tbWl0X3JzdnAoCj4+ IC0JCXN0cnVjdCBkcHVfcm0gKnJtLAo+PiAtCQlzdHJ1Y3QgZHB1X3JtX3JzdnAgKnJzdnAsCj4+ IC0JCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+PiArc3RhdGljIGlu dCBfZHB1X3JtX2NvbW1pdF9yc3ZwKHN0cnVjdCBkcHVfcm0gKnJtLCBzdHJ1Y3QgZHB1X3JtX3Jz dnAKPiAqcnN2cCkKPj4gIHsKPj4gIAlzdHJ1Y3QgZHB1X3JtX2h3X2JsayAqYmxrOwo+PiAgCWVu dW0gZHB1X2h3X2Jsa190eXBlIHR5cGU7Cj4+IEBAIC04OTksNyArODcwLDYgQEAgaW50IGRwdV9y bV9yZXNlcnZlKAo+PiAgCQlzdHJ1Y3QgZHB1X3JtICpybSwKPj4gIAkJc3RydWN0IGRybV9lbmNv ZGVyICplbmMsCj4+ICAJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gLQkJ c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCj4+ICAJCXN0cnVjdCBtc21f ZGlzcGxheV90b3BvbG9neSB0b3BvbG9neSwKPj4gIAkJYm9vbCB0ZXN0X29ubHkpCj4+ICB7Cj4+ IEBAIC05MDcsNyArODc3LDcgQEAgaW50IGRwdV9ybV9yZXNlcnZlKAo+PiAgCXN0cnVjdCBkcHVf cm1fcmVxdWlyZW1lbnRzIHJlcXM7Cj4+ICAJaW50IHJldDsKPj4gCj4+IC0JaWYgKCFybSB8fCAh ZW5jIHx8ICFjcnRjX3N0YXRlIHx8ICFjb25uX3N0YXRlKSB7Cj4+ICsJaWYgKCFybSB8fCAhZW5j IHx8ICFjcnRjX3N0YXRlKSB7Cj4gCj4gSSBhbHNvIGRvbid0IHRoaW5rIHRoaXMgaXMgcG9zc2li bGUuCldpbGwgcmVtb3ZlIHRoZSBjaGVja3MhCj4gCj4+ICAJCURQVV9FUlJPUigiaW52YWxpZCBh cmd1bWVudHNcbiIpOwo+PiAgCQlyZXR1cm4gLUVJTlZBTDsKPj4gIAl9Cj4gCj4gPHNuaXA+Cj4g Cj4gSm9yZGFuCgotLSAKSmV5a3VtYXIgUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9mcmVlZHJlbm8K