dmaengine: dw-axi-dmac: simplify descriptor management
authorSia Jee Heng <jee.heng.sia@intel.com>
Mon, 25 Jan 2021 01:32:40 +0000 (09:32 +0800)
committerVinod Koul <vkoul@kernel.org>
Mon, 1 Feb 2021 09:38:14 +0000 (15:08 +0530)
commitef6fb2d6f1abd56cc067c694253ea362159b5ac3
tree2217272789d519aae4f164f561db3f1e02a8e3a3
parent8c70fb7e0a0ab477504e0bd761d301ddd616c8eb
dmaengine: dw-axi-dmac: simplify descriptor management

Simplify and refactor the descriptor management by removing the redundant
Linked List Item (LLI) queue control logic from the AxiDMA driver.
The descriptor is split into virtual descriptor and hardware LLI so that
only hardware LLI memories are allocated from the DMA memory pool.

Up to 64 descriptors can be allocated within a PAGE_SIZE compare to 16
descriptors in previous version. This solves the problem where an
ALSA driver expects more than 16 DMA descriptors to run.

Signed-off-by: Sia Jee Heng <jee.heng.sia@intel.com>
Tested-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Link: https://lore.kernel.org/r/20210125013255.25799-3-jee.heng.sia@intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
drivers/dma/dw-axi-dmac/dw-axi-dmac.h