aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_crt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_crt.c')
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 8b782ee63085..6d3385511663 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -188,7 +188,7 @@ static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector)
188 188
189 if (wait_for((I915_READ(PCH_ADPA) & ADPA_CRT_HOTPLUG_FORCE_TRIGGER) == 0, 189 if (wait_for((I915_READ(PCH_ADPA) & ADPA_CRT_HOTPLUG_FORCE_TRIGGER) == 0,
190 1000)) 190 1000))
191 DRM_ERROR("timed out waiting for FORCE_TRIGGER"); 191 DRM_DEBUG_KMS("timed out waiting for FORCE_TRIGGER");
192 192
193 if (turn_off_dac) { 193 if (turn_off_dac) {
194 I915_WRITE(PCH_ADPA, temp); 194 I915_WRITE(PCH_ADPA, temp);
@@ -245,7 +245,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
245 if (wait_for((I915_READ(PORT_HOTPLUG_EN) & 245 if (wait_for((I915_READ(PORT_HOTPLUG_EN) &
246 CRT_HOTPLUG_FORCE_DETECT) == 0, 246 CRT_HOTPLUG_FORCE_DETECT) == 0,
247 1000)) 247 1000))
248 DRM_ERROR("timed out waiting for FORCE_DETECT to go off"); 248 DRM_DEBUG_KMS("timed out waiting for FORCE_DETECT to go off");
249 } 249 }
250 250
251 stat = I915_READ(PORT_HOTPLUG_STAT); 251 stat = I915_READ(PORT_HOTPLUG_STAT);
@@ -402,7 +402,8 @@ intel_crt_load_detect(struct drm_crtc *crtc, struct intel_encoder *intel_encoder
402 return status; 402 return status;
403} 403}
404 404
405static enum drm_connector_status intel_crt_detect(struct drm_connector *connector) 405static enum drm_connector_status
406intel_crt_detect(struct drm_connector *connector, bool force)
406{ 407{
407 struct drm_device *dev = connector->dev; 408 struct drm_device *dev = connector->dev;
408 struct intel_encoder *encoder = intel_attached_encoder(connector); 409 struct intel_encoder *encoder = intel_attached_encoder(connector);
@@ -420,6 +421,9 @@ static enum drm_connector_status intel_crt_detect(struct drm_connector *connecto
420 if (intel_crt_detect_ddc(&encoder->base)) 421 if (intel_crt_detect_ddc(&encoder->base))
421 return connector_status_connected; 422 return connector_status_connected;
422 423
424 if (!force)
425 return connector->status;
426
423 /* for pre-945g platforms use load detect */ 427 /* for pre-945g platforms use load detect */
424 if (encoder->base.crtc && encoder->base.crtc->enabled) { 428 if (encoder->base.crtc && encoder->base.crtc->enabled) {
425 status = intel_crt_load_detect(encoder->base.crtc, encoder); 429 status = intel_crt_load_detect(encoder->base.crtc, encoder);