From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajesh Yadav Subject: [DPU PATCH 06/11] drm/msm/dpu: use runtime_pm calls on dpu device Date: Thu, 10 May 2018 13:59:40 +0530 Message-ID: <1525940985-30428-7-git-send-email-ryadav@codeaurora.org> References: <1525940985-30428-1-git-send-email-ryadav@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1525940985-30428-1-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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Rajesh Yadav , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGRwdSBkcml2ZXIgaW1wbGVtZW50cyBydW50aW1lX3BtIHN1cHBvcnQgZm9yIG1hbmFnaW5n CmRwdSBzcGVjaWZpYyByZXNvdXJjZXMgbGlrZSAtIGNsb2NrcywgYnVzIGJhbmR3aWR0aCBldGMu CgpVc2UgcG1fcnVudGltZV9nZXQvcHV0X3N5bmMgY2FsbHMgb24gZHB1IGRldmljZS4KClRoZSBj b21tb24gY2xvY2tzIGFuZCBwb3dlciBtYW5hZ2VtZW50IGZvciBhbGwgY2hpbGQgbm9kZXMKKG1k cDUvZHB1LCBkc2ksIGRwIGV0YykgaXMgZG9uZSBieSBwYXJlbnQgTURTUyBkZXZpY2UvZHJpdmVy CnZpYSBydW50aW1lX3BtIGR1ZSB0byBwYXJlbnQgY2hpbGQgcmVsYXRpb25zaGlwLgoKU2lnbmVk LW9mZi1ieTogUmFqZXNoIFlhZGF2IDxyeWFkYXZAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfaXJxLmMgfCAgOCArKy0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyAgICAgfCAxMiArKysrLS0tLQogZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyAgfCAxNiArKysrKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgICAgICB8IDQ1ICsrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9wbGFuZS5jICAgIHwgIDYgKystLQogNSBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCsp LCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY29yZV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j b3JlX2lycS5jCmluZGV4IDk3N2FkYzQuLjVjNWNjNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jCkBAIC00NTIsMTAgKzQ1MiwxMCBAQCB2b2lkIGRw dV9jb3JlX2lycV9wcmVpbnN0YWxsKHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQogCX0KIAlwcml2 ID0gZHB1X2ttcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWRwdV9wb3dlcl9yZXNvdXJjZV9lbmFi bGUoJnByaXYtPnBoYW5kbGUsIGRwdV9rbXMtPmNvcmVfY2xpZW50LCB0cnVlKTsKKwlwbV9ydW50 aW1lX2dldF9zeW5jKCZkcHVfa21zLT5wZGV2LT5kZXYpOwogCWRwdV9jbGVhcl9hbGxfaXJxcyhk cHVfa21zKTsKIAlkcHVfZGlzYWJsZV9hbGxfaXJxcyhkcHVfa21zKTsKLQlkcHVfcG93ZXJfcmVz b3VyY2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21zLT5jb3JlX2NsaWVudCwgZmFsc2Up OworCXBtX3J1bnRpbWVfcHV0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7CiAKIAlzcGluX2xv Y2tfaW5pdCgmZHB1X2ttcy0+aXJxX29iai5jYl9sb2NrKTsKIApAQCAtNDk2LDcgKzQ5Niw3IEBA IHZvaWQgZHB1X2NvcmVfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKIAl9 CiAJcHJpdiA9IGRwdV9rbXMtPmRldi0+ZGV2X3ByaXZhdGU7CiAKLQlkcHVfcG93ZXJfcmVzb3Vy Y2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21zLT5jb3JlX2NsaWVudCwgdHJ1ZSk7CisJ cG1fcnVudGltZV9nZXRfc3luYygmZHB1X2ttcy0+cGRldi0+ZGV2KTsKIAlmb3IgKGkgPSAwOyBp IDwgZHB1X2ttcy0+aXJxX29iai50b3RhbF9pcnFzOyBpKyspCiAJCWlmIChhdG9taWNfcmVhZCgm ZHB1X2ttcy0+aXJxX29iai5lbmFibGVfY291bnRzW2ldKSB8fAogCQkJCSFsaXN0X2VtcHR5KCZk cHVfa21zLT5pcnFfb2JqLmlycV9jYl90YmxbaV0pKQpAQCAtNTA0LDcgKzUwNCw3IEBAIHZvaWQg ZHB1X2NvcmVfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKIAogCWRwdV9j bGVhcl9hbGxfaXJxcyhkcHVfa21zKTsKIAlkcHVfZGlzYWJsZV9hbGxfaXJxcyhkcHVfa21zKTsK LQlkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21zLT5jb3Jl X2NsaWVudCwgZmFsc2UpOworCXBtX3J1bnRpbWVfcHV0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRl dik7CiAKIAlrZnJlZShkcHVfa21zLT5pcnFfb2JqLmlycV9jYl90YmwpOwogCWtmcmVlKGRwdV9r bXMtPmlycV9vYmouZW5hYmxlX2NvdW50cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYwppbmRleCA0ODkyMGIwNS4uZTJkMmUzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBAIC04Niw4ICs4NiwxMiBAQCBzdGF0aWMgaW5saW5lIGlu dCBfZHB1X2NydGNfcG93ZXJfZW5hYmxlKHN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMsIGJvb2wg ZW5hYmxlKQogCiAJZHB1X2ttcyA9IHRvX2RwdV9rbXMocHJpdi0+a21zKTsKIAotCXJldHVybiBk cHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21zLT5jb3JlX2Ns aWVudCwKLQkJCQkJCQkJCWVuYWJsZSk7CisJaWYgKGVuYWJsZSkKKwkJcG1fcnVudGltZV9nZXRf c3luYygmZHB1X2ttcy0+cGRldi0+ZGV2KTsKKwllbHNlCisJCXBtX3J1bnRpbWVfcHV0X3N5bmMo JmRwdV9rbXMtPnBkZXYtPmRldik7CisKKwlyZXR1cm4gMDsKIH0KIAogLyoqCkBAIC0yMjUwLDcg KzIyNTQsNiBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y192YmxhbmtfZW5hYmxlX25vX2xvY2soCiAK IAkJLyogZHJvcCBsb2NrIHNpbmNlIHBvd2VyIGNydGMgY2IgbWF5IHRyeSB0byByZS1hY3F1aXJl IGxvY2sgKi8KIAkJbXV0ZXhfdW5sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKLQkJcG1fcnVu dGltZV9nZXRfc3luYyhkZXYtPmRldik7CiAJCXJldCA9IF9kcHVfY3J0Y19wb3dlcl9lbmFibGUo ZHB1X2NydGMsIHRydWUpOwogCQltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKIAkJ aWYgKHJldCkKQEAgLTI1ODAsNyArMjU4Myw2IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCS8qIGRpc2FibGUgY2xrICYgYncgY29udHJvbCB1 bnRpbCBjbGsgJiBidyBwcm9wZXJ0aWVzIGFyZSBzZXQgKi8KIAljc3RhdGUtPmJ3X2NvbnRyb2wg PSBmYWxzZTsKIAljc3RhdGUtPmJ3X3NwbGl0X3ZvdGUgPSBmYWxzZTsKLQlwbV9ydW50aW1lX3B1 dF9zeW5jKGNydGMtPmRldi0+ZGV2KTsKIAogCW11dGV4X3VubG9jaygmZHB1X2NydGMtPmNydGNf bG9jayk7CiB9CkBAIC0yNjExLDggKzI2MTMsNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19lbmFi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlyZXR1cm47CiAJfQogCi0JcG1fcnVudGltZV9n ZXRfc3luYyhjcnRjLT5kZXYtPmRldik7Ci0KIAlkcm1fZm9yX2VhY2hfZW5jb2RlcihlbmNvZGVy LCBjcnRjLT5kZXYpIHsKIAkJaWYgKGVuY29kZXItPmNydGMgIT0gY3J0YykKIAkJCWNvbnRpbnVl OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKaW5kZXggNDM4 NjM2MC4uMjk4YTZlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlci5jCkBAIC0yNjgsOCArMjY4LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfZW5jb2Rl cl9wb3dlcl9lbmFibGUoc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmMsCiAKIAlkcHVf a21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwogCi0JcmV0dXJuIGRwdV9wb3dlcl9yZXNvdXJj ZV9lbmFibGUoJnByaXYtPnBoYW5kbGUsIGRwdV9rbXMtPmNvcmVfY2xpZW50LAotCQkJCQkJCQkJ ZW5hYmxlKTsKKwlpZiAoZW5hYmxlKQorCQlwbV9ydW50aW1lX2dldF9zeW5jKCZkcHVfa21zLT5w ZGV2LT5kZXYpOworCWVsc2UKKwkJcG1fcnVudGltZV9wdXRfc3luYygmZHB1X2ttcy0+cGRldi0+ ZGV2KTsKKworCXJldHVybiAwOwogfQogCiB2b2lkIGRwdV9lbmNvZGVyX2hlbHBlcl9yZXBvcnRf aXJxX3RpbWVvdXQoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jLApAQCAtNzk2LDEw ICs4MDAsOCBAQCBzdGF0aWMgdm9pZCBfZHB1X2VuY29kZXJfcmVzb3VyY2VfY29udHJvbF9oZWxw ZXIoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAogCX0KIAogCWlmIChlbmFibGUpIHsKLQkJ cG1fcnVudGltZV9nZXRfc3luYyhkcHVfa21zLT5kZXYtPmRldik7CiAJCS8qIGVuYWJsZSBEUFUg Y29yZSBjbGtzICovCi0JCWRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJnByaXYtPnBoYW5kbGUs Ci0JCQkJZHB1X2ttcy0+Y29yZV9jbGllbnQsIHRydWUpOworCQlwbV9ydW50aW1lX2dldF9zeW5j KCZkcHVfa21zLT5wZGV2LT5kZXYpOwogCiAJCS8qIGVuYWJsZSBhbGwgdGhlIGlycSAqLwogCQlf ZHB1X2VuY29kZXJfaXJxX2NvbnRyb2woZHJtX2VuYywgdHJ1ZSk7CkBAIC04MDksOSArODExLDcg QEAgc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVyX3Jlc291cmNlX2NvbnRyb2xfaGVscGVyKHN0cnVj dCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAkJX2RwdV9lbmNvZGVyX2lycV9jb250cm9sKGRybV9l bmMsIGZhbHNlKTsKIAogCQkvKiBkaXNhYmxlIERQVSBjb3JlIGNsa3MgKi8KLQkJZHB1X3Bvd2Vy X3Jlc291cmNlX2VuYWJsZSgmcHJpdi0+cGhhbmRsZSwKLQkJCQlkcHVfa21zLT5jb3JlX2NsaWVu dCwgZmFsc2UpOwotCQlwbV9ydW50aW1lX3B1dF9zeW5jKGRwdV9rbXMtPmRldi0+ZGV2KTsKKwkJ cG1fcnVudGltZV9wdXRfc3luYygmZHB1X2ttcy0+cGRldi0+ZGV2KTsKIAl9CiAKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwppbmRleCAyY2Q1MWZjLi42ZGQwZDhlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCkBAIC0xMDAsOCArMTAwLDcg QEAgc3RhdGljIGludCBfZHB1X2Rhbmdlcl9zaWduYWxfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAq cywKIAlwcml2ID0ga21zLT5kZXYtPmRldl9wcml2YXRlOwogCW1lbXNldCgmc3RhdHVzLCAwLCBz aXplb2Yoc3RydWN0IGRwdV9kYW5nZXJfc2FmZV9zdGF0dXMpKTsKIAotCXBtX3J1bnRpbWVfZ2V0 X3N5bmMoa21zLT5kZXYtPmRldik7Ci0JZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZSgmcHJpdi0+ cGhhbmRsZSwga21zLT5jb3JlX2NsaWVudCwgdHJ1ZSk7CisJcG1fcnVudGltZV9nZXRfc3luYygm a21zLT5wZGV2LT5kZXYpOwogCWlmIChkYW5nZXJfc3RhdHVzKSB7CiAJCXNlcV9wdXRzKHMsICJc bkRhbmdlciBzaWduYWwgc3RhdHVzOlxuIik7CiAJCWlmIChrbXMtPmh3X21kcC0+b3BzLmdldF9k YW5nZXJfc3RhdHVzKQpAQCAtMTEzLDggKzExMiw3IEBAIHN0YXRpYyBpbnQgX2RwdV9kYW5nZXJf c2lnbmFsX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsCiAJCQlrbXMtPmh3X21kcC0+b3BzLmdl dF9kYW5nZXJfc3RhdHVzKGttcy0+aHdfbWRwLAogCQkJCQkmc3RhdHVzKTsKIAl9Ci0JZHB1X3Bv d2VyX3Jlc291cmNlX2VuYWJsZSgmcHJpdi0+cGhhbmRsZSwga21zLT5jb3JlX2NsaWVudCwgZmFs c2UpOwotCXBtX3J1bnRpbWVfcHV0X3N5bmMoa21zLT5kZXYtPmRldik7CisJcG1fcnVudGltZV9w dXRfc3luYygma21zLT5wZGV2LT5kZXYpOwogCiAJc2VxX3ByaW50ZihzLCAiTURQICAgICA6ICAw eCV4XG4iLCBzdGF0dXMubWRwKTsKIApAQCAtMjE1LDExICsyMTMsNyBAQCBzdGF0aWMgaW50IF9k cHVfZGVidWdmc19zaG93X3JlZ3NldDMyKHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkK IAkJCXNlcV9wdXRzKHMsICIgICAgICAgICAiKTsKIAl9CiAKLQlpZiAoZHB1X3Bvd2VyX3Jlc291 cmNlX2VuYWJsZSgmcHJpdi0+cGhhbmRsZSwKLQkJCQlkcHVfa21zLT5jb3JlX2NsaWVudCwgdHJ1 ZSkpIHsKLQkJc2VxX3B1dHMocywgImZhaWxlZCB0byBlbmFibGUgZHB1IGNsb2Nrc1xuIik7Ci0J CXJldHVybiAwOwotCX0KKwlwbV9ydW50aW1lX2dldF9zeW5jKCZkcHVfa21zLT5wZGV2LT5kZXYp OwogCiAJLyogbWFpbiByZWdpc3RlciBvdXRwdXQgKi8KIAlmb3IgKGkgPSAwOyBpIDwgcmVnc2V0 LT5ibGtfbGVuOyBpICs9IDQpIHsKQEAgLTIyOSw3ICsyMjMsNyBAQCBzdGF0aWMgaW50IF9kcHVf ZGVidWdmc19zaG93X3JlZ3NldDMyKHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKIAkJ c2VxX3ByaW50ZihzLCAiICUwOHgiLCByZWFkbF9yZWxheGVkKGJhc2UgKyBpKSk7CiAJfQogCXNl cV9wdXRzKHMsICJcbiIpOwotCWRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJnByaXYtPnBoYW5k bGUsIGRwdV9rbXMtPmNvcmVfY2xpZW50LCBmYWxzZSk7CisJcG1fcnVudGltZV9wdXRfc3luYygm ZHB1X2ttcy0+cGRldi0+ZGV2KTsKIAogCXJldHVybiAwOwogfQpAQCAtMzM0LDIwICszMjgsMTIg QEAgc3RhdGljIHZvaWQgX2RwdV9kZWJ1Z2ZzX2Rlc3Ryb3koc3RydWN0IGRwdV9rbXMgKmRwdV9r bXMpCiAKIHN0YXRpYyBpbnQgZHB1X2ttc19lbmFibGVfdmJsYW5rKHN0cnVjdCBtc21fa21zICpr bXMsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKLQlpbnQgcmV0OwotCi0JcG1fcnVudGltZV9n ZXRfc3luYyhjcnRjLT5kZXYtPmRldik7Ci0JcmV0ID0gZHB1X2NydGNfdmJsYW5rKGNydGMsIHRy dWUpOwotCXBtX3J1bnRpbWVfcHV0X3N5bmMoY3J0Yy0+ZGV2LT5kZXYpOwotCi0JcmV0dXJuIHJl dDsKKwlyZXR1cm4gZHB1X2NydGNfdmJsYW5rKGNydGMsIHRydWUpOwogfQogCiBzdGF0aWMgdm9p ZCBkcHVfa21zX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKIHsKLQlwbV9ydW50aW1lX2dldF9zeW5jKGNydGMtPmRldi0+ZGV2KTsKIAlk cHVfY3J0Y192YmxhbmsoY3J0YywgZmFsc2UpOwotCXBtX3J1bnRpbWVfcHV0X3N5bmMoY3J0Yy0+ ZGV2LT5kZXYpOwogfQogCiBzdGF0aWMgdm9pZCBkcHVfa21zX3dhaXRfZm9yX2ZyYW1lX3RyYW5z ZmVyX2NvbXBsZXRlKHN0cnVjdCBtc21fa21zICprbXMsCkBAIC00MDksOCArMzk1LDcgQEAgc3Rh dGljIHZvaWQgZHB1X2ttc19wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLAogCWlm ICghZGV2IHx8ICFkZXYtPmRldl9wcml2YXRlKQogCQlyZXR1cm47CiAJcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Ci0JcG1fcnVudGltZV9nZXRfc3luYyhkZXYtPmRldik7Ci0JZHB1X3Bvd2VyX3Jl c291cmNlX2VuYWJsZSgmcHJpdi0+cGhhbmRsZSwgZHB1X2ttcy0+Y29yZV9jbGllbnQsIHRydWUp OworCXBtX3J1bnRpbWVfZ2V0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7CiAKIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KGVuY29kZXIsICZkZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgaGVh ZCkKIAkJaWYgKGVuY29kZXItPmNydGMgIT0gTlVMTCkKQEAgLTQ3NCw4ICs0NTksNyBAQCBzdGF0 aWMgdm9pZCBkcHVfa21zX2NvbXBsZXRlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLAogCWZv cl9lYWNoX29sZF9jcnRjX2luX3N0YXRlKG9sZF9zdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUs IGkpCiAJCWRwdV9jcnRjX2NvbXBsZXRlX2NvbW1pdChjcnRjLCBvbGRfY3J0Y19zdGF0ZSk7CiAK LQlkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21zLT5jb3Jl X2NsaWVudCwgZmFsc2UpOwotCXBtX3J1bnRpbWVfcHV0X3N5bmMoZHB1X2ttcy0+ZGV2LT5kZXYp OworCXBtX3J1bnRpbWVfcHV0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7CiAKIAlEUFVfRVZU MzJfVkVSQk9TRShEUFVfRVZUTE9HX0ZVTkNfRVhJVCk7CiB9CkBAIC0xNjI3LDEzICsxNjExLDgg QEAgc3RhdGljIGludCBkcHVfa21zX2h3X2luaXQoc3RydWN0IG1zbV9rbXMgKmttcykKIAkJZHB1 X2ttcy0+Y29yZV9jbGllbnQgPSBOVUxMOwogCQlnb3RvIGVycm9yOwogCX0KLQlwbV9ydW50aW1l X2dldF9zeW5jKGRldi0+ZGV2KTsKLQlyYyA9IGRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJnBy aXYtPnBoYW5kbGUsIGRwdV9rbXMtPmNvcmVfY2xpZW50LAotCQl0cnVlKTsKLQlpZiAocmMpIHsK LQkJRFBVX0VSUk9SKCJyZXNvdXJjZSBlbmFibGUgZmFpbGVkOiAlZFxuIiwgcmMpOwotCQlnb3Rv IGVycm9yOwotCX0KKworCXBtX3J1bnRpbWVfZ2V0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7 CiAKIAlfZHB1X2ttc19jb3JlX2h3X3Jldl9pbml0KGRwdV9rbXMpOwogCkBAIC0xNzY4LDggKzE3 NDcsNyBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNtX2ttcyAqa21zKQog CQkJRFBVX1BPV0VSX0VWRU5UX1BPU1RfRU5BQkxFLAogCQkJZHB1X2ttc19oYW5kbGVfcG93ZXJf ZXZlbnQsIGRwdV9rbXMsICJrbXMiKTsKIAotCWRwdV9wb3dlcl9yZXNvdXJjZV9lbmFibGUoJnBy aXYtPnBoYW5kbGUsIGRwdV9rbXMtPmNvcmVfY2xpZW50LCBmYWxzZSk7Ci0JcG1fcnVudGltZV9w dXRfc3luYyhkZXYtPmRldik7CisJcG1fcnVudGltZV9wdXRfc3luYygmZHB1X2ttcy0+cGRldi0+ ZGV2KTsKIAogCXJldHVybiAwOwogCkBAIC0xNzc4LDggKzE3NTYsNyBAQCBzdGF0aWMgaW50IGRw dV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNtX2ttcyAqa21zKQogaHdfaW50cl9pbml0X2VycjoKIHBl cmZfZXJyOgogcG93ZXJfZXJyb3I6Ci0JZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZSgmcHJpdi0+ cGhhbmRsZSwgZHB1X2ttcy0+Y29yZV9jbGllbnQsIGZhbHNlKTsKLQlwbV9ydW50aW1lX3B1dF9z eW5jKGRldi0+ZGV2KTsKKwlwbV9ydW50aW1lX3B1dF9zeW5jKCZkcHVfa21zLT5wZGV2LT5kZXYp OwogZXJyb3I6CiAJX2RwdV9rbXNfaHdfZGVzdHJveShkcHVfa21zKTsKIGVuZDoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKaW5kZXggYmE1MjMwZC4uY2Y2YzNmZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKQEAgLTQ3NiwxMSAr NDc2LDkgQEAgaW50IGRwdV9wbGFuZV9kYW5nZXJfc2lnbmFsX2N0cmwoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsIGJvb2wgZW5hYmxlKQogCWlmICghcGRwdS0+aXNfcnRfcGlwZSkKIAkJZ290byBl bmQ7CiAKLQlkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2LT5waGFuZGxlLCBkcHVfa21z LT5jb3JlX2NsaWVudCwgdHJ1ZSk7Ci0KKwlwbV9ydW50aW1lX2dldF9zeW5jKCZkcHVfa21zLT5w ZGV2LT5kZXYpOwogCV9kcHVfcGxhbmVfc2V0X3Fvc19jdHJsKHBsYW5lLCBlbmFibGUsIERQVV9Q TEFORV9RT1NfUEFOSUNfQ1RSTCk7Ci0KLQlkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZwcml2 LT5waGFuZGxlLCBkcHVfa21zLT5jb3JlX2NsaWVudCwgZmFsc2UpOworCXBtX3J1bnRpbWVfcHV0 X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7CiAKIGVuZDoKIAlyZXR1cm4gMDsKLS0gClRoZSBR dWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBB dXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBt YWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=