Thread (45 messages) flat view 45 messages, 8 authors, 2015-03-27

[PATCH v3 10/15] serial: stm32-usart: Add STM32 USART Driver

From: Peter Hurley <hidden>
Date: 2015-03-19 15:01:14
Also in: linux-api, linux-arch, linux-devicetree, linux-gpio, linux-serial, lkml

On 03/19/2015 09:55 AM, Maxime Coquelin wrote:
quoted
quoted
quoted
quoted
+static void stm32_set_termios(struct uart_port *port, struct ktermios *termios,
+                           struct ktermios *old)
[...]
quoted
quoted
quoted
quoted
+       usardiv = (port->uartclk * 25) / (baud * 4);
+       mantissa = (usardiv / 100) << USART_BRR_DIV_M_SHIFT;
+       fraction = DIV_ROUND_CLOSEST((usardiv % 100) * 16, 100);
+       if (fraction & ~USART_BRR_DIV_F_MASK) {
+               fraction = 0;
+               mantissa += (1 << USART_BRR_DIV_M_SHIFT);
+       }
[...]
Really, I would prefer keeping this fractional divider as it is
implemented today.
You have to admit that's basically an unintelligible mess;
how would anyone ever be able to refactor and replace that with a
common divider implementation?

At the very least, please comment on the formula and format.

Regards,
Peter Hurley
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help