linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc: Add DMA mask to MPSC serial and network and UART device to serial
@ 2010-01-30  0:04 Corey Minyard
  2010-02-01  4:58 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 5+ messages in thread
From: Corey Minyard @ 2010-01-30  0:04 UTC (permalink / raw)
  To: linuxppc-dev

From: Corey Minyard <cminyard@mvista.com>

The MPSC drivers that use DMA need to set coherent_dma_mask to allow
dma_alloc_xxx routines to work properly.  Also, the mpsc serial driver
needed to set pi->port.dev to register properly.  With these fixes,
the MPSC drivers seem to work again.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
---
I'm not really sure about where to set the coherent_dma_mask, it seems
like a more general place would be better but I couldn't find it.

Without these, the console stops working after the switchover and
the network driver fails to allocate buffers.  With these, my board
boots up and works fine.

Index: linux-2.6.31/drivers/serial/mpsc.c
===================================================================
--- linux-2.6.31.orig/drivers/serial/mpsc.c
+++ linux-2.6.31/drivers/serial/mpsc.c
@@ -2071,6 +2071,9 @@ static int mpsc_drv_probe(struct platfor
 		if (!(rc = mpsc_drv_map_regs(pi, dev))) {
 			mpsc_drv_get_platform_data(pi, dev, dev->id);
 
+			dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
+			pi->port.dev = &dev->dev;
+
 			if (!(rc = mpsc_make_ready(pi))) {
 				spin_lock_init(&pi->tx_lock);
 				if (!(rc = uart_add_one_port(&mpsc_reg,
Index: linux-2.6.31/drivers/net/mv643xx_eth.c
===================================================================
--- linux-2.6.31.orig/drivers/net/mv643xx_eth.c
+++ linux-2.6.31/drivers/net/mv643xx_eth.c
@@ -2916,7 +2916,7 @@ static int mv643xx_eth_probe(struct plat
 	mp->shared = platform_get_drvdata(pd->shared);
 	mp->base = mp->shared->base + 0x0400 + (pd->port_number << 10);
 	mp->port_num = pd->port_number;
-
+	pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
 	mp->dev = dev;
 
 	set_params(mp, pd);

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-02-02  7:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-30  0:04 [PATCH] powerpc: Add DMA mask to MPSC serial and network and UART device to serial Corey Minyard
2010-02-01  4:58 ` Benjamin Herrenschmidt
2010-02-01 18:00   ` Corey Minyard
2010-02-02  7:38     ` Benjamin Herrenschmidt
2010-02-01 19:36   ` [PATCH] powerpc: Add coherent_dma_mask setting to platform devices Corey Minyard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).