On Fri, 18 Jan 2013, Paulo Zanoni <przanoni at gmail.com> wrote: > From: Paulo Zanoni <paulo.r.zanoni at intel.com> > > Instead of setting it at the beginning of haswell_crtc_mode_set, let's > set it at the beginning of intel_crtc_mode_set. When > intel_crt_mode_set calls drm_vblank_pre_modeset we already need to > have the transcoder_edp correctly set, because eventually > drm_vblank_pre_modeset calls functions that call i915_pipe_enabled > from i915_irq.c, which will read PIPECONF(cpu_transcoder). Side note, we confusingly have two i915_pipe_enabled() functions, the one referred to here in i915_irq.c and the other in i915_suspend.c. Reviewed-by: Jani Nikula <jani.nikula at intel.com> > > This is a bug that affects us since we added support for > TRANSCODER_EDP, but I was only able to see the problem after > suspending a machine with the power well disabled (got an "unclaimed > register" error. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 921b020..e9a2d4e 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -5662,11 +5662,6 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc, > num_connectors++; > } > > - if (is_cpu_edp) > - intel_crtc->cpu_transcoder = TRANSCODER_EDP; > - else > - intel_crtc->cpu_transcoder = pipe; > - > /* We are not sure yet this won't happen. */ > WARN(!HAS_PCH_LPT(dev), "Unexpected PCH type %d\n", > INTEL_PCH_TYPE(dev)); > @@ -5731,6 +5726,11 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, > int pipe = intel_crtc->pipe; > int ret; > > + if (IS_HASWELL(dev) && intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)) > + intel_crtc->cpu_transcoder = TRANSCODER_EDP; > + else > + intel_crtc->cpu_transcoder = pipe; > + > drm_vblank_pre_modeset(dev, pipe); > > ret = dev_priv->display.crtc_mode_set(crtc, mode, adjusted_mode, > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx