linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tty: serial: 8250_mtk: Fix quot calculation
@ 2014-10-09 16:23 Matthias Brugger
  2014-10-09 21:52 ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Matthias Brugger @ 2014-10-09 16:23 UTC (permalink / raw)
  To: gregkh
  Cc: linux-kernel, jslaby, matthias.bgg, heiko, yingjoe.chen,
	ibanezchen, linux-serial

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(-)

diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
index 1c4b4bf..4376c48 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;
 	}
 
 	/*
-- 
1.9.1


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

* Re: [PATCH] tty: serial: 8250_mtk: Fix quot calculation
  2014-10-09 16:23 [PATCH] tty: serial: 8250_mtk: Fix quot calculation Matthias Brugger
@ 2014-10-09 21:52 ` Greg KH
  2014-10-10  8:10   ` Matthias Brugger
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2014-10-09 21:52 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: linux-kernel, jslaby, heiko, yingjoe.chen, ibanezchen, linux-serial

On Thu, Oct 09, 2014 at 06:23:31PM +0200, Matthias Brugger wrote:
> 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(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
> index 1c4b4bf..4376c48 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;
>  	}
>  
>  	/*

Has this always been incorrect, or was it caused by a specific patch?
Should it go to the stable kernels?  If so, how far back?

thanks,

greg k-h

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

* Re: [PATCH] tty: serial: 8250_mtk: Fix quot calculation
  2014-10-09 21:52 ` Greg KH
@ 2014-10-10  8:10   ` Matthias Brugger
  2014-10-20 11:30     ` Matthias Brugger
  2014-11-06  3:27     ` Greg KH
  0 siblings, 2 replies; 5+ messages in thread
From: Matthias Brugger @ 2014-10-10  8:10 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, jslaby, Heiko Stübner, Yingjoe Chen,
	Howard Chen, linux-serial

2014-10-09 23:52 GMT+02:00 Greg KH <gregkh@linuxfoundation.org>:
> On Thu, Oct 09, 2014 at 06:23:31PM +0200, Matthias Brugger wrote:
>> 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(-)
>>
>> diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
>> index 1c4b4bf..4376c48 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;
>>       }
>>
>>       /*
>
> Has this always been incorrect, or was it caused by a specific patch?

It has always been incorrect :o

> Should it go to the stable kernels?  If so, how far back?

No need to go to the stable kernels. The driver is only in linux-next.

Cheers,
Matthias Brugger

>
> thanks,
>
> greg k-h



-- 
motzblog.wordpress.com

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

* Re: [PATCH] tty: serial: 8250_mtk: Fix quot calculation
  2014-10-10  8:10   ` Matthias Brugger
@ 2014-10-20 11:30     ` Matthias Brugger
  2014-11-06  3:27     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Matthias Brugger @ 2014-10-20 11:30 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, jslaby, Heiko Stübner, Yingjoe Chen,
	Howard Chen, linux-serial

Hi Greg,

2014-10-10 10:10 GMT+02:00 Matthias Brugger <matthias.bgg@gmail.com>:
> 2014-10-09 23:52 GMT+02:00 Greg KH <gregkh@linuxfoundation.org>:
>> On Thu, Oct 09, 2014 at 06:23:31PM +0200, Matthias Brugger wrote:
>>> 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(-)
>>>
>>> diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
>>> index 1c4b4bf..4376c48 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;
>>>       }
>>>
>>>       /*
>>
>> Has this always been incorrect, or was it caused by a specific patch?
>
> It has always been incorrect :o
>
>> Should it go to the stable kernels?  If so, how far back?
>
> No need to go to the stable kernels. The driver is only in linux-next.

Any comments on that?

Thanks,
Matthias

>
> Cheers,
> Matthias Brugger
>
>>
>> thanks,
>>
>> greg k-h
>
>
>
> --
> motzblog.wordpress.com



-- 
motzblog.wordpress.com

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

* Re: [PATCH] tty: serial: 8250_mtk: Fix quot calculation
  2014-10-10  8:10   ` Matthias Brugger
  2014-10-20 11:30     ` Matthias Brugger
@ 2014-11-06  3:27     ` Greg KH
  1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2014-11-06  3:27 UTC (permalink / raw)
  To: Matthias Brugger
  Cc: linux-kernel, jslaby, Heiko Stübner, Yingjoe Chen,
	Howard Chen, linux-serial

On Fri, Oct 10, 2014 at 10:10:45AM +0200, Matthias Brugger wrote:
> 2014-10-09 23:52 GMT+02:00 Greg KH <gregkh@linuxfoundation.org>:
> > On Thu, Oct 09, 2014 at 06:23:31PM +0200, Matthias Brugger wrote:
> >> 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(-)
> >>
> >> diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
> >> index 1c4b4bf..4376c48 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;
> >>       }
> >>
> >>       /*
> >
> > Has this always been incorrect, or was it caused by a specific patch?
> 
> It has always been incorrect :o
> 
> > Should it go to the stable kernels?  If so, how far back?
> 
> No need to go to the stable kernels. The driver is only in linux-next.

Well, it's in 3.18-rc1, so it should at least go into 3.18-final.  I'll
queue it up for that.

thanks,

greg k-h

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

end of thread, other threads:[~2014-11-06  3:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-09 16:23 [PATCH] tty: serial: 8250_mtk: Fix quot calculation Matthias Brugger
2014-10-09 21:52 ` Greg KH
2014-10-10  8:10   ` Matthias Brugger
2014-10-20 11:30     ` Matthias Brugger
2014-11-06  3:27     ` Greg KH

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).