linux/kernel/dma
Leon Romanovsky 18c9cbb042 dma-mapping: implement DMA_ATTR_MMIO for dma_(un)map_page_attrs()
Make dma_map_page_attrs() and dma_map_page_attrs() respect
DMA_ATTR_MMIO.

DMA_ATR_MMIO makes the functions behave the same as
dma_(un)map_resource():
 - No swiotlb is possible
 - Legacy dma_ops arches use ops->map_resource()
 - No kmsan
 - No arch_dma_map_phys_direct()

The prior patches have made the internal functions called here
support DMA_ATTR_MMIO.

This is also preparation for turning dma_map_resource() into an inline
calling dma_map_phys(DMA_ATTR_MMIO) to consolidate the flows.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/3660e2c78ea409d6c483a215858fb3af52cd0ed3.1757423202.git.leonro@nvidia.com
2025-09-12 00:18:20 +02:00
..
coherent.c dma-coherent: Warn if OF reserved memory is beyond current coherent DMA mask 2025-04-22 17:44:09 +02:00
contiguous.c of: reserved_mem: Restructure call site for dma_contiguous_early_fixup() 2025-08-11 13:05:38 +02:00
debug.c dma-debug: refactor to use physical addresses for page mapping 2025-09-12 00:09:51 +02:00
debug.h dma-debug: refactor to use physical addresses for page mapping 2025-09-12 00:09:51 +02:00
direct.c dma-mapping: convert dma_direct_*map_page to be phys_addr_t based 2025-09-12 00:18:20 +02:00
direct.h dma-mapping: convert dma_direct_*map_page to be phys_addr_t based 2025-09-12 00:18:20 +02:00
dummy.c dma-mapping: call ->unmap_page and ->unmap_sg unconditionally 2024-08-22 06:18:11 +02:00
Kconfig dma-debug: remove DMA_API_DEBUG_SG 2024-10-29 08:53:37 +01:00
Makefile dma-mapping: clearly mark DMA ops as an architecture feature 2024-09-04 07:08:51 +03:00
map_benchmark.c dma-mapping: benchmark: Don't starve others when doing the test 2024-07-09 07:48:32 +02:00
mapping.c dma-mapping: implement DMA_ATTR_MMIO for dma_(un)map_page_attrs() 2025-09-12 00:18:20 +02:00
ops_helpers.c iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys 2025-09-12 00:18:20 +02:00
pool.c dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted 2025-08-13 11:02:10 +02:00
remap.c dma-mapping: use bit masking to check VM_DMA_COHERENT 2024-08-22 06:15:35 +02:00
swiotlb.c swiotlb: Remove redundant __GFP_NOWARN 2025-08-11 11:29:38 +02:00