Message ID | 20240317103918.44375-2-arnaud.minier@telecom-paris.fr |
---|---|
State | New |
Headers | show |
Series | hw/char: Implement the STM32L4x5 USART, UART and LPUART | expand |
diff --git a/hw/misc/stm32l4x5_rcc.c b/hw/misc/stm32l4x5_rcc.c index bc2d63528b..4725ba4f1c 100644 --- a/hw/misc/stm32l4x5_rcc.c +++ b/hw/misc/stm32l4x5_rcc.c @@ -59,7 +59,12 @@ static void clock_mux_update(RccClockMuxState *mux, bool bypass_source) freq_multiplier = mux->divider; } - clock_set_mul_div(mux->out, freq_multiplier, mux->multiplier); + if ((mux->out->multiplier != freq_multiplier) || + mux->out->divider != mux->multiplier) { + clock_set_mul_div(mux->out, freq_multiplier, mux->multiplier); + clock_propagate(mux->out); + } + clock_update(mux->out, clock_get(current_source)); src_freq = clock_get_hz(current_source);