As we only allow the use of a disabled CRTC, we don't need to handle the
case we are reusing an already enabled pipe.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_display.c |   28 ++++++++++------------------
 1 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 61fa02f..9b1a3e1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5549,8 +5549,6 @@ bool intel_get_load_detect_pipe(struct intel_encoder 
*intel_encoder,
        struct drm_encoder *encoder = &intel_encoder->base;
        struct drm_crtc *crtc = NULL;
        struct drm_device *dev = encoder->dev;
-       struct drm_encoder_helper_funcs *encoder_funcs = 
encoder->helper_private;
-       struct drm_crtc_helper_funcs *crtc_funcs;
        int i = -1;
 
        /*
@@ -5573,8 +5571,13 @@ bool intel_get_load_detect_pipe(struct intel_encoder 
*intel_encoder,
 
                /* Make sure the crtc and connector are running */
                if (intel_crtc->dpms_mode != DRM_MODE_DPMS_ON) {
+                       struct drm_encoder_helper_funcs *encoder_funcs;
+                       struct drm_crtc_helper_funcs *crtc_funcs;
+
                        crtc_funcs = crtc->helper_private;
                        crtc_funcs->dpms(crtc, DRM_MODE_DPMS_ON);
+
+                       encoder_funcs = encoder->helper_private;
                        encoder_funcs->dpms(encoder, DRM_MODE_DPMS_ON);
                }
 
@@ -5607,23 +5610,12 @@ bool intel_get_load_detect_pipe(struct intel_encoder 
*intel_encoder,
        old->dpms_mode = intel_crtc->dpms_mode;
        old->load_detect_temp = true;
 
-       if (!crtc->enabled) {
-               if (!mode)
-                       mode = &load_detect_mode;
-
-               if (!drm_crtc_helper_set_mode(crtc, mode, 0, 0, crtc->fb)) {
-                       DRM_DEBUG_KMS("failed to set mode on load-detect 
pipe\n");
-                       return false;
-               }
-       } else {
-               if (intel_crtc->dpms_mode != DRM_MODE_DPMS_ON) {
-                       crtc_funcs = crtc->helper_private;
-                       crtc_funcs->dpms(crtc, DRM_MODE_DPMS_ON);
-               }
+       if (!mode)
+               mode = &load_detect_mode;
 
-               /* Add this connector to the crtc */
-               encoder_funcs->mode_set(encoder, &crtc->mode, &crtc->hwmode);
-               encoder_funcs->commit(encoder);
+       if (!drm_crtc_helper_set_mode(crtc, mode, 0, 0, crtc->fb)) {
+               DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n");
+               return false;
        }
 
        /* let the connector get through one full cycle before testing */
-- 
1.7.4.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to