From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: [PATCH v2 1/5] drm: hdlcd: Revamp runtime power management Date: Wed, 1 Jun 2016 15:48:35 +0100 Message-ID: <1464792519-24530-2-git-send-email-Liviu.Dudau@arm.com> References: <1464792519-24530-1-git-send-email-Liviu.Dudau@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by gabe.freedesktop.org (Postfix) with ESMTPS id 076006E9CB for ; Wed, 1 Jun 2016 14:48:44 +0000 (UTC) In-Reply-To: <1464792519-24530-1-git-send-email-Liviu.Dudau@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , David Airlie Cc: DRI Development List-Id: dri-devel@lists.freedesktop.org QmVjYXVzZSB0aGUgSERMQ0QgZHJpdmVyIGFjdHMgYXMgYSBjb21wb25lbnQgbWFzdGVyIGl0IGNh biBlbmQKdXAgZW5hYmxpbmcgdGhlIHJ1bnRpbWUgUE0gZnVuY3Rpb25hbGl0eSBiZWZvcmUgdGhl IGVuY29kZXJzCmFyZSBpbml0aWFsaXNlZC4gVGhpcyBjYW4gY2F1c2UgY3Jhc2hlcyBpZiB0aGUg Y29tcG9uZW50IHNsYXZlCm5ldmVyIHByb2JlcyAobWlzc2luZyBtb2R1bGUpIG9yIGlmIHRoZSBQ TSBvcGVyYXRpb25zIGtpY2sgaW4KYmVmb3JlIHRoZSBwcm9iZSBmaW5pc2hlcy4KCk1vdmUgdGhl IGVuYWJsaW5nIG9mIHRoZSBydW50aW1lIFBNIGFmdGVyIHRoZSBjb21wb25lbnQgbWFzdGVyCmhh cyBmaW5pc2hlZCBjb2xsZWN0aW5nIHRoZSBzbGF2ZSBjb21wb25lbnRzIGFuZCB1c2UgdGhlIERS TQphdG9taWMgaGVscGVycyB0byBzdXNwZW5kIGFuZCByZXN1bWUgdGhlIGRldmljZS4KClRlc3Rl ZC1ieTogUm9iaW4gTXVycGh5IDxSb2Jpbi5NdXJwaHlAYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTog TGl2aXUgRHVkYXUgPExpdml1LkR1ZGF1QGFybS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Fy bS9oZGxjZF9jcnRjLmMgfCAyMyArKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v YXJtL2hkbGNkX2Rydi5jICB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmggIHwgIDMgKy0tCiAzIGZpbGVz IGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9o ZGxjZF9jcnRjLmMKaW5kZXggZmVmMWIwNC4uZDFlOGQzMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FybS9oZGxjZF9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9j cnRjLmMKQEAgLTMzLDggKzMzLDE3IEBACiAgKgogICovCiAKK3N0YXRpYyB2b2lkIGhkbGNkX2Ny dGNfY2xlYW51cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGhkbGNkX2RybV9w cml2YXRlICpoZGxjZCA9IGNydGNfdG9faGRsY2RfcHJpdihjcnRjKTsKKworCS8qIHN0b3AgdGhl IGNvbnRyb2xsZXIgb24gY2xlYW51cCAqLworCWhkbGNkX3dyaXRlKGhkbGNkLCBIRExDRF9SRUdf Q09NTUFORCwgMCk7CisJZHJtX2NydGNfY2xlYW51cChjcnRjKTsKK30KKwogc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBoZGxjZF9jcnRjX2Z1bmNzID0gewotCS5kZXN0cm95ID0g ZHJtX2NydGNfY2xlYW51cCwKKwkuZGVzdHJveSA9IGhkbGNkX2NydGNfY2xlYW51cCwKIAkuc2V0 X2NvbmZpZyA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCiAJLnBhZ2VfZmxpcCA9IGRy bV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwKIAkucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9j cnRjX3Jlc2V0LApAQCAtMTU1LDggKzE2NCw4IEBAIHN0YXRpYyB2b2lkIGhkbGNkX2NydGNfZGlz YWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaWYgKCFjcnRjLT5wcmltYXJ5LT5mYikKIAkJ cmV0dXJuOwogCi0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGhkbGNkLT5jbGspOwogCWhkbGNkX3dy aXRlKGhkbGNkLCBIRExDRF9SRUdfQ09NTUFORCwgMCk7CisJY2xrX2Rpc2FibGVfdW5wcmVwYXJl KGhkbGNkLT5jbGspOwogCWRybV9jcnRjX3ZibGFua19vZmYoY3J0Yyk7CiB9CiAKQEAgLTI5NCwx NiArMzAzLDYgQEAgc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKmhkbGNkX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSkKIAlyZXR1cm4gcGxhbmU7CiB9CiAKLXZvaWQgaGRsY2RfY3J0 Y19zdXNwZW5kKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQloZGxjZF9jcnRjX2Rpc2FibGUo Y3J0Yyk7Ci19Ci0KLXZvaWQgaGRsY2RfY3J0Y19yZXN1bWUoc3RydWN0IGRybV9jcnRjICpjcnRj KQotewotCWhkbGNkX2NydGNfZW5hYmxlKGNydGMpOwotfQotCiBpbnQgaGRsY2Rfc2V0dXBfY3J0 YyhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQogewogCXN0cnVjdCBoZGxjZF9kcm1fcHJpdmF0ZSAq aGRsY2QgPSBkcm0tPmRldl9wcml2YXRlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bS9oZGxjZF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMKaW5kZXggYjk4 N2M2My4uMjFiMTQyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9kcnYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jCkBAIC04NCwxMSArODQsNyBA QCBzdGF0aWMgaW50IGhkbGNkX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQg bG9uZyBmbGFncykKIAkJZ290byBzZXR1cF9mYWlsOwogCX0KIAotCXBtX3J1bnRpbWVfZW5hYmxl KGRybS0+ZGV2KTsKLQotCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZHJtLT5kZXYpOwogCXJldCA9IGRy bV9pcnFfaW5zdGFsbChkcm0sIHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCkpOwotCXBtX3J1bnRp bWVfcHV0X3N5bmMoZHJtLT5kZXYpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFp bGVkIHRvIGluc3RhbGwgSVJRIGhhbmRsZXJcbiIpOwogCQlnb3RvIGlycV9mYWlsOwpAQCAtMzU3 LDYgKzM1Myw4IEBAIHN0YXRpYyBpbnQgaGRsY2RfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2 KQogCQlyZXR1cm4gLUVOT01FTTsKIAogCWRybS0+ZGV2X3ByaXZhdGUgPSBoZGxjZDsKKwlkZXZf c2V0X2RydmRhdGEoZGV2LCBkcm0pOworCiAJaGRsY2Rfc2V0dXBfbW9kZV9jb25maWcoZHJtKTsK IAlyZXQgPSBoZGxjZF9sb2FkKGRybSwgMCk7CiAJaWYgKHJldCkKQEAgLTM2NiwxNCArMzY0LDE4 IEBAIHN0YXRpYyBpbnQgaGRsY2RfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWlmIChy ZXQpCiAJCWdvdG8gZXJyX3VubG9hZDsKIAotCWRldl9zZXRfZHJ2ZGF0YShkZXYsIGRybSk7Ci0K IAlyZXQgPSBjb21wb25lbnRfYmluZF9hbGwoZGV2LCBkcm0pOwogCWlmIChyZXQpIHsKIAkJRFJN X0VSUk9SKCJGYWlsZWQgdG8gYmluZCBhbGwgY29tcG9uZW50c1xuIik7CiAJCWdvdG8gZXJyX3Vu cmVnaXN0ZXI7CiAJfQogCisJcmV0ID0gcG1fcnVudGltZV9zZXRfYWN0aXZlKGRldik7CisJaWYg KHJldCkKKwkJZ290byBlcnJfcG1fYWN0aXZlOworCisJcG1fcnVudGltZV9lbmFibGUoZGV2KTsK KwogCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0sIGRybS0+bW9kZV9jb25maWcubnVtX2NydGMp OwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRpYWxpc2UgdmJs YW5rXG4iKTsKQEAgLTM5OSwxNiArNDAxLDE2IEBAIGVycl9mYmRldjoKIAlkcm1fbW9kZV9jb25m aWdfY2xlYW51cChkcm0pOwogCWRybV92YmxhbmtfY2xlYW51cChkcm0pOwogZXJyX3ZibGFuazoK KwlwbV9ydW50aW1lX2Rpc2FibGUoZHJtLT5kZXYpOworZXJyX3BtX2FjdGl2ZToKIAljb21wb25l bnRfdW5iaW5kX2FsbChkZXYsIGRybSk7CiBlcnJfdW5yZWdpc3RlcjoKIAlkcm1fZGV2X3VucmVn aXN0ZXIoZHJtKTsKIGVycl91bmxvYWQ6Ci0JcG1fcnVudGltZV9nZXRfc3luYyhkcm0tPmRldik7 CiAJZHJtX2lycV91bmluc3RhbGwoZHJtKTsKLQlwbV9ydW50aW1lX3B1dF9zeW5jKGRybS0+ZGV2 KTsKLQlwbV9ydW50aW1lX2Rpc2FibGUoZHJtLT5kZXYpOwogCW9mX3Jlc2VydmVkX21lbV9kZXZp Y2VfcmVsZWFzZShkcm0tPmRldik7CiBlcnJfZnJlZToKKwlkZXZfc2V0X2RydmRhdGEoZGV2LCBO VUxMKTsKIAlkcm1fZGV2X3VucmVmKGRybSk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtNDk1LDMwICs0 OTcsMzQgQEAgTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgaGRsY2Rfb2ZfbWF0Y2gpOwogc3RhdGlj IGludCBfX21heWJlX3VudXNlZCBoZGxjZF9wbV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gZGV2X2dldF9kcnZkYXRhKGRldik7Ci0Jc3Ry dWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVjdCBoZGxjZF9kcm1fcHJpdmF0ZSAqaGRsY2QgPSBk cm0gPyBkcm0tPmRldl9wcml2YXRlIDogTlVMTDsKIAotCWlmIChwbV9ydW50aW1lX3N1c3BlbmRl ZChkZXYpKQorCWlmICghaGRsY2QpCiAJCXJldHVybiAwOwogCi0JZHJtX21vZGVzZXRfbG9ja19h bGwoZHJtKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNydGMsICZkcm0tPm1vZGVfY29uZmlnLmNy dGNfbGlzdCwgaGVhZCkKLQkJaGRsY2RfY3J0Y19zdXNwZW5kKGNydGMpOwotCWRybV9tb2Rlc2V0 X3VubG9ja19hbGwoZHJtKTsKKwlkcm1fa21zX2hlbHBlcl9wb2xsX2Rpc2FibGUoZHJtKTsKKwor CWhkbGNkLT5zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQoZHJtKTsKKwlpZiAoSVNf RVJSKGhkbGNkLT5zdGF0ZSkpIHsKKwkJZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFibGUoZHJtKTsK KwkJcmV0dXJuIFBUUl9FUlIoaGRsY2QtPnN0YXRlKTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIAog c3RhdGljIGludCBfX21heWJlX3VudXNlZCBoZGxjZF9wbV9yZXN1bWUoc3RydWN0IGRldmljZSAq ZGV2KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK LQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJc3RydWN0IGhkbGNkX2RybV9wcml2YXRlICpoZGxj ZCA9IGRybSA/IGRybS0+ZGV2X3ByaXZhdGUgOiBOVUxMOwogCi0JaWYgKCFwbV9ydW50aW1lX3N1 c3BlbmRlZChkZXYpKQorCWlmICghaGRsY2QpCiAJCXJldHVybiAwOwogCi0JZHJtX21vZGVzZXRf bG9ja19hbGwoZHJtKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNydGMsICZkcm0tPm1vZGVfY29u ZmlnLmNydGNfbGlzdCwgaGVhZCkKLQkJaGRsY2RfY3J0Y19yZXN1bWUoY3J0Yyk7Ci0JZHJtX21v ZGVzZXRfdW5sb2NrX2FsbChkcm0pOworCWRybV9hdG9taWNfaGVscGVyX3Jlc3VtZShkcm0sIGhk bGNkLT5zdGF0ZSk7CisJZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFibGUoZHJtKTsKKwlwbV9ydW50 aW1lX3NldF9hY3RpdmUoZGV2KTsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9k cnYuaAppbmRleCBhYTIzNDc4Li5lN2NlYTgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YXJtL2hkbGNkX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmgKQEAg LTEzLDYgKzEzLDcgQEAgc3RydWN0IGhkbGNkX2RybV9wcml2YXRlIHsKIAlzdHJ1Y3QgbGlzdF9o ZWFkCQlldmVudF9saXN0OwogCXN0cnVjdCBkcm1fY3J0YwkJCWNydGM7CiAJc3RydWN0IGRybV9w bGFuZQkJKnBsYW5lOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCQkqc3RhdGU7CiAjaWZkZWYg Q09ORklHX0RFQlVHX0ZTCiAJYXRvbWljX3QgYnVmZmVyX3VuZGVycnVuX2NvdW50OwogCWF0b21p Y190IGJ1c19lcnJvcl9jb3VudDsKQEAgLTM2LDcgKzM3LDUgQEAgc3RhdGljIGlubGluZSB1MzIg aGRsY2RfcmVhZChzdHJ1Y3QgaGRsY2RfZHJtX3ByaXZhdGUgKmhkbGNkLCB1bnNpZ25lZCBpbnQg cmVnKQogCiBpbnQgaGRsY2Rfc2V0dXBfY3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZv aWQgaGRsY2Rfc2V0X3NjYW5vdXQoc3RydWN0IGhkbGNkX2RybV9wcml2YXRlICpoZGxjZCk7Ci12 b2lkIGhkbGNkX2NydGNfc3VzcGVuZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwotdm9pZCBoZGxj ZF9jcnRjX3Jlc3VtZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogCiAjZW5kaWYgLyogX19IRExD RF9EUlZfSF9fICovCi0tIAoyLjguMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==