W dniu 2015-08-10 o 14:22, Fabio Estevam pisze:
On Mon, Aug 10, 2015 at 9:12 AM, Stefan Wahren <[email protected]> wrote:
/* set baud rate */
- baud = uart_get_baud_rate(u, termios, old, 0, u->uartclk);
+ baud_min = u->uartclk * 32 / 0x3fffc0;
+ baud_max = u->uartclk * 32 / 0xec;
+ baud = uart_get_baud_rate(u, termios, old, baud_min, baud_max);
Looks good. It would be nice to replace 0x3fffc0 and 0xec with defines though.
I agree with Fabio.
In addition let's look at the example for uartclk = 24MHz:
baud_max = 3,254,237.29 => will be rounded down to 3,254,237bauds and it
is OK
baud_min = 183.1 => will be rounded to 183 bauds. To avoid div=0x400971
it should be 184
so DIV_ROUND_UP() macro could be used.
best regards
Janusz
Regards,
Fabio Estevam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/