lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 100/800] serial: mvebu-uart: fix calculation of clock divisor
    Date
    From: Pali Rohár <pali@kernel.org>

    commit 9078204ca5c33ba20443a8623a41a68a9995a70d upstream.

    The clock divisor should be rounded to the closest value.

    Signed-off-by: Pali Rohár <pali@kernel.org>
    Fixes: 68a0db1d7da2 ("serial: mvebu-uart: add function to change baudrate")
    Cc: stable@vger.kernel.org # 0e4cf69ede87 ("serial: mvebu-uart: clarify the baud rate derivation")
    Link: https://lore.kernel.org/r/20210624224909.6350-2-pali@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/tty/serial/mvebu-uart.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/tty/serial/mvebu-uart.c
    +++ b/drivers/tty/serial/mvebu-uart.c
    @@ -463,7 +463,7 @@ static int mvebu_uart_baud_rate_set(stru
    * makes use of D to configure the desired baudrate.
    */
    m_divisor = OSAMP_DEFAULT_DIVISOR;
    - d_divisor = DIV_ROUND_UP(port->uartclk, baud * m_divisor);
    + d_divisor = DIV_ROUND_CLOSEST(port->uartclk, baud * m_divisor);

    brdv = readl(port->membase + UART_BRDV);
    brdv &= ~BRDV_BAUD_MASK;

    \
     
     \ /
      Last update: 2021-07-12 10:41    [W:2.093 / U:1.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site