diff options
author | Tudor Ambarus <tudor.ambarus@microchip.com> | 2022-10-25 12:03:06 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2022-11-11 12:15:09 +0530 |
commit | ac803b56860f6506c55a3c9330007837e3f4edda (patch) | |
tree | dd3388e4bafee5582ef55120a6eb2cdadf9b1fb9 /drivers/dma/Kconfig | |
parent | 993b397752f3babb698932f20c1c363c4eca4efc (diff) | |
download | lwn-ac803b56860f6506c55a3c9330007837e3f4edda.tar.gz lwn-ac803b56860f6506c55a3c9330007837e3f4edda.zip |
dmaengine: at_hdmac: Convert driver to use virt-dma
Convert the driver to use the core virt-dma. The driver will be easier to
maintain as it uses the list handling and the tasklet from virt-dma.
With the conversion replace the election of a new transfer in the tasklet
with the election of the new transfer in the interrupt handler. With this
we have a shorter idle window as we remove the scheduling latency of the
tasklet. I chose to do this while doing the conversion to virt-dma,
because if I made a prerequisite patch with the new transfer election in
the irq handler, I would have to duplicate some virt-dma code in the
at_hdmac driver that would end up being removed at the virt-dma conversion
anyway. So do this in a single step.
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com
Link: https://lore.kernel.org/r/20221025090306.297886-33-tudor.ambarus@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/Kconfig')
-rw-r--r-- | drivers/dma/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index ea81d825575f..b9d54f20812f 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -97,6 +97,7 @@ config AT_HDMAC tristate "Atmel AHB DMA support" depends on ARCH_AT91 select DMA_ENGINE + select DMA_VIRTUAL_CHANNELS help Support the Atmel AHB DMA controller. |