Message ID | 1360334138-3876-1-git-send-email-mika.kuoppala@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Feb 8, 2013 at 3:35 PM, Mika Kuoppala <mika.kuoppala@linux.intel.com> wrote: > If encoder is switched off by BIOS, but the panel fitter is left on, > we never try to turn off the panel fitter and leave it still attached > to the pipe - which can cause blurry output elsewhere. > > Based on work by Chris Wilson <chris@chris-wilson.co.uk> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58867 Tested-by from the reporter is missing. > Cc: stable@vger.kernel.org > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> > --- > drivers/gpu/drm/i915/intel_display.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index d75c6a0..9b5f0fb 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -3656,6 +3656,15 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc) > > intel_disable_plane(dev_priv, plane, pipe); > intel_disable_pipe(dev_priv, pipe); > + > + if (!HAS_PCH_SPLIT(dev)) { This is always true in i9xx_crtc_disable, so you can remove this indentation. -Daniel > + const u32 pctl = I915_READ(PFIT_CONTROL); > + > + if ((pctl & PFIT_ENABLE) && > + ((pctl & PFIT_PIPE_MASK) >> PFIT_PIPE_SHIFT) == pipe) > + I915_WRITE(PFIT_CONTROL, 0); > + } > + > intel_disable_pll(dev_priv, pipe); > > intel_crtc->active = false; > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d75c6a0..9b5f0fb 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -3656,6 +3656,15 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc) intel_disable_plane(dev_priv, plane, pipe); intel_disable_pipe(dev_priv, pipe); + + if (!HAS_PCH_SPLIT(dev)) { + const u32 pctl = I915_READ(PFIT_CONTROL); + + if ((pctl & PFIT_ENABLE) && + ((pctl & PFIT_PIPE_MASK) >> PFIT_PIPE_SHIFT) == pipe) + I915_WRITE(PFIT_CONTROL, 0); + } + intel_disable_pll(dev_priv, pipe); intel_crtc->active = false;
If encoder is switched off by BIOS, but the panel fitter is left on, we never try to turn off the panel fitter and leave it still attached to the pipe - which can cause blurry output elsewhere. Based on work by Chris Wilson <chris@chris-wilson.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58867 Cc: stable@vger.kernel.org Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> --- drivers/gpu/drm/i915/intel_display.c | 9 +++++++++ 1 file changed, 9 insertions(+)