summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dvo.c
diff options
context:
space:
mode:
authorVille Syrjälä2014-06-05 18:15:52 +0200
committerDaniel Vetter2014-06-13 15:17:37 +0200
commitf417c11b8987245826aa8b2b606ce2f9d5edbd67 (patch)
tree05e8a16766e3404c1755c0d4d8b1581cb74acf71 /drivers/gpu/drm/i915/intel_dvo.c
parentdrm/i915: Use named initializers for gmch wm params (diff)
downloadkernel-qcow2-linux-f417c11b8987245826aa8b2b606ce2f9d5edbd67.tar.gz
kernel-qcow2-linux-f417c11b8987245826aa8b2b606ce2f9d5edbd67.tar.xz
kernel-qcow2-linux-f417c11b8987245826aa8b2b606ce2f9d5edbd67.zip
drm/i915: Don't get hw state from DVO chip unless DVO is enabled
Certain DVO chips (ns2501 for example) don't like to be accessed unless the PLL is running. Simply skip the DVO get_hw_state if the DVO port is disabled. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dvo.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dvo.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
index a3631c0a5c28..5d7d97522bdc 100644
--- a/drivers/gpu/drm/i915/intel_dvo.c
+++ b/drivers/gpu/drm/i915/intel_dvo.c
@@ -112,7 +112,15 @@ static struct intel_dvo *intel_attached_dvo(struct drm_connector *connector)
static bool intel_dvo_connector_get_hw_state(struct intel_connector *connector)
{
+ struct drm_device *dev = connector->base.dev;
+ struct drm_i915_private *dev_priv = dev->dev_private;
struct intel_dvo *intel_dvo = intel_attached_dvo(&connector->base);
+ u32 tmp;
+
+ tmp = I915_READ(intel_dvo->dev.dvo_reg);
+
+ if (!(tmp & DVO_ENABLE))
+ return false;
return intel_dvo->dev.dev_ops->get_hw_state(&intel_dvo->dev);
}