diff options
author | Helge Deller <deller@parisc-linux.org> | 2006-03-27 12:52:15 -0700 |
---|---|---|
committer | Kyle McMartin <kyle@hera.kernel.org> | 2006-03-30 17:48:42 +0000 |
commit | 5076c15862644edb91d2e3436b2fa3e07b28385d (patch) | |
tree | 179750a6a7649c8cf233509c26da144764894ded /drivers/serial | |
parent | 94c3e87a792c70d041954b0ef68ebd22368d0931 (diff) | |
download | op-kernel-dev-5076c15862644edb91d2e3436b2fa3e07b28385d.zip op-kernel-dev-5076c15862644edb91d2e3436b2fa3e07b28385d.tar.gz |
[PARISC] I/O-Space must be ioremap_nocache()'d
Addresses in F-space must be accessed uncached on most parisc machines.
Signed-off-by: Helge Deller <deller@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250_gsc.c | 15 | ||||
-rw-r--r-- | drivers/serial/mux.c | 4 |
2 files changed, 10 insertions, 9 deletions
diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c index 8b49479..913c71c 100644 --- a/drivers/serial/8250_gsc.c +++ b/drivers/serial/8250_gsc.c @@ -52,13 +52,14 @@ serial_init_chip(struct parisc_device *dev) address += 0x800; } - memset(&port, 0, sizeof(struct uart_port)); - port.mapbase = address; - port.irq = dev->irq; - port.iotype = UPIO_MEM; - port.flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF; - port.uartclk = LASI_BASE_BAUD * 16; - port.dev = &dev->dev; + memset(&port, 0, sizeof(port)); + port.iotype = UPIO_MEM; + port.uartclk = LASI_BASE_BAUD * 16; + port.mapbase = address; + port.membase = ioremap_nocache(address, 16); + port.irq = dev->irq; + port.flags = UPF_BOOT_AUTOCONF; + port.dev = &dev->dev; err = serial8250_register_port(&port); if (err < 0) { diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c index 868eaf4..64c0e89 100644 --- a/drivers/serial/mux.c +++ b/drivers/serial/mux.c @@ -51,7 +51,7 @@ #define MUX_BREAK(status) ((status & 0xF000) == 0x2000) #define MUX_NR 256 -static unsigned int port_cnt = 0; +static unsigned int port_cnt __read_mostly; static struct uart_port mux_ports[MUX_NR]; static struct uart_driver mux_driver = { @@ -461,7 +461,7 @@ static int __init mux_probe(struct parisc_device *dev) port->iobase = 0; port->mapbase = dev->hpa.start + MUX_OFFSET + (i * MUX_LINE_OFFSET); - port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET); + port->membase = ioremap_nocache(port->mapbase, MUX_LINE_OFFSET); port->iotype = UPIO_MEM; port->type = PORT_MUX; port->irq = NO_IRQ; |