Patchwork [3/6,V3] sparc/leon: Add LEON dma_ops.

login
register
mail settings
Submitter Kristoffer Glembo
Date Jan. 18, 2011, 2:10 p.m.
Message ID <1295359829-27308-4-git-send-email-kristoffer@gaisler.com>
Download mbox | patch
Permalink /patch/79302/
State Accepted
Delegated to: David Miller
Headers show

Comments

Kristoffer Glembo - Jan. 18, 2011, 2:10 p.m.
This patch sets the dma_ops structure for LEON. It reuses the pci32_dma_ops.

Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
---
 arch/sparc/kernel/ioport.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
Sam Ravnborg - Jan. 18, 2011, 7:38 p.m.
On Tue, Jan 18, 2011 at 03:10:26PM +0100, Kristoffer Glembo wrote:
> This patch sets the dma_ops structure for LEON. It reuses the pci32_dma_ops.
> 
> Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Jan. 22, 2011, 12:51 a.m.
From: Sam Ravnborg <sam@ravnborg.org>
Date: Tue, 18 Jan 2011 20:38:55 +0100

> On Tue, Jan 18, 2011 at 03:10:26PM +0100, Kristoffer Glembo wrote:
>> This patch sets the dma_ops structure for LEON. It reuses the pci32_dma_ops.
>> 
>> Signed-off-by: Kristoffer Glembo <kristoffer@gaisler.com>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index 1b9f07c..b817481 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -409,9 +409,6 @@  struct dma_map_ops sbus_dma_ops = {
 	.sync_sg_for_device	= sbus_sync_sg_for_device,
 };
 
-struct dma_map_ops *dma_ops = &sbus_dma_ops;
-EXPORT_SYMBOL(dma_ops);
-
 static int __init sparc_register_ioport(void)
 {
 	register_proc_sparc_ioport();
@@ -423,7 +420,9 @@  arch_initcall(sparc_register_ioport);
 
 #endif /* CONFIG_SBUS */
 
-#ifdef CONFIG_PCI
+
+/* LEON reuses PCI DMA ops */
+#if defined(CONFIG_PCI) || defined(CONFIG_SPARC_LEON)
 
 /* Allocate and map kernel buffer using consistent mode DMA for a device.
  * hwdev should be valid struct pci_dev pointer for PCI devices.
@@ -663,7 +662,16 @@  struct dma_map_ops pci32_dma_ops = {
 };
 EXPORT_SYMBOL(pci32_dma_ops);
 
-#endif /* CONFIG_PCI */
+#endif /* CONFIG_PCI || CONFIG_SPARC_LEON */
+
+#ifdef CONFIG_SPARC_LEON
+struct dma_map_ops *dma_ops = &pci32_dma_ops;
+#elif defined(CONFIG_SBUS)
+struct dma_map_ops *dma_ops = &sbus_dma_ops;
+#endif
+
+EXPORT_SYMBOL(dma_ops);
+
 
 /*
  * Return whether the given PCI device DMA address mask can be