[PATCH 0/1] alpha: enable DMA CMA support (HAVE_DMA_CONTIGUOUS)
Magnus Lindholm <[email protected]>
| Newsgroups | org.kernel.vger.linux-alpha,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series enables CONFIG_DMA_CMA support on Alpha by selecting HAVE_DMA_CONTIGUOUS and wiring up the required architecture hooks. Alpha previously relied solely on high-order page allocator allocations for coherent DMA buffers. With memory compaction now functional, CMA can be safely enabled to provide reliable physically contiguous allocations under fragmentation. Testing was performed on an Alpha UP2000+ (SMP) and a DS10 (UP) using a custom kernel module that verified the following: - Correct CMA reservation via "cma=64M" - CmaTotal/CmaFree reporting in /proc/meminfo - Successful 32 MiB dma_alloc_coherent() allocations - CmaFree reduction and recovery after free - Successful allocations under heavy memory load No allocation failures were observed. Magnus Lindholm (1): alpha: enable DMA CMA support (HAVE_DMA_CONTIGUOUS) .../io/dma-contiguous/arch-support.txt | 2 +- arch/alpha/Kconfig | 1 + arch/alpha/kernel/pci_iommu.c | 46 +++++++++++++++++++ arch/alpha/kernel/setup.c | 16 +++++++ 4 files changed, 64 insertions(+), 1 deletion(-) -- 2.52.0