aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVignesh R <vigneshr@ti.com>2017-04-04 15:32:22 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-12 06:41:19 -0400
commit80b0d7e623d10d4bc9bad2a35d6ce18e08454b3d (patch)
tree70e8b657919b5f75b47e4d4b54689b2e96a2d3a1 /drivers
parent6b8deb1082730c867c44b59cb00a8320189d1f4b (diff)
serial: 8250_omap: Add OMAP_DMA_TX_KICK quirk for AM437x
[ Upstream commit b6ffcf21082300519bc4f9c3d24f61207cc9eae4 ] 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: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/tty/serial/8250/8250_omap.c9
1 files changed, 3 insertions, 6 deletions
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)
1075} 1075}
1076 1076
1077static const u8 am3352_habit = OMAP_DMA_TX_KICK | UART_ERRATA_CLOCK_DISABLE; 1077static const u8 am3352_habit = OMAP_DMA_TX_KICK | UART_ERRATA_CLOCK_DISABLE;
1078static const u8 am4372_habit = UART_ERRATA_CLOCK_DISABLE; 1078static const u8 dra742_habit = UART_ERRATA_CLOCK_DISABLE;
1079 1079
1080static const struct of_device_id omap8250_dt_ids[] = { 1080static const struct of_device_id omap8250_dt_ids[] = {
1081 { .compatible = "ti,omap2-uart" }, 1081 { .compatible = "ti,omap2-uart" },
1082 { .compatible = "ti,omap3-uart" }, 1082 { .compatible = "ti,omap3-uart" },
1083 { .compatible = "ti,omap4-uart" }, 1083 { .compatible = "ti,omap4-uart" },
1084 { .compatible = "ti,am3352-uart", .data = &am3352_habit, }, 1084 { .compatible = "ti,am3352-uart", .data = &am3352_habit, },
1085 { .compatible = "ti,am4372-uart", .data = &am4372_habit, }, 1085 { .compatible = "ti,am4372-uart", .data = &am3352_habit, },
1086 { .compatible = "ti,dra742-uart", .data = &am4372_habit, }, 1086 { .compatible = "ti,dra742-uart", .data = &dra742_habit, },
1087 {}, 1087 {},
1088}; 1088};
1089MODULE_DEVICE_TABLE(of, omap8250_dt_ids); 1089MODULE_DEVICE_TABLE(of, omap8250_dt_ids);
@@ -1218,9 +1218,6 @@ static int omap8250_probe(struct platform_device *pdev)
1218 priv->omap8250_dma.rx_size = RX_TRIGGER; 1218 priv->omap8250_dma.rx_size = RX_TRIGGER;
1219 priv->omap8250_dma.rxconf.src_maxburst = RX_TRIGGER; 1219 priv->omap8250_dma.rxconf.src_maxburst = RX_TRIGGER;
1220 priv->omap8250_dma.txconf.dst_maxburst = TX_TRIGGER; 1220 priv->omap8250_dma.txconf.dst_maxburst = TX_TRIGGER;
1221
1222 if (of_machine_is_compatible("ti,am33xx"))
1223 priv->habit |= OMAP_DMA_TX_KICK;
1224 /* 1221 /*
1225 * pause is currently not supported atleast on omap-sdma 1222 * pause is currently not supported atleast on omap-sdma
1226 * and edma on most earlier kernels. 1223 * and edma on most earlier kernels.