All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>, Magnus Damm <magnus.damm@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-serial@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: Re: [PATCH/RFC 5/5] serial: sh-sci: Replace SCIx_HAVE_RTSCTS by standard UPF_HARD_FLOW
Date: Fri, 18 Mar 2016 19:07:59 +0000	[thread overview]
Message-ID: <56EC520F.5010101@hurleysoftware.com> (raw)
In-Reply-To: <1458222449-12324-6-git-send-email-geert+renesas@glider.be>

Hi Geert,

On 03/17/2016 06:47 AM, Geert Uytterhoeven wrote:
> Replace the custom SCIx_HAVE_RTSCTS flag in the
> plat_sci_port.capabilities field by the standard UPF_HARD_FLOW flag in
> the uart_port.flags and plat_sci_port.flags fields.
> Remove the now unused plat_sci_port.capabilities field.
> Legacy pllatform data can enable UPF_HARD_FLOW in plat_sci_port.flags.

UPF_HARD_FLOW is really for indicating the h/w supports automatic
CTS and RTS signalling; ie., RTS is automatically de-asserted when
rx fifo reaches some threshold and CTS will automatically prevent
tx fifo output.

There is no serial core flag for indicating the h/w supports (or does not)
RTS and/or CTS signalling.

Regards,
Peter Hurley

