summaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-03-27 12:52:15 -0700
committerKyle McMartin <kyle@hera.kernel.org>2006-03-30 17:48:42 +0000
commit5076c15862644edb91d2e3436b2fa3e07b28385d (patch)
tree179750a6a7649c8cf233509c26da144764894ded /drivers/serial
parent94c3e87a792c70d041954b0ef68ebd22368d0931 (diff)
downloadop-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.c15
-rw-r--r--drivers/serial/mux.c4
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;
OpenPOWER on IntegriCloud