If the OPP bandwidth values are populated, we want to switch also the interconnect bandwidth in addition to frequency and voltage. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> --- drivers/opp/core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 4b019cecaa07..99e7c4cf6c34 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -781,6 +781,10 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq) ret = _generic_set_opp_clk_only(dev, clk, old_freq, freq); } + if (!ret && !IS_ERR_OR_NULL(opp_table->path) && opp->bandwidth) + icc_set_bw(opp_table->path, opp->bandwidth->avg, + opp->bandwidth->peak); + /* Scaling down? Configure required OPPs after frequency */ if (!ret && freq < old_freq) { ret = _set_required_opps(dev, opp_table, opp);