lkml.org 
[lkml]   [2009]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.32 regression (bisected): Video tearing/glitching with T400 laptops
On Sat, 10 Oct 2009 16:41:06 -0400
Theodore Tso <tytso@mit.edu> wrote:

> On Thu, Oct 08, 2009 at 10:36:20AM -0700, Jesse Barnes wrote:
> > On Fri, 02 Oct 2009 18:40:27 -0400
> > "Theodore Ts'o" <tytso@mit.edu> wrote:
> >
> > > Hi,
> > >
> > > In recent kernels, my X display (running with a KMS-enabled X
> > > server) has been very jittery and with lots of glitching and
> > > tearing --- sorry if this isn't the correct technical term, not
> > > sure what it is --- on my T400 Lenovo laptop. It seems related
> > > to what is on the desktop, and moving the mouse does seem to
> > > affect the rate and percentage of the screen which jitters ---
> > > which is enough to be very distracting, although I can still read
> > > the contents of the windows where the screen is
> > > tearing/glitching/flashing.
> > >
> > > I bisected it down to this commit:
> >
> > Can you give this patch a try? It seems to work for Keith at least,
> > and it sounds like he was seeing the same problem.
>
> Nope, unfortunately, it's not helping on my T400 laptop. I'm still
> getting huge amounts of glitching and tearing with this patch applied
> against -rc3.
>
> What I'm using for now to fix up my system is this patch.
>

How about this one? I have one more idea to try out if this doesn't
work (hacking on it now).

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center


diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7a5fb79..1451945 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1047,7 +1047,7 @@ static void g4x_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
dev_priv->cfb_fence = obj_priv->fence_reg;
dev_priv->cfb_plane = intel_crtc->plane;

- dpfc_ctl = plane | DPFC_SR_EN | DPFC_CTL_LIMIT_1X;
+ dpfc_ctl = plane | DPFC_CTL_LIMIT_1X;
if (obj_priv->tiling_mode != I915_TILING_NONE) {
dpfc_ctl |= DPFC_CTL_FENCE_EN | dev_priv->cfb_fence;
I915_WRITE(DPFC_CHICKEN, DPFC_HT_MODIFY);

\
 
 \ /
  Last update: 2009-10-12 19:15    [W:0.099 / U:0.756 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site