From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH 03/12] drm/msm: dpu: Remove dpu_power_client Date: Mon, 12 Nov 2018 16:57:17 -0800 Message-ID: <1b4f2636f7c924ff13da0e3637e4854d@codeaurora.org> References: <20181112194222.193546-1-sean@poorly.run> <20181112194222.193546-4-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112194222.193546-4-sean-p7yTbzM4H96eqtR555YLDQ@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, Abhinav Kumar , robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMS0xMiAxMTo0MiwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IFRoZXJlJ3Mgb25seSBvbmUgY2xpZW50IC0tIGNv cmUsIGFuZCBpdCdzIG9ubHkgdXNlZCBmb3IgcnVudGltZSBwbSAKPiB3aGljaAo+IGlzIGFscmVh ZHkgcmVmY291bnRlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNo cm9taXVtLm9yZz4KClJldmlld2VkLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVh dXJvcmEub3JnPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5jICAgICAgIHwgMjIgKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2ttcy5oICAgICAgIHwgIDEgLQo+ICAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dl cl9oYW5kbGUuYyAgfCA5NiArLS0tLS0tLS0tLS0tLS0tLS0tCj4gIC4uLi9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5oICB8IDg2ICstLS0tLS0tLS0tLS0tLS0tCj4gIDQg ZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxOTkgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+IGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCj4gaW5kZXggOTg1Yzg1NTc5NmFl Li4yMzA5NGQxMDhlODEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5jCj4gQEAgLTY3NiwxMSArNjc2LDYgQEAgc3RhdGljIHZvaWQgX2RwdV9rbXNfaHdfZGVzdHJv eShzdHJ1Y3QgZHB1X2ttcwo+ICpkcHVfa21zKQo+ICAJCWRwdV9od19jYXRhbG9nX2RlaW5pdChk cHVfa21zLT5jYXRhbG9nKTsKPiAgCWRwdV9rbXMtPmNhdGFsb2cgPSBOVUxMOwo+IAo+IC0JaWYg KGRwdV9rbXMtPmNvcmVfY2xpZW50KQo+IC0JCWRwdV9wb3dlcl9jbGllbnRfZGVzdHJveSgmZHB1 X2ttcy0+cGhhbmRsZSwKPiAtCQkJZHB1X2ttcy0+Y29yZV9jbGllbnQpOwo+IC0JZHB1X2ttcy0+ Y29yZV9jbGllbnQgPSBOVUxMOwo+IC0KPiAgCWlmIChkcHVfa21zLT52YmlmW1ZCSUZfTlJUXSkK PiAgCQlkZXZtX2lvdW5tYXAoJmRwdV9rbXMtPnBkZXYtPmRldiwKPiBkcHVfa21zLT52YmlmW1ZC SUZfTlJUXSk7Cj4gIAlkcHVfa21zLT52YmlmW1ZCSUZfTlJUXSA9IE5VTEw7Cj4gQEAgLTkxMywx NyArOTA4LDYgQEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3RydWN0IG1zbV9rbXMgKmtt cykKPiAgCQlkcHVfa21zLT5yZWdfZG1hX2xlbiA9IGRwdV9pb21hcF9zaXplKGRwdV9rbXMtPnBk ZXYsCj4gInJlZ2RtYSIpOwo+ICAJfQo+IAo+IC0JZHB1X2ttcy0+Y29yZV9jbGllbnQgPSBkcHVf cG93ZXJfY2xpZW50X2NyZWF0ZSgmZHB1X2ttcy0+cGhhbmRsZSwKPiAtCQkJCQkiY29yZSIpOwo+ IC0JaWYgKElTX0VSUl9PUl9OVUxMKGRwdV9rbXMtPmNvcmVfY2xpZW50KSkgewo+IC0JCXJjID0g UFRSX0VSUihkcHVfa21zLT5jb3JlX2NsaWVudCk7Cj4gLQkJaWYgKCFkcHVfa21zLT5jb3JlX2Ns aWVudCkKPiAtCQkJcmMgPSAtRUlOVkFMOwo+IC0JCURQVV9FUlJPUigiZHB1IHBvd2VyIGNsaWVu dCBjcmVhdGUgZmFpbGVkOiAlZFxuIiwgcmMpOwo+IC0JCWRwdV9rbXMtPmNvcmVfY2xpZW50ID0g TlVMTDsKPiAtCQlnb3RvIGVycm9yOwo+IC0JfQo+IC0KPiAgCXBtX3J1bnRpbWVfZ2V0X3N5bmMo JmRwdV9rbXMtPnBkZXYtPmRldik7Cj4gCj4gIAlfZHB1X2ttc19jb3JlX2h3X3Jldl9pbml0KGRw dV9rbXMpOwo+IEBAIC0xMTU3LDggKzExNDEsNyBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2Vk IAo+IGRwdV9ydW50aW1lX3N1c3BlbmQoc3RydWN0Cj4gZGV2aWNlICpkZXYpCj4gIAkJcmV0dXJu IHJjOwo+ICAJfQo+IAo+IC0JcmMgPSBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZkcHVfa21z LT5waGFuZGxlLAo+IC0JCQlkcHVfa21zLT5jb3JlX2NsaWVudCwgZmFsc2UpOwo+ICsJcmMgPSBk cHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZkcHVfa21zLT5waGFuZGxlLCBmYWxzZSk7Cj4gIAlp ZiAocmMpCj4gIAkJRFBVX0VSUk9SKCJyZXNvdXJjZSBkaXNhYmxlIGZhaWxlZDogJWRcbiIsIHJj KTsKPiAKPiBAQCAtMTE4OSw4ICsxMTcyLDcgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZCAK PiBkcHVfcnVudGltZV9yZXN1bWUoc3RydWN0Cj4gZGV2aWNlICpkZXYpCj4gIAkJcmV0dXJuIHJj Owo+ICAJfQo+IAo+IC0JcmMgPSBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZkcHVfa21zLT5w aGFuZGxlLAo+IC0JCQlkcHVfa21zLT5jb3JlX2NsaWVudCwgdHJ1ZSk7Cj4gKwlyYyA9IGRwdV9w b3dlcl9yZXNvdXJjZV9lbmFibGUoJmRwdV9rbXMtPnBoYW5kbGUsIHRydWUpOwo+ICAJaWYgKHJj KQo+ICAJCURQVV9FUlJPUigicmVzb3VyY2UgZW5hYmxlIGZhaWxlZDogJWRcbiIsIHJjKTsKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCj4g Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKPiBpbmRleCAyYTM2MjVl ZWY2ZDMuLmYyYzc4ZGViMDg1NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfa21zLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfa21zLmgKPiBAQCAtMTE0LDcgKzExNCw2IEBAIHN0cnVjdCBkcHVfa21zIHsKPiAgCXN0cnVj dCBkcHVfbWRzc19jZmcgKmNhdGFsb2c7Cj4gCj4gIAlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSBw aGFuZGxlOwo+IC0Jc3RydWN0IGRwdV9wb3dlcl9jbGllbnQgKmNvcmVfY2xpZW50Owo+ICAJc3Ry dWN0IGRwdV9wb3dlcl9ldmVudCAqcG93ZXJfZXZlbnQ7Cj4gCj4gIAkvKiBkaXJlY3RvcnkgZW50 cnkgZm9yIGRlYnVnZnMgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X3Bvd2VyX2hhbmRsZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfcG93ZXJfaGFuZGxlLmMKPiBpbmRleCA4YzZmOTJhYWFmODcuLjhlNjRmMGE1MjE0NyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFu ZGxlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFu ZGxlLmMKPiBAQCAtMzUsNTkgKzM1LDExIEBAIHN0YXRpYyB2b2lkIGRwdV9wb3dlcl9ldmVudF90 cmlnZ2VyX2xvY2tlZChzdHJ1Y3QKPiBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLAo+ICAJfQo+ ICB9Cj4gCj4gLXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpkcHVfcG93ZXJfY2xpZW50X2NyZWF0 ZSgKPiAtCXN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLCBjaGFyICpjbGllbnRfbmFt ZSkKPiAtewo+IC0Jc3RydWN0IGRwdV9wb3dlcl9jbGllbnQgKmNsaWVudDsKPiAtCXN0YXRpYyB1 MzIgaWQ7Cj4gLQo+IC0JaWYgKCFjbGllbnRfbmFtZSB8fCAhcGhhbmRsZSkgewo+IC0JCXByX2Vy cigiY2xpZW50IG5hbWUgaXMgbnVsbCBvciBpbnZhbGlkIHBvd2VyIGRhdGFcbiIpOwo+IC0JCXJl dHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+IC0JfQo+IC0KPiAtCWNsaWVudCA9IGt6YWxsb2Moc2l6 ZW9mKHN0cnVjdCBkcHVfcG93ZXJfY2xpZW50KSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIWNsaWVu dCkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAtCj4gLQltdXRleF9sb2NrKCZwaGFu ZGxlLT5waGFuZGxlX2xvY2spOwo+IC0Jc3RybGNweShjbGllbnQtPm5hbWUsIGNsaWVudF9uYW1l LCBNQVhfQ0xJRU5UX05BTUVfTEVOKTsKPiAtCWNsaWVudC0+dXNlY2FzZV9uZHggPSBWT1RFX0lO REVYX0RJU0FCTEU7Cj4gLQljbGllbnQtPmlkID0gaWQ7Cj4gLQljbGllbnQtPmFjdGl2ZSA9IHRy dWU7Cj4gLQlwcl9kZWJ1ZygiY2xpZW50ICVzIGNyZWF0ZWQ6JXBLIGlkIDolZFxuIiwgY2xpZW50 X25hbWUsCj4gLQkJY2xpZW50LCBpZCk7Cj4gLQlpZCsrOwo+IC0JbGlzdF9hZGQoJmNsaWVudC0+ bGlzdCwgJnBoYW5kbGUtPnBvd2VyX2NsaWVudF9jbGlzdCk7Cj4gLQltdXRleF91bmxvY2soJnBo YW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gLQo+IC0JcmV0dXJuIGNsaWVudDsKPiAtfQo+IC0KPiAt dm9pZCBkcHVfcG93ZXJfY2xpZW50X2Rlc3Ryb3koc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBo YW5kbGUsCj4gLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY2xpZW50KQo+IC17Cj4gLQlpZiAo IWNsaWVudCAgfHwgIXBoYW5kbGUpIHsKPiAtCQlwcl9lcnIoInJlZyBidXMgdm90ZTogaW52YWxp ZCBjbGllbnQgaGFuZGxlXG4iKTsKPiAtCX0gZWxzZSBpZiAoIWNsaWVudC0+YWN0aXZlKSB7Cj4g LQkJcHJfZXJyKCJkcHUgcG93ZXIgZGVpbml0IGFscmVhZHkgZG9uZVxuIik7Cj4gLQkJa2ZyZWUo Y2xpZW50KTsKPiAtCX0gZWxzZSB7Cj4gLQkJcHJfZGVidWcoImJ1cyB2b3RlIGNsaWVudCAlcyBk ZXN0cm95ZWQ6JXBLIGlkOiV1XG4iLAo+IC0JCQljbGllbnQtPm5hbWUsIGNsaWVudCwgY2xpZW50 LT5pZCk7Cj4gLQkJbXV0ZXhfbG9jaygmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKPiAtCQlsaXN0 X2RlbF9pbml0KCZjbGllbnQtPmxpc3QpOwo+IC0JCW11dGV4X3VubG9jaygmcGhhbmRsZS0+cGhh bmRsZV9sb2NrKTsKPiAtCQlrZnJlZShjbGllbnQpOwo+IC0JfQo+IC19Cj4gLQo+ICB2b2lkIGRw dV9wb3dlcl9yZXNvdXJjZV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gIAlz dHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSkKPiAgewo+ICAJcGhhbmRsZS0+ZGV2ID0g JnBkZXYtPmRldjsKPiAKPiAtCUlOSVRfTElTVF9IRUFEKCZwaGFuZGxlLT5wb3dlcl9jbGllbnRf Y2xpc3QpOwo+ICAJSU5JVF9MSVNUX0hFQUQoJnBoYW5kbGUtPmV2ZW50X2xpc3QpOwo+IAo+ICAJ bXV0ZXhfaW5pdCgmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKPiBAQCAtOTYsNyArNDgsNiBAQCB2 b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UKPiAqcGRl diwKPiAgdm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfZGVpbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYsCj4gIAlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSkKPiAgewo+IC0J c3RydWN0IGRwdV9wb3dlcl9jbGllbnQgKmN1cnJfY2xpZW50LCAqbmV4dF9jbGllbnQ7Cj4gIAlz dHJ1Y3QgZHB1X3Bvd2VyX2V2ZW50ICpjdXJyX2V2ZW50LCAqbmV4dF9ldmVudDsKPiAKPiAgCWlm ICghcGhhbmRsZSB8fCAhcGRldikgewo+IEBAIC0xMDUsMTUgKzU2LDYgQEAgdm9pZCBkcHVfcG93 ZXJfcmVzb3VyY2VfZGVpbml0KHN0cnVjdCAKPiBwbGF0Zm9ybV9kZXZpY2UKPiAqcGRldiwKPiAg CX0KPiAKPiAgCW11dGV4X2xvY2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gLQlsaXN0X2Zv cl9lYWNoX2VudHJ5X3NhZmUoY3Vycl9jbGllbnQsIG5leHRfY2xpZW50LAo+IC0JCQkmcGhhbmRs ZS0+cG93ZXJfY2xpZW50X2NsaXN0LCBsaXN0KSB7Cj4gLQkJcHJfZXJyKCJjbGllbnQ6JXMtJWQg c3RpbGwgcmVnaXN0ZXJlZCB3aXRoIHJlZmNvdW50OiVkXG4iLAo+IC0JCQkJY3Vycl9jbGllbnQt Pm5hbWUsIGN1cnJfY2xpZW50LT5pZCwKPiAtCQkJCWN1cnJfY2xpZW50LT5yZWZjb3VudCk7Cj4g LQkJY3Vycl9jbGllbnQtPmFjdGl2ZSA9IGZhbHNlOwo+IC0JCWxpc3RfZGVsKCZjdXJyX2NsaWVu dC0+bGlzdCk7Cj4gLQl9Cj4gLQo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGN1cnJfZXZl bnQsIG5leHRfZXZlbnQsCj4gIAkJCSZwaGFuZGxlLT5ldmVudF9saXN0LCBsaXN0KSB7Cj4gIAkJ cHJfZXJyKCJldmVudDolZCwgY2xpZW50OiVzIHN0aWxsIHJlZ2lzdGVyZWRcbiIsCj4gQEAgLTEy NSw1MyArNjcsMjEgQEAgdm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfZGVpbml0KHN0cnVjdCAKPiBw bGF0Zm9ybV9kZXZpY2UKPiAqcGRldiwKPiAgCW11dGV4X3VubG9jaygmcGhhbmRsZS0+cGhhbmRs ZV9sb2NrKTsKPiAgfQo+IAo+IC1pbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3Qg ZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKPiAtCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpw Y2xpZW50LCBib29sIGVuYWJsZSkKPiAraW50IGRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoc3Ry dWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsIGJvb2wKPiBlbmFibGUpCj4gIHsKPiAtCWJv b2wgY2hhbmdlZCA9IGZhbHNlOwo+IC0JdTMyIG1heF91c2VjYXNlX25keCA9IFZPVEVfSU5ERVhf RElTQUJMRSwgcHJldl91c2VjYXNlX25keDsKPiAtCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpj bGllbnQ7Cj4gIAl1MzIgZXZlbnRfdHlwZTsKPiAKPiAtCWlmICghcGhhbmRsZSB8fCAhcGNsaWVu dCkgewo+ICsJaWYgKCFwaGFuZGxlKSB7Cj4gIAkJcHJfZXJyKCJpbnZhbGlkIGlucHV0IGFyZ3Vt ZW50XG4iKTsKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAKPiAgCW11dGV4X2xvY2soJnBo YW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gLQlpZiAoZW5hYmxlKQo+IC0JCXBjbGllbnQtPnJlZmNv dW50Kys7Cj4gLQllbHNlIGlmIChwY2xpZW50LT5yZWZjb3VudCkKPiAtCQlwY2xpZW50LT5yZWZj b3VudC0tOwo+IC0KPiAtCWlmIChwY2xpZW50LT5yZWZjb3VudCkKPiAtCQlwY2xpZW50LT51c2Vj YXNlX25keCA9IFZPVEVfSU5ERVhfTE9XOwo+IC0JZWxzZQo+IC0JCXBjbGllbnQtPnVzZWNhc2Vf bmR4ID0gVk9URV9JTkRFWF9ESVNBQkxFOwo+IC0KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoY2xp ZW50LCAmcGhhbmRsZS0+cG93ZXJfY2xpZW50X2NsaXN0LCBsaXN0KSB7Cj4gLQkJaWYgKGNsaWVu dC0+dXNlY2FzZV9uZHggPCBWT1RFX0lOREVYX01BWCAmJgo+IC0JCSAgICBjbGllbnQtPnVzZWNh c2VfbmR4ID4gbWF4X3VzZWNhc2VfbmR4KQo+IC0JCQltYXhfdXNlY2FzZV9uZHggPSBjbGllbnQt PnVzZWNhc2VfbmR4Owo+IC0JfQo+IC0KPiAtCWlmIChwaGFuZGxlLT5jdXJyZW50X3VzZWNhc2Vf bmR4ICE9IG1heF91c2VjYXNlX25keCkgewo+IC0JCWNoYW5nZWQgPSB0cnVlOwo+IC0JCXByZXZf dXNlY2FzZV9uZHggPSBwaGFuZGxlLT5jdXJyZW50X3VzZWNhc2VfbmR4Owo+IC0JCXBoYW5kbGUt PmN1cnJlbnRfdXNlY2FzZV9uZHggPSBtYXhfdXNlY2FzZV9uZHg7Cj4gLQl9Cj4gLQo+IC0JcHJf ZGVidWcoIiVwUzogY2hhbmdlZD0lZCBjdXJyZW50IGlkeD0lZCByZXF1ZXN0IGNsaWVudCAlcyBp ZDoldQo+IGVuYWJsZTolZCByZWZjb3VudDolZFxuIiwKPiAtCQlfX2J1aWx0aW5fcmV0dXJuX2Fk ZHJlc3MoMCksIGNoYW5nZWQsIG1heF91c2VjYXNlX25keCwKPiAtCQlwY2xpZW50LT5uYW1lLCBw Y2xpZW50LT5pZCwgZW5hYmxlLCBwY2xpZW50LT5yZWZjb3VudCk7Cj4gLQo+IC0JaWYgKCFjaGFu Z2VkKQo+IC0JCWdvdG8gZW5kOwo+IAo+ICAJZXZlbnRfdHlwZSA9IGVuYWJsZSA/IERQVV9QT1dF Ul9FVkVOVF9FTkFCTEUgOgo+IERQVV9QT1dFUl9FVkVOVF9ESVNBQkxFOwo+IAo+ICAJZHB1X3Bv d2VyX2V2ZW50X3RyaWdnZXJfbG9ja2VkKHBoYW5kbGUsCWV2ZW50X3R5cGUpOwo+IC1lbmQ6Cj4g Kwo+ICAJbXV0ZXhfdW5sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xvY2spOwo+ICAJcmV0dXJuIDA7 Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3Bv d2VyX2hhbmRsZS5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJf aGFuZGxlLmgKPiBpbmRleCBmNjI3YWUyOGVjNjguLjEyNGViYzkzYzg3NyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmgKPiBAQCAt MjcsMzAgKzI3LDYgQEAKPiAgI2RlZmluZSBEUFVfUE9XRVJfRVZFTlRfRElTQUJMRQlCSVQoMCkK PiAgI2RlZmluZSBEUFVfUE9XRVJfRVZFTlRfRU5BQkxFCUJJVCgxKQo+IAo+IC0vKioKPiAtICog bWRzc19idXNfdm90ZV90eXBlOiByZWdpc3RlciBidXMgdm90ZSB0eXBlCj4gLSAqIFZPVEVfSU5E RVhfRElTQUJMRTogcmVtb3ZlcyB0aGUgY2xpZW50IHZvdGUKPiAtICogVk9URV9JTkRFWF9MT1c6 IGtlZXBzIHRoZSBsb3dlc3Qgdm90ZSBmb3IgcmVnaXN0ZXIgYnVzCj4gLSAqIFZPVEVfSU5ERVhf TUFYOiBpbnZhbGlkCj4gLSAqLwo+IC1lbnVtIG1kc3NfYnVzX3ZvdGVfdHlwZSB7Cj4gLQlWT1RF X0lOREVYX0RJU0FCTEUsCj4gLQlWT1RFX0lOREVYX0xPVywKPiAtCVZPVEVfSU5ERVhfTUFYLAo+ IC19Owo+IC0KPiAtLyoqCj4gLSAqIGVudW0gZHB1X3Bvd2VyX2hhbmRsZV9kYXRhX2J1c19jbGll bnQgLSB0eXBlIG9mIGF4aSBidXMgY2xpZW50cwo+IC0gKiBARFBVX1BPV0VSX0hBTkRMRV9EQVRB X0JVU19DTElFTlRfUlQ6IGNvcmUgcmVhbC10aW1lIGJ1cyBjbGllbnQKPiAtICogQERQVV9QT1dF Ul9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX05SVDogY29yZSBub24tcmVhbC10aW1lIGJ1cyAKPiBj bGllbnQKPiAtICogQERQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX01BWDogbWF4aW11 bSBudW1iZXIgb2YgYnVzIGNsaWVudAo+IHR5cGUKPiAtICovCj4gLWVudW0gZHB1X3Bvd2VyX2hh bmRsZV9kYXRhX2J1c19jbGllbnQgewo+IC0JRFBVX1BPV0VSX0hBTkRMRV9EQVRBX0JVU19DTElF TlRfUlQsCj4gLQlEUFVfUE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9OUlQsCj4gLQlEUFVf UE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9NQVgKPiAtfTsKPiAtCj4gIC8qKgo+ICAgKiBl bnVtIERQVV9QT1dFUl9IQU5ETEVfREJVU19JRCAtIGRhdGEgYnVzIGlkZW50aWZpZXIKPiAgICog QERQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NTk9DOiBEUFUvTU5PQyBkYXRhIGJ1cwo+IEBAIC02 NCwzMSArNDAsNiBAQCBlbnVtIERQVV9QT1dFUl9IQU5ETEVfREJVU19JRCB7Cj4gIAlEUFVfUE9X RVJfSEFORExFX0RCVVNfSURfTUFYLAo+ICB9Owo+IAo+IC0vKioKPiAtICogc3RydWN0IGRwdV9w b3dlcl9jbGllbnQ6IHN0b3JlcyB0aGUgcG93ZXIgY2xpZW50IGZvciBkcHUgZHJpdmVyCj4gLSAq IEBuYW1lOgluYW1lIG9mIHRoZSBjbGllbnQKPiAtICogQHVzZWNhc2VfbmR4OiBjdXJyZW50IHJl Z3MgYnVzIHZvdGUgdHlwZQo+IC0gKiBAcmVmY291bnQ6CWN1cnJlbnQgcmVmY291bnQgaWYgbXVs dGlwbGUgbW9kdWxlcyBhcmUgdXNpbmcgc2FtZQo+IC0gKiAgICAgICAgICAgICAgc2FtZSBjbGll bnQgZm9yIGVuYWJsZS9kaXNhYmxlLiBQb3dlciBtb2R1bGUgd2lsbAo+IC0gKiAgICAgICAgICAg ICAgYWdncmVnYXRlIHRoZSByZWZjb3VudCBhbmQgdm90ZSBhY2NvcmRpbmdseSBmb3IgdGhpcwo+ IC0gKiAgICAgICAgICAgICAgY2xpZW50Lgo+IC0gKiBAaWQ6CQlhc3NpZ25lZCBkdXJpbmcgY3Jl YXRlLiBoZWxwcyBmb3IgZGVidWdnaW5nLgo+IC0gKiBAbGlzdDoJbGlzdCB0byBhdHRhY2ggcG93 ZXIgaGFuZGxlIG1hc3RlciBsaXN0Cj4gLSAqIEBhYjogICAgICAgICBhcmJpdHJhdGVkIGJhbmR3 aWR0aCBmb3IgZWFjaCBidXMgY2xpZW50Cj4gLSAqIEBpYjogICAgICAgICBpbnN0YW50YW5lb3Vz IGJhbmR3aWR0aCBmb3IgZWFjaCBidXMgY2xpZW50Cj4gLSAqIEBhY3RpdmU6CWluaWRjYXRlcyB0 aGUgc3RhdGUgb2YgZHB1IHBvd2VyIGhhbmRsZQo+IC0gKi8KPiAtc3RydWN0IGRwdV9wb3dlcl9j bGllbnQgewo+IC0JY2hhciBuYW1lW01BWF9DTElFTlRfTkFNRV9MRU5dOwo+IC0Jc2hvcnQgdXNl Y2FzZV9uZHg7Cj4gLQlzaG9ydCByZWZjb3VudDsKPiAtCXUzMiBpZDsKPiAtCXN0cnVjdCBsaXN0 X2hlYWQgbGlzdDsKPiAtCXU2NCBhYltEUFVfUE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9N QVhdOwo+IC0JdTY0IGliW0RQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX01BWF07Cj4g LQlib29sIGFjdGl2ZTsKPiAtfTsKPiAtCj4gIC8qCj4gICAqIHN0cnVjdCBkcHVfcG93ZXJfZXZl bnQgLSBsb2NhbCBldmVudCByZWdpc3RyYXRpb24gc3RydWN0dXJlCj4gICAqIEBjbGllbnRfbmFt ZTogbmFtZSBvZiB0aGUgY2xpZW50IHJlZ2lzdGVyaW5nCj4gQEAgLTEwOSwxNCArNjAsMTIgQEAg c3RydWN0IGRwdV9wb3dlcl9ldmVudCB7Cj4gCj4gIC8qKgo+ICAgKiBzdHJ1Y3QgZHB1X3Bvd2Vy X2hhbmRsZTogcG93ZXIgaGFuZGxlIG1haW4gc3RydWN0Cj4gLSAqIEBjbGllbnRfY2xpc3Q6IG1h c3RlciBsaXN0IHRvIHN0b3JlIGFsbCBjbGllbnRzCj4gICAqIEBwaGFuZGxlX2xvY2s6IGxvY2sg dG8gc3luY2hyb25pemUgdGhlIGVuYWJsZS9kaXNhYmxlCj4gICAqIEBkZXY6IHBvaW50ZXIgdG8g ZGV2aWNlIHN0cnVjdHVyZQo+ICAgKiBAdXNlY2FzZV9uZHg6IGN1cnJlbnQgdXNlY2FzZSBpbmRl eAo+ICAgKiBAZXZlbnRfbGlzdDogY3VycmVudCBwb3dlciBoYW5kbGUgZXZlbnQgbGlzdAo+ICAg Ki8KPiAgc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgewo+IC0Jc3RydWN0IGxpc3RfaGVhZCBwb3dl cl9jbGllbnRfY2xpc3Q7Cj4gIAlzdHJ1Y3QgbXV0ZXggcGhhbmRsZV9sb2NrOwo+ICAJc3RydWN0 IGRldmljZSAqZGV2Owo+ICAJdTMyIGN1cnJlbnRfdXNlY2FzZV9uZHg7Cj4gQEAgLTE0MSw0NyAr OTAsMTQgQEAgdm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfaW5pdChzdHJ1Y3QgCj4gcGxhdGZvcm1f ZGV2aWNlCj4gKnBkZXYsCj4gIHZvaWQgZHB1X3Bvd2VyX3Jlc291cmNlX2RlaW5pdChzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICAJc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBkYXRh KTsKPiAKPiAtLyoqCj4gLSAqIGRwdV9wb3dlcl9jbGllbnRfY3JlYXRlKCkgLSBjcmVhdGUgdGhl IGNsaWVudCBvbiBwb3dlciBoYW5kbGUKPiAtICogQHBkYXRhOiAgcG93ZXIgaGFuZGxlIGNvbnRh aW5pbmcgdGhlIHJlc291cmNlcwo+IC0gKiBAY2xpZW50X25hbWU6IG5ldyBjbGllbnQgbmFtZSBm b3IgcmVnaXN0cmF0aW9uCj4gLSAqCj4gLSAqIFJldHVybjogZXJyb3IgY29kZS4KPiAtICovCj4g LXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpkcHVfcG93ZXJfY2xpZW50X2NyZWF0ZShzdHJ1Y3Qg Cj4gZHB1X3Bvd2VyX2hhbmRsZQo+ICpwZGF0YSwKPiAtCWNoYXIgKmNsaWVudF9uYW1lKTsKPiAt Cj4gLS8qKgo+IC0gKiBkcHVfcG93ZXJfY2xpZW50X2Rlc3Ryb3koKSAtIGRlc3Ryb3kgdGhlIGNs aWVudCBvbiBwb3dlciBoYW5kbGUKPiAtICogQHBkYXRhOiAgcG93ZXIgaGFuZGxlIGNvbnRhaW5p bmcgdGhlIHJlc291cmNlcwo+IC0gKiBAY2xpZW50X25hbWU6IG5ldyBjbGllbnQgbmFtZSBmb3Ig cmVnaXN0cmF0aW9uCj4gLSAqCj4gLSAqIFJldHVybjogbm9uZQo+IC0gKi8KPiAtdm9pZCBkcHVf cG93ZXJfY2xpZW50X2Rlc3Ryb3koc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUsCj4g LQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY2xpZW50KTsKPiAtCj4gIC8qKgo+ICAgKiBkcHVf cG93ZXJfcmVzb3VyY2VfZW5hYmxlKCkgLSBlbmFibGUvZGlzYWJsZSB0aGUgcG93ZXIgcmVzb3Vy Y2VzCj4gICAqIEBwZGF0YTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNvdXJjZXMK PiAtICogQGNsaWVudDogY2xpZW50IGluZm9ybWF0aW9uIHRvIGVuYWJsZS9kaXNhYmxlIGl0cyB2 b3RlCj4gICAqIEBlbmFibGU6IGJvb2xlYW4gcmVxdWVzdCBmb3IgZW5hYmxlL2Rpc2FibGUKPiAg ICoKPiAgICogUmV0dXJuOiBlcnJvciBjb2RlLgo+ICAgKi8KPiAtaW50IGRwdV9wb3dlcl9yZXNv dXJjZV9lbmFibGUoc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBkYXRhLAo+IC0Jc3RydWN0IGRw dV9wb3dlcl9jbGllbnQgKnBjbGllbnQsIGJvb2wgZW5hYmxlKTsKPiAtCj4gLS8qKgo+IC0gKiBk cHVfcG93ZXJfZGF0YV9idXNfYmFuZHdpZHRoX2N0cmwoKSAtIGNvbnRyb2wgZGF0YSBidXMgYmFu ZHdpZHRoCj4gZW5hYmxlCj4gLSAqIEBwaGFuZGxlOiAgcG93ZXIgaGFuZGxlIGNvbnRhaW5pbmcg dGhlIHJlc291cmNlcwo+IC0gKiBAY2xpZW50OiBjbGllbnQgaW5mb3JtYXRpb24gdG8gYmFuZHdp ZHRoIGNvbnRyb2wKPiAtICogQGVuYWJsZTogdHJ1ZSB0byBlbmFibGUgYmFuZHdpZHRoIGZvciBk YXRhIGJhc2UKPiAtICoKPiAtICogUmV0dXJuOiBub25lCj4gLSAqLwo+IC12b2lkIGRwdV9wb3dl cl9kYXRhX2J1c19iYW5kd2lkdGhfY3RybChzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAKPiAqcGhh bmRsZSwKPiAtCQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqcGNsaWVudCwgaW50IGVuYWJsZSk7 Cj4gK2ludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxl ICpwZGF0YSwgYm9vbAo+IGVuYWJsZSk7Cj4gCj4gIC8qKgo+ICAgKiBkcHVfcG93ZXJfaGFuZGxl X3JlZ2lzdGVyX2V2ZW50IC0gcmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgCj4gYW4K PiBldmVudC4KCi0tIApKZXlrdW1hciBTCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZyZWVkcmVubwo=