[PATCH] cpm_uart: use DPRAM for early console
authorMarcelo Tosatti <marcelo.tosatti@cyclades.com>
Wed, 27 Jul 2005 18:46:01 +0000 (11:46 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 27 Jul 2005 23:26:18 +0000 (16:26 -0700)
m8xx_cpm_hostalloc() can't rely on using the coherent DMA allocator early
on boot because the VM is not fully up yet.  Change it to use the on-board
DPRAM instead.

The current code relies on the "bootmem_page" allocated by
m8xx_cpm_reset(), which must be killed.

This is done in v2.4 but has never been forward ported to v2.6.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Pantelis Antoniou <panto@intracom.gr>
Cc: Kumar Gala <kumar.gala@freescale.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/serial/cpm_uart/cpm_uart_cpm1.c

index 7911912..8efbd6d 100644 (file)
@@ -185,7 +185,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con)
        memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) +
            L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize);
        if (is_con) {
-               mem_addr = (u8 *) m8xx_cpm_hostalloc(memsz);
+               mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8));
                dma_addr = 0;
        } else
                mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr,