The channel allocation and deallocation for dma copy was happening on every
dma transfer. This is a overhead for transactions like NAND, which does
page reads recursively for complete data.
So, moving the dma allocation to probe and implement corresponding
remove function and cleanup dma device while exiting from spl.
Enable SPL_DM_DEVICE_REMOVE, for device removal capability in SPL.
v2 <==> v1
==========
1> Improve subject of commit.
2> Add warning on dma device not found.
3> Do channel allocation only for udma and bcdma. Passthrough for all other
types.
Prasanth Babu Mantena (2):
mach-k3: common.c: Remove dma device in spl exit
configs: k3: Enable device removal in SPL
Santhosh Kumar K (2):
dma: ti: k3-udma: Move udma_probe() below all APIs
dma: ti: k3-udma: Move DMA channel[0] allocation to probe and add
udma_remove()
arch/arm/mach-k3/common.c | 25 ++-
configs/am62ax_evm_a53_defconfig | 1 +
configs/am62ax_evm_r5_defconfig | 1 +
configs/am62x_evm_a53_defconfig | 1 +
configs/am62x_evm_r5_defconfig | 1 +
configs/j7200_evm_a72_defconfig | 1 +
configs/j7200_evm_r5_defconfig | 1 +
configs/j721e_evm_a72_defconfig | 1 +
configs/j721e_evm_r5_defconfig | 1 +
configs/j721s2_evm_a72_defconfig | 1 +
configs/j721s2_evm_r5_defconfig | 1 +
configs/j784s4_evm_a72_defconfig | 1 +
configs/j784s4_evm_r5_defconfig | 1 +
drivers/dma/ti/k3-udma.c | 333 ++++++++++++++++---------------
14 files changed, 209 insertions(+), 161 deletions(-)
--
2.34.1