Bjorn and Andy, On Thu, May 28, 2020 at 7:48 AM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote: > > The write_tcs_reg_sync() may be called after timekeeping is suspended > so it's not OK to use ktime. The readl_poll_timeout_atomic() macro > implicitly uses ktime. This was causing a warning at suspend time. > > Change to just loop 1000000 times with a delay of 1 us between loops. > This may give a timeout of more than 1 second but never less and is > safe even if timekeeping is suspended. > > NOTE: I don't have any actual evidence that we need to loop here. > It's possibly that all we really need to do is just read the value > back to ensure that the pipes are cleaned and the looping/comparing is > totally not needed. I never saw the loop being needed in my tests. > However, the loop shouldn't hurt. > > Fixes: 91160150aba0 ("soc: qcom: rpmh-rsc: Timeout after 1 second in write_tcs_reg_sync()") > Reported-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx> > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > --- > > drivers/soc/qcom/rpmh-rsc.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) Is it a good time to land this change now that -rc1 has come out? It'd be nice to get this resolved. Thanks! -Doug