clk: qcom: clk-rpmh: Fix overflow in BCM vote
[ Upstream commit a4e5af27e6f6a8b0d14bc0d7eb04f4a6c7291586 ]
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: 04053f4d23 ("clk: qcom: clk-rpmh: Add IPA clock support")
Cc: stable@vger.kernel.org
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Reviewed-by: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com>
Link: https://lore.kernel.org/r/20240809-clk-rpmh-bcm-vote-fix-v2-1-240c584b7ef9@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
997526f85b
commit
9dcff844c1
1 changed files with 2 additions and 0 deletions
|
|
@ -270,6 +270,8 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable)
|
||||||
cmd_state = 0;
|
cmd_state = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
|
||||||
|
|
||||||
if (c->last_sent_aggr_state != cmd_state) {
|
if (c->last_sent_aggr_state != cmd_state) {
|
||||||
cmd.addr = c->res_addr;
|
cmd.addr = c->res_addr;
|
||||||
cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
|
cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue