From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH 08/11] drm/msm/dpu: remove power management code from dpu_power_handle Date: Thu, 10 May 2018 11:22:20 -0400 Message-ID: <20180510152220.GH33053@art_vandelay> References: <1525940985-30428-1-git-send-email-ryadav@codeaurora.org> <1525940985-30428-9-git-send-email-ryadav@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1525940985-30428-9-git-send-email-ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Rajesh Yadav 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-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBNYXkgMTAsIDIwMTggYXQgMDE6NTk6NDJQTSArMDUzMCwgUmFqZXNoIFlhZGF2IHdy b3RlOgo+IE1kc3MgbWFpbiBwb3dlciBzdXBwbHkgKG1kc3NfZ2RzYykgaXMgaW1wbGVtZW50ZWQg YXMgYQo+IGdlbmVyaWMgcG93ZXIgZG9tYWluIGFuZCBtZHNzIHRvcCBsZXZlbCB3cmFwcGVyIGRl dmljZQo+IG1hbmFnZSBpdCB2aWEgcnVudGltZV9wbS4gUmVtb3ZlIGN1c3RvbSBwb3dlciBtYW5h Z2VtZW50Cj4gY29kZSBmcm9tIGRwdV9wb3dlcl9oYW5kbGUuCj4gCj4gU2lnbmVkLW9mZi1ieTog UmFqZXNoIFlhZGF2IDxyeWFkYXZAY29kZWF1cm9yYS5vcmc+CgpSZXZpZXdlZC1ieTogU2VhbiBQ YXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L2RwdV9wb3dlcl9oYW5kbGUuYyB8IDE5MCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmggfCAgIDIgLQo+ICAy IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxOTEgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5jIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmMKPiBpbmRleCAxN2JhZTRiLi45MDlmYmI4 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfcG93ZXJfaGFuZGxlLmMKPiBAQCAtMTAxLDE1 MCArMTAxLDYgQEAgdm9pZCBkcHVfcG93ZXJfY2xpZW50X2Rlc3Ryb3koc3RydWN0IGRwdV9wb3dl cl9oYW5kbGUgKnBoYW5kbGUsCj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgZHB1X3Bvd2Vy X3BhcnNlX2R0X3N1cHBseShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+IC0JCQkJc3Ry dWN0IGRzc19tb2R1bGVfcG93ZXIgKm1wKQo+IC17Cj4gLQlpbnQgaSA9IDAsIHJjID0gMDsKPiAt CXUzMiB0bXAgPSAwOwo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpvZl9ub2RlID0gTlVMTCwgKnN1 cHBseV9yb290X25vZGUgPSBOVUxMOwo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpzdXBwbHlfbm9k ZSA9IE5VTEw7Cj4gLQo+IC0JaWYgKCFwZGV2IHx8ICFtcCkgewo+IC0JCXByX2VycigiaW52YWxp ZCBpbnB1dCBwYXJhbSBwZGV2OiVwSyBtcDolcEtcbiIsIHBkZXYsIG1wKTsKPiAtCQlyZXR1cm4g LUVJTlZBTDsKPiAtCX0KPiAtCj4gLQlvZl9ub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gLQo+ IC0JbXAtPm51bV92cmVnID0gMDsKPiAtCXN1cHBseV9yb290X25vZGUgPSBvZl9nZXRfY2hpbGRf YnlfbmFtZShvZl9ub2RlLAo+IC0JCQkJCQkicWNvbSxwbGF0Zm9ybS1zdXBwbHktZW50cmllcyIp Owo+IC0JaWYgKCFzdXBwbHlfcm9vdF9ub2RlKSB7Cj4gLQkJcHJfZGVidWcoIm5vIHN1cHBseSBl bnRyeSBwcmVzZW50XG4iKTsKPiAtCQlyZXR1cm4gcmM7Cj4gLQl9Cj4gLQo+IC0JZm9yX2VhY2hf Y2hpbGRfb2Zfbm9kZShzdXBwbHlfcm9vdF9ub2RlLCBzdXBwbHlfbm9kZSkKPiAtCQltcC0+bnVt X3ZyZWcrKzsKPiAtCj4gLQlpZiAobXAtPm51bV92cmVnID09IDApIHsKPiAtCQlwcl9kZWJ1Zygi bm8gdnJlZ1xuIik7Cj4gLQkJcmV0dXJuIHJjOwo+IC0JfQo+IC0KPiAtCXByX2RlYnVnKCJ2cmVn IGZvdW5kLiBjb3VudD0lZFxuIiwgbXAtPm51bV92cmVnKTsKPiAtCW1wLT52cmVnX2NvbmZpZyA9 IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2Yoc3RydWN0IGRzc192cmVnKSAqCj4gLQkJ CQkJCW1wLT5udW1fdnJlZywgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIW1wLT52cmVnX2NvbmZpZykg ewo+IC0JCXJjID0gLUVOT01FTTsKPiAtCQlyZXR1cm4gcmM7Cj4gLQl9Cj4gLQo+IC0JZm9yX2Vh Y2hfY2hpbGRfb2Zfbm9kZShzdXBwbHlfcm9vdF9ub2RlLCBzdXBwbHlfbm9kZSkgewo+IC0KPiAt CQljb25zdCBjaGFyICpzdCA9IE5VTEw7Cj4gLQo+IC0JCXJjID0gb2ZfcHJvcGVydHlfcmVhZF9z dHJpbmcoc3VwcGx5X25vZGUsCj4gLQkJCQkJCSJxY29tLHN1cHBseS1uYW1lIiwgJnN0KTsKPiAt CQlpZiAocmMpIHsKPiAtCQkJcHJfZXJyKCJlcnJvciByZWFkaW5nIG5hbWUuIHJjPSVkXG4iLCBy Yyk7Cj4gLQkJCWdvdG8gZXJyb3I7Cj4gLQkJfQo+IC0KPiAtCQlzdHJsY3B5KG1wLT52cmVnX2Nv bmZpZ1tpXS52cmVnX25hbWUsIHN0LAo+IC0JCQkJCXNpemVvZihtcC0+dnJlZ19jb25maWdbaV0u dnJlZ19uYW1lKSk7Cj4gLQo+IC0JCXJjID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoc3VwcGx5X25v ZGUsCj4gLQkJCQkJInFjb20sc3VwcGx5LW1pbi12b2x0YWdlIiwgJnRtcCk7Cj4gLQkJaWYgKHJj KSB7Cj4gLQkJCXByX2VycigiZXJyb3IgcmVhZGluZyBtaW4gdm9sdC4gcmM9JWRcbiIsIHJjKTsK PiAtCQkJZ290byBlcnJvcjsKPiAtCQl9Cj4gLQkJbXAtPnZyZWdfY29uZmlnW2ldLm1pbl92b2x0 YWdlID0gdG1wOwo+IC0KPiAtCQlyYyA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHN1cHBseV9ub2Rl LAo+IC0JCQkJCSJxY29tLHN1cHBseS1tYXgtdm9sdGFnZSIsICZ0bXApOwo+IC0JCWlmIChyYykg ewo+IC0JCQlwcl9lcnIoImVycm9yIHJlYWRpbmcgbWF4IHZvbHQuIHJjPSVkXG4iLCByYyk7Cj4g LQkJCWdvdG8gZXJyb3I7Cj4gLQkJfQo+IC0JCW1wLT52cmVnX2NvbmZpZ1tpXS5tYXhfdm9sdGFn ZSA9IHRtcDsKPiAtCj4gLQkJcmMgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihzdXBwbHlfbm9kZSwK PiAtCQkJCQkicWNvbSxzdXBwbHktZW5hYmxlLWxvYWQiLCAmdG1wKTsKPiAtCQlpZiAocmMpIHsK PiAtCQkJcHJfZXJyKCJlcnJvciByZWFkaW5nIGVuYWJsZSBsb2FkLiByYz0lZFxuIiwgcmMpOwo+ IC0JCQlnb3RvIGVycm9yOwo+IC0JCX0KPiAtCQltcC0+dnJlZ19jb25maWdbaV0uZW5hYmxlX2xv YWQgPSB0bXA7Cj4gLQo+IC0JCXJjID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoc3VwcGx5X25vZGUs Cj4gLQkJCQkJInFjb20sc3VwcGx5LWRpc2FibGUtbG9hZCIsICZ0bXApOwo+IC0JCWlmIChyYykg ewo+IC0JCQlwcl9lcnIoImVycm9yIHJlYWRpbmcgZGlzYWJsZSBsb2FkLiByYz0lZFxuIiwgcmMp Owo+IC0JCQlnb3RvIGVycm9yOwo+IC0JCX0KPiAtCQltcC0+dnJlZ19jb25maWdbaV0uZGlzYWJs ZV9sb2FkID0gdG1wOwo+IC0KPiAtCQlyYyA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHN1cHBseV9u b2RlLAo+IC0JCQkJCSJxY29tLHN1cHBseS1wcmUtb24tc2xlZXAiLCAmdG1wKTsKPiAtCQlpZiAo cmMpCj4gLQkJCXByX2RlYnVnKCJlcnJvciByZWFkaW5nIHN1cHBseSBwcmUgc2xlZXAgdmFsdWUu IHJjPSVkXG4iLAo+IC0JCQkJCQkJcmMpOwo+IC0KPiAtCQltcC0+dnJlZ19jb25maWdbaV0ucHJl X29uX3NsZWVwID0gKCFyYyA/IHRtcCA6IDApOwo+IC0KPiAtCQlyYyA9IG9mX3Byb3BlcnR5X3Jl YWRfdTMyKHN1cHBseV9ub2RlLAo+IC0JCQkJCSJxY29tLHN1cHBseS1wcmUtb2ZmLXNsZWVwIiwg JnRtcCk7Cj4gLQkJaWYgKHJjKQo+IC0JCQlwcl9kZWJ1ZygiZXJyb3IgcmVhZGluZyBzdXBwbHkg cHJlIHNsZWVwIHZhbHVlLiByYz0lZFxuIiwKPiAtCQkJCQkJCXJjKTsKPiAtCj4gLQkJbXAtPnZy ZWdfY29uZmlnW2ldLnByZV9vZmZfc2xlZXAgPSAoIXJjID8gdG1wIDogMCk7Cj4gLQo+IC0JCXJj ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoc3VwcGx5X25vZGUsCj4gLQkJCQkJInFjb20sc3VwcGx5 LXBvc3Qtb24tc2xlZXAiLCAmdG1wKTsKPiAtCQlpZiAocmMpCj4gLQkJCXByX2RlYnVnKCJlcnJv ciByZWFkaW5nIHN1cHBseSBwb3N0IHNsZWVwIHZhbHVlLiByYz0lZFxuIiwKPiAtCQkJCQkJCXJj KTsKPiAtCj4gLQkJbXAtPnZyZWdfY29uZmlnW2ldLnBvc3Rfb25fc2xlZXAgPSAoIXJjID8gdG1w IDogMCk7Cj4gLQo+IC0JCXJjID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoc3VwcGx5X25vZGUsCj4g LQkJCQkJInFjb20sc3VwcGx5LXBvc3Qtb2ZmLXNsZWVwIiwgJnRtcCk7Cj4gLQkJaWYgKHJjKQo+ IC0JCQlwcl9kZWJ1ZygiZXJyb3IgcmVhZGluZyBzdXBwbHkgcG9zdCBzbGVlcCB2YWx1ZS4gcmM9 JWRcbiIsCj4gLQkJCQkJCQlyYyk7Cj4gLQo+IC0JCW1wLT52cmVnX2NvbmZpZ1tpXS5wb3N0X29m Zl9zbGVlcCA9ICghcmMgPyB0bXAgOiAwKTsKPiAtCj4gLQkJcHJfZGVidWcoIiVzIG1pbj0lZCwg bWF4PSVkLCBlbmFibGU9JWQsIGRpc2FibGU9JWQsIHByZW9uc2xlZXA9JWQsIHBvc3RvbnNsZWVw PSVkLCBwcmVvZmZzbGVlcD0lZCwgcG9zdG9mZnNsZWVwPSVkXG4iLAo+IC0JCQkJCW1wLT52cmVn X2NvbmZpZ1tpXS52cmVnX25hbWUsCj4gLQkJCQkJbXAtPnZyZWdfY29uZmlnW2ldLm1pbl92b2x0 YWdlLAo+IC0JCQkJCW1wLT52cmVnX2NvbmZpZ1tpXS5tYXhfdm9sdGFnZSwKPiAtCQkJCQltcC0+ dnJlZ19jb25maWdbaV0uZW5hYmxlX2xvYWQsCj4gLQkJCQkJbXAtPnZyZWdfY29uZmlnW2ldLmRp c2FibGVfbG9hZCwKPiAtCQkJCQltcC0+dnJlZ19jb25maWdbaV0ucHJlX29uX3NsZWVwLAo+IC0J CQkJCW1wLT52cmVnX2NvbmZpZ1tpXS5wb3N0X29uX3NsZWVwLAo+IC0JCQkJCW1wLT52cmVnX2Nv bmZpZ1tpXS5wcmVfb2ZmX3NsZWVwLAo+IC0JCQkJCW1wLT52cmVnX2NvbmZpZ1tpXS5wb3N0X29m Zl9zbGVlcCk7Cj4gLQkJKytpOwo+IC0KPiAtCQlyYyA9IDA7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJu IHJjOwo+IC0KPiAtZXJyb3I6Cj4gLQlpZiAobXAtPnZyZWdfY29uZmlnKSB7Cj4gLQkJZGV2bV9r ZnJlZSgmcGRldi0+ZGV2LCBtcC0+dnJlZ19jb25maWcpOwo+IC0JCW1wLT52cmVnX2NvbmZpZyA9 IE5VTEw7Cj4gLQkJbXAtPm51bV92cmVnID0gMDsKPiAtCX0KPiAtCj4gLQlyZXR1cm4gcmM7Cj4g LX0KPiAtCj4gICNpZmRlZiBDT05GSUdfUUNPTV9CVVNfU0NBTElORwo+ICAKPiAgI2RlZmluZSBN QVhfQVhJX1BPUlRfQ09VTlQgMwo+IEBAIC02MTQsMzMgKzQ3MCwxOCBAQCBpbnQgZHB1X3Bvd2Vy X3Jlc291cmNlX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgCXN0cnVjdCBk cHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlKQo+ICB7Cj4gIAlpbnQgcmMgPSAwLCBpOwo+IC0Jc3Ry dWN0IGRzc19tb2R1bGVfcG93ZXIgKm1wOwo+ICAKPiAgCWlmICghcGhhbmRsZSB8fCAhcGRldikg ewo+ICAJCXByX2VycigiaW52YWxpZCBpbnB1dCBwYXJhbVxuIik7Cj4gIAkJcmMgPSAtRUlOVkFM Owo+ICAJCWdvdG8gZW5kOwo+ICAJfQo+IC0JbXAgPSAmcGhhbmRsZS0+bXA7Cj4gIAlwaGFuZGxl LT5kZXYgPSAmcGRldi0+ZGV2Owo+ICAKPiAtCXJjID0gZHB1X3Bvd2VyX3BhcnNlX2R0X3N1cHBs eShwZGV2LCBtcCk7Cj4gLQlpZiAocmMpIHsKPiAtCQlwcl9lcnIoImRldmljZSB2cmVnIHN1cHBs eSBwYXJzaW5nIGZhaWxlZFxuIik7Cj4gLQkJZ290byBlbmQ7Cj4gLQl9Cj4gLQo+IC0JcmMgPSBt c21fZHNzX2NvbmZpZ192cmVnKCZwZGV2LT5kZXYsCj4gLQkJCQltcC0+dnJlZ19jb25maWcsIG1w LT5udW1fdnJlZywgMSk7Cj4gLQlpZiAocmMpIHsKPiAtCQlwcl9lcnIoInZyZWcgY29uZmlnIGZh aWxlZCByYz0lZFxuIiwgcmMpOwo+IC0JCWdvdG8gdnJlZ19lcnI7Cj4gLQl9Cj4gLQo+ICAJcmMg PSBkcHVfcG93ZXJfcmVnX2J1c19wYXJzZShwZGV2LCBwaGFuZGxlKTsKPiAgCWlmIChyYykgewo+ ICAJCXByX2VycigicmVnaXN0ZXIgYnVzIHBhcnNlIGZhaWxlZCByYz0lZFxuIiwgcmMpOwo+IC0J CWdvdG8gYnVzX2VycjsKPiArCQlnb3RvIGVuZDsKPiAgCX0KPiAgCj4gIAlmb3IgKGkgPSBEUFVf UE9XRVJfSEFORExFX0RCVVNfSURfTU5PQzsKPiBAQCAtNjY2LDEyICs1MDcsNiBAQCBpbnQgZHB1 X3Bvd2VyX3Jlc291cmNlX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgCWZv ciAoaS0tOyBpID49IDA7IGktLSkKPiAgCQlkcHVfcG93ZXJfZGF0YV9idXNfdW5yZWdpc3Rlcigm cGhhbmRsZS0+ZGF0YV9idXNfaGFuZGxlW2ldKTsKPiAgCWRwdV9wb3dlcl9yZWdfYnVzX3VucmVn aXN0ZXIocGhhbmRsZS0+cmVnX2J1c19oZGwpOwo+IC1idXNfZXJyOgo+IC0JbXNtX2Rzc19jb25m aWdfdnJlZygmcGRldi0+ZGV2LCBtcC0+dnJlZ19jb25maWcsIG1wLT5udW1fdnJlZywgMCk7Cj4g LXZyZWdfZXJyOgo+IC0JaWYgKG1wLT52cmVnX2NvbmZpZykKPiAtCQlkZXZtX2tmcmVlKCZwZGV2 LT5kZXYsIG1wLT52cmVnX2NvbmZpZyk7Cj4gLQltcC0+bnVtX3ZyZWcgPSAwOwo+ICBlbmQ6Cj4g IAlyZXR1cm4gcmM7Cj4gIH0KPiBAQCAtNjc5LDcgKzUxNCw2IEBAIGludCBkcHVfcG93ZXJfcmVz b3VyY2VfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICB2b2lkIGRwdV9wb3dl cl9yZXNvdXJjZV9kZWluaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgCXN0cnVj dCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHNzX21vZHVsZV9w b3dlciAqbXA7Cj4gIAlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY3Vycl9jbGllbnQsICpuZXh0 X2NsaWVudDsKPiAgCXN0cnVjdCBkcHVfcG93ZXJfZXZlbnQgKmN1cnJfZXZlbnQsICpuZXh0X2V2 ZW50Owo+ICAJaW50IGk7Cj4gQEAgLTY4OCw3ICs1MjIsNiBAQCB2b2lkIGRwdV9wb3dlcl9yZXNv dXJjZV9kZWluaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgCQlwcl9lcnIoImlu dmFsaWQgaW5wdXQgcGFyYW1cbiIpOwo+ICAJCXJldHVybjsKPiAgCX0KPiAtCW1wID0gJnBoYW5k bGUtPm1wOwo+ICAKPiAgCW11dGV4X2xvY2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7Cj4gIAls aXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY3Vycl9jbGllbnQsIG5leHRfY2xpZW50LAo+IEBAIC03 MTQsMTMgKzU0Nyw2IEBAIHZvaWQgZHB1X3Bvd2VyX3Jlc291cmNlX2RlaW5pdChzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2LAo+ICAJCWRwdV9wb3dlcl9kYXRhX2J1c191bnJlZ2lzdGVyKCZw aGFuZGxlLT5kYXRhX2J1c19oYW5kbGVbaV0pOwo+ICAKPiAgCWRwdV9wb3dlcl9yZWdfYnVzX3Vu cmVnaXN0ZXIocGhhbmRsZS0+cmVnX2J1c19oZGwpOwo+IC0KPiAtCW1zbV9kc3NfY29uZmlnX3Zy ZWcoJnBkZXYtPmRldiwgbXAtPnZyZWdfY29uZmlnLCBtcC0+bnVtX3ZyZWcsIDApOwo+IC0KPiAt CWlmIChtcC0+dnJlZ19jb25maWcpCj4gLQkJZGV2bV9rZnJlZSgmcGRldi0+ZGV2LCBtcC0+dnJl Z19jb25maWcpOwo+IC0KPiAtCW1wLT5udW1fdnJlZyA9IDA7Cj4gIH0KPiAgCj4gIGludCBkcHVf cG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLAo+ IEBAIC03MzAsMTUgKzU1NiwxMiBAQCBpbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1 Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKPiAgCWJvb2wgY2hhbmdlZCA9IGZhbHNlOwo+ ICAJdTMyIG1heF91c2VjYXNlX25keCA9IFZPVEVfSU5ERVhfRElTQUJMRSwgcHJldl91c2VjYXNl X25keDsKPiAgCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpjbGllbnQ7Cj4gLQlzdHJ1Y3QgZHNz X21vZHVsZV9wb3dlciAqbXA7Cj4gIAo+ICAJaWYgKCFwaGFuZGxlIHx8ICFwY2xpZW50KSB7Cj4g IAkJcHJfZXJyKCJpbnZhbGlkIGlucHV0IGFyZ3VtZW50XG4iKTsKPiAgCQlyZXR1cm4gLUVJTlZB TDsKPiAgCX0KPiAgCj4gLQltcCA9ICZwaGFuZGxlLT5tcDsKPiAtCj4gIAltdXRleF9sb2NrKCZw aGFuZGxlLT5waGFuZGxlX2xvY2spOwo+ICAJaWYgKGVuYWJsZSkKPiAgCQlwY2xpZW50LT5yZWZj b3VudCsrOwo+IEBAIC03ODMsMTMgKzYwNiw2IEBAIGludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5h YmxlKHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwaGFuZGxlLAo+ICAJCQl9Cj4gIAkJfQo+ICAK PiAtCQlyYyA9IG1zbV9kc3NfZW5hYmxlX3ZyZWcobXAtPnZyZWdfY29uZmlnLCBtcC0+bnVtX3Zy ZWcsCj4gLQkJCQkJCQkJZW5hYmxlKTsKPiAtCQlpZiAocmMpIHsKPiAtCQkJcHJfZXJyKCJmYWls ZWQgdG8gZW5hYmxlIHZyZWdzIHJjPSVkXG4iLCByYyk7Cj4gLQkJCWdvdG8gdnJlZ19lcnI7Cj4g LQkJfQo+IC0KPiAgCQlyYyA9IGRwdV9wb3dlcl9yZWdfYnVzX3VwZGF0ZShwaGFuZGxlLT5yZWdf YnVzX2hkbCwKPiAgCQkJCQkJCW1heF91c2VjYXNlX25keCk7Cj4gIAkJaWYgKHJjKSB7Cj4gQEAg LTgwNyw4ICs2MjMsNiBAQCBpbnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3QgZHB1 X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKPiAgCQlkcHVfcG93ZXJfcmVnX2J1c191cGRhdGUocGhh bmRsZS0+cmVnX2J1c19oZGwsCj4gIAkJCQkJCQltYXhfdXNlY2FzZV9uZHgpOwo+ICAKPiAtCQlt c21fZHNzX2VuYWJsZV92cmVnKG1wLT52cmVnX2NvbmZpZywgbXAtPm51bV92cmVnLAo+IC0JCQkJ CQkJZW5hYmxlKTsKPiAgCQlmb3IgKGkgPSAwIDsgaSA8IERQVV9QT1dFUl9IQU5ETEVfREJVU19J RF9NQVg7IGkrKykKPiAgCQkJZHB1X3Bvd2VyX2RhdGFfYnVzX3VwZGF0ZSgmcGhhbmRsZS0+ZGF0 YV9idXNfaGFuZGxlW2ldLAo+ICAJCQkJCWVuYWJsZSk7Cj4gQEAgLTgyMiw4ICs2MzYsNiBAQCBp bnQgZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhh bmRsZSwKPiAgCXJldHVybiByYzsKPiAgCj4gIHJlZ19idXNfaGRsX2VycjoKPiAtCW1zbV9kc3Nf ZW5hYmxlX3ZyZWcobXAtPnZyZWdfY29uZmlnLCBtcC0+bnVtX3ZyZWcsIDApOwo+IC12cmVnX2Vy cjoKPiAgCWZvciAoaSA9IDAgOyBpIDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWDsgaSsr KQo+ICAJCWRwdV9wb3dlcl9kYXRhX2J1c191cGRhdGUoJnBoYW5kbGUtPmRhdGFfYnVzX2hhbmRs ZVtpXSwgMCk7Cj4gIGRhdGFfYnVzX2hkbF9lcnI6Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kcHVfcG93 ZXJfaGFuZGxlLmgKPiBpbmRleCA4M2YwNDhkLi45YTZkNGI5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZHB1X3Bvd2VyX2hhbmRsZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kcHVfcG93ZXJfaGFuZGxlLmgKPiBAQCAtMTQ3LDcgKzE0Nyw2IEBAIHN0cnVjdCBkcHVf cG93ZXJfZXZlbnQgewo+ICAKPiAgLyoqCj4gICAqIHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlOiBw b3dlciBoYW5kbGUgbWFpbiBzdHJ1Y3QKPiAtICogQG1wOgkJbW9kdWxlIHBvd2VyIGZvciBjbG9j ayBhbmQgcmVndWxhdG9yCj4gICAqIEBjbGllbnRfY2xpc3Q6IG1hc3RlciBsaXN0IHRvIHN0b3Jl IGFsbCBjbGllbnRzCj4gICAqIEBwaGFuZGxlX2xvY2s6IGxvY2sgdG8gc3luY2hyb25pemUgdGhl IGVuYWJsZS9kaXNhYmxlCj4gICAqIEBkZXY6IHBvaW50ZXIgdG8gZGV2aWNlIHN0cnVjdHVyZQo+ IEBAIC0xNTcsNyArMTU2LDYgQEAgc3RydWN0IGRwdV9wb3dlcl9ldmVudCB7Cj4gICAqIEBldmVu dF9saXN0OiBjdXJyZW50IHBvd2VyIGhhbmRsZSBldmVudCBsaXN0Cj4gICAqLwo+ICBzdHJ1Y3Qg ZHB1X3Bvd2VyX2hhbmRsZSB7Cj4gLQlzdHJ1Y3QgZHNzX21vZHVsZV9wb3dlciBtcDsKPiAgCXN0 cnVjdCBsaXN0X2hlYWQgcG93ZXJfY2xpZW50X2NsaXN0Owo+ICAJc3RydWN0IG11dGV4IHBoYW5k bGVfbG9jazsKPiAgCXN0cnVjdCBkZXZpY2UgKmRldjsKPiAtLSAKPiBUaGUgUXVhbGNvbW0gSW5u b3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVt LAo+IGEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKPiAKCi0tIApTZWFu IFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBs aXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K