clock: only update clock frequency if actually changing it

No need to set clock frequency if the new one is equal to the current
one.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2024-08-16 09:09:53 +02:00 committed by Kai Vehmanen
parent cada215ee5
commit 3db820d9d4
1 changed files with 6 additions and 4 deletions

View File

@ -62,13 +62,15 @@ void clock_set_freq(int clock, uint32_t hz)
idx = clock_get_nearest_freq_idx(clk_info->freqs, clk_info->freqs_num,
hz);
tr_info(&clock_tr, "clock %d set freq %dHz freq_idx %d",
clock, hz, idx);
if (clk_info->current_freq_idx != idx &&
(!clk_info->set_freq ||
clk_info->set_freq(clock, idx) == 0)) {
tr_info(&clock_tr, "clock %d set freq %dHz freq_idx %d old %d",
clock, hz, idx, clk_info->current_freq_idx);
if (!clk_info->set_freq ||
clk_info->set_freq(clock, idx) == 0)
/* update clock frequency */
clk_info->current_freq_idx = idx;
}
clock_unlock(key);
}