> Note that currently nothing sets the SCIx_HAVE_RTSCTS flag.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  drivers/tty/serial/sh-sci.c | 4 ++--
>  include/linux/serial_sci.h  | 6 ------
>  2 files changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index 6897100ed5197df3..51b436e2334c3efc 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -720,7 +720,7 @@ static void sci_init_pins(struct uart_port *port, unsigned int cflag)
>  	if (!reg->size)
>  		return;
>  
> -	if ((s->cfg->capabilities & SCIx_HAVE_RTSCTS) &&
> +	if ((port->flags & UPF_HARD_FLOW) &&
>  	    ((!(cflag & CRTSCTS)))) {
>  		unsigned short status;
>  
> @@ -2247,7 +2247,7 @@ done:
>  	if (reg->size) {
>  		unsigned short ctrl = serial_port_in(port, SCFCR);
>  
> -		if (s->cfg->capabilities & SCIx_HAVE_RTSCTS) {
> +		if (port->flags & UPF_HARD_FLOW) {
>  			if (termios->c_cflag & CRTSCTS)
>  				ctrl |= SCFCR_MCE;
>  			else
> diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h
> index 9f2bfd0557429ac3..95640ee68462190f 100644
> --- a/include/linux/serial_sci.h
> +++ b/include/linux/serial_sci.h
> @@ -48,17 +48,11 @@ struct plat_sci_port_ops {
>  };
>  
>  /*
> - * Port-specific capabilities
> - */
> -#define SCIx_HAVE_RTSCTS	BIT(0)
> -
> -/*
>   * Platform device specific platform_data struct
>   */
>  struct plat_sci_port {
>  	unsigned int	type;			/* SCI / SCIF / IRDA / HSCIF */
>  	upf_t		flags;			/* UPF_* flags */
> -	unsigned long	capabilities;		/* Port features/capabilities */
>  
>  	unsigned int	sampling_rate;
>  	unsigned int	scscr;			/* SCSCR initialization */
> 


WARNING: multiple messages have this Message-ID (diff)
From: Peter Hurley <peter@hurleysoftware.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>, Magnus Damm <magnus.damm@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-serial@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: Re: [PATCH/RFC 5/5] serial: sh-sci: Replace SCIx_HAVE_RTSCTS by standard UPF_HARD_FLOW
Date: Fri, 18 Mar 2016 12:07:59 -0700	[thread overview]
Message-ID: <56EC520F.5010101@hurleysoftware.com> (raw)
In-Reply-To: <1458222449-12324-6-git-send-email-geert+renesas@glider.be>

Hi Geert,

On 03/17/2016 06:47 AM, Geert Uytterhoeven wrote:
> Replace the custom SCIx_HAVE_RTSCTS flag in the
> plat_sci_port.capabilities field by the standard UPF_HARD_FLOW flag in
> the uart_port.flags and plat_sci_port.flags fields.
> Remove the now unused plat_sci_port.capabilities field.
> Legacy pllatform data can enable UPF_HARD_FLOW in plat_sci_port.flags.

UPF_HARD_FLOW is really for indicating the h/w supports automatic
CTS and RTS signalling; ie., RTS is automatically de-asserted when
rx fifo reaches some threshold and CTS will automatically prevent
tx fifo output.

There is no serial core flag for indicating the h/w supports (or does not)
RTS and/or CTS signalling.

Regards,
Peter Hurley

> Note that currently nothing sets the SCIx_HAVE_RTSCTS flag.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  drivers/tty/serial/sh-sci.c | 4 ++--
>  include/linux/serial_sci.h  | 6 ------
>  2 files changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index 6897100ed5197df3..51b436e2334c3efc 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -720,7 +720,7 @@ static void sci_init_pins(struct uart_port *port, unsigned int cflag)
>  	if (!reg->size)
>  		return;
>  
> -	if ((s->cfg->capabilities & SCIx_HAVE_RTSCTS) &&
> +	if ((port->flags & UPF_HARD_FLOW) &&
>  	    ((!(cflag & CRTSCTS)))) {
>  		unsigned short status;
>  
> @@ -2247,7 +2247,7 @@ done:
>  	if (reg->size) {
>  		unsigned short ctrl = serial_port_in(port, SCFCR);
>  
> -		if (s->cfg->capabilities & SCIx_HAVE_RTSCTS) {
> +		if (port->flags & UPF_HARD_FLOW) {
>  			if (termios->c_cflag & CRTSCTS)
>  				ctrl |= SCFCR_MCE;
>  			else
> diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h
> index 9f2bfd0557429ac3..95640ee68462190f 100644
> --- a/include/linux/serial_sci.h
> +++ b/include/linux/serial_sci.h
> @@ -48,17 +48,11 @@ struct plat_sci_port_ops {
>  };
>  
>  /*
> - * Port-specific capabilities
> - */
> -#define SCIx_HAVE_RTSCTS	BIT(0)
> -
> -/*
>   * Platform device specific platform_data struct
>   */
>  struct plat_sci_port {
>  	unsigned int	type;			/* SCI / SCIF / IRDA / HSCIF */
>  	upf_t		flags;			/* UPF_* flags */
> -	unsigned long	capabilities;		/* Port features/capabilities */
>  
>  	unsigned int	sampling_rate;
>  	unsigned int	scscr;			/* SCSCR initialization */
> 


  reply	other threads:[~2016-03-18 19:07 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-17 13:47 [PATCH/RFC 0/5] serial: sh-sci: Hardware Flow Control Updates Geert Uytterhoeven
2016-03-17 13:47 ` Geert Uytterhoeven
2016-03-17 13:47 ` [PATCH/RFC 1/5] serial: sh-sci: Update DT binding documentation for GPIO modem lines Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-17 22:43   ` Simon Horman
2016-03-17 22:43     ` Simon Horman
2016-03-18 15:18     ` Geert Uytterhoeven
2016-03-18 15:18       ` Geert Uytterhoeven
2016-03-20  0:04   ` Rob Herring
2016-03-20  0:04     ` Rob Herring
2016-03-20  0:04     ` Rob Herring
2016-03-17 13:47 ` [PATCH/RFC 2/5] serial: sh-sci: Update DT binding documentation for dedicated RTS/CTS Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-20  0:10   ` Rob Herring
2016-03-20  0:10     ` Rob Herring
2016-03-17 13:47 ` [PATCH/RFC 3/5] serial: sh-sci: Always set TIOCM_CTS in .get_mctrl() callback Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-17 13:47 ` [PATCH/RFC 4/5] serial: sh-sci: Add support for GPIO-controlled modem lines Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-18  8:23   ` Geert Uytterhoeven
2016-03-18  8:23     ` Geert Uytterhoeven
2016-03-17 13:47 ` [PATCH/RFC 5/5] serial: sh-sci: Replace SCIx_HAVE_RTSCTS by standard UPF_HARD_FLOW Geert Uytterhoeven
2016-03-17 13:47   ` Geert Uytterhoeven
2016-03-18 19:07   ` Peter Hurley [this message]
2016-03-18 19:07     ` Peter Hurley
2016-03-23  9:33     ` Geert Uytterhoeven
2016-03-23  9:33       ` Geert Uytterhoeven
2016-03-23 17:11       ` Peter Hurley
2016-03-23 17:11         ` Peter Hurley
2016-03-23 20:00         ` Geert Uytterhoeven
2016-03-23 20:00           ` Geert Uytterhoeven
2016-03-24  0:13           ` Peter Hurley
2016-03-24  0:13             ` Peter Hurley
2016-03-24 13:21             ` Geert Uytterhoeven
2016-03-24 13:21               ` Geert Uytterhoeven
2016-03-24 17:23               ` Peter Hurley
2016-03-24 17:23                 ` Peter Hurley

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=56EC520F.5010101@hurleysoftware.com \
    --to=peter@hurleysoftware.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=ysato@users.sourceforge.jp \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.