diff options
-rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 5 | ||||
-rw-r--r-- | include/drm/drm_crtc_helper.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 9b2a54117c91..fa1323ff56b3 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
@@ -241,7 +241,10 @@ void drm_helper_disable_unused_functions(struct drm_device *dev) | |||
241 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; | 241 | struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; |
242 | crtc->enabled = drm_helper_crtc_in_use(crtc); | 242 | crtc->enabled = drm_helper_crtc_in_use(crtc); |
243 | if (!crtc->enabled) { | 243 | if (!crtc->enabled) { |
244 | crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF); | 244 | if (crtc_funcs->disable) |
245 | (*crtc_funcs->disable)(crtc); | ||
246 | else | ||
247 | (*crtc_funcs->dpms)(crtc, DRM_MODE_DPMS_OFF); | ||
245 | crtc->fb = NULL; | 248 | crtc->fb = NULL; |
246 | } | 249 | } |
247 | } | 250 | } |
diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h index 1121f7799c6f..7e3c9766acba 100644 --- a/include/drm/drm_crtc_helper.h +++ b/include/drm/drm_crtc_helper.h | |||
@@ -63,6 +63,9 @@ struct drm_crtc_helper_funcs { | |||
63 | 63 | ||
64 | /* reload the current crtc LUT */ | 64 | /* reload the current crtc LUT */ |
65 | void (*load_lut)(struct drm_crtc *crtc); | 65 | void (*load_lut)(struct drm_crtc *crtc); |
66 | |||
67 | /* disable crtc when not in use - more explicit than dpms off */ | ||
68 | void (*disable)(struct drm_crtc *crtc); | ||
66 | }; | 69 | }; |
67 | 70 | ||
68 | struct drm_encoder_helper_funcs { | 71 | struct drm_encoder_helper_funcs { |