[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/6] hw/misc/stm32l4x5_rcc: Propagate period when enabling a c
From: |
Arnaud Minier |
Subject: |
[PATCH v2 1/6] hw/misc/stm32l4x5_rcc: Propagate period when enabling a clock |
Date: |
Sun, 24 Mar 2024 17:55:41 +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 v2 0/6] hw/char: Implement the STM32L4x5 USART, UART and LPUART, Arnaud Minier, 2024/03/24
- [PATCH v2 1/6] hw/misc/stm32l4x5_rcc: Propagate period when enabling a clock,
Arnaud Minier <=
- [PATCH v2 2/6] hw/char: Implement STM32L4x5 USART skeleton, Arnaud Minier, 2024/03/24
- [PATCH v2 3/6] hw/char/stm32l4x5_usart: Enable serial read and write, Arnaud Minier, 2024/03/24
- [PATCH v2 4/6] hw/char/stm32l4x5_usart: Add options for serial parameters setting, Arnaud Minier, 2024/03/24
- [PATCH v2 5/6] hw/arm: Add the USART to the stm32l4x5 SoC, Arnaud Minier, 2024/03/24
- [PATCH v2 6/6] tests/qtest: Add tests for the STM32L4x5 USART, Arnaud Minier, 2024/03/24