From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 3/5] drm/msm/dpu: Remove impossible checks Date: Wed, 19 Sep 2018 15:10:28 -0400 Message-ID: <20180919191028.GW188300@art_vandelay> References: <20180919154415.131292-1-bzwang@chromium.org> <20180919154415.131292-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: <20180919154415.131292-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 T24gV2VkLCBTZXAgMTksIDIwMTggYXQgMTE6NDQ6MTNBTSAtMDQwMCwgQnJ1Y2UgV2FuZyB3cm90 ZToKPiBSZW1vdmVzIGFkZGl0aW9uYWwgaW1wb3NzaWJsZSBjaGVja3MgaW4gZHB1X3BsYW5lLmMg YW5kIGRwdV9jcnRjLmMuCj4gVmFyaWFibGUgYXNzaWdubWVudHMgYXJlIG1vdmVkIHVwIHRvIGJl IGluaXRpYWxpemF0aW9ucyB3aGVyZQo+IHBvc3NpYmxlLiBTb21lIHZhcmlhYmxlcyBhcmUgbm8g bG9uZ2VyIHVzZWQsIHRoZXNlIGFyZSByZW1vdmVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJydWNl IFdhbmcgPGJ6d2FuZ0BjaHJvbWl1bS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMgIHwgMTIxICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMgfCAgMTYgKy0tCgpUaGUgZHB1 X3BsYW5lIGNoYW5nZXMgc2hvdWxkIHByb2JhYmx5IGdldCByb2xsZWQgaW50byB0aGUgZHB1X3Bs YW5lIHJlbW92YWwKcGF0Y2gsIHRoZW4gcmVuYW1lIHRoZSBzdWJqZWN0IG9mIHRoaXMgcGF0Y2gg IlJlbW92ZSBpbXBvc3NpYmxlIGNoZWNrcyBmcm9tCmRwdV9jcnRjIi4KCj4gIDIgZmlsZXMgY2hh bmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTIwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IGluZGV4IGE4ZjJkZDdhMzdjNy4uMDE3ZDE2 MTMxZGFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4g QEAgLTU1LDE3ICs1NSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfY3J0Y19nZXRfbWl4ZXJf d2lkdGgoc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUsCj4gIAo+ICBzdGF0aWMgaW5saW5l IHN0cnVjdCBkcHVfa21zICpfZHB1X2NydGNfZ2V0X2ttcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gIHsKPiAtCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4gLQo+IC0JaWYgKCFjcnRj IHx8ICFjcnRjLT5kZXYgfHwgIWNydGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJS T1IoImludmFsaWQgY3J0Y1xuIik7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gLQl9Cj4gLQlwcml2ID0g Y3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCWlmICghcHJpdiB8fCAhcHJpdi0+a21zKSB7Cj4g LQkJRFBVX0VSUk9SKCJpbnZhbGlkIGttc1xuIik7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gLQl9Cj4g KwlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsK PiAgCj4gIAlyZXR1cm4gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwoKTWlnaHQgYXMgd2VsbCBqdXN0 IHNsYXAgdGhlIHdob2xlIHRoaW5nIGluIHRoZSBhcmcgYW5kIHNhdmUgYSBsb2NhbDoKCiAgICAg ICAgcmV0dXJuIHRvX2RwdV9rbXMoY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZS0+a21zKTsKCgoKPiAg fQo+IEBAIC0xNzcsMjggKzE2NywxNyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxlbmRfc2V0 dXBfbWl4ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxh bmU7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKPiAgCXN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlOwo+IC0Jc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gKwlzdHJ1 Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKGNydGMtPnN0YXRl KTsKPiAgCXN0cnVjdCBkcHVfcGxhbmVfc3RhdGUgKnBzdGF0ZSA9IE5VTEw7Cj4gIAlzdHJ1Y3Qg ZHB1X2Zvcm1hdCAqZm9ybWF0Owo+IC0Jc3RydWN0IGRwdV9od19jdGwgKmN0bDsKPiAtCXN0cnVj dCBkcHVfaHdfbWl4ZXIgKmxtOwo+IC0Jc3RydWN0IGRwdV9od19zdGFnZV9jZmcgKnN0YWdlX2Nm ZzsKPiArCXN0cnVjdCBkcHVfaHdfY3RsICpjdGwgPSBtaXhlci0+bG1fY3RsOwo+ICsJc3RydWN0 IGRwdV9od19zdGFnZV9jZmcgKnN0YWdlX2NmZyA9ICZkcHVfY3J0Yy0+c3RhZ2VfY2ZnOwo+ICAK PiAgCXUzMiBmbHVzaF9tYXNrOwo+ICAJdWludDMyX3Qgc3RhZ2VfaWR4LCBsbV9pZHg7Cj4gIAlp bnQgenBvc19jbnRbRFBVX1NUQUdFX01BWCArIDFdID0geyAwIH07Cj4gIAlib29sIGJnX2FscGhh X2VuYWJsZSA9IGZhbHNlOwo+ICAKPiAtCWlmICghZHB1X2NydGMgfHwgIW1peGVyKSB7Cj4gLQkJ RFBVX0VSUk9SKCJpbnZhbGlkIGRwdV9jcnRjIG9yIG1peGVyXG4iKTsKPiAtCQlyZXR1cm47Cj4g LQl9Cj4gLQo+IC0JY3RsID0gbWl4ZXItPmxtX2N0bDsKPiAtCWxtID0gbWl4ZXItPmh3X2xtOwo+ IC0Jc3RhZ2VfY2ZnID0gJmRwdV9jcnRjLT5zdGFnZV9jZmc7Cj4gLQljc3RhdGUgPSB0b19kcHVf Y3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gLQo+ICAJZHJtX2F0b21pY19jcnRjX2Zvcl9lYWNo X3BsYW5lKHBsYW5lLCBjcnRjKSB7Cj4gIAkJc3RhdGUgPSBwbGFuZS0+c3RhdGU7Cj4gIAkJaWYg KCFzdGF0ZSkKPiBAQCAtMjE3LDEwICsxOTYsNiBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxl bmRfc2V0dXBfbWl4ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkJc3RhdGUtPmZiID8g c3RhdGUtPmZiLT5iYXNlLmlkIDogLTEpOwo+ICAKPiAgCQlmb3JtYXQgPSB0b19kcHVfZm9ybWF0 KG1zbV9mcmFtZWJ1ZmZlcl9mb3JtYXQocHN0YXRlLT5iYXNlLmZiKSk7Cj4gLQkJaWYgKCFmb3Jt YXQpIHsKPiAtCQkJRFBVX0VSUk9SKCJpbnZhbGlkIGZvcm1hdFxuIik7Cj4gLQkJCXJldHVybjsK PiAtCQl9Cj4gIAo+ICAJCWlmIChwc3RhdGUtPnN0YWdlID09IERQVV9TVEFHRV9CQVNFICYmIGZv cm1hdC0+YWxwaGFfZW5hYmxlKQo+ICAJCQliZ19hbHBoYV9lbmFibGUgPSB0cnVlOwo+IEBAIC0y NjEsMjEgKzIzNiwxMyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxlbmRfc2V0dXBfbWl4ZXIo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgKi8KPiAgc3RhdGljIHZvaWQgX2RwdV9jcnRjX2Js ZW5kX3NldHVwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgewo+IC0Jc3RydWN0IGRwdV9jcnRj ICpkcHVfY3J0YzsKPiAtCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlOwo+IC0Jc3RydWN0 IGRwdV9jcnRjX21peGVyICptaXhlcjsKPiArCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0 b19kcHVfY3J0YyhjcnRjKTsKPiArCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9f ZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICsJc3RydWN0IGRwdV9jcnRjX21peGVyICpt aXhlciA9IGNzdGF0ZS0+bWl4ZXJzOwo+ICAJc3RydWN0IGRwdV9od19jdGwgKmN0bDsKPiAgCXN0 cnVjdCBkcHVfaHdfbWl4ZXIgKmxtOwo+IC0KPiAgCWludCBpOwo+ICAKPiAtCWlmICghY3J0YykK PiAtCQlyZXR1cm47Cj4gLQo+IC0JZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAtCWNz dGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAtCW1peGVyID0gY3N0YXRl LT5taXhlcnM7Cj4gLQo+ICAJRFBVX0RFQlVHKCIlc1xuIiwgZHB1X2NydGMtPm5hbWUpOwo+ICAK PiAgCWZvciAoaSA9IDA7IGkgPCBjc3RhdGUtPm51bV9taXhlcnM7IGkrKykgewo+IEBAIC0zNzcs NyArMzQ0LDYgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfdmJsYW5rX2NiKHZvaWQgKmRhdGEpCj4g IAo+ICBzdGF0aWMgdm9pZCBkcHVfY3J0Y19mcmFtZV9ldmVudF93b3JrKHN0cnVjdCBrdGhyZWFk X3dvcmsgKndvcmspCj4gIHsKPiAtCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Cj4gIAlz dHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQgKmZldmVudDsKPiAgCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKPiAgCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7Cj4gQEAgLTQwMCwxMSArMzY2LDYg QEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZnJhbWVfZXZlbnRfd29yayhzdHJ1Y3Qga3RocmVhZF93 b3JrICp3b3JrKQoKVGhpcyBpcyBjb2xsYXBzZWQsIGJ1dCB0aGUgaWYgKCF3b3JrKSBjb25kaXRp b24gaXMgYWxzbyBib2d1cy4KClRoZSBmZXZlbnQgbnVsbCBjaGVja3MgYXJlIGFsc28gc3VzcGlj aW91cy4gQ2hlY2tpbmcgZmV2ZW50LT5jcnRjLT5zdGF0ZQppcyBkb3ducmlnaHQgZGFuZ2Vyb3Vz IHNpbmNlIGl0J3MgdW5sb2NrZWQgYWNjZXNzLiBGb3J0dW5hdGVseSBpdCBkb2Vzbid0Cmxvb2sg bGlrZSB0aGUgZnVuY3Rpb24gaXMgdXNpbmcgc3RhdGUsIHNvIGxldCdzIHJlbW92ZSB0aGF0IGNo ZWNrLiBHaXZlbiB0aGF0CnlvdSBjYW4gcmVtb3ZlIGEgYnVuY2ggbW9yZSwgbW9zdCBvZiB0aGVz ZSBhc3NpZ25tZW50cyBjYW4gYmUgZm9sZGVkIHVwIHRvcC4KCj4gIAlkcHVfY3J0YyA9IHRvX2Rw dV9jcnRjKGNydGMpOwo+ICAKPiAgCWRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsK PiAtCWlmICghZHB1X2ttcykgewo+IC0JCURQVV9FUlJPUigiaW52YWxpZCBrbXMgaGFuZGxlXG4i KTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQlwcml2ID0gZHB1X2ttcy0+ZGV2LT5kZXZfcHJpdmF0 ZTsKPiAgCURQVV9BVFJBQ0VfQkVHSU4oImNydGNfZnJhbWVfZXZlbnQiKTsKPiAgCj4gIAlEUk1f REVCVUdfS01TKCJjcnRjJWQgZXZlbnQ6JXUgdHM6JWxsZFxuIiwgY3J0Yy0+YmFzZS5pZCwgZmV2 ZW50LT5ldmVudCwKPiBAQCAtNDcwLDExICs0MzEsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19m cmFtZV9ldmVudF9jYih2b2lkICpkYXRhLCB1MzIgZXZlbnQpCj4gIAl1bnNpZ25lZCBsb25nIGZs YWdzOwo+ICAJdTMyIGNydGNfaWQ7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFjcnRjLT5kZXYgfHwg IWNydGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJST1IoImludmFsaWQgcGFyYW1l dGVyc1xuIik7Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0KPiAgCS8qIE5vdGhpbmcgdG8gZG8gb24g aWRsZSBldmVudCAqLwo+ICAJaWYgKGV2ZW50ICYgRFBVX0VOQ09ERVJfRlJBTUVfRVZFTlRfSURM RSkKPiAgCQlyZXR1cm47Cj4gQEAgLTU4MywyMyArNTM5LDEyIEBAIHN0YXRpYyB2b2lkIF9kcHVf Y3J0Y19zZXR1cF9taXhlcnMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICBzdGF0aWMgdm9pZCBf ZHB1X2NydGNfc2V0dXBfbG1fYm91bmRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9j cnRjOwo+IC0Jc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gLQlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqX21vZGU7Cj4gLQl1MzIgY3J0Y19zcGxpdF93aWR0aDsKPiArCXN0cnVj dCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiArCXN0cnVjdCBkcHVf Y3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoc3RhdGUpOwo+ICsJc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKmFkal9tb2RlID0gJnN0YXRlLT5hZGp1c3RlZF9tb2RlOwo+ICsJ dTMyIGNydGNfc3BsaXRfd2lkdGggPSBfZHB1X2NydGNfZ2V0X21peGVyX3dpZHRoKGNzdGF0ZSwg YWRqX21vZGUpOwo+ICAJaW50IGk7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFzdGF0ZSkgewo+IC0J CURQVV9FUlJPUigiaW52YWxpZCBhcmdzXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0J ZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0 YXRlKHN0YXRlKTsKPiAtCj4gLQlhZGpfbW9kZSA9ICZzdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKPiAt CWNydGNfc3BsaXRfd2lkdGggPSBfZHB1X2NydGNfZ2V0X21peGVyX3dpZHRoKGNzdGF0ZSwgYWRq X21vZGUpOwo+IC0KPiAgCWZvciAoaSA9IDA7IGkgPCBjc3RhdGUtPm51bV9taXhlcnM7IGkrKykg ewo+ICAJCXN0cnVjdCBkcm1fcmVjdCAqciA9ICZjc3RhdGUtPmxtX2JvdW5kc1tpXTsKPiAgCQly LT54MSA9IGNydGNfc3BsaXRfd2lkdGggKiBpOwo+IEBAIC04MTksMjkgKzc2NCwxMiBAQCBzdGF0 aWMgaW50IF9kcHVfY3J0Y193YWl0X2Zvcl9mcmFtZV9kb25lKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiAgdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPiAtCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXY7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwo+IC0Jc3RydWN0IG1zbV9k cm1fcHJpdmF0ZSAqcHJpdjsKPiAtCXN0cnVjdCBkcHVfa21zICpkcHVfa21zOwo+IC0Jc3RydWN0 IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+ZGV2Owo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMp Owo+ICsJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsK PiArCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0 Yy0+c3RhdGUpOwo+ICAJaW50IHJldDsKPiAgCj4gLQlpZiAoIWNydGMpIHsKPiAtCQlEUFVfRVJS T1IoImludmFsaWQgYXJndW1lbnRcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCWRldiA9IGNy dGMtPmRldjsKPiAtCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Cj4gLQlkcHVfa21zID0g X2RwdV9jcnRjX2dldF9rbXMoY3J0Yyk7Cj4gLQo+IC0JaWYgKCFkcHVfa21zIHx8ICFkcHVfa21z LT5kZXYgfHwgIWRwdV9rbXMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJST1IoImlu dmFsaWQgYXJndW1lbnRcbiIpOwo+IC0JCXJldHVybjsKPiAtCX0KPiAtCj4gLQlwcml2ID0gZHB1 X2ttcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCWNzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKGNy dGMtPnN0YXRlKTsKPiAtCj4gIAkvKgo+ICAJICogSWYgbm8gbWl4ZXJzIGhhcyBiZWVuIGFsbG9j YXRlZCBpbiBkcHVfY3J0Y19hdG9taWNfY2hlY2soKSwKPiAgCSAqIGl0IG1lYW5zIHdlIGFyZSB0 cnlpbmcgdG8gc3RhcnQgYSBDUlRDIHdob3NlIHN0YXRlIGlzIGRpc2FibGVkOgo+IEBAIC05Njks MjQgKzg5Nyw5IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX3ZibGFua19lbmFibGVfbm9fbG9jaygK PiAgICovCj4gIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsIGJvb2wgZW5hYmxlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRj Owo+IC0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKPiAtCXN0cnVjdCBkcHVfa21zICpk cHVfa21zOwo+ICsJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMp Owo+ICAJaW50IHJldCA9IDA7Cj4gIAo+IC0JaWYgKCFjcnRjIHx8ICFjcnRjLT5kZXYgfHwgIWNy dGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKPiAtCQlEUFVfRVJST1IoImludmFsaWQgY3J0Y1xuIik7 Cj4gLQkJcmV0dXJuOwo+IC0JfQo+IC0JZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKPiAt CXByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwo+IC0KPiAtCWlmICghcHJpdi0+a21zKSB7 Cj4gLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGNydGMga21zXG4iKTsKPiAtCQlyZXR1cm47Cj4gLQl9 Cj4gLQlkcHVfa21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwo+IC0KPiAgCURSTV9ERUJVR19L TVMoImNydGMlZCBzdXNwZW5kID0gJWRcbiIsIGNydGMtPmJhc2UuaWQsIGVuYWJsZSk7Cj4gIAo+ ICAJbXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7Cj4gQEAgLTE2NzMsOCArMTU4Niw2 IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCj4gIAlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwo+ICAKPiAgCWRwdV9rbXMgPSBf ZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsKPiAtCWlmICghZHB1X2ttcykKPiAtCQlyZXR1cm4gLUVJ TlZBTDsKPiAgCj4gIAlkcHVfY3J0Yy0+ZGVidWdmc19yb290ID0gZGVidWdmc19jcmVhdGVfZGly KGRwdV9jcnRjLT5uYW1lLAo+ICAJCQljcnRjLT5kZXYtPnByaW1hcnktPmRlYnVnZnNfcm9vdCk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKPiBpbmRleCA3ZjYw NDYxNjY2MjYuLjBhMjIzYWM5NGNmYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9wbGFuZS5jCj4gQEAgLTEyMywxMyArMTIzLDggQEAgc3RydWN0IGRwdV9wbGFuZSB7 Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRwdV9rbXMgKl9kcHVfcGxhbmVfZ2V0X2ttcyhzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSkKPiAgewo+IC0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsK PiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0 ZTsKPiAgCj4gLQlpZiAoIXBsYW5lIHx8ICFwbGFuZS0+ZGV2KQo+IC0JCXJldHVybiBOVUxMOwo+ IC0JcHJpdiA9IHBsYW5lLT5kZXYtPmRldl9wcml2YXRlOwo+IC0JaWYgKCFwcml2KQo+IC0JCXJl dHVybiBOVUxMOwo+ICAJcmV0dXJuIHRvX2RwdV9rbXMocHJpdi0+a21zKTsKPiAgfQo+ICAKPiBA QCAtNTE0LDEwICs1MDksNiBAQCBzdGF0aWMgaW50IF9kcHVfcGxhbmVfZ2V0X2FzcGFjZSgKPiAg CX0KPiAgCj4gIAlrbXMgPSBfZHB1X3BsYW5lX2dldF9rbXMoJnBkcHUtPmJhc2UpOwo+IC0JaWYg KCFrbXMpIHsKPiAtCQlEUFVfRVJST1IoImludmFsaWQga21zXG4iKTsKPiAtCQlyZXR1cm4gLUVJ TlZBTDsKPiAtCX0KPiAgCj4gIAkqYXNwYWNlID0ga21zLT5iYXNlLmFzcGFjZTsKPiAgCj4gQEAg LTE2OTAsMTEgKzE2ODEsNiBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpkcHVfcGxhbmVfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaW50IHpwb3NfbWF4ID0gRFBVX1pQT1NfTUFYOwo+ICAJ aW50IHJldCA9IC1FSU5WQUw7Cj4gIAo+IC0JaWYgKCFwcml2KSB7Cj4gLQkJRFBVX0VSUk9SKCJb JXVdcHJpdmF0ZSBkYXRhIGlzIE5VTExcbiIsIHBpcGUpOwo+IC0JCWdvdG8gZXhpdDsKPiAtCX0K PiAtCj4gIAlpZiAoIXByaXYtPmttcykgewoKVGhpcyBjYW4gZ28gdG9vCgo+ICAJCURQVV9FUlJP UigiWyV1XWludmFsaWQgS01TIHJlZmVyZW5jZVxuIiwgcGlwZSk7Cj4gIAkJZ290byBleGl0Owo+ IC0tIAo+IDIuMTkuMC4zOTcuZ2RkOTAzNDBmNmEtZ29vZwo+IAoKLS0gClNlYW4gUGF1bCwgU29m dHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRy ZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=