Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16e6004e authored by Sylvain Rochet's avatar Sylvain Rochet Committed by Boris Brezillon
Browse files

drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume



Some LCD panels have back-powering issue when un-powered, allows users
to use an alternate pinctrl "sleep" in order to clamp outputs to a
wanted state at suspend.

Signed-off-by: default avatarSylvain Rochet <sylvain.rochet@finsecur.com>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 58486982
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <linux/clk.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
#include <linux/pinctrl/consumer.h>

#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
@@ -157,6 +158,7 @@ static void atmel_hlcdc_crtc_disable(struct drm_crtc *c)
		cpu_relax();

	clk_disable_unprepare(crtc->dc->hlcdc->sys_clk);
	pinctrl_pm_select_sleep_state(dev->dev);

	pm_runtime_allow(dev->dev);

@@ -179,6 +181,7 @@ static void atmel_hlcdc_crtc_enable(struct drm_crtc *c)

	pm_runtime_forbid(dev->dev);

	pinctrl_pm_select_default_state(dev->dev);
	clk_prepare_enable(crtc->dc->hlcdc->sys_clk);

	regmap_write(regmap, ATMEL_HLCDC_EN, ATMEL_HLCDC_PIXEL_CLK);