summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-01-05 15:36:07 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-06 14:06:47 +0100
commit0e9cbb9ba874f9466faf82931465f00ebe4bb18c (patch)
treee83466bc61be53da291b2499ae2d7d0a99ec9316 /arch
parentadd map/unmap_single_attr and map/unmap_sg_attr to struct dma_mapping_ops (diff)
downloadlinux-0e9cbb9ba874f9466faf82931465f00ebe4bb18c.tar.xz
linux-0e9cbb9ba874f9466faf82931465f00ebe4bb18c.zip
add dma_mapping_ops for SBA IOMMU
This is for IA64_HP_ZX1. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/hp/common/sba_iommu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index d98f0f4ff83f..655b9a17db93 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -36,6 +36,7 @@
#include <linux/bitops.h> /* hweight64() */
#include <linux/crash_dump.h>
#include <linux/iommu-helper.h>
+#include <linux/dma-mapping.h>
#include <asm/delay.h> /* ia64_get_itc() */
#include <asm/io.h>
@@ -2180,3 +2181,18 @@ EXPORT_SYMBOL(sba_dma_mapping_error);
EXPORT_SYMBOL(sba_dma_supported);
EXPORT_SYMBOL(sba_alloc_coherent);
EXPORT_SYMBOL(sba_free_coherent);
+
+struct dma_mapping_ops sba_dma_ops = {
+ .alloc_coherent = sba_alloc_coherent,
+ .free_coherent = sba_free_coherent,
+ .map_single_attrs = sba_map_single_attrs,
+ .unmap_single_attrs = sba_unmap_single_attrs,
+ .map_sg_attrs = sba_map_sg_attrs,
+ .unmap_sg_attrs = sba_unmap_sg_attrs,
+ .sync_single_for_cpu = machvec_dma_sync_single,
+ .sync_sg_for_cpu = machvec_dma_sync_sg,
+ .sync_single_for_device = machvec_dma_sync_single,
+ .sync_sg_for_device = machvec_dma_sync_sg,
+ .dma_supported_op = sba_dma_supported,
+ .mapping_error = sba_dma_mapping_error,
+};