[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250930100818.350934-1-m.szyprowski@samsung.com>
Date: Tue, 30 Sep 2025 12:08:18 +0200
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, iommu@...ts.linux.dev, Marek Szyprowski
<m.szyprowski@...sung.com>, Christoph Hellwig <hch@....de>, Robin Murphy
<robin.murphy@....com>, Leon Romanovsky <leon@...nel.org>, Jason Gunthorpe
<jgg@...dia.com>, Qianfeng Rong <rongqianfeng@...o.com>, Petr Tesarik
<ptesarik@...e.com>
Subject: [GIT PULL] dma-mapping updates for Linux 6.18
The following changes since commit 7e2368a21741e2db542330b32aa6fdd8908e7cff:
dma-debug: don't enforce dma mapping check on noncoherent allocations (2025-09-02 10:18:16 +0200)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux.git tags/dma-mapping-6.18-2025-09-30
for you to fetch changes up to ef3d979b3e270b6a41b6f306bfc442253c41a4cd:
kmsan: fix missed kmsan_handle_dma() signature conversion (2025-09-17 14:42:36 +0200)
----------------------------------------------------------------
dma-mapping updates for Linux 6.18:
- refactoring of DMA mapping API to physical addresses as the primary
interface instead of page+offset parameters; this gets much closer to
Matthew Wilcox's long term wish for struct-pageless IO to cacheable DRAM and is
supporting memdesc project which seeks to substantially transform how
struct page works; an advantage of this approach is the possibility of
introducing DMA_ATTR_MMIO, which covers existing 'dma_map_resource' flow
in the common paths, what in turn lets to use recently introduced
dma_iova_link() API to map PCI P2P MMIO without creating struct page;
developped by Leon Romanovsky and Jason Gunthorpe
- minor clean-up by Petr Tesarik and Qianfeng Rong
----------------------------------------------------------------
Leon Romanovsky (14):
dma-mapping: introduce new DMA attribute to indicate MMIO memory
iommu/dma: implement DMA_ATTR_MMIO for dma_iova_link().
dma-debug: refactor to use physical addresses for page mapping
dma-mapping: rename trace_dma_*map_page to trace_dma_*map_phys
iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys
iommu/dma: implement DMA_ATTR_MMIO for iommu_dma_(un)map_phys()
dma-mapping: convert dma_direct_*map_page to be phys_addr_t based
kmsan: convert kmsan_handle_dma to use physical addresses
dma-mapping: implement DMA_ATTR_MMIO for dma_(un)map_page_attrs()
xen: swiotlb: Open code map_resource callback
dma-mapping: export new dma_*map_phys() interface
mm/hmm: migrate to physical address-based DMA mapping API
mm/hmm: properly take MMIO path
kmsan: fix missed kmsan_handle_dma() signature conversion
Marek Szyprowski (1):
Merge tag 'dma-mapping-6.17-2025-09-09' into HEAD
Petr Tesarik (1):
dma-direct: clean up the logic in __dma_direct_alloc_pages()
Qianfeng Rong (1):
swiotlb: Remove redundant __GFP_NOWARN
Documentation/core-api/dma-api.rst | 4 +-
Documentation/core-api/dma-attributes.rst | 18 +++++
arch/powerpc/kernel/dma-iommu.c | 4 +-
drivers/iommu/dma-iommu.c | 61 ++++++++--------
drivers/virtio/virtio_ring.c | 4 +-
drivers/xen/swiotlb-xen.c | 21 +++++-
include/linux/dma-direct.h | 2 -
include/linux/dma-map-ops.h | 8 +--
include/linux/dma-mapping.h | 33 +++++++++
include/linux/iommu-dma.h | 11 +--
include/linux/kmsan.h | 9 ++-
include/linux/page-flags.h | 1 +
include/trace/events/dma.h | 9 ++-
kernel/dma/debug.c | 82 ++++++----------------
kernel/dma/debug.h | 37 ++--------
kernel/dma/direct.c | 53 +++++---------
kernel/dma/direct.h | 57 +++++++++------
kernel/dma/mapping.c | 112 ++++++++++++++++++------------
kernel/dma/ops_helpers.c | 6 +-
kernel/dma/swiotlb.c | 2 +-
mm/hmm.c | 19 ++---
mm/kmsan/hooks.c | 13 ++--
rust/kernel/dma.rs | 3 +
tools/virtio/linux/kmsan.h | 2 +-
24 files changed, 295 insertions(+), 276 deletions(-)
----------------------------------------------------------------
Thanks!
Best regards
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists