[RFT PATCH 0/9] drivers: qcom: rpmh-rsc: Cleanup / add lots of comments

From: Douglas Anderson
Date: Fri Mar 06 2020 - 19:00:26 EST


In order to review Maulik's latest "rpmh_flush for non OSI targets"
patch series I've found myself trying to understand rpmh-rsc better.
To make it easier for others to do this in the future, add a whole lot
of comments / documentation.

As part of this there are a very small number of functional changes.
- We'll get a tiny performance boost by getting rid of the "cmd_cache"
which I believe was unnecessary (though just to be sure, best to try
this atop Maulik's patches where it should be super obvious that we
always invalidate before writing sleep/wake TCSs.
- I think I've eliminated a possible deadlock on "nosmp" systems,
though it was mostly theoretical.
- Possibly we could get a warning in some cases if I misunderstood how
tcs_is_free() works. It'd be easy to remove the warning, though.

These changes touch a lot of code in rpmh-rsc, so hopefully someone at
Qualcomm can test them out better than I did (I don't have every last
client of RPMH in my tree) and review them soon-ish so they can land
and future patches can be based on them.

I've tried to structure the patches so that simpler / less
controversial patches are first. Those could certainly land on their
own without later patches. Many of the patches could also be dropped
and the others would still apply if they are controversial. If you
need help doing this then please yell.

With all that, enjoy.


Douglas Anderson (9):
drivers: qcom: rpmh-rsc: Clean code reading/writing regs/cmds
drivers: qcom: rpmh-rsc: Document the register layout better
drivers: qcom: rpmh-rsc: Fold tcs_ctrl_write() into its single caller
drivers: qcom: rpmh-rsc: Remove get_tcs_of_type() abstraction
drivers: qcom: rpmh-rsc: A lot of comments
drivers: qcom: rpmh-rsc: Only use "tcs_in_use" for ACTIVE_ONLY
drivers: qcom: rpmh-rsc: Warning if tcs_write() used for non-active
drivers: qcom: rpmh-rsc: spin_lock_irqsave() for tcs_invalidate()
drivers: qcom: rpmh-rsc: Kill cmd_cache and find_match() with fire

drivers/soc/qcom/rpmh-internal.h | 45 ++--
drivers/soc/qcom/rpmh-rsc.c | 390 +++++++++++++++++++++++--------
2 files changed, 313 insertions(+), 122 deletions(-)

--
2.25.1.481.gfbce0eb801-goog