aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay Jui <rjui@broadcom.com>2014-10-07 20:35:47 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-05 22:24:07 -0500
commita8b26e1af94825296f29eee6bfc001c5543d3c7e (patch)
treec52a4952234096d27ff71ac360fb303c97462ecb
parent10263f656a23e303d9d2ae1336ea6ff83f0714ef (diff)
serial: 8250_dw: Add DMA support for non-ACPI platforms
The dma pointer under struct uart_8250_port is currently left unassigned for non-ACPI platforms. It should be pointing to the dma member in struct dw8250_data like how it was done for ACPI, so the core 8250 code will try to request for DMA when registering the port If DMA is not enabled in device tree, request DMA will fail and the driver will fall back to PIO Signed-off-by: Ray Jui <rjui@broadcom.com> Reviewed-by: JD (Jiandong) Zheng <jdzheng@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Tested-by: Scott Branden <sbranden@broadcom.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/8250/8250_dw.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index beea6ca73ee5..73a14ae8f0ae 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -290,6 +290,14 @@ static int dw8250_probe_of(struct uart_port *p,
290 if (has_ucv) 290 if (has_ucv)
291 dw8250_setup_port(up); 291 dw8250_setup_port(up);
292 292
293 /* if we have a valid fifosize, try hooking up DMA here */
294 if (p->fifosize) {
295 up->dma = &data->dma;
296
297 up->dma->rxconf.src_maxburst = p->fifosize / 4;
298 up->dma->txconf.dst_maxburst = p->fifosize / 4;
299 }
300
293 if (!of_property_read_u32(np, "reg-shift", &val)) 301 if (!of_property_read_u32(np, "reg-shift", &val))
294 p->regshift = val; 302 p->regshift = val;
295 303