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.