diff mbox

[RESEND] tty: serial: 8250_mtk: Fix quot calculation

Message ID 1414773395-9916-1-git-send-email-matthias.brugger@bq.com (mailing list archive)
State New, archived
Headers show

Commit Message

Matthias Brugger Oct. 31, 2014, 4:36 p.m. UTC
From: Matthias Brugger <matthias.bgg@gmail.com>

The calculation of value quot for highspeed register set to three
was wrong. This patch fixes the calculation so that the serial port
for baudrates bigger then 576000 baud is working correctly.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
---
 drivers/tty/serial/8250/8250_mtk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Arnd Bergmann Oct. 31, 2014, 4:48 p.m. UTC | #1
On Friday 31 October 2014 17:36:35 Matthias Brugger wrote:
> -               quot = DIV_ROUND_CLOSEST(port->uartclk, 256 * baud);
> +               quot = (port->uartclk / (256 * baud)) + 1;

Should this be DIV_ROUND_UP then?

	Arnd
Eddie Huang (黃智傑) Nov. 3, 2014, 2:27 a.m. UTC | #2
On Fri, 2014-10-31 at 17:48 +0100, Arnd Bergmann wrote:
> On Friday 31 October 2014 17:36:35 Matthias Brugger wrote:
> > -               quot = DIV_ROUND_CLOSEST(port->uartclk, 256 * baud);
> > +               quot = (port->uartclk / (256 * baud)) + 1;
> 
> Should this be DIV_ROUND_UP then?
> 
> 	Arnd
> 

I think DIV_ROUND_UP is more suitable in this case, and I already do
this and test OK on my MTK platform

http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/296149.html
diff mbox

Patch

diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
index 8f37d57..de7aae5 100644
--- a/drivers/tty/serial/8250/8250_mtk.c
+++ b/drivers/tty/serial/8250/8250_mtk.c
@@ -81,7 +81,7 @@  mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,
 		/* Set to highest baudrate supported */
 		if (baud >= 1152000)
 			baud = 921600;
-		quot = DIV_ROUND_CLOSEST(port->uartclk, 256 * baud);
+		quot = (port->uartclk / (256 * baud)) + 1;
 	}
 
 	/*