From 3f91063da6e4ae9348b1f2b5595dca61c62824aa Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Thu, 4 Apr 2013 16:44:13 +0200 Subject: [PATCH] drm/i915: Mark SDVO encoder active when it is enabled or has an active output. The associated connector is only considered active when both the SDVO is enabled *and* there is an active output associated. This difference in state will be fixed in in intel_sanitize_crtc() (when intel_crtc_update_dpms() is called). Signed-off-by: Egbert Eich --- drivers/gpu/drm/i915/intel_sdvo.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 89dd999..09c81b85 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -1254,11 +1254,13 @@ static bool intel_sdvo_get_hw_state(struct intel_encoder *encoder, struct drm_device *dev = encoder->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; struct intel_sdvo *intel_sdvo = to_intel_sdvo(&encoder->base); + u16 active_outputs; u32 tmp; tmp = I915_READ(intel_sdvo->sdvo_reg); + intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs); - if (!(tmp & SDVO_ENABLE)) + if (!(tmp & SDVO_ENABLE) && (active_outputs == 0)) return false; if (HAS_PCH_CPT(dev)) -- 1.7.8.3