[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/7] hw/misc/stm32l4x5_rcc: Propagate period when enabling a cloc
From: |
Arnaud Minier |
Subject: |
[PATCH 1/7] hw/misc/stm32l4x5_rcc: Propagate period when enabling a clock |
Date: |
Sun, 17 Mar 2024 11:39:12 +0100 |
The "clock_set_mul_div" function doesn't propagate the clock period to
the children if it is changed (e.g. by enabling/disabling
a clock multiplexer).
This was overlooked during the implementation due to late changes.
This commit propagates the change if the multiplier or divider changes.
The usart tests will ensure that this behavior will not regress.
Signed-off-by: Arnaud Minier <arnaud.minier@telecom-paris.fr>
Signed-off-by: Inès Varhol <ines.varhol@telecom-paris.fr>
---
hw/misc/stm32l4x5_rcc.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
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);
--
2.34.1
- [PATCH 0/7] hw/char: Implement the STM32L4x5 USART, UART and LPUART, Arnaud Minier, 2024/03/17
- [PATCH 2/7] hw/char: Implement STM32L4x5 USART skeleton, Arnaud Minier, 2024/03/17
- [PATCH 1/7] hw/misc/stm32l4x5_rcc: Propagate period when enabling a clock,
Arnaud Minier <=
- [PATCH 3/7] hw/char/stm32l4x5_usart: Add USART, UART, LPUART types, Arnaud Minier, 2024/03/17
- [PATCH 5/7] hw/char/stm32l4x5_usart: Add options for serial parameters setting, Arnaud Minier, 2024/03/17
- [PATCH 4/7] hw/char/stm32l4x5_usart: Enable serial read and write, Arnaud Minier, 2024/03/17
- [PATCH 6/7] hw/arm: Add the USART to the stm32l4x5 SoC, Arnaud Minier, 2024/03/17
- [PATCH 7/7] tests/qtest: Add tests for the STM32L4x5 USART, Arnaud Minier, 2024/03/17