From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH 5/5] drm/msm/A6x: Add devfreq support in A6x Date: Thu, 23 Aug 2018 14:48:31 +0530 Message-ID: <1535015911-2040-6-git-send-email-smasetty@codeaurora.org> References: <1535015911-2040-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: <1535015911-2040-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 T09CKSByZXF1ZXN0LgoKU2lnbmVkLW9mZi1ieTogU2hhcmF0IE1hc2V0dHkgPHNtYXNldHR5QGNv ZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ211LmMg fCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJt L21zbS9hZHJlbm8vYTZ4eF9nbXUuaCB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVu by9hNnh4X2dwdS5jIHwgMjcgKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2E2eHhfZ3B1LmggfCAgMiArKwogNCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ211LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5j CmluZGV4IGY2NjM0YzAuLjkyZmY0OGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ211LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9n bXUuYwpAQCAtNjcsOCArNjcsMTAgQEAgc3RhdGljIGJvb2wgYTZ4eF9nbXVfZ3hfaXNfb24oc3Ry dWN0IGE2eHhfZ211ICpnbXUpCiAJCUE2WFhfR01VX1NQVFBSQUNfUFdSX0NMS19TVEFUVVNfR1hf SE1fQ0xLX09GRikpOwogfQogCi1zdGF0aWMgaW50IGE2eHhfZ211X3NldF9mcmVxKHN0cnVjdCBh Nnh4X2dtdSAqZ211LCBpbnQgaW5kZXgpCitzdGF0aWMgaW50IF9fYTZ4eF9nbXVfc2V0X2ZyZXEo c3RydWN0IGE2eHhfZ211ICpnbXUsIGludCBpbmRleCkKIHsKKwlpbnQgcmV0OworCiAJZ211X3dy aXRlKGdtdSwgUkVHX0E2WFhfR01VX0RDVlNfQUNLX09QVElPTiwgMCk7CiAKIAlnbXVfd3JpdGUo Z211LCBSRUdfQTZYWF9HTVVfRENWU19QRVJGX1NFVFRJTkcsCkBAIC04NCw3ICs4Niw0MSBAQCBz dGF0aWMgaW50IGE2eHhfZ211X3NldF9mcmVxKHN0cnVjdCBhNnh4X2dtdSAqZ211LCBpbnQgaW5k ZXgpCiAJYTZ4eF9nbXVfc2V0X29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQpOwogCWE2eHhfZ211 X2NsZWFyX29vYihnbXUsIEdNVV9PT0JfRENWU19TRVQpOwogCi0JcmV0dXJuIGdtdV9yZWFkKGdt dSwgUkVHX0E2WFhfR01VX0RDVlNfUkVUVVJOKTsKKwlyZXQgPSBnbXVfcmVhZChnbXUsIFJFR19B NlhYX0dNVV9EQ1ZTX1JFVFVSTik7CisJaWYgKCFyZXQpCisJCWdtdS0+Y3VyX2ZyZXEgPSBnbXUt PmdwdV9mcmVxc1tpbmRleF07CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgYTZ4eF9nbXVfc2V0 X2ZyZXEoc3RydWN0IG1zbV9ncHUgKmdwdSwgdW5zaWduZWQgbG9uZyBmcmVxKQoreworCXN0cnVj dCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVjdCBh Nnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwlzdHJ1Y3QgYTZ4 eF9nbXUgKmdtdSA9ICZhNnh4X2dwdS0+Z211OworCXUzMiBwZXJmX2luZGV4ID0gMDsKKworCWlm IChmcmVxID09IGdtdS0+Y3VyX2ZyZXEpCisJCXJldHVybiAwOworCisJLy9UT0RPOiBVc2UgYSBo YXNobWFwIGluc3RlYWQ/IFRoaXMgZ2V0cyBjYWxsZWQgcG90ZW50aWFsbHkgZXZlcnkgfjEwIG1z CisJZm9yIChwZXJmX2luZGV4ID0gMDsgcGVyZl9pbmRleCA8IGdtdS0+bnJfZ3B1X2ZyZXFzOyBw ZXJmX2luZGV4KyspCisJCWlmIChmcmVxID09IGdtdS0+Z3B1X2ZyZXFzW3BlcmZfaW5kZXhdKQor CQkJYnJlYWs7CisKKwlpZiAocGVyZl9pbmRleCA9PSBnbXUtPm5yX2dwdV9mcmVxcykKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gIF9fYTZ4eF9nbXVfc2V0X2ZyZXEoZ211LCBwZXJmX2lu ZGV4KTsKK30KKwordW5zaWduZWQgbG9uZyBhNnh4X2dtdV9nZXRfZnJlcShzdHJ1Y3QgbXNtX2dw dSAqZ3B1KQoreworCXN0cnVjdCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dw dShncHUpOworCXN0cnVjdCBhNnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9f Z3B1KTsKKwlzdHJ1Y3QgYTZ4eF9nbXUgKmdtdSA9ICZhNnh4X2dwdS0+Z211OworCisJcmV0dXJu ICBnbXUtPmN1cl9mcmVxOwogfQogCiBzdGF0aWMgYm9vbCBhNnh4X2dtdV9jaGVja19pZGxlX2xl dmVsKHN0cnVjdCBhNnh4X2dtdSAqZ211KQpAQCAtNjI5LDggKzY2NSw4IEBAIGludCBhNnh4X2dt dV9yZXNldChzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1KQogCWlmICghcmV0KQogCQlyZXQgPSBh Nnh4X2hmaV9zdGFydChnbXUsIEdNVV9DT0xEX0JPT1QpOwogCi0JLyogU2V0IHRoZSBHUFUgYmFj ayB0byB0aGUgaGlnaGVzdCBwb3dlciBmcmVxdWVuY3kgKi8KLQlhNnh4X2dtdV9zZXRfZnJlcShn bXUsIGdtdS0+bnJfZ3B1X2ZyZXFzIC0gMSk7CisJLyogU2F2ZSB0aGUgY3VycmVudCBmcmVxdWVu Y3kgZm9yIGRldmZyZXEgKi8KKwlnbXUtPmN1cl9mcmVxID0gZ211LT5ncHVfZnJlcXNbZ211LT5u cl9ncHVfZnJlcXMgLSAxXTsKIAogb3V0OgogCWlmIChyZXQpCkBAIC02NzEsNyArNzA3LDcgQEAg aW50IGE2eHhfZ211X3Jlc3VtZShzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1KQogCXJldCA9IGE2 eHhfaGZpX3N0YXJ0KGdtdSwgc3RhdHVzKTsKIAogCS8qIFNldCB0aGUgR1BVIHRvIHRoZSBoaWdo ZXN0IHBvd2VyIGZyZXF1ZW5jeSAqLwotCWE2eHhfZ211X3NldF9mcmVxKGdtdSwgZ211LT5ucl9n cHVfZnJlcXMgLSAxKTsKKwlfX2E2eHhfZ211X3NldF9mcmVxKGdtdSwgZ211LT5ucl9ncHVfZnJl cXMgLSAxKTsKIAogb3V0OgogCS8qIE1ha2Ugc3VyZSB0byB0dXJuIG9mZiB0aGUgYm9vdCBPT0Ig cmVxdWVzdCBvbiBlcnJvciAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTZ4eF9nbXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ211LmgKaW5k ZXggZjllNGRmZS4uY2U2ZTVjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTZ4eF9nbXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNnh4X2dtdS5o CkBAIC03Nyw2ICs3Nyw4IEBAIHN0cnVjdCBhNnh4X2dtdSB7CiAJdW5zaWduZWQgbG9uZyBnbXVf ZnJlcXNbNF07CiAJdTMyIGN4X2FyY192b3Rlc1s0XTsKIAorCXVuc2lnbmVkIGxvbmcgY3VyX2Zy ZXE7CisKIAlzdHJ1Y3QgYTZ4eF9oZmlfcXVldWUgcXVldWVzWzJdOwogCiAJc3RydWN0IHRhc2ts ZXRfc3RydWN0IGhmaV90YXNrbGV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9h ZHJlbm8vYTZ4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmMK aW5kZXggMzQyOWQzM2EuLmFmOTA3MDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v YWRyZW5vL2E2eHhfZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTZ4eF9n cHUuYwpAQCAtNyw2ICs3LDggQEAKICNpbmNsdWRlICJhNnh4X2dwdS5oIgogI2luY2x1ZGUgImE2 eHhfZ211LnhtbC5oIgogCisjaW5jbHVkZSA8bGludXgvZGV2ZnJlcS5oPgorCiBzdGF0aWMgaW5s aW5lIGJvb2wgX2E2eHhfY2hlY2tfaWRsZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogewogCXN0cnVj dCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOwpAQCAtNjgyLDYg KzY4NCw4IEBAIHN0YXRpYyBpbnQgYTZ4eF9wbV9yZXN1bWUoc3RydWN0IG1zbV9ncHUgKmdwdSkK IAogCWdwdS0+bmVlZHNfaHdfaW5pdCA9IHRydWU7CiAKKwltc21fZ3B1X3Jlc3VtZV9kZXZmcmVx KGdwdSk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC02OTAsNiArNjk0LDggQEAgc3RhdGljIGlu dCBhNnh4X3BtX3N1c3BlbmQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlzdHJ1Y3QgYWRyZW5vX2dw dSAqYWRyZW5vX2dwdSA9IHRvX2FkcmVub19ncHUoZ3B1KTsKIAlzdHJ1Y3QgYTZ4eF9ncHUgKmE2 eHhfZ3B1ID0gdG9fYTZ4eF9ncHUoYWRyZW5vX2dwdSk7CiAKKwlkZXZmcmVxX3N1c3BlbmRfZGV2 aWNlKGdwdS0+ZGV2ZnJlcS5kZXZmcmVxKTsKKwogCS8qCiAJICogTWFrZSBzdXJlIHRoZSBHTVUg aXMgaWRsZSBiZWZvcmUgY29udGludWluZyAoYmVjYXVzZSBzb21lIHRyYW5zaXRpb25zCiAJICog bWF5IHVzZSBWQklGCkBAIC03NTMsNiArNzU5LDI0IEBAIHN0YXRpYyB2b2lkIGE2eHhfZGVzdHJv eShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCWtmcmVlKGE2eHhfZ3B1KTsKIH0KIAorc3RhdGljIHVu c2lnbmVkIGxvbmcgYTZ4eF9ncHVfYnVzeShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQoreworCXN0cnVj dCBhZHJlbm9fZ3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOworCXN0cnVjdCBh Nnh4X2dwdSAqYTZ4eF9ncHUgPSB0b19hNnh4X2dwdShhZHJlbm9fZ3B1KTsKKwl1NjQgYnVzeV9j eWNsZXM7CisJdW5zaWduZWQgbG9uZyBidXN5X3RpbWU7CisKKwlidXN5X2N5Y2xlcyA9IGdtdV9y ZWFkNjQoJmE2eHhfZ3B1LT5nbXUsCisJCQlSRUdfQTZYWF9HTVVfQ1hfR01VX1BPV0VSX0NPVU5U RVJfWE9DTEtfMF9MLAorCQkJUkVHX0E2WFhfR01VX0NYX0dNVV9QT1dFUl9DT1VOVEVSX1hPQ0xL XzBfSCk7CisKKwlidXN5X3RpbWUgPSAoKGJ1c3lfY3ljbGVzIC0gZ3B1LT5kZXZmcmVxLmJ1c3lf Y3ljbGVzKSAqIDEwKSAvIDE5MjsKKworCWdwdS0+ZGV2ZnJlcS5idXN5X2N5Y2xlcyA9IGJ1c3lf Y3ljbGVzOworCisJcmV0dXJuIGJ1c3lfdGltZTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBh ZHJlbm9fZ3B1X2Z1bmNzIGZ1bmNzID0gewogCS5iYXNlID0gewogCQkuZ2V0X3BhcmFtID0gYWRy ZW5vX2dldF9wYXJhbSwKQEAgLTc2OCw2ICs3OTIsOSBAQCBzdGF0aWMgdm9pZCBhNnh4X2Rlc3Ry b3koc3RydWN0IG1zbV9ncHUgKmdwdSkKICNpZiBkZWZpbmVkKENPTkZJR19ERUJVR19GUykgfHwg ZGVmaW5lZChDT05GSUdfREVWX0NPUkVEVU1QKQogCQkuc2hvdyA9IGE2eHhfc2hvdywKICNlbmRp ZgorCQkuZ3B1X2J1c3kgPSBhNnh4X2dwdV9idXN5LAorCQkuZ3B1X2dldF9mcmVxID0gYTZ4eF9n bXVfZ2V0X2ZyZXEsCisJCS5ncHVfc2V0X2ZyZXEgPSBhNnh4X2dtdV9zZXRfZnJlcSwKIAl9LAog CS5nZXRfdGltZXN0YW1wID0gYTZ4eF9nZXRfdGltZXN0YW1wLAogfTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hNnh4X2dwdS5oCmluZGV4IDMyYzI1MDEuLmYyMzY3NjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E2eHhfZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9hZHJlbm8vYTZ4eF9ncHUuaApAQCAtNTYsNSArNTYsNyBAQCBzdHJ1Y3QgYTZ4eF9ncHUg ewogCiBpbnQgYTZ4eF9nbXVfcHJvYmUoc3RydWN0IGE2eHhfZ3B1ICphNnh4X2dwdSwgc3RydWN0 IGRldmljZV9ub2RlICpub2RlLCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpncHVfcGRldik7CiB2 b2lkIGE2eHhfZ211X3JlbW92ZShzdHJ1Y3QgYTZ4eF9ncHUgKmE2eHhfZ3B1KTsKK2ludCBhNnh4 X2dtdV9zZXRfZnJlcShzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCB1bnNpZ25lZCBsb25nIGZyZXEpOwor dW5zaWduZWQgbG9uZyBhNnh4X2dtdV9nZXRfZnJlcShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKIAog I2VuZGlmIC8qIF9fQTZYWF9HUFVfSF9fICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVl ZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==