Re: [PATCH] clk: qcom: clk-rpmh: Wait for completion when enabling clocks

From: Stephen Boyd
Date: Mon Mar 09 2020 - 17:10:56 EST


Quoting Mike Tipton (2020-02-14 18:12:32)
> The current implementation always uses rpmh_write_async, which doesn't
> wait for completion. That's fine for disable requests since there's no
> immediate need for the clocks and they can be disabled in the
> background. However, for enable requests we need to ensure the clocks
> are actually enabled before returning to the client. Otherwise, clients
> can end up accessing their HW before the necessary clocks are enabled,
> which can lead to bus errors.
>
> Use the synchronous version of this API (rpmh_write) for enable requests
> in the active set to ensure completion.
>
> Completion isn't required for sleep/wake sets, since they don't take
> effect until after we enter sleep. All rpmh requests are automatically
> flushed prior to entering sleep.
>
> Fixes: 9c7e47025a6b ("clk: qcom: clk-rpmh: Add QCOM RPMh clock driver")
> Signed-off-by: Mike Tipton <mdtipton@xxxxxxxxxxxxxx>
> ---

Applied to clk-next but I squashed in some changes to make it easier for
me to read.