From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH v2 4/5] drm/msm: re-factor devfreq code Date: Mon, 27 Aug 2018 12:47:19 +0530 Message-ID: <1535354240-24805-5-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 VGhlIGRldmZyZXEgZnJhbWV3b3JrIHJlcXVpcmVzIHRoZSBkcml2ZXJzIHRvIHByb3ZpZGUgYnVz eSB0aW1lIGVzdGltYXRpb25zLgpUaGUgR1BVIGRyaXZlciByZWxpZXMgb24gdGhlIGhhcmR3YXJl IHBlcmZvcm1hbmNlIGNvdW50ZXJlcyBmb3IgdGhlIGJ1c3kgdGltZQplc3RpbWF0aW9ucywgYnV0 IGRpZmZlcmVudCBoYXJkd2FyZSByZXZpc2lvbnMgaGF2ZSBjb3VudGVycyB3aGljaCBjYW4gYmUK c291cmNlZCBmcm9tIGRpZmZlcmVudCBjbG9ja3MuIFNvIHRoZSBidXN5IHRpbWUgZXN0aW1hdGlv biB3aWxsIGJlIHRhcmdldApkZXBlbmRlbnQuICBBZGRpdGlvbmFsbHkgb24gdGFyZ2V0cyB3aGVy ZSB0aGUgY2xvY2tzIGFyZSBjb21wbGV0ZWx5IGNvbnRyb2xsZWQKYnkgdGhlIG9uIGNoaXAgbWlj cm9jb250cm9sbGVyLCBmZXRjaGluZyBhbmQgc2V0dGluZyB0aGUgY3VycmVudCBHUFUgZnJlcXVl bmN5CndpbGwgYmUgZGlmZmVyZW50LiBUaGlzIHBhdGNoIGFpbXMgdG8gZW1icmFjZSB0aGVzZSBk aWZmZXJlbmNlcyBieSByZS1mYWN0b3JpbmcKdGhlIGRldmZyZXEgY29kZSBhIGJpdC4KClNpZ25l ZC1vZmYtYnk6IFNoYXJhdCBNYXNldHR5IDxzbWFzZXR0eUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dwdS5jIHwgMTYgKysrKysrKysrLS0tCiBk cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuYyAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oICAgICAg ICAgfCAgNSArKystCiAzIGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDI2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dwdS5jCmluZGV4IDg5N2YzZTIu LjA0M2U2ODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuYwpAQCAtMTM2OSwx MiArMTM2OSwyMCBAQCBzdGF0aWMgc3RydWN0IG1zbV9yaW5nYnVmZmVyICphNXh4X2FjdGl2ZV9y aW5nKHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJcmV0dXJuIGE1eHhfZ3B1LT5jdXJfcmluZzsKIH0K IAotc3RhdGljIGludCBhNXh4X2dwdV9idXN5KHN0cnVjdCBtc21fZ3B1ICpncHUsIHVpbnQ2NF90 ICp2YWx1ZSkKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGE1eHhfZ3B1X2J1c3koc3RydWN0IG1zbV9n cHUgKmdwdSkKIHsKLQkqdmFsdWUgPSBncHVfcmVhZDY0KGdwdSwgUkVHX0E1WFhfUkJCTV9QRVJG Q1RSX1JCQk1fMF9MTywKLQkJUkVHX0E1WFhfUkJCTV9QRVJGQ1RSX1JCQk1fMF9ISSk7CisJdTY0 IGJ1c3lfY3ljbGVzOworCXVuc2lnbmVkIGxvbmcgYnVzeV90aW1lOwogCi0JcmV0dXJuIDA7CisJ YnVzeV9jeWNsZXMgPSBncHVfcmVhZDY0KGdwdSwgUkVHX0E1WFhfUkJCTV9QRVJGQ1RSX1JCQk1f MF9MTywKKwkJCVJFR19BNVhYX1JCQk1fUEVSRkNUUl9SQkJNXzBfSEkpOworCisJYnVzeV90aW1l ID0gKGJ1c3lfY3ljbGVzIC0gZ3B1LT5kZXZmcmVxLmJ1c3lfY3ljbGVzKSAvCisJCShjbGtfZ2V0 X3JhdGUoZ3B1LT5jb3JlX2NsaykgLyAxMDAwMDAwKTsKKworCWdwdS0+ZGV2ZnJlcS5idXN5X2N5 Y2xlcyA9IGJ1c3lfY3ljbGVzOworCisJcmV0dXJuIGJ1c3lfdGltZTsKIH0KIAogc3RhdGljIGNv bnN0IHN0cnVjdCBhZHJlbm9fZ3B1X2Z1bmNzIGZ1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuYwpp bmRleCA4ZDZiYzBjLi4yNmMxYzNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuYwpAQCAtMzYsMTIgKzM2 LDE2IEBAIHN0YXRpYyBpbnQgbXNtX2RldmZyZXFfdGFyZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwg dW5zaWduZWQgbG9uZyAqZnJlcSwKIAlzdHJ1Y3QgbXNtX2dwdSAqZ3B1ID0gcGxhdGZvcm1fZ2V0 X2RydmRhdGEodG9fcGxhdGZvcm1fZGV2aWNlKGRldikpOwogCXN0cnVjdCBkZXZfcG1fb3BwICpv cHA7CiAKLQlvcHAgPSBkZXZfcG1fb3BwX2ZpbmRfZnJlcV9jZWlsKGRldiwgZnJlcSk7CisJb3Bw ID0gZGV2ZnJlcV9yZWNvbW1lbmRlZF9vcHAoZGV2LCBmcmVxLCBmbGFncyk7CisJaWYgKElTX0VS UihvcHApKQorCQlyZXR1cm4gUFRSX0VSUihvcHApOwogCi0JaWYgKCFJU19FUlIob3BwKSkgewor CWlmIChncHUtPmZ1bmNzLT5ncHVfc2V0X2ZyZXEpCisJCWdwdS0+ZnVuY3MtPmdwdV9zZXRfZnJl cShncHUsICh1NjQpKmZyZXEpOworCWVsc2UKIAkJY2xrX3NldF9yYXRlKGdwdS0+Y29yZV9jbGss ICpmcmVxKTsKLQkJZGV2X3BtX29wcF9wdXQob3BwKTsKLQl9CisKKwlkZXZfcG1fb3BwX3B1dChv cHApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC01MCwxNiArNTQsMTQgQEAgc3RhdGljIGludCBtc21f ZGV2ZnJlcV9nZXRfZGV2X3N0YXR1cyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBkZXZm cmVxX2Rldl9zdGF0dXMgKnN0YXR1cykKIHsKIAlzdHJ1Y3QgbXNtX2dwdSAqZ3B1ID0gcGxhdGZv cm1fZ2V0X2RydmRhdGEodG9fcGxhdGZvcm1fZGV2aWNlKGRldikpOwotCXU2NCBjeWNsZXM7CiAJ a3RpbWVfdCB0aW1lOwogCi0Jc3RhdHVzLT5jdXJyZW50X2ZyZXF1ZW5jeSA9ICh1bnNpZ25lZCBs b25nKSBjbGtfZ2V0X3JhdGUoZ3B1LT5jb3JlX2Nsayk7Ci0JZ3B1LT5mdW5jcy0+Z3B1X2J1c3ko Z3B1LCAmY3ljbGVzKTsKLQotCXN0YXR1cy0+YnVzeV90aW1lID0gKGN5Y2xlcyAtIGdwdS0+ZGV2 ZnJlcS5idXN5X2N5Y2xlcykgLwotCQkoc3RhdHVzLT5jdXJyZW50X2ZyZXF1ZW5jeSAvIDEwMDAw MDApOworCWlmIChncHUtPmZ1bmNzLT5ncHVfZ2V0X2ZyZXEpCisJCXN0YXR1cy0+Y3VycmVudF9m cmVxdWVuY3kgPSBncHUtPmZ1bmNzLT5ncHVfZ2V0X2ZyZXEoZ3B1KTsKKwllbHNlCisJCXN0YXR1 cy0+Y3VycmVudF9mcmVxdWVuY3kgPSBjbGtfZ2V0X3JhdGUoZ3B1LT5jb3JlX2Nsayk7CiAKLQln cHUtPmRldmZyZXEuYnVzeV9jeWNsZXMgPSBjeWNsZXM7CisJc3RhdHVzLT5idXN5X3RpbWUgPSBn cHUtPmZ1bmNzLT5ncHVfYnVzeShncHUpOwogCiAJdGltZSA9IGt0aW1lX2dldCgpOwogCXN0YXR1 cy0+dG90YWxfdGltZSA9IGt0aW1lX3VzX2RlbHRhKHRpbWUsIGdwdS0+ZGV2ZnJlcS50aW1lKTsK QEAgLTcyLDcgKzc0LDEwIEBAIHN0YXRpYyBpbnQgbXNtX2RldmZyZXFfZ2V0X2N1cl9mcmVxKHN0 cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyAqZnJlcSkKIHsKIAlzdHJ1Y3QgbXNtX2dw dSAqZ3B1ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEodG9fcGxhdGZvcm1fZGV2aWNlKGRldikpOwog Ci0JKmZyZXEgPSAodW5zaWduZWQgbG9uZykgY2xrX2dldF9yYXRlKGdwdS0+Y29yZV9jbGspOwor CWlmIChncHUtPmZ1bmNzLT5ncHVfZ2V0X2ZyZXEpCisJCSpmcmVxID0gZ3B1LT5mdW5jcy0+Z3B1 X2dldF9mcmVxKGdwdSk7CisJZWxzZQorCQkqZnJlcSA9IGNsa19nZXRfcmF0ZShncHUtPmNvcmVf Y2xrKTsKIAogCXJldHVybiAwOwogfQpAQCAtODcsNyArOTIsNyBAQCBzdGF0aWMgaW50IG1zbV9k ZXZmcmVxX2dldF9jdXJfZnJlcShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgKmZy ZXEpCiBzdGF0aWMgdm9pZCBtc21fZGV2ZnJlcV9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCiB7 CiAJLyogV2UgbmVlZCB0YXJnZXQgc3VwcG9ydCB0byBkbyBkZXZmcmVxICovCi0JaWYgKCFncHUt PmZ1bmNzLT5ncHVfYnVzeSB8fCAhZ3B1LT5jb3JlX2NsaykKKwlpZiAoIWdwdS0+ZnVuY3MtPmdw dV9idXN5KQogCQlyZXR1cm47CiAKIAltc21fZGV2ZnJlcV9wcm9maWxlLmluaXRpYWxfZnJlcSA9 IGdwdS0+ZmFzdF9yYXRlOwpAQCAtMTg1LDYgKzE5MCwxNCBAQCBzdGF0aWMgaW50IGRpc2FibGVf YXhpKHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJcmV0dXJuIDA7CiB9CiAKK3ZvaWQgbXNtX2dwdV9y ZXN1bWVfZGV2ZnJlcShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQoreworCWdwdS0+ZGV2ZnJlcS5idXN5 X2N5Y2xlcyA9IDA7CisJZ3B1LT5kZXZmcmVxLnRpbWUgPSBrdGltZV9nZXQoKTsKKworCWRldmZy ZXFfcmVzdW1lX2RldmljZShncHUtPmRldmZyZXEuZGV2ZnJlcSk7Cit9CisKIGludCBtc21fZ3B1 X3BtX3Jlc3VtZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogewogCWludCByZXQ7CkBAIC0yMDMsMTIg KzIxNiw3IEBAIGludCBtc21fZ3B1X3BtX3Jlc3VtZShzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlpZiAoZ3B1LT5kZXZmcmVxLmRldmZyZXEpIHsKLQkJ Z3B1LT5kZXZmcmVxLmJ1c3lfY3ljbGVzID0gMDsKLQkJZ3B1LT5kZXZmcmVxLnRpbWUgPSBrdGlt ZV9nZXQoKTsKLQotCQlkZXZmcmVxX3Jlc3VtZV9kZXZpY2UoZ3B1LT5kZXZmcmVxLmRldmZyZXEp OwotCX0KKwltc21fZ3B1X3Jlc3VtZV9kZXZmcmVxKGdwdSk7CiAKIAlncHUtPm5lZWRzX2h3X2lu aXQgPSB0cnVlOwogCkBAIC0yMjEsOCArMjI5LDcgQEAgaW50IG1zbV9ncHVfcG1fc3VzcGVuZChz dHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCiAJREJHKCIlcyIsIGdwdS0+bmFtZSk7CiAKLQlpZiAoZ3B1 LT5kZXZmcmVxLmRldmZyZXEpCi0JCWRldmZyZXFfc3VzcGVuZF9kZXZpY2UoZ3B1LT5kZXZmcmVx LmRldmZyZXEpOworCWRldmZyZXFfc3VzcGVuZF9kZXZpY2UoZ3B1LT5kZXZmcmVxLmRldmZyZXEp OwogCiAJcmV0ID0gZGlzYWJsZV9heGkoZ3B1KTsKIAlpZiAocmV0KQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUu aAppbmRleCAyYWUzNGUzLi4yNDQ2MDY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9ncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuaApAQCAtNjgsOSAr NjgsMTEgQEAgc3RydWN0IG1zbV9ncHVfZnVuY3MgewogCXZvaWQgKCpzaG93KShzdHJ1Y3QgbXNt X2dwdSAqZ3B1LCBzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSAqc3RhdGUsCiAJCQlzdHJ1Y3QgZHJtX3By aW50ZXIgKnApOwogI2VuZGlmCi0JaW50ICgqZ3B1X2J1c3kpKHN0cnVjdCBtc21fZ3B1ICpncHUs IHVpbnQ2NF90ICp2YWx1ZSk7CisJdW5zaWduZWQgbG9uZyAoKmdwdV9idXN5KShzdHJ1Y3QgbXNt X2dwdSAqZ3B1KTsKIAlzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSAqKCpncHVfc3RhdGVfZ2V0KShzdHJ1 Y3QgbXNtX2dwdSAqZ3B1KTsKIAlpbnQgKCpncHVfc3RhdGVfcHV0KShzdHJ1Y3QgbXNtX2dwdV9z dGF0ZSAqc3RhdGUpOworCXVuc2lnbmVkIGxvbmcgKCpncHVfZ2V0X2ZyZXEpKHN0cnVjdCBtc21f Z3B1ICpncHUpOworCWludCAoKmdwdV9zZXRfZnJlcSkoc3RydWN0IG1zbV9ncHUgKmdwdSwgdW5z aWduZWQgbG9uZyBmcmVxKTsKIH07CiAKIHN0cnVjdCBtc21fZ3B1IHsKQEAgLTI2Miw2ICsyNjQs NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ3B1X3dyaXRlNjQoc3RydWN0IG1zbV9ncHUgKmdwdSwg dTMyIGxvLCB1MzIgaGksIHU2NCB2YWwpCiAKIGludCBtc21fZ3B1X3BtX3N1c3BlbmQoc3RydWN0 IG1zbV9ncHUgKmdwdSk7CiBpbnQgbXNtX2dwdV9wbV9yZXN1bWUoc3RydWN0IG1zbV9ncHUgKmdw dSk7Cit2b2lkIG1zbV9ncHVfcmVzdW1lX2RldmZyZXEoc3RydWN0IG1zbV9ncHUgKmdwdSk7CiAK IGludCBtc21fZ3B1X2h3X2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSk7CiAKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8g bWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K