Hi, On Mon, Mar 9, 2020 at 2:11 PM Stephen Boyd <sboyd@xxxxxxxxxx> wrote: > > 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. This landed upstream as commit dad4e7fda4bd ("clk: qcom: clk-rpmh: Wait for completion when enabling clocks") but seemed to have missed stable. Can stable pick it up? It has a Fixes tag so presumably it should be easy to track down where it needs to go. Thanks! -Doug