From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omzsmtpe01.verizonbusiness.com ([199.249.25.210]:36307 "EHLO omzsmtpe01.verizonbusiness.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932116AbdDDTdU (ORCPT ); Tue, 4 Apr 2017 15:33:20 -0400 From: alexander.levin@verizon.com To: "gregkh@linuxfoundation.org" CC: "stable@vger.kernel.org" Subject: [PATCH for 4.9 53/98] serial: 8250_omap: Add OMAP_DMA_TX_KICK quirk for AM437x Date: Tue, 4 Apr 2017 19:32:22 +0000 Message-ID: <20170404193158.19041-54-alexander.levin@verizon.com> References: <20170404193158.19041-1-alexander.levin@verizon.com> In-Reply-To: <20170404193158.19041-1-alexander.levin@verizon.com> Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: From: Vignesh R [ 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 Acked-by: Tony Lindgren Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/tty/serial/8250/8250_omap.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/= 8250_omap.c index 61ad6c3..f4eb807 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) } =20 static const u8 am3352_habit =3D OMAP_DMA_TX_KICK | UART_ERRATA_CLOCK_DISA= BLE; -static const u8 am4372_habit =3D UART_ERRATA_CLOCK_DISABLE; +static const u8 dra742_habit =3D UART_ERRATA_CLOCK_DISABLE; =20 static const struct of_device_id omap8250_dt_ids[] =3D { { .compatible =3D "ti,omap2-uart" }, { .compatible =3D "ti,omap3-uart" }, { .compatible =3D "ti,omap4-uart" }, { .compatible =3D "ti,am3352-uart", .data =3D &am3352_habit, }, - { .compatible =3D "ti,am4372-uart", .data =3D &am4372_habit, }, - { .compatible =3D "ti,dra742-uart", .data =3D &am4372_habit, }, + { .compatible =3D "ti,am4372-uart", .data =3D &am3352_habit, }, + { .compatible =3D "ti,dra742-uart", .data =3D &dra742_habit, }, {}, }; MODULE_DEVICE_TABLE(of, omap8250_dt_ids); @@ -1218,9 +1218,6 @@ static int omap8250_probe(struct platform_device *pde= v) priv->omap8250_dma.rx_size =3D RX_TRIGGER; priv->omap8250_dma.rxconf.src_maxburst =3D RX_TRIGGER; priv->omap8250_dma.txconf.dst_maxburst =3D TX_TRIGGER; - - if (of_machine_is_compatible("ti,am33xx")) - priv->habit |=3D OMAP_DMA_TX_KICK; /* * pause is currently not supported atleast on omap-sdma * and edma on most earlier kernels. --=20 2.9.3