summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-15 03:51:17 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-15 03:51:16 -0700
commitfee8893548b535070adc8082095c368836e24a24 (patch)
tree62b999e94d9b8ddb97a51e279fa8950f42e8d5ff
parentfc2f0e6d95f8e8e7d9832287cec8b3dce381adcc (diff)
parent1098fcc4b99666e85dcb041b633cac0b240b3b84 (diff)
Merge "clk: Move vdd voting before set rate and parent"
-rw-r--r--drivers/clk/clk.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 4996f4f312f4..73d65813de8b 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1751,6 +1751,15 @@ static int clk_change_rate(struct clk_core *core)
else if (core->parent)
best_parent_rate = core->parent->rate;
+ trace_clk_set_rate(core, core->new_rate);
+
+ /* Enforce vdd requirements for new frequency. */
+ if (core->prepare_count) {
+ rc = clk_vote_rate_vdd(core, core->new_rate);
+ if (rc)
+ goto out;
+ }
+
if (core->new_parent && core->new_parent != core->parent) {
old_parent = __clk_set_parent_before(core, core->new_parent);
trace_clk_set_parent(core, core->new_parent);
@@ -1768,15 +1777,6 @@ static int clk_change_rate(struct clk_core *core)
__clk_set_parent_after(core, core->new_parent, old_parent);
}
- trace_clk_set_rate(core, core->new_rate);
-
- /* Enforce vdd requirements for new frequency. */
- if (core->prepare_count) {
- rc = clk_vote_rate_vdd(core, core->new_rate);
- if (rc)
- goto out;
- }
-
if (!skip_set_rate && core->ops->set_rate) {
rc = core->ops->set_rate(core->hw, core->new_rate,
best_parent_rate);