linux/Documentation/core-api
Linus Torvalds a498d59c46 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
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSrngzkoBtlA8uaaJ+Jp1EFxbsSRAUCaNugqAAKCRCJp1EFxbsS
 RBvDAQCEd4P6pz6ROQHf5BfiF5J1db2H6bWsFLjajx3KfNWf8gD+P0eQ0hTzLrcd
 zuSKZTivviOiyjXlt/9GOaXXPnmTwA0=
 =b0nZ
 -----END PGP SIGNATURE-----

Merge tag 'dma-mapping-6.18-2025-09-30' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux

Pull dma-mapping updates from Marek Szyprowski:

 - 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

* tag 'dma-mapping-6.18-2025-09-30' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux:
  kmsan: fix missed kmsan_handle_dma() signature conversion
  mm/hmm: properly take MMIO path
  mm/hmm: migrate to physical address-based DMA mapping API
  dma-mapping: export new dma_*map_phys() interface
  xen: swiotlb: Open code map_resource callback
  dma-mapping: implement DMA_ATTR_MMIO for dma_(un)map_page_attrs()
  kmsan: convert kmsan_handle_dma to use physical addresses
  dma-mapping: convert dma_direct_*map_page to be phys_addr_t based
  iommu/dma: implement DMA_ATTR_MMIO for iommu_dma_(un)map_phys()
  iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys
  dma-mapping: rename trace_dma_*map_page to trace_dma_*map_phys
  dma-debug: refactor to use physical addresses for page mapping
  iommu/dma: implement DMA_ATTR_MMIO for dma_iova_link().
  dma-mapping: introduce new DMA attribute to indicate MMIO memory
  swiotlb: Remove redundant __GFP_NOWARN
  dma-direct: clean up the logic in __dma_direct_alloc_pages()
2025-10-03 17:41:12 -07:00
..
irq Documentation: Fix core-api typos 2025-08-18 10:31:19 -06:00
kho Documentation: KHO: add memblock bindings 2025-05-12 23:50:43 -07:00
real-time Documentation: Add real-time to core-api 2025-08-21 14:06:08 -06:00
wrappers
asm-annotations.rst
assoc_array.rst
boot-time-mm.rst
cachetlb.rst
cgroup.rst doc/cgroup: Fix title underline length 2025-01-15 09:46:18 +01:00
circular-buffers.rst
cleanup.rst
cpu_hotplug.rst
debug-objects.rst
debugging-via-ohci1394.rst
dma-api-howto.rst docs: dma-api: replace consistent with coherent 2025-07-01 13:25:36 -06:00
dma-api.rst dma-debug: refactor to use physical addresses for page mapping 2025-09-12 00:09:51 +02:00
dma-attributes.rst dma-mapping: introduce new DMA attribute to indicate MMIO memory 2025-09-12 00:08:07 +02:00
dma-isa-lpc.rst
entry.rst Documentation: core-api: entry: Replace deprecated KVM entry/exit functions 2025-07-24 08:32:59 -06:00
errseq.rst
floating-point.rst
folio_queue.rst docs: folio_queue: Fix minor typo in folio_queue page 2025-08-12 12:40:15 -06:00
genalloc.rst
generic-radix-tree.rst
genericirq.rst irqdomain: Fix kernel-doc and add it to Documentation 2025-05-16 21:06:13 +02:00
gfp_mask-from-fs-io.rst docs: core-api/gfp_mask-from-fs-io: indicate that vmalloc supports GFP_NOFS/GFP_NOIO 2024-11-22 10:42:37 -07:00
idr.rst
index.rst Documentation: Add real-time to core-api 2025-08-21 14:06:08 -06:00
kernel-api.rst It has been a relatively busy cycle for docs, especially the build system: 2025-07-31 08:36:51 -07:00
kobject.rst
kref.rst kref: Improve documentation 2024-12-13 08:49:31 -07:00
librs.rst
list.rst docs: document linked lists 2025-07-17 16:55:53 -06:00
local_ops.rst
maple_tree.rst
memory-allocation.rst
memory-hotplug.rst mm,memory_hotplug: drop status_change_nid parameter from memory_notify 2025-07-13 16:38:17 -07:00
min_heap.rst Documentation/core-api: min_heap: update for variable types change 2025-02-18 13:30:56 -07:00
mm-api.rst mm: remove unused zpool layer 2025-09-21 14:21:59 -07:00
netlink.rst
packing.rst docs: packing: Fix a typo in example code. 2025-06-09 12:29:50 -06:00
padata.rst
parser.rst Documentation: core-api: add generic parser docbook 2024-12-11 09:07:40 -07:00
pin_user_pages.rst
printk-basics.rst
printk-formats.rst Documentation/printf: Use literal fwnode_handle 2025-08-11 11:00:06 -06:00
printk-index.rst
protection-keys.rst
rbtree.rst
refcount-vs-atomic.rst refcount: provide ops for cases when object's memory can be reused 2025-03-16 22:06:19 -07:00
swiotlb.rst
symbol-namespaces.rst module: Rename EXPORT_SYMBOL_GPL_FOR_MODULES to EXPORT_SYMBOL_FOR_MODULES 2025-08-11 16:16:36 +02:00
this_cpu_ops.rst docs: Improve discussion of this_cpu_ptr(), add raw_cpu_ptr() 2025-02-04 21:50:06 -08:00
timekeeping.rst
tracepoint.rst
unaligned-memory-access.rst
union_find.rst
watch_queue.rst
workqueue.rst workqueue: Add new WQ_PERCPU flag 2025-06-17 08:52:09 -10:00
xarray.rst xarray: add xas_try_split() to split a multi-index entry 2025-03-17 22:06:59 -07:00