From: Mike Tipton quic_mdtipton@quicinc.com
Valid frequencies may result in BCM votes that exceed the max HW value. Set vote ceiling to BCM_TCS_CMD_VOTE_MASK to ensure the votes aren't truncated, which can result in lower frequencies than desired.
Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support") Cc: stable@vger.kernel.org Signed-off-by: Mike Tipton quic_mdtipton@quicinc.com Signed-off-by: Imran Shaik quic_imrashai@quicinc.com --- drivers/clk/qcom/clk-rpmh.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index bb82abeed88f..233ccd365a37 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -263,6 +263,9 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable) cmd_state = 0; }
+ if (cmd_state > BCM_TCS_CMD_VOTE_MASK) + cmd_state = BCM_TCS_CMD_VOTE_MASK; + if (c->last_sent_aggr_state != cmd_state) { cmd.addr = c->res_addr; cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
--- base-commit: 222a3380f92b8791d4eeedf7cd750513ff428adf change-id: 20240808-clk-rpmh-bcm-vote-fix-c344e213c9bb
Best regards,
On 8/8/2024 12:35 PM, Imran Shaik wrote:
From: Mike Tipton quic_mdtipton@quicinc.com
Valid frequencies may result in BCM votes that exceed the max HW value. Set vote ceiling to BCM_TCS_CMD_VOTE_MASK to ensure the votes aren't truncated, which can result in lower frequencies than desired.
Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support") Cc: stable@vger.kernel.org Signed-off-by: Mike Tipton quic_mdtipton@quicinc.com Signed-off-by: Imran Shaik quic_imrashai@quicinc.com
drivers/clk/qcom/clk-rpmh.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index bb82abeed88f..233ccd365a37 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -263,6 +263,9 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable) cmd_state = 0; }
- if (cmd_state > BCM_TCS_CMD_VOTE_MASK)
cmd_state = BCM_TCS_CMD_VOTE_MASK;
- if (c->last_sent_aggr_state != cmd_state) { cmd.addr = c->res_addr; cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
Reviewed-by: Taniya Das quic_tdas@quicinc.com
Quoting Imran Shaik (2024-08-08 00:05:02)
From: Mike Tipton quic_mdtipton@quicinc.com
Valid frequencies may result in BCM votes that exceed the max HW value. Set vote ceiling to BCM_TCS_CMD_VOTE_MASK to ensure the votes aren't truncated, which can result in lower frequencies than desired.
Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support") Cc: stable@vger.kernel.org Signed-off-by: Mike Tipton quic_mdtipton@quicinc.com Signed-off-by: Imran Shaik quic_imrashai@quicinc.com
drivers/clk/qcom/clk-rpmh.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index bb82abeed88f..233ccd365a37 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -263,6 +263,9 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable) cmd_state = 0; }
if (cmd_state > BCM_TCS_CMD_VOTE_MASK)
cmd_state = BCM_TCS_CMD_VOTE_MASK;
This is
cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
On 8/9/2024 1:13 AM, Stephen Boyd wrote:
Quoting Imran Shaik (2024-08-08 00:05:02)
From: Mike Tipton quic_mdtipton@quicinc.com
Valid frequencies may result in BCM votes that exceed the max HW value. Set vote ceiling to BCM_TCS_CMD_VOTE_MASK to ensure the votes aren't truncated, which can result in lower frequencies than desired.
Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support") Cc: stable@vger.kernel.org Signed-off-by: Mike Tipton quic_mdtipton@quicinc.com Signed-off-by: Imran Shaik quic_imrashai@quicinc.com
drivers/clk/qcom/clk-rpmh.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index bb82abeed88f..233ccd365a37 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -263,6 +263,9 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable) cmd_state = 0; }
if (cmd_state > BCM_TCS_CMD_VOTE_MASK)
cmd_state = BCM_TCS_CMD_VOTE_MASK;
This is
cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
Sure, I will update this logic and post another series.
Thanks, Imran
linux-stable-mirror@lists.linaro.org