| From 44d3c12d8213d59802a7128dab27af174ed09f01 Mon Sep 17 00:00:00 2001 |
| From: Vignesh R <vigneshr@ti.com> |
| Date: Fri, 20 Jan 2017 13:46:53 +0530 |
| Subject: [PATCH] serial: 8250_omap: Add OMAP_DMA_TX_KICK quirk for AM437x |
| |
| commit b6ffcf21082300519bc4f9c3d24f61207cc9eae4 upstream. |
| |
| UART uses as EDMA as dma engine on AM437x SoC and therefore, requires |
| OMAP_DMA_TX_KICK quirk just like AM33xx. So, enable OMAP_DMA_TX_KICK |
| quirk for AM437x platform as well. While at that, drop use of |
| of_machine_is_compatible() and instead pass quirks via device data. |
| |
| Signed-off-by: Vignesh R <vigneshr@ti.com> |
| Acked-by: Tony Lindgren <tony@atomide.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c |
| index 61ad6c3b20a0..f4eb807a2616 100644 |
| --- a/drivers/tty/serial/8250/8250_omap.c |
| +++ b/drivers/tty/serial/8250/8250_omap.c |
| @@ -1075,15 +1075,15 @@ static int omap8250_no_handle_irq(struct uart_port *port) |
| } |
| |
| static const u8 am3352_habit = OMAP_DMA_TX_KICK | UART_ERRATA_CLOCK_DISABLE; |
| -static const u8 am4372_habit = UART_ERRATA_CLOCK_DISABLE; |
| +static const u8 dra742_habit = UART_ERRATA_CLOCK_DISABLE; |
| |
| static const struct of_device_id omap8250_dt_ids[] = { |
| { .compatible = "ti,omap2-uart" }, |
| { .compatible = "ti,omap3-uart" }, |
| { .compatible = "ti,omap4-uart" }, |
| { .compatible = "ti,am3352-uart", .data = &am3352_habit, }, |
| - { .compatible = "ti,am4372-uart", .data = &am4372_habit, }, |
| - { .compatible = "ti,dra742-uart", .data = &am4372_habit, }, |
| + { .compatible = "ti,am4372-uart", .data = &am3352_habit, }, |
| + { .compatible = "ti,dra742-uart", .data = &dra742_habit, }, |
| {}, |
| }; |
| MODULE_DEVICE_TABLE(of, omap8250_dt_ids); |
| @@ -1218,9 +1218,6 @@ static int omap8250_probe(struct platform_device *pdev) |
| priv->omap8250_dma.rx_size = RX_TRIGGER; |
| priv->omap8250_dma.rxconf.src_maxburst = RX_TRIGGER; |
| priv->omap8250_dma.txconf.dst_maxburst = TX_TRIGGER; |
| - |
| - if (of_machine_is_compatible("ti,am33xx")) |
| - priv->habit |= OMAP_DMA_TX_KICK; |
| /* |
| * pause is currently not supported atleast on omap-sdma |
| * and edma on most earlier kernels. |
| -- |
| 2.12.0 |
| |