lkml.org 
[lkml]   [2014]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] serial: 8250_dw: support high baudrates if possible
On 06/28/2014 10:36 AM, One Thousand Gnomes wrote:
> On Fri, 27 Jun 2014 12:25:20 -0500
>> + rate = 16 * max(115200U, (unsigned int)baud);
>> +
>
> This assumes an arbitarily configurable clock, which is not I think the
> usual case.

If the clock's rate can't change, this will return an error,
and the recorded rate (p->uartclk) will not be changed.

This should only matter when attempting to set a baud rate higher
than 115200. It *is* possible that some particular high rate
will realize a better signal rate than whatever results from
requesting 16 times the baud (or even 16 * 115200).

I could make this work *only* for my particular part(s) by
relying on a different device tree compatible string and
setting a flag. It would be nice if other implementations
could benefit from this though.

-Alex

>> + /*
>> + * Request a different clock rate if necessary, and
>> + * record it if successful.
>> + */
>> + if (rate != p->uartclk) {
>> + BUG_ON(!data->clk);
>> + if (!clk_set_rate(data->clk, (unsigned long)rate))
>> + p->uartclk = rate;
>> + }
>
>



\
 
 \ /
  Last update: 2014-06-28 22:41    [W:0.091 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site