]> git.ipfire.org Git - thirdparty/linux.git/commit
dma-mapping: introduce new DMA attribute to indicate MMIO memory
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 9 Sep 2025 13:27:29 +0000 (16:27 +0300)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 11 Sep 2025 22:08:07 +0000 (00:08 +0200)
commiteadaa8b255f36ee39ca97d0815c25eeeb1f5d674
tree479cf0f9d52e0705991efaf05b7d09ede0d9fe79
parentb9a62320d83863c40973d548dcd379cd6390da20
dma-mapping: introduce new DMA attribute to indicate MMIO memory

This patch introduces the DMA_ATTR_MMIO attribute to mark DMA buffers
that reside in memory-mapped I/O (MMIO) regions, such as device BARs
exposed through the host bridge, which are accessible for peer-to-peer
(P2P) DMA.

This attribute is especially useful for exporting device memory to other
devices for DMA without CPU involvement, and avoids unnecessary or
potentially detrimental CPU cache maintenance calls.

DMA_ATTR_MMIO is supposed to provide dma_map_resource() functionality
without need to call to special function and perform branching when
processing generic containers like bio_vec by the callers.

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/6f058ec395c5348014860dbc2eed348c17975843.1757423202.git.leonro@nvidia.com
Documentation/core-api/dma-attributes.rst
include/linux/dma-mapping.h
include/trace/events/dma.h
rust/kernel/dma.rs