[PATCH] clk: qcom: clk-rpmh: Fix overflow in BCM vote

From: Imran Shaik
Date: Thu Aug 08 2024 - 03:06:06 EST


From: Mike Tipton <quic_mdtipton@xxxxxxxxxxx>

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@xxxxxxxxxxxxxxx
Signed-off-by: Mike Tipton <quic_mdtipton@xxxxxxxxxxx>
Signed-off-by: Imran Shaik <quic_imrashai@xxxxxxxxxxx>
---
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,
--
Imran Shaik <quic_imrashai@xxxxxxxxxxx>