[Intel-gfx] [PATCH] Restrict DP sink wake up to non-EDP.

james.ausmus at intel.com james.ausmus at intel.com
Fri Aug 16 02:30:33 CEST 2013


From: Stuart Abercrombie <sabercrombie at chromium.org>

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
[sonnyrao: 3.8: fixup for 3.8]
Reviewed-on: https://gerrit.chromium.org/gerrit/45814
Reviewed-by: Stéphane Marchesin <marcheu at chromium.org>
Commit-Queue: Stuart Abercrombie <sabercrombie at chromium.org>
Tested-by: Stuart Abercrombie <sabercrombie at chromium.org>
---
 drivers/gpu/drm/i915/intel_dp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index f886ae9..d896cb8 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -2337,7 +2337,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 (connector->dpms != DRM_MODE_DPMS_ON) {
+	if (!is_edp(intel_dp) && connector->dpms != DRM_MODE_DPMS_ON) {
 		/* Bypass DPCD check, since we obtain it during detection. */
 		intel_dp_do_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
 	}
@@ -2352,7 +2352,7 @@ intel_dp_detect(struct drm_connector *connector, bool force)
 	DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
 
 	if (status != connector_status_connected) {
-		if (connector->dpms != DRM_MODE_DPMS_ON)
+		if (!is_edp(intel_dp) && connector->dpms != DRM_MODE_DPMS_ON)
 			intel_dp_do_sink_dpms(intel_dp, connector->dpms);
 		return status;
 	}
@@ -2373,7 +2373,7 @@ intel_dp_detect(struct drm_connector *connector, bool force)
 		intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT;
 
 	/* Restore the sink state */
-	if (connector->dpms != DRM_MODE_DPMS_ON)
+	if (!is_edp(intel_dp) && connector->dpms != DRM_MODE_DPMS_ON)
 		intel_dp_do_sink_dpms(intel_dp, connector->dpms);
 
 	return connector_status_connected;
-- 
1.8.3.2




More information about the Intel-gfx mailing list