Skip to content

Remove DMA .map_page and .unmap_page callbacks

Leon Romanovsky linux-alpha linux-iommu linux-mips linux-parisc linuxppc-dev lkml sparclinux virtualization xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 24 repliesIn review

Changes in v1 from the cover letter

* Fixed wrong offset in alpha conversion patch.
v0: https://lore.kernel.org/all/[email protected]

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9alpha: Convert mapping routine to rely on physical addressarch/alpha/kernel/pci_iommu.c+21 -272 replies
2/9MIPS/jazzdma: Provide physical address directlyarch/mips/jazz/jazzdma.c+13 -71 reply
3/9parisc: Convert DMA map_page to map_phys interfacedrivers/parisc/ccio-dma.c drivers/parisc/sba_iommu.c+25 -239 replies
4/9powerpc: Convert to physical address DMA mappingarch/powerpc/include/asm/iommu.h arch/powerpc/kernel/dma-iommu.c arch/powerpc/kernel/iommu.c +3 more+60 -533 replies
5/9sparc64: Use physical address DMA mappingarch/sparc/kernel/iommu.c arch/sparc/kernel/pci_sun4v.c arch/sparc/mm/io-unit.c +1 more+48 -431 reply
6/9x86: Use physical address for DMA mappingarch/x86/kernel/amd_gart_64.c+10 -91 reply
7/9vdpa: Convert to physical address DMA mappingdrivers/vdpa/vdpa_user/iova_domain.c drivers/vdpa/vdpa_user/iova_domain.h drivers/vdpa/vdpa_user/vduse_dev.c+19 -181 reply
8/9xen: swiotlb: Convert mapping routine to rely on physical addressdrivers/xen/grant-dma-ops.c+12 -81 reply
9/9dma-mapping: remove unused map_page callbackinclude/linux/dma-map-ops.h kernel/dma/mapping.c kernel/dma/ops_helpers.c+1 -265 replies

Reviews trailers per patch

8 of 9 patches have a Reviewed-by or Acked-by.

PatchMagnus LindholmJason Gunthorpe
1/9T-b R-b
2/9R-b
3/9R-b
4/9R-b
5/9
6/9R-b
7/9R-b
8/9R-b
9/9R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH v1 0/9] Remove DMA .map_page and .unmap_page callbacks

Changelog:
v1:
* Fixed wrong offset in alpha conversion patch.
v0: https://lore.kernel.org/all/[email protected]

Hi,

This series continues following two series:
1. "dma-mapping: migrate to physical address-based API"
https://lore.kernel.org/all/[email protected]
2. "Preparation to .map_page and .unmap_page removal" Preparation to .map_page and .unmap_page removal

In this series, the DMA .map_page/.unmap_page callbacks are converted to newly introduced .map_phys/.unmap_phys interfaces. This conversion allows us to reduce or eliminate (for certain ARCHs) use of struct pages in DMA path.

Thanks

Leon Romanovsky (9):
alpha: Convert mapping routine to rely on physical address MIPS/jazzdma: Provide physical address directly
parisc: Convert DMA map_page to map_phys interface
powerpc: Convert to physical address DMA mapping
sparc64: Use physical address DMA mapping
x86: Use physical address for DMA mapping
vdpa: Convert to physical address DMA mapping
xen: swiotlb: Convert mapping routine to rely on physical address
dma-mapping: remove unused map_page callback

 arch/alpha/kernel/pci_iommu.c            | 48 +++++++++++-------------
 arch/mips/jazz/jazzdma.c                 | 20 ++++++----
 arch/powerpc/include/asm/iommu.h         |  8 ++--
 arch/powerpc/kernel/dma-iommu.c          | 22 +++++------
 arch/powerpc/kernel/iommu.c              | 14 +++----
 arch/powerpc/platforms/ps3/system-bus.c  | 33 +++++++++-------
 arch/powerpc/platforms/pseries/ibmebus.c | 15 ++++----
 arch/powerpc/platforms/pseries/vio.c     | 21 ++++++-----
 arch/sparc/kernel/iommu.c                | 16 ++++----
 arch/sparc/kernel/pci_sun4v.c            | 16 ++++----
 arch/sparc/mm/io-unit.c                  | 13 +++----
 arch/sparc/mm/iommu.c                    | 46 ++++++++++++-----------
 arch/x86/kernel/amd_gart_64.c            | 19 +++++-----
 drivers/parisc/ccio-dma.c                | 25 ++++++------
 drivers/parisc/sba_iommu.c               | 23 ++++++------
 drivers/vdpa/vdpa_user/iova_domain.c     | 11 +++---
 drivers/vdpa/vdpa_user/iova_domain.h     |  8 ++--
 drivers/vdpa/vdpa_user/vduse_dev.c       | 18 +++++----
 drivers/xen/grant-dma-ops.c              | 20 ++++++----
 include/linux/dma-map-ops.h              |  7 ----
 kernel/dma/mapping.c                     | 12 ------
 kernel/dma/ops_helpers.c                 |  8 +---
 22 files changed, 209 insertions(+), 214 deletions(-)
Signature · 1 line
2.51.0