mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue
[ Upstream commit d7bf31a0f85faaf63c63c39d55154825a1eaaea9 ] RING_CONTROL reg was not written due to wrong address, hence all the subsequent ring flush was timing out. Fixes: a371c10ea4b3 ("mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence") Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Signed-off-by: Ray Jui <ray.jui@broadcom.com> Reviewed-by: Scott Branden <scott.branden@broadcom.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
0d1aae8046
commit
2f29bedd5f
@ -1381,9 +1381,9 @@ static void flexrm_shutdown(struct mbox_chan *chan)
|
||||
|
||||
/* Clear ring flush state */
|
||||
timeout = 1000; /* timeout of 1s */
|
||||
writel_relaxed(0x0, ring + RING_CONTROL);
|
||||
writel_relaxed(0x0, ring->regs + RING_CONTROL);
|
||||
do {
|
||||
if (!(readl_relaxed(ring + RING_FLUSH_DONE) &
|
||||
if (!(readl_relaxed(ring->regs + RING_FLUSH_DONE) &
|
||||
FLUSH_DONE_MASK))
|
||||
break;
|
||||
mdelay(1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user