]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit4b913c5a1e1344e1bc3e39bdbd2760a507881341
tree2217272789d519aae4f164f561db3f1e02a8e3a3
parent0d699b6ad58bbf02e0c791a314b27e2c2f701bbf
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