lkml.org 
[lkml]   [2019]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 011/191] serial: samsung: Enable baud clock for UART reset procedure in resume
    Date
    From: Marek Szyprowski <m.szyprowski@samsung.com>

    [ Upstream commit 1ff3652bc7111df26b5807037f624be294cf69d5 ]

    Ensure that the baud clock is also enabled for UART register writes in
    driver resume. On Exynos5433 SoC this is needed to avoid external abort
    issue.

    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/tty/serial/samsung.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
    index c6058b52d5d59..2a49b6d876b87 100644
    --- a/drivers/tty/serial/samsung.c
    +++ b/drivers/tty/serial/samsung.c
    @@ -1944,7 +1944,11 @@ static int s3c24xx_serial_resume(struct device *dev)

    if (port) {
    clk_prepare_enable(ourport->clk);
    + if (!IS_ERR(ourport->baudclk))
    + clk_prepare_enable(ourport->baudclk);
    s3c24xx_serial_resetport(port, s3c24xx_port_to_cfg(port));
    + if (!IS_ERR(ourport->baudclk))
    + clk_disable_unprepare(ourport->baudclk);
    clk_disable_unprepare(ourport->clk);

    uart_resume_port(&s3c24xx_uart_drv, port);
    @@ -1967,7 +1971,11 @@ static int s3c24xx_serial_resume_noirq(struct device *dev)
    if (rx_enabled(port))
    uintm &= ~S3C64XX_UINTM_RXD_MSK;
    clk_prepare_enable(ourport->clk);
    + if (!IS_ERR(ourport->baudclk))
    + clk_prepare_enable(ourport->baudclk);
    wr_regl(port, S3C64XX_UINTM, uintm);
    + if (!IS_ERR(ourport->baudclk))
    + clk_disable_unprepare(ourport->baudclk);
    clk_disable_unprepare(ourport->clk);
    }
    }
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-11-10 03:41    [W:3.269 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site