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

From: Bjorn Andersson
Date: Sat Jun 25 2022 - 16:00:47 EST


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 <elder@xxxxxxxxxx>
> Cc: Taniya Das <quic_tdas@xxxxxxxxxxx>

Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

> Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
>
> 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/20220412194505.614002-1-swboyd@xxxxxxxxxxxx