On Fri, Jan 25, 2013 at 04:59:14PM -0200, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni at intel.com> > > If the power well is disabled, we should not try to read its > registers, otherwise we'll get "unclaimed register" messages. > > V2: Don't check whether the power well is enabled or not, just check > whether we asked it to be enabled or not: if we asked to disable the > power well, don't use the registers on it, even if it's still enabled. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 456da5c..022c59d 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -1214,9 +1214,15 @@ void assert_pipe(struct drm_i915_private *dev_priv, > if (pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) > state = true; > > - reg = PIPECONF(cpu_transcoder); > - val = I915_READ(reg); > - cur_state = !!(val & PIPECONF_ENABLE); > + if (cpu_transcoder == TRANSCODER_EDP || > + (I915_READ(HSW_PWR_WELL_DRIVER) & HSW_PWR_WELL_ENABLE)) { > + reg = PIPECONF(cpu_transcoder); > + val = I915_READ(reg); > + cur_state = !!(val & PIPECONF_ENABLE); > + } else { > + cur_state = false; > + } This blows up on !hsw in big ways, since it makes the paranoid modeset state checker really unhappy. I've dropped the patch for now again from dinq. Thanks to Sedat Dilek for reporting. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch