Skip to content

Commit 945486d

Browse files
smankad-ossUlrich Hecht
authored andcommitted
soc: qcom: rpmh-rsc: Unconditionally clear _TRIGGER bit for TCS
[ Upstream commit f87412d18edb5b8393eb8cb1c2d4a54f90185a21 ] Unconditionally clear the TCS_AMC_MODE_TRIGGER bit when a transaction completes. Previously this bit was only cleared when a wake TCS was borrowed as an AMC TCS but not for dedicated AMC TCS. Leaving this bit set for AMC TCS and entering deeper low power modes can generate a false completion IRQ. Prevent this scenario by always clearing the TCS_AMC_MODE_TRIGGER bit upon receiving a completion IRQ. Fixes: 15b3bf61b8d4 ("soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS") Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250825-rpmh_rsc_change-v1-1-138202c31bf6@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Ulrich Hecht <uli@kernel.org>
1 parent c0d91cd commit 945486d

1 file changed

Lines changed: 2 additions & 5 deletions

File tree

drivers/soc/qcom/rpmh-rsc.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,13 +265,10 @@ static irqreturn_t tcs_tx_done(int irq, void *p)
265265

266266
trace_rpmh_tx_done(drv, i, req, err);
267267

268-
/*
269-
* If wake tcs was re-purposed for sending active
270-
* votes, clear AMC trigger & enable modes and
268+
/* Clear AMC trigger & enable modes and
271269
* disable interrupt for this TCS
272270
*/
273-
if (!drv->tcs[ACTIVE_TCS].num_tcs)
274-
__tcs_set_trigger(drv, i, false);
271+
__tcs_set_trigger(drv, i, false);
275272
skip:
276273
/* Reclaim the TCS */
277274
write_tcs_reg(drv, RSC_DRV_CMD_ENABLE, i, 0);

0 commit comments

Comments
 (0)