From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH v2 5/5] drm/msm/A6xx: Add devfreq support for A6xx Date: Mon, 27 Aug 2018 12:47:20 +0530 Message-ID: <1535354240-24805-6-git-send-email-smasetty@codeaurora.org> References: <1535354240-24805-1-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1535354240-24805-1-git-send-email-smasetty-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, Sharat Masetty , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org SW1wbGVtZW50IHJvdXRpbmVzIHRvIGVzdGltYXRlIEdQVSBidXN5IHRpbWUgYW5kIGZldGNoaW5n IHRoZQpjdXJyZW50IGZyZXF1ZW5jeSBmb3IgdGhlIHBvbGxpbmcgaW50ZXJ2YWwuIFRoaXMgaXMg cmVxdWlyZWQgYnkKdGhlIGRldmZyZXEgZnJhbWV3b3JrIHdoaWNoIHJlY29tbWVuZHMgYSBmcmVx dWVuY3kgY2hhbmdlIGlmIG5lZWRlZC4KVGhlIGRyaXZlciBjb2RlIHRoZW4gdHJpZXMgdG8gc2V0 IHRoaXMgbmV3IGZyZXF1ZW5jeSBvbiB0aGUgR1BVIGJ5CnNlbmRpbmcgYW4gT3V0IE9mIEJhbmQo T09CKSByZXF1ZXN0IHRvIHRoZSBHTVUuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYXQgTWFzZXR0eSA8 c21hc2V0dHlAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8v YTZ4eF9nbXUuYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysKIGRy aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmggfCAgMiArKwogNCBmaWxlcyBjaGFu Z2VkLCA2NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ211LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Fk cmVuby9hNnh4X2dtdS5jCmluZGV4IGY2NjM0YzAuLjNhN2I4OTkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ211LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9hZHJlbm8vYTZ4eF9nbXUuYwpAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgYm9vbCBhNnh4X2dt dV9neF9pc19vbihzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSkKIAkJQTZYWF9HTVVfU1BUUFJBQ19QV1Jf Q0xLX1NUQVRVU19HWF9ITV9DTEtfT0ZGKSk7CiB9CiAKLXN0YXRpYyBpbnQgYTZ4eF9nbXVfc2V0 X2ZyZXEoc3RydWN0IGE2eHhfZ211ICpnbXUsIGludCBpbmRleCkKK3N0YXRpYyBpbnQgX19hNnh4 X2dtdV9zZXRfZnJlcShzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSwgaW50IGluZGV4KQogewogCWdtdV93 cml0ZShnbXUsIFJFR19BNlhYX0dNVV9EQ1ZTX0FDS19PUFRJT04sIDApOwogCkBAIC04NCw3ICs4 NCwzOCBAQCBzdGF0aWMgaW50IGE2eHhfZ211X3NldF9mcmVxKHN0cnVjdCBhNnh4X2dtdSAqZ211 LCBpbnQgaW5kZXgpCiAJYTZ4eF9nbXVfc2V0X29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQpOwog CWE2eHhfZ211X2NsZWFyX29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQpOwogCi0JcmV0dXJuIGdt dV9yZWFkKGdtdSwgUkVHX0E2WFhfR01VX0RDVlNfUkVUVVJOKTsKKwlpZiAoZ211X3JlYWQoZ211 LCBSRUdfQTZYWF9HTVVfRENWU19SRVRVUk4pICE9IDApCisJCXJldHVybiAtRUlOVkFMOworCisJ Z211LT5mcmVxID0gZ211LT5ncHVfZnJlcXNbaW5kZXhdOworCisJcmV0dXJuIDA7Cit9CisKK2lu dCBhNnh4X2dtdV9zZXRfZnJlcShzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCB1bnNpZ25lZCBsb25nIGZy ZXEpCit7CisJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJlbm9fZ3B1KGdw dSk7CisJc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSA9IHRvX2E2eHhfZ3B1KGFkcmVub19ncHUp OworCXN0cnVjdCBhNnh4X2dtdSAqZ211ID0gJmE2eHhfZ3B1LT5nbXU7CisJdTMyIHBlcmZfaW5k ZXggPSAwOworCisJaWYgKGZyZXEgPT0gZ211LT5mcmVxKQorCQlyZXR1cm4gMDsKKworCWZvciAo cGVyZl9pbmRleCA9IDA7IHBlcmZfaW5kZXggPCBnbXUtPm5yX2dwdV9mcmVxcyAtIDE7IHBlcmZf aW5kZXgrKykKKwkJaWYgKGZyZXEgPT0gZ211LT5ncHVfZnJlcXNbcGVyZl9pbmRleF0pCisJCQli cmVhazsKKworCXJldHVybiAgX19hNnh4X2dtdV9zZXRfZnJlcShnbXUsIHBlcmZfaW5kZXgpOwor fQorCit1bnNpZ25lZCBsb25nIGE2eHhfZ211X2dldF9mcmVxKHN0cnVjdCBtc21fZ3B1ICpncHUp Cit7CisJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJlbm9fZ3B1KGdwdSk7 CisJc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSA9IHRvX2E2eHhfZ3B1KGFkcmVub19ncHUpOwor CXN0cnVjdCBhNnh4X2dtdSAqZ211ID0gJmE2eHhfZ3B1LT5nbXU7CisKKwlyZXR1cm4gIGdtdS0+ ZnJlcTsKIH0KIAogc3RhdGljIGJvb2wgYTZ4eF9nbXVfY2hlY2tfaWRsZV9sZXZlbChzdHJ1Y3Qg YTZ4eF9nbXUgKmdtdSkKQEAgLTYzMCw3ICs2NjEsNyBAQCBpbnQgYTZ4eF9nbXVfcmVzZXQoc3Ry dWN0IGE2eHhfZ3B1ICphNnh4X2dwdSkKIAkJcmV0ID0gYTZ4eF9oZmlfc3RhcnQoZ211LCBHTVVf Q09MRF9CT09UKTsKIAogCS8qIFNldCB0aGUgR1BVIGJhY2sgdG8gdGhlIGhpZ2hlc3QgcG93ZXIg ZnJlcXVlbmN5ICovCi0JYTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAt IDEpOworCV9fYTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOwog CiBvdXQ6CiAJaWYgKHJldCkKQEAgLTY3MSw3ICs3MDIsNyBAQCBpbnQgYTZ4eF9nbXVfcmVzdW1l KHN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9ncHUpCiAJcmV0ID0gYTZ4eF9oZmlfc3RhcnQoZ211LCBz dGF0dXMpOwogCiAJLyogU2V0IHRoZSBHUFUgdG8gdGhlIGhpZ2hlc3QgcG93ZXIgZnJlcXVlbmN5 ICovCi0JYTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOworCV9f YTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOwogCiBvdXQ6CiAJ LyogTWFrZSBzdXJlIHRvIHR1cm4gb2ZmIHRoZSBib290IE9PQiByZXF1ZXN0IG9uIGVycm9yICov CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oIGIvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9nbXUuaAppbmRleCAwOWZkM2E3Li4xM2IwNjRm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ211LmgKQEAgLTc3LDYgKzc3LDggQEAg c3RydWN0IGE2eHhfZ211IHsKIAl1bnNpZ25lZCBsb25nIGdtdV9mcmVxc1s0XTsKIAl1MzIgY3hf YXJjX3ZvdGVzWzRdOwogCisJdW5zaWduZWQgbG9uZyBmcmVxOworCiAJc3RydWN0IGE2eHhfaGZp X3F1ZXVlIHF1ZXVlc1syXTsKIAogCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBoZmlfdGFza2xldDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5jCmluZGV4IDM0MjlkMzNhLi5hZjkwNzA2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMKQEAgLTcsNiArNyw4IEBACiAj aW5jbHVkZSAiYTZ4eF9ncHUuaCIKICNpbmNsdWRlICJhNnh4X2dtdS54bWwuaCIKIAorI2luY2x1 ZGUgPGxpbnV4L2RldmZyZXEuaD4KKwogc3RhdGljIGlubGluZSBib29sIF9hNnh4X2NoZWNrX2lk bGUoc3RydWN0IG1zbV9ncHUgKmdwdSkKIHsKIAlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dw dSA9IHRvX2FkcmVub19ncHUoZ3B1KTsKQEAgLTY4Miw2ICs2ODQsOCBAQCBzdGF0aWMgaW50IGE2 eHhfcG1fcmVzdW1lKHN0cnVjdCBtc21fZ3B1ICpncHUpCiAKIAlncHUtPm5lZWRzX2h3X2luaXQg PSB0cnVlOwogCisJbXNtX2dwdV9yZXN1bWVfZGV2ZnJlcShncHUpOworCiAJcmV0dXJuIHJldDsK IH0KIApAQCAtNjkwLDYgKzY5NCw4IEBAIHN0YXRpYyBpbnQgYTZ4eF9wbV9zdXNwZW5kKHN0cnVj dCBtc21fZ3B1ICpncHUpCiAJc3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJl bm9fZ3B1KGdwdSk7CiAJc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSA9IHRvX2E2eHhfZ3B1KGFk cmVub19ncHUpOwogCisJZGV2ZnJlcV9zdXNwZW5kX2RldmljZShncHUtPmRldmZyZXEuZGV2ZnJl cSk7CisKIAkvKgogCSAqIE1ha2Ugc3VyZSB0aGUgR01VIGlzIGlkbGUgYmVmb3JlIGNvbnRpbnVp bmcgKGJlY2F1c2Ugc29tZSB0cmFuc2l0aW9ucwogCSAqIG1heSB1c2UgVkJJRgpAQCAtNzUzLDYg Kzc1OSwyNCBAQCBzdGF0aWMgdm9pZCBhNnh4X2Rlc3Ryb3koc3RydWN0IG1zbV9ncHUgKmdwdSkK IAlrZnJlZShhNnh4X2dwdSk7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGE2eHhfZ3B1X2J1 c3koc3RydWN0IG1zbV9ncHUgKmdwdSkKK3sKKwlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dw dSA9IHRvX2FkcmVub19ncHUoZ3B1KTsKKwlzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1ID0gdG9f YTZ4eF9ncHUoYWRyZW5vX2dwdSk7CisJdTY0IGJ1c3lfY3ljbGVzOworCXVuc2lnbmVkIGxvbmcg YnVzeV90aW1lOworCisJYnVzeV9jeWNsZXMgPSBnbXVfcmVhZDY0KCZhNnh4X2dwdS0+Z211LAor CQkJUkVHX0E2WFhfR01VX0NYX0dNVV9QT1dFUl9DT1VOVEVSX1hPQ0xLXzBfTCwKKwkJCVJFR19B NlhYX0dNVV9DWF9HTVVfUE9XRVJfQ09VTlRFUl9YT0NMS18wX0gpOworCisJYnVzeV90aW1lID0g KChidXN5X2N5Y2xlcyAtIGdwdS0+ZGV2ZnJlcS5idXN5X2N5Y2xlcykgKiAxMCkgLyAxOTI7CisK KwlncHUtPmRldmZyZXEuYnVzeV9jeWNsZXMgPSBidXN5X2N5Y2xlczsKKworCXJldHVybiBidXN5 X3RpbWU7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWRyZW5vX2dwdV9mdW5jcyBmdW5jcyA9 IHsKIAkuYmFzZSA9IHsKIAkJLmdldF9wYXJhbSA9IGFkcmVub19nZXRfcGFyYW0sCkBAIC03Njgs NiArNzkyLDkgQEAgc3RhdGljIHZvaWQgYTZ4eF9kZXN0cm95KHN0cnVjdCBtc21fZ3B1ICpncHUp CiAjaWYgZGVmaW5lZChDT05GSUdfREVCVUdfRlMpIHx8IGRlZmluZWQoQ09ORklHX0RFVl9DT1JF RFVNUCkKIAkJLnNob3cgPSBhNnh4X3Nob3csCiAjZW5kaWYKKwkJLmdwdV9idXN5ID0gYTZ4eF9n cHVfYnVzeSwKKwkJLmdwdV9nZXRfZnJlcSA9IGE2eHhfZ211X2dldF9mcmVxLAorCQkuZ3B1X3Nl dF9mcmVxID0gYTZ4eF9nbXVfc2V0X2ZyZXEsCiAJfSwKIAkuZ2V0X3RpbWVzdGFtcCA9IGE2eHhf Z2V0X3RpbWVzdGFtcCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVu by9hNnh4X2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuaAppbmRl eCAzMmMyNTAxLi5mMjM2NzY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVu by9hNnh4X2dwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmgK QEAgLTU2LDUgKzU2LDcgQEAgc3RydWN0IGE2eHhfZ3B1IHsKIAogaW50IGE2eHhfZ211X3Byb2Jl KHN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9ncHUsIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqZ3B1X3BkZXYpOwogdm9pZCBhNnh4X2dtdV9yZW1vdmUoc3Ry dWN0IGE2eHhfZ3B1ICphNnh4X2dwdSk7CitpbnQgYTZ4eF9nbXVfc2V0X2ZyZXEoc3RydWN0IG1z bV9ncHUgKmdwdSwgdW5zaWduZWQgbG9uZyBmcmVxKTsKK3Vuc2lnbmVkIGxvbmcgYTZ4eF9nbXVf Z2V0X2ZyZXEoc3RydWN0IG1zbV9ncHUgKmdwdSk7CiAKICNlbmRpZiAvKiBfX0E2WFhfR1BVX0hf XyAqLwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVk cmVubwo=