
On 23:10, Peter Robinson wrote: Hi Peter,
Hi Prasanth,
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 +
Is there any reason why devices like j721e_beagleboneai64 and m62x_beagleplay and other TI devices aren't changed as part of this change?
We donot have DMA enabled in SPL for these devices, as a result of which doesn't require removal of them at spl exit in current context. We donot have any onboard flashes on beagle boards, and hence DMA is not enabled in SPL for these boards, which is generally required for flash boot.
Thanks Prasanth
Peter