lkml.org 
[lkml]   [2009]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/3] unifying ways to handle multiple sets of dma mapping ops
Date
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(-)





\
 
 \ /
  Last update: 2009-01-05 16:03    [W:0.060 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site