Re: [PATCH v2 4/7] serial: sh-sci: increase RX FIFO trigger defaults for (H)SCIF

2017-01-25 Thread Greg KH
On Mon, Jan 23, 2017 at 05:04:15PM +0100, Ulrich Hecht wrote:
> Signed-off-by: Ulrich Hecht 
> ---
>  drivers/tty/serial/sh-sci.c | 13 -
>  1 file changed, 12 insertions(+), 1 deletion(-)

I will not take a patch without any changelog text, sorry...


Re: [PATCH v2 4/7] serial: sh-sci: increase RX FIFO trigger defaults for (H)SCIF

2017-01-24 Thread Geert Uytterhoeven
On Mon, Jan 23, 2017 at 5:04 PM, Ulrich Hecht
 wrote:
> Signed-off-by: Ulrich Hecht 

Reviewed-by: Geert Uytterhoeven 

> @@ -2736,15 +2742,19 @@ static int sci_init_single(struct platform_device 
> *dev,
> sci_port->sampling_rate_mask = SCI_SR_SCIFAB;
> break;
> case PORT_SCIF:
> -   port->fifosize = 16;
> if (p->regtype == SCIx_SH7705_SCIF_REGTYPE) {
> +   port->fifosize = 64;

Note that you forgot to mention that you also corrected the FIFO size for
sh7705, ssh7720, and sh7721. Not that we can easily test that, though.

> sci_port->overrun_reg = SCxSR;
> sci_port->overrun_mask = SCIFA_ORER;
> sci_port->sampling_rate_mask = SCI_SR(16);
> +   /* RX triggering not implemented for this IP */
> +   sci_port->rx_trigger = 1;
> } else {
> +   port->fifosize = 16;
> sci_port->overrun_reg = SCLSR;
> sci_port->overrun_mask = SCLSR_ORER;
> sci_port->sampling_rate_mask = SCI_SR(32);
> +   sci_port->rx_trigger = 8;
> }
> break;
> default:




-- 
Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


[PATCH v2 4/7] serial: sh-sci: increase RX FIFO trigger defaults for (H)SCIF

2017-01-23 Thread Ulrich Hecht
Signed-off-by: Ulrich Hecht 
---
 drivers/tty/serial/sh-sci.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 39734cc..c7e2d0d 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -141,6 +141,7 @@ struct sci_port {
struct timer_list   rx_timer;
unsigned intrx_timeout;
 #endif
+   int rx_trigger;
 
bool autorts;
 };
@@ -2197,6 +2198,7 @@ static void sci_reset(struct uart_port *port)
 {
const struct plat_sci_reg *reg;
unsigned int status;
+   struct sci_port *s = to_sci_port(port);
 
if (serial_port_in(port, SCSCR) & SCSCR_TE) {
do {
@@ -2218,6 +2220,9 @@ static void sci_reset(struct uart_port *port)
status &= ~(SCLSR_TO | SCLSR_ORER);
serial_port_out(port, SCLSR, status);
}
+
+   if (s->rx_trigger > 1)
+   scif_set_rtrg(port, s->rx_trigger);
 }
 
 static void sci_set_termios(struct uart_port *port, struct ktermios *termios,
@@ -2728,6 +2733,7 @@ static int sci_init_single(struct platform_device *dev,
sci_port->overrun_reg = SCLSR;
sci_port->overrun_mask = SCLSR_ORER;
sci_port->sampling_rate_mask = SCI_SR_RANGE(8, 32);
+   sci_port->rx_trigger = 64;
break;
case PORT_SCIFA:
port->fifosize = 64;
@@ -2736,15 +2742,19 @@ static int sci_init_single(struct platform_device *dev,
sci_port->sampling_rate_mask = SCI_SR_SCIFAB;
break;
case PORT_SCIF:
-   port->fifosize = 16;
if (p->regtype == SCIx_SH7705_SCIF_REGTYPE) {
+   port->fifosize = 64;
sci_port->overrun_reg = SCxSR;
sci_port->overrun_mask = SCIFA_ORER;
sci_port->sampling_rate_mask = SCI_SR(16);
+   /* RX triggering not implemented for this IP */
+   sci_port->rx_trigger = 1;
} else {
+   port->fifosize = 16;
sci_port->overrun_reg = SCLSR;
sci_port->overrun_mask = SCLSR_ORER;
sci_port->sampling_rate_mask = SCI_SR(32);
+   sci_port->rx_trigger = 8;
}
break;
default:
@@ -2752,6 +2762,7 @@ static int sci_init_single(struct platform_device *dev,
sci_port->overrun_reg = SCxSR;
sci_port->overrun_mask = SCI_ORER;
sci_port->sampling_rate_mask = SCI_SR(32);
+   sci_port->rx_trigger = 1;
break;
}
 
-- 
2.7.4