From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 3/7] drm/msm/dpu: Remove unneeded checks in dpu_crtc.c Date: Fri, 21 Sep 2018 11:49:29 -0400 Message-ID: <20180921154929.GI72545@art_vandelay> References: <20180920164924.225847-1-bzwang@chromium.org> <20180920164924.225847-4-bzwang@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180920164924.225847-4-bzwang-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: Bruce Wang Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBTZXAgMjAsIDIwMTggYXQgMTI6NDk6MjBQTSAtMDQwMCwgQnJ1Y2UgV2FuZyB3cm90 ZToKPiBSZW1vdmVzIGltcG9zc2libGUgY2hlY2tzIGluIGRwdV9jcnRjLmMuCj4gVmFyaWFibGUg YXNzaWdubWVudHMgYXJlIG1vdmVkIHVwIHRvIGJlIGluaXRpYWxpemF0aW9ucyB3aGVyZQo+IHBv c3NpYmxlLiBTb21lIHZhcmlhYmxlcyBhcmUgbm8gbG9uZ2VyIHVzZWQsIHRoZXNlIGFyZSByZW1v dmVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJydWNlIFdhbmcgPGJ6d2FuZ0BjaHJvbWl1bS5vcmc+ Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgfCAxNzAg KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMo KyksIDE0NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMKPiBpbmRleCBhOGYyZGQ3YTM3YzcuLmE5YWRiMTZlYWM2ZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IEBAIC01NSwxOSArNTUsOCBAQCBz dGF0aWMgaW5saW5lIGludCBfZHB1X2NydGNfZ2V0X21peGVyX3dpZHRoKHN0cnVjdCBkcHVfY3J0 Y19zdGF0ZSAqY3N0YXRlLAo+ICAKPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHB1X2ttcyAqX2Rw dV9jcnRjX2dldF9rbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgbXNt X2RybV9wcml2YXRlICpwcml2Owo+IC0KPiAtCWlmICghY3J0YyB8fCAhY3J0Yy0+ZGV2IHx8ICFj cnRjLT5kZXYtPmRldl9wcml2YXRlKSB7Cj4gLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGNydGNcbiIp Owo+IC0JCXJldHVybiBOVUxMOwo+IC0JfQo+IC0JcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZh dGU7Cj4gLQlpZiAoIXByaXYgfHwgIXByaXYtPmttcykgewo+IC0JCURQVV9FUlJPUigiaW52YWxp ZCBrbXNcbiIpOwo+IC0JCXJldHVybiBOVUxMOwo+IC0JfQo+IC0KPiAtCXJldHVybiB0b19kcHVf a21zKHByaXYtPmttcyk7Cj4gKwlyZXR1cm4gdG9fZHB1X2ttcygoKHN0cnVjdCBtc21fZHJtX3By aXZhdGUgKikgY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZSkKPiArCQkJLT5rbXMpOwoKSG1tLCBJIGRp ZG4ndCByZWFsaXplIHRoZSBjYXN0IHdhcyBuZWVkZWQgaW4gb3JkZXIgdG8gaW5saW5lIGV2ZXJ5 dGhpbmcuIEluCmxpZ2h0IG9mIHRoYXQsIEknZCBwcmVmZXIgZ29pbmcgYmFjayB0byB5b3VyIHYx LgoKV2l0aCB0aGF0IGZpeGVkLAoKUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hy b21pdW0ub3JnPgoKCj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfY3J0Y19wb3dl cl9lbmFibGUoc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YywgYm9vbCBlbmFibGUpCj4gQEAgLTE3 NywyOCArMTY2LDE3IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVuZF9zZXR1cF9taXhlcihz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCXN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3Rh dGU7Cj4gLQlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZTsKPiArCXN0cnVjdCBkcHVfY3J0 Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAJc3Ry dWN0IGRwdV9wbGFuZV9zdGF0ZSAqcHN0YXRlID0gTlVMTDsKPiAgCXN0cnVjdCBkcHVfZm9ybWF0 ICpmb3JtYXQ7Cj4gLQlzdHJ1Y3QgZHB1X2h3X2N0bCAqY3RsOwo+IC0Jc3RydWN0IGRwdV9od19t aXhlciAqbG07Cj4gLQlzdHJ1Y3QgZHB1X2h3X3N0YWdlX2NmZyAqc3RhZ2VfY2ZnOwo+ICsJc3Ry dWN0IGRwdV9od19jdGwgKmN0bCA9IG1peGVyLT5sbV9jdGw7Cj4gKwlzdHJ1Y3QgZHB1X2h3X3N0 YWdlX2NmZyAqc3RhZ2VfY2ZnID0gJmRwdV9jcnRjLT5zdGFnZV9jZmc7Cj4gIAo+ICAJdTMyIGZs dXNoX21hc2s7Cj4gIAl1aW50MzJfdCBzdGFnZV9pZHgsIGxtX2lkeDsKPiAgCWludCB6cG9zX2Nu dFtEUFVfU1RBR0VfTUFYICsgMV0gPSB7IDAgfTsKPiAgCWJvb2wgYmdfYWxwaGFfZW5hYmxlID0g ZmFsc2U7Cj4gIAo+IC0JaWYgKCFkcHVfY3J0YyB8fCAhbWl4ZXIpIHsKPiAtCQlEUFVfRVJST1Io ImludmFsaWQgZHB1X2NydGMgb3IgbWl4ZXJcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4g LQljdGwgPSBtaXhlci0+bG1fY3RsOwo+IC0JbG0gPSBtaXhlci0+aHdfbG07Cj4gLQlzdGFnZV9j ZmcgPSAmZHB1X2NydGMtPnN0YWdlX2NmZzsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRl KGNydGMtPnN0YXRlKTsKPiAtCj4gIAlkcm1fYXRvbWljX2NydGNfZm9yX2VhY2hfcGxhbmUocGxh bmUsIGNydGMpIHsKPiAgCQlzdGF0ZSA9IHBsYW5lLT5zdGF0ZTsKPiAgCQlpZiAoIXN0YXRlKQo+ IEBAIC0yMTcsMTAgKzE5NSw2IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVuZF9zZXR1cF9t aXhlcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCQlzdGF0ZS0+ZmIgPyBzdGF0ZS0+ZmIt PmJhc2UuaWQgOiAtMSk7Cj4gIAo+ICAJCWZvcm1hdCA9IHRvX2RwdV9mb3JtYXQobXNtX2ZyYW1l YnVmZmVyX2Zvcm1hdChwc3RhdGUtPmJhc2UuZmIpKTsKPiAtCQlpZiAoIWZvcm1hdCkgewo+IC0J CQlEUFVfRVJST1IoImludmFsaWQgZm9ybWF0XG4iKTsKPiAtCQkJcmV0dXJuOwo+IC0JCX0KPiAg Cj4gIAkJaWYgKHBzdGF0ZS0+c3RhZ2UgPT0gRFBVX1NUQUdFX0JBU0UgJiYgZm9ybWF0LT5hbHBo YV9lbmFibGUpCj4gIAkJCWJnX2FscGhhX2VuYWJsZSA9IHRydWU7Cj4gQEAgLTI2MSwyMSArMjM1 LDEzIEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVuZF9zZXR1cF9taXhlcihzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gICAqLwo+ICBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxlbmRfc2V0dXAo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRj Owo+IC0Jc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gLQlzdHJ1Y3QgZHB1X2NydGNf bWl4ZXIgKm1peGVyOwo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRj KGNydGMpOwo+ICsJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19kcHVfY3J0Y19z dGF0ZShjcnRjLT5zdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHB1X2NydGNfbWl4ZXIgKm1peGVyID0gY3N0 YXRlLT5taXhlcnM7Cj4gIAlzdHJ1Y3QgZHB1X2h3X2N0bCAqY3RsOwo+ICAJc3RydWN0IGRwdV9o d19taXhlciAqbG07Cj4gLQo+ICAJaW50IGk7Cj4gIAo+IC0JaWYgKCFjcnRjKQo+IC0JCXJldHVy bjsKPiAtCj4gLQlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+IC0JY3N0YXRlID0gdG9f ZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+IC0JbWl4ZXIgPSBjc3RhdGUtPm1peGVyczsK PiAtCj4gIAlEUFVfREVCVUcoIiVzXG4iLCBkcHVfY3J0Yy0+bmFtZSk7Cj4gIAo+ICAJZm9yIChp ID0gMDsgaSA8IGNzdGF0ZS0+bnVtX21peGVyczsgaSsrKSB7Cj4gQEAgLTM3NywzNCArMzQzLDEz IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX3ZibGFua19jYih2b2lkICpkYXRhKQo+ICAKPiAgc3Rh dGljIHZvaWQgZHB1X2NydGNfZnJhbWVfZXZlbnRfd29yayhzdHJ1Y3Qga3RocmVhZF93b3JrICp3 b3JrKQo+ICB7Cj4gLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2Owo+IC0Jc3RydWN0IGRw dV9jcnRjX2ZyYW1lX2V2ZW50ICpmZXZlbnQ7Cj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4g LQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwo+IC0Jc3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7 Cj4gKwlzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQgKmZldmVudCA9IGNvbnRhaW5lcl9vZih3 b3JrLAo+ICsJCQlzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQsIHdvcmspOwo+ICsJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gZmV2ZW50LT5jcnRjOwo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVf Y3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAJdW5zaWduZWQgbG9uZyBmbGFnczsKPiAgCWJv b2wgZnJhbWVfZG9uZSA9IGZhbHNlOwo+ICAKPiAtCWlmICghd29yaykgewo+IC0JCURQVV9FUlJP UigiaW52YWxpZCB3b3JrIGhhbmRsZVxuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAtCWZl dmVudCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQsIHdv cmspOwo+IC0JaWYgKCFmZXZlbnQtPmNydGMgfHwgIWZldmVudC0+Y3J0Yy0+c3RhdGUpIHsKPiAt CQlEUFVfRVJST1IoImludmFsaWQgY3J0Y1xuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAt CWNydGMgPSBmZXZlbnQtPmNydGM7Cj4gLQlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ IC0KPiAtCWRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsKPiAtCWlmICghZHB1X2tt cykgewo+IC0JCURQVV9FUlJPUigiaW52YWxpZCBrbXMgaGFuZGxlXG4iKTsKPiAtCQlyZXR1cm47 Cj4gLQl9Cj4gLQlwcml2ID0gZHB1X2ttcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCURQVV9BVFJB Q0VfQkVHSU4oImNydGNfZnJhbWVfZXZlbnQiKTsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJjcnRj JWQgZXZlbnQ6JXUgdHM6JWxsZFxuIiwgY3J0Yy0+YmFzZS5pZCwgZmV2ZW50LT5ldmVudCwKPiBA QCAtNDcwLDExICs0MTUsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19mcmFtZV9ldmVudF9jYih2 b2lkICpkYXRhLCB1MzIgZXZlbnQpCj4gIAl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAJdTMyIGNy dGNfaWQ7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFjcnRjLT5kZXYgfHwgIWNydGMtPmRldi0+ZGV2 X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJST1IoImludmFsaWQgcGFyYW1ldGVyc1xuIik7Cj4gLQkJ cmV0dXJuOwo+IC0JfQo+IC0KPiAgCS8qIE5vdGhpbmcgdG8gZG8gb24gaWRsZSBldmVudCAqLwo+ ICAJaWYgKGV2ZW50ICYgRFBVX0VOQ09ERVJfRlJBTUVfRVZFTlRfSURMRSkKPiAgCQlyZXR1cm47 Cj4gQEAgLTU4MywyMyArNTIzLDEyIEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1cF9taXhl cnMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICBzdGF0aWMgdm9pZCBfZHB1X2NydGNfc2V0dXBf bG1fYm91bmRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKnN0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwo+IC0Jc3RydWN0 IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq X21vZGU7Cj4gLQl1MzIgY3J0Y19zcGxpdF93aWR0aDsKPiArCXN0cnVjdCBkcHVfY3J0YyAqZHB1 X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiArCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0 YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoc3RhdGUpOwo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkal9tb2RlID0gJnN0YXRlLT5hZGp1c3RlZF9tb2RlOwo+ICsJdTMyIGNydGNfc3BsaXRf d2lkdGggPSBfZHB1X2NydGNfZ2V0X21peGVyX3dpZHRoKGNzdGF0ZSwgYWRqX21vZGUpOwo+ICAJ aW50IGk7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFzdGF0ZSkgewo+IC0JCURQVV9FUlJPUigiaW52 YWxpZCBhcmdzXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JZHB1X2NydGMgPSB0b19k cHVfY3J0YyhjcnRjKTsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKHN0YXRlKTsKPiAt Cj4gLQlhZGpfbW9kZSA9ICZzdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKPiAtCWNydGNfc3BsaXRfd2lk dGggPSBfZHB1X2NydGNfZ2V0X21peGVyX3dpZHRoKGNzdGF0ZSwgYWRqX21vZGUpOwo+IC0KPiAg CWZvciAoaSA9IDA7IGkgPCBjc3RhdGUtPm51bV9taXhlcnM7IGkrKykgewo+ICAJCXN0cnVjdCBk cm1fcmVjdCAqciA9ICZjc3RhdGUtPmxtX2JvdW5kc1tpXTsKPiAgCQlyLT54MSA9IGNydGNfc3Bs aXRfd2lkdGggKiBpOwo+IEBAIC02OTMsMTEgKzYyMiw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRj X2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAl1bnNpZ25lZCBsb25nIGZs YWdzOwo+ICAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gIAo+IC0JaWYgKCFjcnRj IHx8ICFjcnRjLT5kZXYgfHwgIWNydGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJS T1IoImludmFsaWQgY3J0Y1xuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAgCWlmICghY3J0 Yy0+c3RhdGUtPmVuYWJsZSkgewo+ICAJCURQVV9ERUJVRygiY3J0YyVkIC0+IGVuYWJsZSAlZCwg c2tpcCBhdG9taWNfZmx1c2hcbiIsCj4gIAkJCQljcnRjLT5iYXNlLmlkLCBjcnRjLT5zdGF0ZS0+ ZW5hYmxlKTsKPiBAQCAtNzkwLDE1ICs3MTQsOSBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19kZXN0 cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCj4gIHN0YXRpYyBpbnQgX2RwdV9j cnRjX3dhaXRfZm9yX2ZyYW1lX2RvbmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gLQlz dHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9 IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAJaW50IHJldCwgcmMgPSAwOwo+ICAKPiAtCWlmICghY3J0 Yykgewo+IC0JCURQVV9FUlJPUigiaW52YWxpZCBhcmd1bWVudFxuIik7Cj4gLQkJcmV0dXJuIC1F SU5WQUw7Cj4gLQl9Cj4gLQlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+IC0KPiAgCWlm ICghYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSkgewo+ICAJCURQVV9ERUJV Rygibm8gZnJhbWVzIHBlbmRpbmdcbiIpOwo+ICAJCXJldHVybiAwOwo+IEBAIC04MTksMjkgKzcz NywxMiBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y193YWl0X2Zvcl9mcmFtZV9kb25lKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiAtCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwo+IC0J c3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKPiAtCXN0cnVjdCBkcHVfa21zICpkcHVfa21z Owo+IC0Jc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2Rw dV9jcnRjKGNydGMpOwo+ICsJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0 X2ttcyhjcnRjKTsKPiArCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2Ny dGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAJaW50IHJldDsKPiAgCj4gLQlpZiAoIWNydGMpIHsK PiAtCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnRcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0K PiAtCWRldiA9IGNydGMtPmRldjsKPiAtCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4g LQlkcHVfa21zID0gX2RwdV9jcnRjX2dldF9rbXMoY3J0Yyk7Cj4gLQo+IC0JaWYgKCFkcHVfa21z IHx8ICFkcHVfa21zLT5kZXYgfHwgIWRwdV9rbXMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlE UFVfRVJST1IoImludmFsaWQgYXJndW1lbnRcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4g LQlwcml2ID0gZHB1X2ttcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9j cnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAtCj4gIAkvKgo+ICAJICogSWYgbm8gbWl4ZXJzIGhh cyBiZWVuIGFsbG9jYXRlZCBpbiBkcHVfY3J0Y19hdG9taWNfY2hlY2soKSwKPiAgCSAqIGl0IG1l YW5zIHdlIGFyZSB0cnlpbmcgdG8gc3RhcnQgYSBDUlRDIHdob3NlIHN0YXRlIGlzIGRpc2FibGVk Ogo+IEBAIC05NjksMjQgKzg3MCw5IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX3ZibGFua19lbmFi bGVfbm9fbG9jaygKPiAgICovCj4gIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXRfc3VzcGVuZChz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHB1X2Ny dGMgKmRwdV9jcnRjOwo+IC0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKPiAtCXN0cnVj dCBkcHVfa21zICpkcHVfa21zOwo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2Rw dV9jcnRjKGNydGMpOwo+ICAJaW50IHJldCA9IDA7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFjcnRj LT5kZXYgfHwgIWNydGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJST1IoImludmFs aWQgY3J0Y1xuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0JZHB1X2NydGMgPSB0b19kcHVfY3J0 YyhjcnRjKTsKPiAtCXByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwo+IC0KPiAtCWlmICgh cHJpdi0+a21zKSB7Cj4gLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGNydGMga21zXG4iKTsKPiAtCQly ZXR1cm47Cj4gLQl9Cj4gLQlkcHVfa21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwo+IC0KPiAg CURSTV9ERUJVR19LTVMoImNydGMlZCBzdXNwZW5kID0gJWRcbiIsIGNydGMtPmJhc2UuaWQsIGVu YWJsZSk7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7Cj4gQEAgLTEw NzksMTYgKzk2NSw4IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiAgc3RhdGljIHZvaWQgZHB1X2NydGNfaGFuZGxlX3Bvd2VyX2V2ZW50KHUzMiBl dmVudF90eXBlLCB2b2lkICphcmcpCj4gIHsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGFy ZzsKPiAtCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7Cj4gKwlzdHJ1Y3QgZHB1X2NydGMgKmRw dV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXI7Cj4gLQlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZTsKPiAtCj4gLQlpZiAoIWNydGMp IHsKPiAtCQlEUFVfRVJST1IoImludmFsaWQgY3J0Y1xuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+ IC0JZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9jcnRj X3N0YXRlKGRwdV9jcnRjLT5iYXNlLnN0YXRlKTsKPiAgCj4gIAltdXRleF9sb2NrKCZkcHVfY3J0 Yy0+Y3J0Y19sb2NrKTsKPiAgCj4gQEAgLTE2NzMsOCArMTU1MSw2IEBAIHN0YXRpYyBpbnQgX2Rw dV9jcnRjX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlkcHVfY3J0YyA9 IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAKPiAgCWRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhj cnRjKTsKPiAtCWlmICghZHB1X2ttcykKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gIAlkcHVf Y3J0Yy0+ZGVidWdmc19yb290ID0gZGVidWdmc19jcmVhdGVfZGlyKGRwdV9jcnRjLT5uYW1lLAo+ ICAJCQljcnRjLT5kZXYtPnByaW1hcnktPmRlYnVnZnNfcm9vdCk7Cj4gLS0gCj4gMi4xOS4wLjQ0 NC5nMTgyNDJkYTdlZi1nb29nCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBGcmVlZHJlbm8gbWFpbGluZyBsaXN0Cj4gRnJlZWRyZW5vQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZnJlZWRyZW5vCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29v Z2xlIC8gQ2hyb21pdW0gT1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZWRyZW5vCg==