diff --git a/drivers/gpu/drm/rockchip/ebc-dev/tcon/ebc_tcon.c b/drivers/gpu/drm/rockchip/ebc-dev/tcon/ebc_tcon.c index 2863cd53ce2b..9eea6b1464c1 100644 --- a/drivers/gpu/drm/rockchip/ebc-dev/tcon/ebc_tcon.c +++ b/drivers/gpu/drm/rockchip/ebc-dev/tcon/ebc_tcon.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -428,14 +429,15 @@ static int rk3576_tcon_enable(struct ebc_tcon *tcon, struct ebc_panel *panel) enable_irq(tcon->irq); tcon->panel = panel; + pinctrl_pm_select_default_state(tcon->dev); + return 0; } static void rk3576_tcon_disable(struct ebc_tcon *tcon) { disable_irq(tcon->irq); - /* output low */ - tcon_update_bits(tcon, RK3576_EBC_DSP_CTRL2, RK3576_DSP_OUT_LOW, RK3576_DSP_OUT_LOW); + pinctrl_pm_select_sleep_state(tcon->dev); pm_runtime_put_sync(tcon->dev); clk_disable_unprepare(tcon->dclk);