Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7bf31a0 authored by Rayagonda Kokatanur's avatar Rayagonda Kokatanur Committed by Jassi Brar
Browse files

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



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>
parent 4f055779
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1396,9 +1396,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);