diff mbox series

[PATCH-for-9.0,v2,1/8] hw/clock: Have clock_set_mul_div() return early when nothing to change

Message ID 20240325133259.57235-2-philmd@linaro.org
State New
Headers show
Series hw/clock: Propagate clock changes when STM32L4X5 MUX is updated | expand

Commit Message

Philippe Mathieu-Daudé March 25, 2024, 1:32 p.m. UTC
Return early when clock_set_mul_div() is called with
same mul/div values the clock has.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/core/clock.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Alistair Francis March 26, 2024, 3:13 a.m. UTC | #1
On Mon, Mar 25, 2024 at 11:34 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Return early when clock_set_mul_div() is called with
> same mul/div values the clock has.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  hw/core/clock.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/hw/core/clock.c b/hw/core/clock.c
> index d82e44cd1a..c73f0c2f98 100644
> --- a/hw/core/clock.c
> +++ b/hw/core/clock.c
> @@ -147,6 +147,10 @@ void clock_set_mul_div(Clock *clk, uint32_t multiplier, uint32_t divider)
>  {
>      assert(divider != 0);
>
> +    if (clk->multiplier == multiplier && clk->divider == divider) {
> +        return;
> +    }
> +
>      trace_clock_set_mul_div(CLOCK_PATH(clk), clk->multiplier, multiplier,
>                              clk->divider, divider);
>      clk->multiplier = multiplier;
> --
> 2.41.0
>
>
diff mbox series

Patch

diff --git a/hw/core/clock.c b/hw/core/clock.c
index d82e44cd1a..c73f0c2f98 100644
--- a/hw/core/clock.c
+++ b/hw/core/clock.c
@@ -147,6 +147,10 @@  void clock_set_mul_div(Clock *clk, uint32_t multiplier, uint32_t divider)
 {
     assert(divider != 0);
 
+    if (clk->multiplier == multiplier && clk->divider == divider) {
+        return;
+    }
+
     trace_clock_set_mul_div(CLOCK_PATH(clk), clk->multiplier, multiplier,
                             clk->divider, divider);
     clk->multiplier = multiplier;