From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajendra Nayak Subject: [RFC v2 10/11] drm/msm: dsi: Use OPP API to set clk/perf state Date: Wed, 20 Mar 2019 15:19:17 +0530 Message-ID: <20190320094918.20234-11-rnayak@codeaurora.org> References: <20190320094918.20234-1-rnayak@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190320094918.20234-1-rnayak@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: ulf.hansson@linaro.org, Rajendra Nayak , linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, rafael@kernel.org, dianders@chromium.org, dri-devel@lists.freedesktop.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, viresh.kumar@linaro.org, swboyd@chromium.org List-Id: linux-pm@vger.kernel.org T24gU0RNODQ1IERTSSBuZWVkcyB0byBleHByZXNzIGEgcGVyZm9yYW1uY2Ugc3RhdGUKcmVxdWly ZW1lbnQgb24gYSBwb3dlciBkb21haW4gZGVwZW5kaW5nIG9uIHRoZSBjbG9jayByYXRlcy4KVXNl IE9QUCB0YWJsZSBmcm9tIERUIHRvIHJlZ2lzdGVyIHdpdGggT1BQIGZyYW1ld29yayBhbmQgdXNl CmRldl9wbV9vcHBfc2V0X3JhdGUoKSB0byBzZXQgdGhlIGNsay9wZXJmIHN0YXRlLgoKU2lnbmVk LW9mZi1ieTogUmFqZW5kcmEgTmF5YWsgPHJuYXlha0Bjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaCAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL21z bS9kc2kvZHNpX2NmZy5jICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9z dC5jIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQs IDg0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZHNpL2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKaW5k ZXggOWM2YjMxYzJkNzlmLi5iNDM5OGE3OTgzNzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5oCkBAIC0x ODgsOCArMTg4LDEwIEBAIGludCBtc21fZHNpX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNl ICpkZXYpOwogaW50IG1zbV9kc2lfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KTsK IGludCBkc2lfbGlua19jbGtfZW5hYmxlXzZnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0 KTsKIGludCBkc2lfbGlua19jbGtfZW5hYmxlX3YyKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9o b3N0KTsKK2ludCBkc2lfbGlua19jbGtfZW5hYmxlXzZnX3YyKHN0cnVjdCBtc21fZHNpX2hvc3Qg Km1zbV9ob3N0KTsKIHZvaWQgZHNpX2xpbmtfY2xrX2Rpc2FibGVfNmcoc3RydWN0IG1zbV9kc2lf aG9zdCAqbXNtX2hvc3QpOwogdm9pZCBkc2lfbGlua19jbGtfZGlzYWJsZV92MihzdHJ1Y3QgbXNt X2RzaV9ob3N0ICptc21faG9zdCk7Cit2b2lkIGRzaV9saW5rX2Nsa19kaXNhYmxlXzZnX3YyKHN0 cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KTsKIGludCBkc2lfdHhfYnVmX2FsbG9jXzZnKHN0 cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0LCBpbnQgc2l6ZSk7CiBpbnQgZHNpX3R4X2J1Zl9h bGxvY192MihzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCwgaW50IHNpemUpOwogdm9pZCAq ZHNpX3R4X2J1Zl9nZXRfNmcoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2NmZy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kc2kvZHNpX2NmZy5jCmluZGV4IGRjZGZiMWJiNTRmOS4uYzE4NTMyZjkyZTRhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfY2ZnLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvZHNpX2NmZy5jCkBAIC0xNTksOCArMTU5LDggQEAgY29uc3Qgc3RhdGlj IHN0cnVjdCBtc21fZHNpX2hvc3RfY2ZnX29wcyBtc21fZHNpXzZnX2hvc3Rfb3BzID0gewogfTsK IAogY29uc3Qgc3RhdGljIHN0cnVjdCBtc21fZHNpX2hvc3RfY2ZnX29wcyBtc21fZHNpXzZnX3Yy X2hvc3Rfb3BzID0gewotCS5saW5rX2Nsa19lbmFibGUgPSBkc2lfbGlua19jbGtfZW5hYmxlXzZn LAotCS5saW5rX2Nsa19kaXNhYmxlID0gZHNpX2xpbmtfY2xrX2Rpc2FibGVfNmcsCisJLmxpbmtf Y2xrX2VuYWJsZSA9IGRzaV9saW5rX2Nsa19lbmFibGVfNmdfdjIsCisJLmxpbmtfY2xrX2Rpc2Fi bGUgPSBkc2lfbGlua19jbGtfZGlzYWJsZV82Z192MiwKIAkuY2xrX2luaXRfdmVyID0gZHNpX2Ns a19pbml0XzZnX3YyLAogCS50eF9idWZfYWxsb2MgPSBkc2lfdHhfYnVmX2FsbG9jXzZnLAogCS50 eF9idWZfZ2V0ID0gZHNpX3R4X2J1Zl9nZXRfNmcsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS9kc2lfaG9zdC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3Qu YwppbmRleCA2MTAxODNkYjFkYWYuLjZlZDllNmEwNTIwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9k c2lfaG9zdC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvb2ZfZ3Bpby5oPgog I2luY2x1ZGUgPGxpbnV4L29mX2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3BpbmN0cmwvY29uc3Vt ZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9wbV9vcHAuaD4KICNpbmNsdWRlIDxsaW51eC9vZl9ncmFw aC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxp bnV4L3NwaW5sb2NrLmg+CkBAIC01MTEsNyArNTEyLDcgQEAgaW50IG1zbV9kc2lfcnVudGltZV9y ZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkc2lfYnVzX2Nsa19lbmFibGUobXNt X2hvc3QpOwogfQogCi1pbnQgZHNpX2xpbmtfY2xrX2VuYWJsZV82ZyhzdHJ1Y3QgbXNtX2RzaV9o b3N0ICptc21faG9zdCkKK3N0YXRpYyBpbnQgZHNpX2xpbmtfY2xrX3NldF9yYXRlXzZnKHN0cnVj dCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KQogewogCWludCByZXQ7CiAKQEAgLTUyMSwyOSArNTIy LDY1IEBAIGludCBkc2lfbGlua19jbGtfZW5hYmxlXzZnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1z bV9ob3N0KQogCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+Ynl0ZV9jbGssIG1zbV9ob3N0 LT5ieXRlX2Nsa19yYXRlKTsKIAlpZiAocmV0KSB7CiAJCXByX2VycigiJXM6IEZhaWxlZCB0byBz ZXQgcmF0ZSBieXRlIGNsaywgJWRcbiIsIF9fZnVuY19fLCByZXQpOwotCQlnb3RvIGVycm9yOwor CQlyZXR1cm4gcmV0OwogCX0KIAogCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+cGl4ZWxf Y2xrLCBtc21faG9zdC0+cGl4ZWxfY2xrX3JhdGUpOwogCWlmIChyZXQpIHsKIAkJcHJfZXJyKCIl czogRmFpbGVkIHRvIHNldCByYXRlIHBpeGVsIGNsaywgJWRcbiIsIF9fZnVuY19fLCByZXQpOwot CQlnb3RvIGVycm9yOworCQlyZXR1cm4gcmV0OwogCX0KIAogCWlmIChtc21faG9zdC0+Ynl0ZV9p bnRmX2NsaykgewogCQlyZXQgPSBjbGtfc2V0X3JhdGUobXNtX2hvc3QtPmJ5dGVfaW50Zl9jbGss CiAJCQkJICAgbXNtX2hvc3QtPmJ5dGVfY2xrX3JhdGUgLyAyKTsKLQkJaWYgKHJldCkgeworCQlp ZiAocmV0KQorCQkJcHJfZXJyKCIlczogRmFpbGVkIHRvIHNldCByYXRlIGJ5dGUgaW50ZiBjbGss ICVkXG4iLAorCQkJICAgICAgIF9fZnVuY19fLCByZXQpOworCX0KKworCXJldHVybiByZXQ7Cit9 CisKK3N0YXRpYyBpbnQgZHNpX2xpbmtfY2xrX3NldF9yYXRlXzZnX3YyKHN0cnVjdCBtc21fZHNp X2hvc3QgKm1zbV9ob3N0KQoreworCWludCByZXQ7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJm1z bV9ob3N0LT5wZGV2LT5kZXY7CisKKwlEQkcoIlNldCBjbGsgcmF0ZXM6IHBjbGs9JWQsIGJ5dGVj bGs9JWQiLAorCQltc21faG9zdC0+bW9kZS0+Y2xvY2ssIG1zbV9ob3N0LT5ieXRlX2Nsa19yYXRl KTsKKworCXJldCA9IGRldl9wbV9vcHBfc2V0X3JhdGUoZGV2LCBtc21faG9zdC0+Ynl0ZV9jbGtf cmF0ZSk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBkZXZfcG1fb3BwX3NldF9yYXRlIGZh aWxlZCAlZFxuIiwgX19mdW5jX18sIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0ID0g Y2xrX3NldF9yYXRlKG1zbV9ob3N0LT5waXhlbF9jbGssIG1zbV9ob3N0LT5waXhlbF9jbGtfcmF0 ZSk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gc2V0IHJhdGUgcGl4ZWwg Y2xrLCAlZFxuIiwgX19mdW5jX18sIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJaWYgKG1z bV9ob3N0LT5ieXRlX2ludGZfY2xrKSB7CisJCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+ Ynl0ZV9pbnRmX2NsaywKKwkJCQltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSAvIDIpOworCQlpZiAo cmV0KQogCQkJcHJfZXJyKCIlczogRmFpbGVkIHRvIHNldCByYXRlIGJ5dGUgaW50ZiBjbGssICVk XG4iLAogCQkJICAgICAgIF9fZnVuY19fLCByZXQpOwotCQkJZ290byBlcnJvcjsKLQkJfQogCX0K IAorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZHNpX2xpbmtfY2xrX3ByZXBhcmVfZW5h YmxlXzZnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KQoreworCWludCByZXQ7CisKIAly ZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUobXNtX2hvc3QtPmVzY19jbGspOwogCWlmIChyZXQpIHsK IAkJcHJfZXJyKCIlczogRmFpbGVkIHRvIGVuYWJsZSBkc2kgZXNjIGNsa1xuIiwgX19mdW5jX18p OwotCQlnb3RvIGVycm9yOworCQlyZXR1cm4gcmV0OwogCX0KIAogCXJldCA9IGNsa19wcmVwYXJl X2VuYWJsZShtc21faG9zdC0+Ynl0ZV9jbGspOwpAQCAtNTc1LDEwICs2MTIsMzEgQEAgaW50IGRz aV9saW5rX2Nsa19lbmFibGVfNmcoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9ob3N0LT5ieXRlX2Nsayk7CiBieXRlX2Nsa19lcnI6CiAJ Y2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9ob3N0LT5lc2NfY2xrKTsKLWVycm9yOgogCXJldHVy biByZXQ7CiB9CiAKK2ludCBkc2lfbGlua19jbGtfZW5hYmxlXzZnKHN0cnVjdCBtc21fZHNpX2hv c3QgKm1zbV9ob3N0KQoreworCWludCByZXQ7CisKKwlyZXQgPSBkc2lfbGlua19jbGtfc2V0X3Jh dGVfNmcobXNtX2hvc3QpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gZHNp X2xpbmtfY2xrX3ByZXBhcmVfZW5hYmxlXzZnKG1zbV9ob3N0KTsKK30KKworaW50IGRzaV9saW5r X2Nsa19lbmFibGVfNmdfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCit7CisJaW50 IHJldDsKKworCXJldCA9IGRzaV9saW5rX2Nsa19zZXRfcmF0ZV82Z192Mihtc21faG9zdCk7CisJ aWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBkc2lfbGlua19jbGtfcHJlcGFyZV9l bmFibGVfNmcobXNtX2hvc3QpOworfQorCiBpbnQgZHNpX2xpbmtfY2xrX2VuYWJsZV92MihzdHJ1 Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKIHsKIAlpbnQgcmV0OwpAQCAtNjU2LDYgKzcxNCwx MyBAQCB2b2lkIGRzaV9saW5rX2Nsa19kaXNhYmxlXzZnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1z bV9ob3N0KQogCWNsa19kaXNhYmxlX3VucHJlcGFyZShtc21faG9zdC0+Ynl0ZV9jbGspOwogfQog Cit2b2lkIGRzaV9saW5rX2Nsa19kaXNhYmxlXzZnX3YyKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1z bV9ob3N0KQoreworCS8qIERyb3AgdGhlIHBlcmZvcm1hbmNlIHN0YXRlIHZvdGUgKi8KKwlkZXZf cG1fb3BwX3NldF9yYXRlKCZtc21faG9zdC0+cGRldi0+ZGV2LCAwKTsKKwlkc2lfbGlua19jbGtf ZGlzYWJsZV82Zyhtc21faG9zdCk7Cit9CisKIHZvaWQgZHNpX2xpbmtfY2xrX2Rpc2FibGVfdjIo c3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiB7CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJl KG1zbV9ob3N0LT5waXhlbF9jbGspOwpAQCAtMTg2NCw2ICsxOTI5LDEyIEBAIGludCBtc21fZHNp X2hvc3RfaW5pdChzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSkKIAkJZ290byBmYWlsOwogCX0KIAor CWRldl9wbV9vcHBfc2V0X2Nsa25hbWUoJnBkZXYtPmRldiwgImJ5dGUiKTsKKworCXJldCA9IGRl dl9wbV9vcHBfb2ZfYWRkX3RhYmxlKCZwZGV2LT5kZXYpOworCWlmIChyZXQgPCAwKQorCQlkZXZf ZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdCBPUFAgdGFibGU6ICVkXG4iLCByZXQpOwor CiAJbXNtX2hvc3QtPnJ4X2J1ZiA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBTWl80SywgR0ZQ X0tFUk5FTCk7CiAJaWYgKCFtc21faG9zdC0+cnhfYnVmKSB7CiAJCXJldCA9IC1FTk9NRU07CkBA IC0xODk2LDYgKzE5NjcsNyBAQCB2b2lkIG1zbV9kc2lfaG9zdF9kZXN0cm95KHN0cnVjdCBtaXBp X2RzaV9ob3N0ICpob3N0KQogCXN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0ID0gdG9fbXNt X2RzaV9ob3N0KGhvc3QpOwogCiAJREJHKCIiKTsKKwlkZXZfcG1fb3BwX29mX3JlbW92ZV90YWJs ZSgmbXNtX2hvc3QtPnBkZXYtPmRldik7CiAJZHNpX3R4X2J1Zl9mcmVlKG1zbV9ob3N0KTsKIAlp ZiAobXNtX2hvc3QtPndvcmtxdWV1ZSkgewogCQlmbHVzaF93b3JrcXVldWUobXNtX2hvc3QtPndv cmtxdWV1ZSk7Ci0tIApRVUFMQ09NTSBJTkRJQSwgb24gYmVoYWxmIG9mIFF1YWxjb21tIElubm92 YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyCm9mIENvZGUgQXVyb3JhIEZvcnVtLCBob3N0 ZWQgYnkgVGhlIExpbnV4IEZvdW5kYXRpb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==