From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajendra Nayak Subject: [RFC v2 04/11] spi: spi-geni-qcom: Use OPP API to set clk/perf state Date: Wed, 20 Mar 2019 15:19:11 +0530 Message-ID: <20190320094918.20234-5-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-arm-msm@vger.kernel.org Z2VuaSBzcGkgbmVlZHMgdG8gZXhwcmVzcyBhIHBlcmZvcmFtbmNlIHN0YXRlIHJlcXVpcmVtZW50 IG9uIENYCmRlcGVuZGluZyBvbiB0aGUgZnJlcXVlbmN5IG9mIHRoZSBjbG9jayByYXRlcy4gVXNl IE9QUCB0YWJsZSBmcm9tCkRUIHRvIHJlZ2lzdGVyIHdpdGggT1BQIGZyYW1ld29yayBhbmQgdXNl IGRldl9wbV9vcHBfc2V0X3JhdGUoKSB0bwpzZXQgdGhlIGNsay9wZXJmIHN0YXRlLgoKU2lnbmVk LW9mZi1ieTogUmFqZW5kcmEgTmF5YWsgPHJuYXlha0Bjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9m Zi1ieTogU3RlcGhlbiBCb3lkIDxzd2JveWRAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvc3Bp L3NwaS1nZW5pLXFjb20uYyB8IDE0ICsrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9z cGktZ2VuaS1xY29tLmMgYi9kcml2ZXJzL3NwaS9zcGktZ2VuaS1xY29tLmMKaW5kZXggNWYwYjBk NWJmZWY0Li5jMjUxZTZkZjFiYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3BpL3NwaS1nZW5pLXFj b20uYworKysgYi9kcml2ZXJzL3NwaS9zcGktZ2VuaS1xY29tLmMKQEAgLTgsNiArOCw3IEBACiAj aW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvb2YuaD4KICNpbmNsdWRl IDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wbV9vcHAuaD4KICNp bmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvcWNvbS1nZW5pLXNl Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgpAQCAtOTYsNyArOTcsNiBAQCBzdGF0aWMg aW50IGdldF9zcGlfY2xrX2NmZyh1bnNpZ25lZCBpbnQgc3BlZWRfaHosCiB7CiAJdW5zaWduZWQg bG9uZyBzY2xrX2ZyZXE7CiAJdW5zaWduZWQgaW50IGFjdHVhbF9oejsKLQlzdHJ1Y3QgZ2VuaV9z ZSAqc2UgPSAmbWFzLT5zZTsKIAlpbnQgcmV0OwogCiAJcmV0ID0gZ2VuaV9zZV9jbGtfZnJlcV9t YXRjaCgmbWFzLT5zZSwKQEAgLTExMyw5ICsxMTMsOSBAQCBzdGF0aWMgaW50IGdldF9zcGlfY2xr X2NmZyh1bnNpZ25lZCBpbnQgc3BlZWRfaHosCiAKIAlkZXZfZGJnKG1hcy0+ZGV2LCAicmVxICV1 PT4ldSBzY2xrICVsdSwgaWR4ICVkLCBkaXYgJWRcbiIsIHNwZWVkX2h6LAogCQkJCWFjdHVhbF9o eiwgc2Nsa19mcmVxLCAqY2xrX2lkeCwgKmNsa19kaXYpOwotCXJldCA9IGNsa19zZXRfcmF0ZShz ZS0+Y2xrLCBzY2xrX2ZyZXEpOworCXJldCA9IGRldl9wbV9vcHBfc2V0X3JhdGUobWFzLT5kZXYs IHNjbGtfZnJlcSk7CiAJaWYgKHJldCkKLQkJZGV2X2VycihtYXMtPmRldiwgImNsa19zZXRfcmF0 ZSBmYWlsZWQgJWRcbiIsIHJldCk7CisJCWRldl9lcnIobWFzLT5kZXYsICJkZXZfcG1fb3BwX3Nl dF9yYXRlIGZhaWxlZCAlZFxuIiwgcmV0KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC01NjAsNiAr NTYwLDEyIEBAIHN0YXRpYyBpbnQgc3BpX2dlbmlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlpZiAoIXNwaSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlyZXQgPSBkZXZfcG1f b3BwX29mX2FkZF90YWJsZSgmcGRldi0+ZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJy KCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdCBPUFAgdGFibGU6ICVkXG4iLCByZXQpOworCQly ZXR1cm4gcmV0OworCX0KKwogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHNwaSk7CiAJbWFz ID0gc3BpX21hc3Rlcl9nZXRfZGV2ZGF0YShzcGkpOwogCW1hcy0+aXJxID0gaXJxOwpAQCAtNjI1 LDYgKzYzMSw4IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgc3BpX2dlbmlfcnVudGltZV9z dXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlzdHJ1Y3Qgc3BpX21hc3RlciAqc3BpID0gZGV2 X2dldF9kcnZkYXRhKGRldik7CiAJc3RydWN0IHNwaV9nZW5pX21hc3RlciAqbWFzID0gc3BpX21h c3Rlcl9nZXRfZGV2ZGF0YShzcGkpOwogCisJLyogRHJvcCB0aGUgcGVyZm9ybWFuY2Ugc3RhdGUg dm90ZSAqLworCWRldl9wbV9vcHBfc2V0X3JhdGUoZGV2LCAwKTsKIAlyZXR1cm4gZ2VuaV9zZV9y ZXNvdXJjZXNfb2ZmKCZtYXMtPnNlKTsKIH0KIAotLSAKUVVBTENPTU0gSU5ESUEsIG9uIGJlaGFs ZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlcgpvZiBDb2Rl IEF1cm9yYSBGb3J1bSwgaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=