linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Huang Shijie <b32955@freescale.com>
Cc: gregkh@linuxfoundation.org, shawn.guo@linaro.org,
	linux-arm-kernel@lists.infradead.org,
	linux-serial@vger.kernel.org
Subject: Re: [PATCH 2/3] serial: mxs: enable the DMA only when the rts/cts is enabled
Date: Mon, 15 Jul 2013 10:27:16 +0200	[thread overview]
Message-ID: <20130715082716.GM12139@pengutronix.de> (raw)
In-Reply-To: <1373857736-30108-2-git-send-email-b32955@freescale.com>

On Mon, Jul 15, 2013 at 11:08:55AM +0800, Huang Shijie wrote:
> The originall DMA support works only when the rts/cts is enabled.
s/originall/original/. I'd drop "the" and capitalize RTS/CTS.

> But after several patchs, the DMA support has lost this limit.
s/patchs/patches/, s/the //.

do you want to say that the driver fails to only enable DMA when RTS/CTS
are available; or that today the driver can handle DMA just fine even
without RTS/CTS? I interpret your commit log as the latter, your patch
implements the former however.

> This patch adds an optional property for the uart DT node
> which indicates the uart has rts and cts.
which indicates that the UART has RTS and CTS lines.

> This patch also adds the check for rts/cts before we enable the DMA
> for the uart.
> 
> Signed-off-by: Huang Shijie <b32955@freescale.com>
> ---
>  .../bindings/tty/serial/fsl-mxs-auart.txt          |    3 +++
>  drivers/tty/serial/mxs-auart.c                     |    5 ++++-
>  2 files changed, 7 insertions(+), 1 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt b/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt
> index 2c00ec6..ef82002 100644
> --- a/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt
> +++ b/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt
> @@ -10,6 +10,9 @@ Required properties:
>    Refer to dma.txt and fsl-mxs-dma.txt for details.
>  - dma-names: "rx" for RX channel, "tx" for TX channel.
>  
> +Optional properties:
> +- fsl,uart-has-rtscts : Indicate the uart has rts and cts
> +
>  Example:
>  auart0: serial@8006a000 {
>  	compatible = "fsl,imx28-auart", "fsl,imx23-auart";
> diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c
> index 465ef0b..27532fd 100644
> --- a/drivers/tty/serial/mxs-auart.c
> +++ b/drivers/tty/serial/mxs-auart.c
> @@ -134,6 +134,7 @@ enum mxs_auart_type {
>  struct mxs_auart_port {
>  	struct uart_port port;
>  
> +#define MXS_AUART_RTSCTS	1
>  #define MXS_AUART_DMA_ENABLED	0x2
>  #define MXS_AUART_DMA_TX_SYNC	2  /* bit 2 */
>  #define MXS_AUART_DMA_RX_READY	3  /* bit 3 */
> @@ -639,7 +640,7 @@ static void mxs_auart_settermios(struct uart_port *u,
>  		 * we can only implement the DMA support for auart
>  		 * in mx28.
>  		 */
> -		if (is_imx28_auart(s)) {
> +		if (is_imx28_auart(s) && (s->flags & MXS_AUART_RTSCTS)) {
>  			if (!mxs_auart_dma_init(s))
>  				/* enable DMA tranfer */
>  				ctrl2 |= AUART_CTRL2_TXDMAE | AUART_CTRL2_RXDMAE
> @@ -1001,6 +1002,8 @@ static int serial_mxs_probe_dt(struct mxs_auart_port *s,
>  	}
>  	s->port.line = ret;
>  
> +	if (of_get_property(np, "fsl,uart-has-rtscts", NULL))
> +		s->flags |= MXS_AUART_RTSCTS;
>  	return 0;
>  }
>  
> -- 
> 1.7.1
> 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2013-07-15  8:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-15  3:08 [PATCH 1/3] serial: mxs: remove the unused macro Huang Shijie
2013-07-15  3:08 ` [PATCH 2/3] serial: mxs: enable the DMA only when the rts/cts is enabled Huang Shijie
2013-07-15  8:27   ` Uwe Kleine-König [this message]
2013-07-15  8:41     ` Huang Shijie
2013-07-15  9:07       ` Uwe Kleine-König
2013-07-15 10:53         ` Huang Shijie
2013-07-16  7:33           ` Uwe Kleine-König
2013-07-16  8:11             ` Huang Shijie
2013-07-15  3:08 ` [PATCH 3/3] ARM: dts: imx28-evk: add the rts/cts property for auart0 Huang Shijie
2013-07-15  8:20 ` [PATCH 1/3] serial: mxs: remove the unused macro Uwe Kleine-König
2013-07-15  8:30   ` Huang Shijie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130715082716.GM12139@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=b32955@freescale.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=shawn.guo@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).