[PATCH 0/3] unifying ways to handle multiple sets of dma mapping ops

From: FUJITA Tomonori
Date: Mon Jan 05 2009 - 09:59:57 EST


This patchset is the final (third) part of the unification of ways to
handle multiple sets of dma mapping API. The whole work consists of
three patchset. This depends on IA64 and X86 preparation patchset:

The patchset for IA64:

http://marc.info/?l=linux-kernel&m=123116676006794&w=2

The patchset for X86:

http://marc.info/?l=linux-kernel&m=123116708307468&w=2

This adds struct dma_map_ops include/linux/dma-mapping.h and coverts
IA64 and X86 to use it (and removes lots of duplication and
workarounds). I use 'dma_map_ops' name instead dma_mapping_ops to just
avoid breaking POWER build. I have no preference.

The second patch converts IA64 and X86 to use struct dma_map_ops.
It's a bit large but pretty boring. The major change for X86 is
converting 'int dir' to 'enum dma_data_direction dir' in DMA mapping
operations. The major changes for IA64 is using map_page and
unmap_page instead of map_single and unmap_single.

=
arch/ia64/dig/Makefile | 4 +-
arch/ia64/dig/dig_vtd_iommu.c | 59 --------
arch/ia64/hp/common/hwsw_iommu.c | 165 ++--------------------
arch/ia64/hp/common/sba_iommu.c | 79 ++++++++---
arch/ia64/include/asm/dma-mapping.h | 189 ++++++++++++++-----------
arch/ia64/include/asm/machvec.h | 107 ++------------
arch/ia64/include/asm/machvec_dig_vtd.h | 20 ---
arch/ia64/include/asm/machvec_hpzx1.h | 23 +---
arch/ia64/include/asm/machvec_hpzx1_swiotlb.h | 27 +----
arch/ia64/include/asm/machvec_sn2.h | 27 +----
arch/ia64/kernel/Makefile | 4 +-
arch/ia64/kernel/dma-mapping.c | 10 ++
arch/ia64/kernel/machvec.c | 8 +-
arch/ia64/kernel/pci-dma.c | 52 ++++---
arch/ia64/kernel/pci-swiotlb.c | 23 ++-
arch/ia64/sn/pci/pci_dma.c | 99 +++++++------
arch/x86/include/asm/device.h | 2 +-
arch/x86/include/asm/dma-mapping.h | 149 ++++++++------------
arch/x86/include/asm/iommu.h | 2 +-
arch/x86/kernel/amd_iommu.c | 24 ++--
arch/x86/kernel/pci-calgary_64.c | 38 +++---
arch/x86/kernel/pci-dma.c | 4 +-
arch/x86/kernel/pci-gart_64.c | 34 +++--
arch/x86/kernel/pci-nommu.c | 21 ++--
arch/x86/kernel/pci-swiotlb_64.c | 17 +--
drivers/pci/intel-iommu.c | 31 +++-
include/linux/dma-mapping.h | 48 +++++++
include/linux/intel-iommu.h | 6 +-
include/linux/swiotlb.h | 39 +++---
lib/swiotlb.c | 66 ++++-----
30 files changed, 569 insertions(+), 808 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/