From: Sylvain Rochet Date: Sun, 22 Feb 2015 17:51:04 +0000 (+0100) Subject: drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume X-Git-Tag: firefly_0821_release~176^2~1915^2~36^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=16e6004eb7a8686bae526ab9ea22c94ec901897b;p=firefly-linux-kernel-4.4.55.git 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: Sylvain Rochet Signed-off-by: Boris Brezillon --- diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c index a120246474e4..b81cea6baeea 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -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);