1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-22 11:02:07 +02:00

clk: ti: clk-sci: Notify AVS driver based upon clock rate

AVS driver needs to be notified before or after clock change,
depending upon new rate is greater or less than current clock rate.

Fixes: 1e0aa873bc7cd ("clk: clk-ti-sci: Notify AVS driver upon setting clock rate")

Cc: Keerthy <j-keerthy@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
This commit is contained in:
Udit Kumar
2023-09-21 22:33:43 +05:30
committed by Tom Rini
parent 891180923e
commit d55249e153

View File

@@ -91,12 +91,12 @@ static ulong ti_sci_clk_set_rate(struct clk *clk, ulong rate)
const struct ti_sci_handle *sci = data->sci;
const struct ti_sci_clk_ops *cops = &sci->ops.clk_ops;
int ret;
int freq_scale_up = rate >= ti_sci_clk_get_rate(clk) ? 1 : 0;
debug("%s(clk=%p, rate=%lu)\n", __func__, clk, rate);
#ifdef CONFIG_K3_AVS0
k3_avs_notify_freq(clk->id, clk->data, rate);
#endif
if (IS_ENABLED(CONFIG_K3_AVS0) && freq_scale_up)
k3_avs_notify_freq(clk->id, clk->data, rate);
ret = cops->set_freq(sci, clk->id, clk->data, 0, rate, ULONG_MAX);
if (ret) {
@@ -104,6 +104,9 @@ static ulong ti_sci_clk_set_rate(struct clk *clk, ulong rate)
return ret;
}
if (IS_ENABLED(CONFIG_K3_AVS0) && !freq_scale_up)
k3_avs_notify_freq(clk->id, clk->data, rate);
return rate;
}