[PATCH 3/9] x86/iommu: change PCI-NOMMU to use dma_ops register interface

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Joerg Roedel
Date: Monday, September 22, 2008 - 11:21 am

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
 arch/x86/kernel/pci-nommu.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c
index 1c1c98a..0cbecb9 100644
--- a/arch/x86/kernel/pci-nommu.c
+++ b/arch/x86/kernel/pci-nommu.c
@@ -115,16 +115,28 @@ static void nommu_free_coherent(struct device *dev, size_t size, void *vaddr,
 	free_pages((unsigned long)vaddr, get_order(size));
 }
 
+static int nommu_device_supported(struct device *dev)
+{
+	return 1;
+}
+
 struct dma_mapping_ops nommu_dma_ops = {
 	.alloc_coherent = nommu_alloc_coherent,
 	.free_coherent = nommu_free_coherent,
 	.map_single = nommu_map_single,
 	.map_sg = nommu_map_sg,
+	.device_supported = nommu_device_supported,
 	.is_phys = 1,
 };
 
 void __init no_iommu_init(void)
 {
+	/*
+	 * we always want nommu to be the last fallback if no
+	 * other dma_ops implementation feels responsible
+	 */
+	x86_register_dma_ops(&nommu_dma_ops, DMA_OPS_TYPE_SOFT);
+
 	if (dma_ops)
 		return;
 
-- 
1.5.6.4


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/9][RFC] stackable dma_ops for x86, Joerg Roedel, (Mon Sep 22, 11:21 am)
[PATCH 3/9] x86/iommu: change PCI-NOMMU to use dma_ops reg ..., Joerg Roedel, (Mon Sep 22, 11:21 am)
[PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Joerg Roedel, (Mon Sep 22, 11:21 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Arjan van de Ven, (Mon Sep 22, 11:36 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Joerg Roedel, (Mon Sep 22, 11:39 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Jeremy Fitzhardinge, (Mon Sep 22, 7:41 pm)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Arjan van de Ven, (Mon Sep 22, 7:50 pm)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Muli Ben-Yehuda, (Fri Sep 26, 5:13 pm)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, FUJITA Tomonori, (Sun Sep 28, 7:21 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, FUJITA Tomonori, (Sun Sep 28, 7:21 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Joerg Roedel, (Sun Sep 28, 11:49 am)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Muli Ben-Yehuda, (Mon Sep 29, 2:25 am)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Muli Ben-Yehuda, (Mon Sep 29, 2:30 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, FUJITA Tomonori, (Mon Sep 29, 6:16 am)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, FUJITA Tomonori, (Mon Sep 29, 6:16 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Joerg Roedel, (Mon Sep 29, 6:26 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, FUJITA Tomonori, (Mon Sep 29, 6:42 am)
Re: [PATCH 0/9][RFC] stackable dma_ops for x86, Joerg Roedel, (Mon Sep 29, 6:51 am)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Muli Ben-Yehuda, (Tue Sep 30, 12:44 pm)
Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops, Muli Ben-Yehuda, (Fri Oct 3, 1:38 am)