Commit a8b26e1a authored by Ray Jui's avatar Ray Jui Committed by Greg Kroah-Hartman

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: default avatarRay Jui <rjui@broadcom.com>
Reviewed-by: default avatarJD (Jiandong) Zheng <jdzheng@broadcom.com>
Reviewed-by: default avatarScott Branden <sbranden@broadcom.com>
Tested-by: default avatarScott Branden <sbranden@broadcom.com>
Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 10263f65
...@@ -290,6 +290,14 @@ static int dw8250_probe_of(struct uart_port *p, ...@@ -290,6 +290,14 @@ static int dw8250_probe_of(struct uart_port *p,
if (has_ucv) if (has_ucv)
dw8250_setup_port(up); dw8250_setup_port(up);
/* if we have a valid fifosize, try hooking up DMA here */
if (p->fifosize) {
up->dma = &data->dma;
up->dma->rxconf.src_maxburst = p->fifosize / 4;
up->dma->txconf.dst_maxburst = p->fifosize / 4;
}
if (!of_property_read_u32(np, "reg-shift", &val)) if (!of_property_read_u32(np, "reg-shift", &val))
p->regshift = val; p->regshift = val;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment