From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [v4 4/4] drm/msm/a6xx: Add devfreq support for a6xx Date: Thu, 4 Oct 2018 15:11:43 +0530 Message-ID: <1538646103-27445-5-git-send-email-smasetty@codeaurora.org> References: <1538646103-27445-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: <1538646103-27445-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: dri-devel@lists.freedesktop.org SW1wbGVtZW50IHJvdXRpbmVzIHRvIGVzdGltYXRlIEdQVSBidXN5IHRpbWUgYW5kIGZldGNoaW5n IHRoZQpjdXJyZW50IGZyZXF1ZW5jeSBmb3IgdGhlIHBvbGxpbmcgaW50ZXJ2YWwuIFRoaXMgaXMg cmVxdWlyZWQgYnkKdGhlIGRldmZyZXEgZnJhbWV3b3JrIHdoaWNoIHJlY29tbWVuZHMgYSBmcmVx dWVuY3kgY2hhbmdlIGlmIG5lZWRlZC4KVGhlIGRyaXZlciBjb2RlIHRoZW4gdHJpZXMgdG8gc2V0 IHRoaXMgbmV3IGZyZXF1ZW5jeSBvbiB0aGUgR1BVIGJ5CnNlbmRpbmcgYW4gT3V0IE9mIEJhbmQo T09CKSByZXF1ZXN0IHRvIHRoZSBHTVUuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYXQgTWFzZXR0eSA8 c21hc2V0dHlAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8v YTZ4eF9nbXUuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5oIHwgIDMgKystCiA0IGZpbGVzIGNo YW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9nbXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ211LmMKaW5kZXggNjEzZDYzOS4uNWI2NTg3MyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9nbXUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2FkcmVuby9hNnh4X2dtdS5jCkBAIC02MSw3ICs2MSw3IEBAIHN0YXRpYyBib29sIGE2eHhf Z211X2d4X2lzX29uKHN0cnVjdCBhNnh4X2dtdSAqZ211KQogCQlBNlhYX0dNVV9TUFRQUkFDX1BX Ul9DTEtfU1RBVFVTX0dYX0hNX0NMS19PRkYpKTsKIH0KIAotc3RhdGljIGludCBhNnh4X2dtdV9z ZXRfZnJlcShzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSwgaW50IGluZGV4KQorc3RhdGljIHZvaWQgX19h Nnh4X2dtdV9zZXRfZnJlcShzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSwgaW50IGluZGV4KQogewogCWdt dV93cml0ZShnbXUsIFJFR19BNlhYX0dNVV9EQ1ZTX0FDS19PUFRJT04sIDApOwogCkBAIC03OCw3 ICs3OCwzNyBAQCBzdGF0aWMgaW50IGE2eHhfZ211X3NldF9mcmVxKHN0cnVjdCBhNnh4X2dtdSAq Z211LCBpbnQgaW5kZXgpCiAJYTZ4eF9nbXVfc2V0X29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQp OwogCWE2eHhfZ211X2NsZWFyX29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQpOwogCi0JcmV0dXJu IGdtdV9yZWFkKGdtdSwgUkVHX0E2WFhfR01VX0RDVlNfUkVUVVJOKTsKKwlyZXQgPSBnbXVfcmVh ZChnbXUsIFJFR19BNlhYX0dNVV9EQ1ZTX1JFVFVSTik7CisJaWYgKHJldCkKKwkJZGV2X2Vycihn bXUtPmRldiwgIkdNVSBzZXQgR1BVIGZyZXF1ZW5jeSBlcnJvcjogJWRcbiIsIHJldCk7CisKKwln bXUtPmZyZXEgPSBnbXUtPmdwdV9mcmVxc1tpbmRleF07Cit9CisKK3ZvaWQgYTZ4eF9nbXVfc2V0 X2ZyZXEoc3RydWN0IG1zbV9ncHUgKmdwdSwgdW5zaWduZWQgbG9uZyBmcmVxKQoreworCXN0cnVj dCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVjdCBh Nnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwlzdHJ1Y3QgYTZ4 eF9nbXUgKmdtdSA9ICZhNnh4X2dwdS0+Z211OworCXUzMiBwZXJmX2luZGV4ID0gMDsKKworCWlm IChmcmVxID09IGdtdS0+ZnJlcSkKKwkJcmV0dXJuOworCisJZm9yIChwZXJmX2luZGV4ID0gMDsg cGVyZl9pbmRleCA8IGdtdS0+bnJfZ3B1X2ZyZXFzIC0gMTsgcGVyZl9pbmRleCsrKQorCQlpZiAo ZnJlcSA9PSBnbXUtPmdwdV9mcmVxc1twZXJmX2luZGV4XSkKKwkJCWJyZWFrOworCisJX19hNnh4 X2dtdV9zZXRfZnJlcShnbXUsIHBlcmZfaW5kZXgpOworfQorCit1bnNpZ25lZCBsb25nIGE2eHhf Z211X2dldF9mcmVxKHN0cnVjdCBtc21fZ3B1ICpncHUpCit7CisJc3RydWN0IGFkcmVub19ncHUg KmFkcmVub19ncHUgPSB0b19hZHJlbm9fZ3B1KGdwdSk7CisJc3RydWN0IGE2eHhfZ3B1ICphNnh4 X2dwdSA9IHRvX2E2eHhfZ3B1KGFkcmVub19ncHUpOworCXN0cnVjdCBhNnh4X2dtdSAqZ211ID0g JmE2eHhfZ3B1LT5nbXU7CisKKwlyZXR1cm4gIGdtdS0+ZnJlcTsKIH0KIAogc3RhdGljIGJvb2wg YTZ4eF9nbXVfY2hlY2tfaWRsZV9sZXZlbChzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSkKQEAgLTYzNyw3 ICs2NjcsNyBAQCBpbnQgYTZ4eF9nbXVfcmVzZXQoc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSkK IAkJcmV0ID0gYTZ4eF9oZmlfc3RhcnQoZ211LCBHTVVfQ09MRF9CT09UKTsKIAogCS8qIFNldCB0 aGUgR1BVIGJhY2sgdG8gdGhlIGhpZ2hlc3QgcG93ZXIgZnJlcXVlbmN5ICovCi0JYTZ4eF9nbXVf c2V0X2ZyZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOworCV9fYTZ4eF9nbXVfc2V0X2Zy ZXEoZ211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOwogCiBvdXQ6CiAJaWYgKHJldCkKQEAgLTY3 Niw3ICs3MDYsNyBAQCBpbnQgYTZ4eF9nbXVfcmVzdW1lKHN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9n cHUpCiAJcmV0ID0gYTZ4eF9oZmlfc3RhcnQoZ211LCBzdGF0dXMpOwogCiAJLyogU2V0IHRoZSBH UFUgdG8gdGhlIGhpZ2hlc3QgcG93ZXIgZnJlcXVlbmN5ICovCi0JYTZ4eF9nbXVfc2V0X2ZyZXEo Z211LCBnbXUtPm5yX2dwdV9mcmVxcyAtIDEpOworCV9fYTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBn bXUtPm5yX2dwdV9mcmVxcyAtIDEpOwogCiBvdXQ6CiAJLyogTWFrZSBzdXJlIHRvIHR1cm4gb2Zm IHRoZSBib290IE9PQiByZXF1ZXN0IG9uIGVycm9yICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8v YTZ4eF9nbXUuaAppbmRleCBmMzQ2MzBjLi4zNWY3NjVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2E2eHhfZ211LmgKQEAgLTc0LDYgKzc0LDggQEAgc3RydWN0IGE2eHhfZ211IHsKIAl1bnNp Z25lZCBsb25nIGdtdV9mcmVxc1s0XTsKIAl1MzIgY3hfYXJjX3ZvdGVzWzRdOwogCisJdW5zaWdu ZWQgbG9uZyBmcmVxOworCiAJc3RydWN0IGE2eHhfaGZpX3F1ZXVlIHF1ZXVlc1syXTsKIAogCXN0 cnVjdCB0YXNrbGV0X3N0cnVjdCBoZmlfdGFza2xldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h Nnh4X2dwdS5jCmluZGV4IDVmMzZiOGQuLmU0YWM5NWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTZ4eF9ncHUuYwpAQCAtNyw2ICs3LDggQEAKICNpbmNsdWRlICJhNnh4X2dwdS5oIgogI2lu Y2x1ZGUgImE2eHhfZ211LnhtbC5oIgogCisjaW5jbHVkZSA8bGludXgvZGV2ZnJlcS5oPgorCiBz dGF0aWMgaW5saW5lIGJvb2wgX2E2eHhfY2hlY2tfaWRsZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQog ewogCXN0cnVjdCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOwpA QCAtNjgyLDYgKzY4NCw4IEBAIHN0YXRpYyBpbnQgYTZ4eF9wbV9yZXN1bWUoc3RydWN0IG1zbV9n cHUgKmdwdSkKIAogCWdwdS0+bmVlZHNfaHdfaW5pdCA9IHRydWU7CiAKKwltc21fZ3B1X3Jlc3Vt ZV9kZXZmcmVxKGdwdSk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC02OTAsNiArNjk0LDggQEAg c3RhdGljIGludCBhNnh4X3BtX3N1c3BlbmQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlzdHJ1Y3Qg YWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVub19ncHUoZ3B1KTsKIAlzdHJ1Y3QgYTZ4 eF9ncHUgKmE2eHhfZ3B1ID0gdG9fYTZ4eF9ncHUoYWRyZW5vX2dwdSk7CiAKKwlkZXZmcmVxX3N1 c3BlbmRfZGV2aWNlKGdwdS0+ZGV2ZnJlcS5kZXZmcmVxKTsKKwogCS8qCiAJICogTWFrZSBzdXJl IHRoZSBHTVUgaXMgaWRsZSBiZWZvcmUgY29udGludWluZyAoYmVjYXVzZSBzb21lIHRyYW5zaXRp b25zCiAJICogbWF5IHVzZSBWQklGCkBAIC03NTMsNiArNzU5LDI0IEBAIHN0YXRpYyB2b2lkIGE2 eHhfZGVzdHJveShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCWtmcmVlKGE2eHhfZ3B1KTsKIH0KIAor c3RhdGljIHVuc2lnbmVkIGxvbmcgYTZ4eF9ncHVfYnVzeShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQor eworCXN0cnVjdCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOwor CXN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwl1 NjQgYnVzeV9jeWNsZXM7CisJdW5zaWduZWQgbG9uZyBidXN5X3RpbWU7CisKKwlidXN5X2N5Y2xl cyA9IGdtdV9yZWFkNjQoJmE2eHhfZ3B1LT5nbXUsCisJCQlSRUdfQTZYWF9HTVVfQ1hfR01VX1BP V0VSX0NPVU5URVJfWE9DTEtfMF9MLAorCQkJUkVHX0E2WFhfR01VX0NYX0dNVV9QT1dFUl9DT1VO VEVSX1hPQ0xLXzBfSCk7CisKKwlidXN5X3RpbWUgPSAoKGJ1c3lfY3ljbGVzIC0gZ3B1LT5kZXZm cmVxLmJ1c3lfY3ljbGVzKSAqIDEwKSAvIDE5MjsKKworCWdwdS0+ZGV2ZnJlcS5idXN5X2N5Y2xl cyA9IGJ1c3lfY3ljbGVzOworCisJcmV0dXJuIGJ1c3lfdGltZTsKK30KKwogc3RhdGljIGNvbnN0 IHN0cnVjdCBhZHJlbm9fZ3B1X2Z1bmNzIGZ1bmNzID0gewogCS5iYXNlID0gewogCQkuZ2V0X3Bh cmFtID0gYWRyZW5vX2dldF9wYXJhbSwKQEAgLTc2OCw2ICs3OTIsOSBAQCBzdGF0aWMgdm9pZCBh Nnh4X2Rlc3Ryb3koc3RydWN0IG1zbV9ncHUgKmdwdSkKICNpZiBkZWZpbmVkKENPTkZJR19ERUJV R19GUykgfHwgZGVmaW5lZChDT05GSUdfREVWX0NPUkVEVU1QKQogCQkuc2hvdyA9IGE2eHhfc2hv dywKICNlbmRpZgorCQkuZ3B1X2J1c3kgPSBhNnh4X2dwdV9idXN5LAorCQkuZ3B1X2dldF9mcmVx ID0gYTZ4eF9nbXVfZ2V0X2ZyZXEsCisJCS5ncHVfc2V0X2ZyZXEgPSBhNnh4X2dtdV9zZXRfZnJl cSwKIAl9LAogCS5nZXRfdGltZXN0YW1wID0gYTZ4eF9nZXRfdGltZXN0YW1wLAogfTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmggYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hNnh4X2dwdS5oCmluZGV4IGRkNjllNWIuLjQxMjdkY2UgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9ncHUuaApAQCAtNTYsNSArNTYsNiBAQCBzdHJ1Y3Qg YTZ4eF9ncHUgewogCiBpbnQgYTZ4eF9nbXVfcHJvYmUoc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dw dSwgc3RydWN0IGRldmljZV9ub2RlICpub2RlKTsKIHZvaWQgYTZ4eF9nbXVfcmVtb3ZlKHN0cnVj dCBhNnh4X2dwdSAqYTZ4eF9ncHUpOwotCit2b2lkIGE2eHhfZ211X3NldF9mcmVxKHN0cnVjdCBt c21fZ3B1ICpncHUsIHVuc2lnbmVkIGxvbmcgZnJlcSk7Cit1bnNpZ25lZCBsb25nIGE2eHhfZ211 X2dldF9mcmVxKHN0cnVjdCBtc21fZ3B1ICpncHUpOwogI2VuZGlmIC8qIF9fQTZYWF9HUFVfSF9f ICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRy ZW5vCg==