Restrict DP sink wake up to non-EDP.
authorStuart Abercrombie <sabercrombie@chromium.org>
Tue, 19 Mar 2013 01:00:57 +0000 (18:00 -0700)
committerChromeBot <chrome-bot@google.com>
Tue, 19 Mar 2013 20:52:46 +0000 (13:52 -0700)
Doing it on EDP was producing a kernel warning with screen power down.

BUG=chrome-os-partner:17893
TEST=No warning with screen power down.  Apple mini DP->VGA adapter still works.

Change-Id: I769c31b43753c7ced7cb0b2f0d50fc96c2486779
Reviewed-on: https://gerrit.chromium.org/gerrit/45814
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Stuart Abercrombie <sabercrombie@chromium.org>
Tested-by: Stuart Abercrombie <sabercrombie@chromium.org>
drivers/gpu/drm/i915/intel_dp.c

index 239f142..b4e4ca1 100644 (file)
@@ -2161,7 +2161,7 @@ intel_dp_detect(struct drm_connector *connector, bool force)
        intel_dp->has_audio = false;
 
        /* Ensure the sink is awake for DPCD/EDID reads. */
-       if (intel_dp->dpms_mode != DRM_MODE_DPMS_ON) {
+       if (!is_edp(intel_dp) && intel_dp->dpms_mode != DRM_MODE_DPMS_ON) {
                /* Bypass DPCD check, since we obtain it during detection. */
                intel_dp_do_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
        }
@@ -2177,7 +2177,7 @@ intel_dp_detect(struct drm_connector *connector, bool force)
                      intel_dp->dpcd[6], intel_dp->dpcd[7]);
 
        if (status != connector_status_connected) {
-               if (intel_dp->dpms_mode != DRM_MODE_DPMS_ON)
+               if (!is_edp(intel_dp) && intel_dp->dpms_mode != DRM_MODE_DPMS_ON)
                        intel_dp_do_sink_dpms(intel_dp, intel_dp->dpms_mode);
                return status;
        }
@@ -2193,7 +2193,7 @@ intel_dp_detect(struct drm_connector *connector, bool force)
                }
        }
 
-       if (intel_dp->dpms_mode != DRM_MODE_DPMS_ON)
+       if (!is_edp(intel_dp) && intel_dp->dpms_mode != DRM_MODE_DPMS_ON)
                intel_dp_do_sink_dpms(intel_dp, intel_dp->dpms_mode);
 
        return connector_status_connected;