]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit662266ba1d6df1b1a55a01f1b2872d9218f00e49
treebb4ae5f63b6a45a191086023300e11c45aa6eb27
parent6f494bc92ed6fb07ea7a126f43107b4a9cefa515
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