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

Reply via email to