The sleep/wake state doesn't need to be set here because of specific
RPMh behavior that carries over the active state when sleep/wake state
hasn't been modified. Add a note to the code so we aren't tempted to set
the sleep/wake states.
Cc: Alex Elder <[email protected]>
Cc: Taniya Das <[email protected]>
Signed-off-by: Stephen Boyd <[email protected]>
---
This superseedes a previous patch[1] I sent that tried to fix this.
drivers/clk/qcom/clk-rpmh.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index aed907982344..c07cab6905cb 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -274,6 +274,11 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable)
cmd.addr = c->res_addr;
cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
+ /*
+ * Send only an active only state request. RPMh continues to
+ * use the active state when we're in sleep/wake state as long
+ * as the sleep/wake state has never been set.
+ */
ret = clk_rpmh_send(c, RPMH_ACTIVE_ONLY_STATE, &cmd, enable);
if (ret) {
dev_err(c->dev, "set active state of %s failed: (%d)\n",
base-commit: 42226c989789d8da4af1de0c31070c96726d990c
--
https://chromeos.dev
[1] https://lore.kernel.org/r/[email protected]
On Tue 17 May 14:09 CDT 2022, Stephen Boyd wrote:
> The sleep/wake state doesn't need to be set here because of specific
> RPMh behavior that carries over the active state when sleep/wake state
> hasn't been modified. Add a note to the code so we aren't tempted to set
> the sleep/wake states.
>
> Cc: Alex Elder <[email protected]>
> Cc: Taniya Das <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
> Signed-off-by: Stephen Boyd <[email protected]>
> ---
>
> This superseedes a previous patch[1] I sent that tried to fix this.
>
> drivers/clk/qcom/clk-rpmh.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
> index aed907982344..c07cab6905cb 100644
> --- a/drivers/clk/qcom/clk-rpmh.c
> +++ b/drivers/clk/qcom/clk-rpmh.c
> @@ -274,6 +274,11 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable)
> cmd.addr = c->res_addr;
> cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
>
> + /*
> + * Send only an active only state request. RPMh continues to
> + * use the active state when we're in sleep/wake state as long
> + * as the sleep/wake state has never been set.
> + */
> ret = clk_rpmh_send(c, RPMH_ACTIVE_ONLY_STATE, &cmd, enable);
> if (ret) {
> dev_err(c->dev, "set active state of %s failed: (%d)\n",
>
> base-commit: 42226c989789d8da4af1de0c31070c96726d990c
> --
> https://chromeos.dev
> [1] https://lore.kernel.org/r/[email protected]
On Tue, 17 May 2022 12:09:49 -0700, Stephen Boyd wrote:
> The sleep/wake state doesn't need to be set here because of specific
> RPMh behavior that carries over the active state when sleep/wake state
> hasn't been modified. Add a note to the code so we aren't tempted to set
> the sleep/wake states.
>
>
Applied, thanks!
[1/1] clk: qcom: rpmh: Add note about sleep/wake state for BCMs
commit: 29f66b625281a3026653fd33b710771a4ae394d2
Best regards,
--
Bjorn Andersson <[email protected]>