From eaf7e77042b9313b225cde57327ccf97282adf7b 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 8db9b3f98900..e839cf05fb86 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 @@ -151,9 +152,13 @@ static void dcss_crtc_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, @@ -177,6 +182,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