Message ID | 1611555637-7688-2-git-send-email-mkshah@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/3] drivers: qcom: rpmh: Disallow active requests in solver mode | expand |
Hi, On Sun, Jan 24, 2021 at 10:21 PM Maulik Shah <mkshah@codeaurora.org> wrote: > > Let RPMH clients call rpmh_write_sleep_and_wake() to immediately > write cached sleep and wake data to the TCSes. > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > (no changes since v1) > --- > drivers/soc/qcom/rpmh.c | 16 ++++++++++++++++ > include/soc/qcom/rpmh.h | 5 +++++ > 2 files changed, 21 insertions(+) > > diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c > index cbe6b96..725b8f0 100644 > --- a/drivers/soc/qcom/rpmh.c > +++ b/drivers/soc/qcom/rpmh.c > @@ -515,6 +515,22 @@ int rpmh_flush(struct rpmh_ctrlr *ctrlr) > } > > /** > + * rpmh_write_sleep_and_wake() - Writes the buffered wake and sleep sets > + * to TCSes > + * > + * @dev: The device making the request > + * > + * Return: > + * * 0 - Success > + * * Error code - Otherwise > + */ > +int rpmh_write_sleep_and_wake(const struct device *dev) > +{ > + return rpmh_flush(get_rpmh_ctrlr(dev)); > +} This patch doesn't hold weight on its own. Please squash with patch #3. Specifically any clients actually trying to call this function will hit the problems that patch #3 fixes. There's no reason to add broken code first and then fix it with a later patch in the same series. -Doug
diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index cbe6b96..725b8f0 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -515,6 +515,22 @@ int rpmh_flush(struct rpmh_ctrlr *ctrlr) } /** + * rpmh_write_sleep_and_wake() - Writes the buffered wake and sleep sets + * to TCSes + * + * @dev: The device making the request + * + * Return: + * * 0 - Success + * * Error code - Otherwise + */ +int rpmh_write_sleep_and_wake(const struct device *dev) +{ + return rpmh_flush(get_rpmh_ctrlr(dev)); +} +EXPORT_SYMBOL(rpmh_write_sleep_and_wake); + +/** * rpmh_invalidate: Invalidate sleep and wake sets in batch_cache * * @dev: The device making the request diff --git a/include/soc/qcom/rpmh.h b/include/soc/qcom/rpmh.h index fa8bb53..59b68f8 100644 --- a/include/soc/qcom/rpmh.h +++ b/include/soc/qcom/rpmh.h @@ -22,6 +22,8 @@ int rpmh_write_batch(const struct device *dev, enum rpmh_state state, int rpmh_mode_solver_set(const struct device *dev, bool enable); +int rpmh_write_sleep_and_wake(const struct device *dev); + void rpmh_invalidate(const struct device *dev); #else @@ -43,6 +45,9 @@ static inline int rpmh_write_batch(const struct device *dev, static int rpmh_mode_solver_set(const struct device *dev, bool enable) { return -ENODEV; } +static int rpmh_write_sleep_and_wake(const struct device *dev) +{ return -ENODEV; } + static inline void rpmh_invalidate(const struct device *dev) { }
Let RPMH clients call rpmh_write_sleep_and_wake() to immediately write cached sleep and wake data to the TCSes. Signed-off-by: Maulik Shah <mkshah@codeaurora.org> --- (no changes since v1) --- drivers/soc/qcom/rpmh.c | 16 ++++++++++++++++ include/soc/qcom/rpmh.h | 5 +++++ 2 files changed, 21 insertions(+)