public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] serial: 16550: properly initialize fcr field of ns16550_platdata
@ 2017-02-01  1:15 Oleksandr Tymoshenko
  2017-02-01  8:46 ` Marek Vasut
  2017-02-01 13:12 ` Tom Rini
  0 siblings, 2 replies; 6+ messages in thread
From: Oleksandr Tymoshenko @ 2017-02-01  1:15 UTC (permalink / raw)
  To: u-boot

Default fcr value is initialized in ns16550_serial_ofdata_to_platdata
but this function is only called if OF_CONTROL option is enabled while
the field is used whenever DM_SERIAL is set. So for configs that
do not have OF_CONTROL default fcr value is set to zero which leads
to loosing characters when serial port input is faster than reading
routine i.e. when copy-pasting long line to U-Boot prompt.

As a fix initialize fcr field in probe method

Signed-off-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
---
 drivers/serial/ns16550.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 2df4a1f..2b30a4f 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -352,6 +352,7 @@ int ns16550_serial_probe(struct udevice *dev)
 	struct NS16550 *const com_port = dev_get_priv(dev);
 
 	com_port->plat = dev_get_platdata(dev);
+	com_port->plat->fcr = UART_FCR_DEFVAL;
 	NS16550_init(com_port, -1);
 
 	return 0;
@@ -437,7 +438,6 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 		return -EINVAL;
 	}
 
-	plat->fcr = UART_FCR_DEFVAL;
 	if (port_type == PORT_JZ4780)
 		plat->fcr |= UART_FCR_UME;
 
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-02-02  5:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-01  1:15 [U-Boot] [PATCH] serial: 16550: properly initialize fcr field of ns16550_platdata Oleksandr Tymoshenko
2017-02-01  8:46 ` Marek Vasut
2017-02-01 13:12 ` Tom Rini
2017-02-01 18:52   ` Oleksandr Tymoshenko
2017-02-02  5:13     ` Heiko Schocher
2017-02-02  5:36       ` Oleksandr Tymoshenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox