drm/i915: check the power well inside haswell_get_pipe_config
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Thu, 18 Apr 2013 19:35:40 +0000 (16:35 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 19 Apr 2013 08:06:27 +0000 (10:06 +0200)
This fixes "unclaimed register" messages when booting with eDP only
and i915.disable_power_well=1.

The error messages were caused by:

  commit 0e8ffe1bf81b0780cc6229cb38664754dffe8776
  Author: Daniel Vetter <daniel.vetter@ffwll.ch>
  Date:   Thu Mar 28 10:42:00 2013 +0100
      drm/i915: add hw state readout/checking for pipe_config

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 8a96c998ee53656255d5bcd2857720fe41afc04c..6f7e4cc35d99add55151e470117b424df336d27c 100644 (file)
@@ -5978,9 +5978,14 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
 {
        struct drm_device *dev = crtc->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
+       enum transcoder cpu_transcoder = crtc->config.cpu_transcoder;
        uint32_t tmp;
 
-       tmp = I915_READ(PIPECONF(crtc->config.cpu_transcoder));
+       if (!intel_using_power_well(dev_priv->dev) &&
+           cpu_transcoder != TRANSCODER_EDP)
+               return false;
+
+       tmp = I915_READ(PIPECONF(cpu_transcoder));
        if (!(tmp & PIPECONF_ENABLE))
                return false;