On Tue, Aug 19, 2025 at 08:36:45PM +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leo...@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 <leo...@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 <j...@nvidia.com> Jason