From d423bb56a51099d560f6b61552f2a7700ada2690 Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Tue, 21 Nov 2017 09:32:25 +0200 Subject: [PATCH] MLK-16922-2: drm: imx: dcss: call DCSS runtime PM routines When CRTC is disabled/enabled, the runtime PM routines should be called. Signed-off-by: Laurentiu Palcu --- drivers/gpu/drm/imx/dcss/dcss-crtc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/imx/dcss/dcss-crtc.c b/drivers/gpu/drm/imx/dcss/dcss-crtc.c index af79cf879da1..a305bf22258a 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-crtc.c +++ b/drivers/gpu/drm/imx/dcss/dcss-crtc.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -169,9 +170,13 @@ static void dcss_crtc_atomic_enable(struct drm_crtc *crtc, base); struct dcss_soc *dcss = dev_get_drvdata(dcss_crtc->dev->parent); + pm_runtime_get_sync(dcss_crtc->dev->parent); + dcss_ss_enable(dcss, true); dcss_dtg_enable(dcss, true); dcss_ctxld_enable(dcss); + + crtc->enabled = true; } static void dcss_crtc_atomic_disable(struct drm_crtc *crtc, @@ -195,6 +200,11 @@ static void dcss_crtc_atomic_disable(struct drm_crtc *crtc, dcss_ss_enable(dcss, false); dcss_dtg_enable(dcss, false); dcss_ctxld_enable(dcss); + + crtc->enabled = false; + + pm_runtime_mark_last_busy(dcss_crtc->dev->parent); + pm_runtime_put_autosuspend(dcss_crtc->dev->parent); } static const struct drm_crtc_helper_funcs dcss_helper_funcs = { -- 2.17.1