Hi, On 3/7/2020 5:29 AM, Douglas Anderson wrote: > 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) i can help these get tested. Thanks, Maulik > 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(-) > -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation