aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-04-08 12:20:45 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-19 13:19:57 -0400
commit9f9ab46d557c32b9cad49c31d094d659ec3b59c0 (patch)
tree6b9d59110207b0b273c9bfbfca14aa9840bb6ec5
parentd5df63f48a67400a26eba15624aa883897a4f4d1 (diff)
x86: implement mapping_error in pci-nommu_64.c
This patch implements mapping_error for pci-nommu_64.c. It takes care to keep the same compatible behaviour it already had. Although this file is not (yet) used for i386, we introduce the i386 version here. Again, care is taken, even at the expense of an ifdef, to keep the same behaviour inconditionally. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/pci-nommu_64.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/pci-nommu_64.c b/arch/x86/kernel/pci-nommu_64.c
index 90a7c40aa989..a4e8ccfae4cb 100644
--- a/arch/x86/kernel/pci-nommu_64.c
+++ b/arch/x86/kernel/pci-nommu_64.c
@@ -67,9 +67,21 @@ static int nommu_map_sg(struct device *hwdev, struct scatterlist *sg,
67 return nents; 67 return nents;
68} 68}
69 69
70/* Make sure we keep the same behaviour */
71static int nommu_mapping_error(dma_addr_t dma_addr)
72{
73#ifdef CONFIG_X86_32
74 return 0;
75#else
76 return (dma_addr == bad_dma_address);
77#endif
78}
79
80
70const struct dma_mapping_ops nommu_dma_ops = { 81const struct dma_mapping_ops nommu_dma_ops = {
71 .map_single = nommu_map_single, 82 .map_single = nommu_map_single,
72 .map_sg = nommu_map_sg, 83 .map_sg = nommu_map_sg,
84 .mapping_error = nommu_mapping_error,
73 .is_phys = 1, 85 .is_phys = 1,
74}; 86};
75 87