Re: [PATCH] clk: qcom: rpmh: Add note about sleep/wake state for BCMs

From: Alex Elder
Date: Fri May 27 2022 - 10:23:46 EST


On 5/17/22 2:16 PM, Alex Elder wrote:
On 5/17/22 2:09 PM, 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 <elder@xxxxxxxxxx>
Cc: Taniya Das <quic_tdas@xxxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>

Looks good to me.  Thanks Stephen.

Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

Taniya, do you have anything to say about this patch? -Alex


---

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