Commit edd7b6b9 authored by Rayagonda Kokatanur's avatar Rayagonda Kokatanur Committed by Greg Kroah-Hartman

mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue

[ Upstream commit d7bf31a0 ]

RING_CONTROL reg was not written due to wrong address, hence all
the subsequent ring flush was timing out.

Fixes: a371c10e ("mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence")
Signed-off-by: default avatarRayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>
Signed-off-by: default avatarRay Jui <ray.jui@broadcom.com>
Reviewed-by: default avatarScott Branden <scott.branden@broadcom.com>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 6ac400b7
...@@ -1396,9 +1396,9 @@ static void flexrm_shutdown(struct mbox_chan *chan) ...@@ -1396,9 +1396,9 @@ static void flexrm_shutdown(struct mbox_chan *chan)
/* Clear ring flush state */ /* Clear ring flush state */
timeout = 1000; /* timeout of 1s */ timeout = 1000; /* timeout of 1s */
writel_relaxed(0x0, ring + RING_CONTROL); writel_relaxed(0x0, ring->regs + RING_CONTROL);
do { do {
if (!(readl_relaxed(ring + RING_FLUSH_DONE) & if (!(readl_relaxed(ring->regs + RING_FLUSH_DONE) &
FLUSH_DONE_MASK)) FLUSH_DONE_MASK))
break; break;
mdelay(1); mdelay(1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment