[PATCH v4 01/16] dma-mapping: introduce new DMA attribute to indicate MMIO memory
Jason Gunthorpe
jgg at nvidia.com
Thu Aug 28 23:03:29 AEST 2025
On Tue, Aug 19, 2025 at 08:36:45PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro at nvidia.com>
>
> 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 by
> the callers.
'branching when processing generic containers like bio_vec by the callers'
Many of the existing dma_map_resource() users already know the thing
is MMIO and don't have branching..
> Signed-off-by: Leon Romanovsky <leonro at nvidia.com>
> ---
> Documentation/core-api/dma-attributes.rst | 18 ++++++++++++++++++
> include/linux/dma-mapping.h | 20 ++++++++++++++++++++
> include/trace/events/dma.h | 3 ++-
> rust/kernel/dma.rs | 3 +++
> 4 files changed, 43 insertions(+), 1 deletion(-)
Reviewed-by: Jason Gunthorpe <jgg at nvidia.com>
Jason
More information about the Linuxppc-dev
mailing list