serial: samsung: Enable baud clock for UART reset procedure in resume
[ 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>
This commit is contained in:
parent
9ae8ba5039
commit
925ed8333e
@ -1922,7 +1922,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);
|
||||
@ -1945,7 +1949,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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user