summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAlexis Bruemmer2008-07-26 04:44:51 +0200
committerLinus Torvalds2008-07-26 21:00:03 +0200
commit1956a96de488feb05e95c08c9d5e80f63a4be2b1 (patch)
treefd361f464386607e3d753e062ae7956e94c022e3 /include
parentdma-mapping: add the device argument to dma_mapping_error() (diff)
downloadkernel-qcow2-linux-1956a96de488feb05e95c08c9d5e80f63a4be2b1.tar.gz
kernel-qcow2-linux-1956a96de488feb05e95c08c9d5e80f63a4be2b1.tar.xz
kernel-qcow2-linux-1956a96de488feb05e95c08c9d5e80f63a4be2b1.zip
x86 calgary: fix handling of devices that aren't behind the Calgary
The calgary code can give drivers addresses above 4GB which is very bad for hardware that is only 32bit DMA addressable. With this patch, the calgary code sets the global dma_ops to swiotlb or nommu properly, and the dma_ops of devices behind the Calgary/CalIOC2 to calgary_dma_ops. So the calgary code can handle devices safely that aren't behind the Calgary/CalIOC2. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexis Bruemmer <alexisb@us.ibm.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Muli Ben-Yehuda <muli@il.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/iommu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asm-x86/iommu.h b/include/asm-x86/iommu.h
index d63166fb3ab7..ecc8061904a9 100644
--- a/include/asm-x86/iommu.h
+++ b/include/asm-x86/iommu.h
@@ -3,6 +3,7 @@
extern void pci_iommu_shutdown(void);
extern void no_iommu_init(void);
+extern struct dma_mapping_ops nommu_dma_ops;
extern int force_iommu, no_iommu;
extern int iommu_detected;