dmaengine: dma-jz4780: Break descriptor chains on JZ4740
authorPaul Cercueil <paul@crapouillou.net>
Sun, 14 Jul 2019 21:55:04 +0000 (17:55 -0400)
committerVinod Koul <vkoul@kernel.org>
Thu, 25 Jul 2019 13:27:58 +0000 (18:57 +0530)
commitf4c255f1a747497a21748619d909cadabcfa060e
treebb4ae5f63b6a45a191086023300e11c45aa6eb27
parent156a599b0716ab3ee3869ff26119e3b5d46d91c8
dmaengine: dma-jz4780: Break descriptor chains on JZ4740

The current driver works perfectly fine on every generation of the
JZ47xx SoCs, except on the JZ4740.

There, when hardware descriptors are chained together (with the LINK
bit set), the next descriptor isn't automatically fetched as it should -
instead, an interrupt is raised, even if the TIE bit (Transfer Interrupt
Enable) bit is cleared. When it happens, the DMA transfer seems to be
stopped (it doesn't chain), and it's uncertain how many bytes have
actually been transferred.

Until somebody smarter than me can figure out how to make chained
descriptors work on the JZ4740, we now disable chained descriptors on
that particular SoC.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20190714215504.10877-1-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dma-jz4780.c