Message ID | 1580796831-18996-4-git-send-email-mkshah@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | Misc stability fixes and optimization for rpmh driver | expand |
diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index 04c7805..5ae1b91 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -475,6 +475,10 @@ int rpmh_flush(const struct device *dev) return 0; } + do { + ret = rpmh_rsc_invalidate(ctrlr_to_drv(ctrlr)); + } while (ret == -EAGAIN); + /* First flush the cached batch requests */ ret = flush_batch(ctrlr); if (ret)
TCSes have previously programmed data when rpmh_flush is called. This can cause old data to trigger along with newly flushed. Fix this by cleaning sleep and wake TCSes before new data is flushed. Signed-off-by: Maulik Shah <mkshah@codeaurora.org> --- drivers/soc/qcom/rpmh.c | 4 ++++ 1 file changed, 4 insertions(+)