Re: [Intel-gfx] [BUG, bisect] drm/i915: mouse pointer lags and overshoots

Daniel Vetter
2015-01-24T11:25:06Z

On Fri, Jan 23, 2015 at 10:57:32PM -0800, Jeremiah Mahler wrote:
> all,
>
> On Tue, Jan 20, 2015 at 06:48:42AM +0100, Daniel Vetter wrote:
> > On Mon, Jan 19, 2015 at 08:40:24AM -0800, Matt Roper wrote:
> > > On Mon, Jan 19, 2015 at 11:04:04AM +0000, Chris Wilson wrote:
> > > > On Mon, Jan 19, 2015 at 11:51:43AM +0100, Daniel Vetter wrote:
> > > > > There's also an issue in (most) X drivers which exaberates this
> > > > > issues: When changing the cursor buffer the X cursor code does a a)
> > > > > disable cursor b) update cursor image c) enable cursor cycle.
> > > >
> > > > Notably not -intel on which the bug has been observed. And more
> > > > importantly, the slow downs don't seem to correlate with cursor change,
> > > > just cursor movement.
> > > > -Chris
> > > >
> > > > --
> > > > Chris Wilson, Intel Open Source Technology Centre
> > >
> > > It seems that the simple fix for this case (movement only) is to just
> > > skip the prepare_fb/cleanup_fb calls (and the associated vblank wait) in
> > > the transitional plane helper when newfb == oldfb. I just posted a
> > > small patch that makes that change (and solves the cursor lag for me).
> > >
> > > This won't solve the case if userspace uses a different framebuffer for
> > > each update (while trying to update faster than the refresh rate). Is
> > > there any existing userspace that behaves this way that we can test
> > > with?
> >
> > Hm, I've thought I've merged that patch already:
> >
> > commit ab58e3384b9f9863bfd029b458ff337d381bf6d2
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date: Mon Nov 24 20:42:42 2014 +0100
> >
> > drm/atomic-helper: Skip vblank waits for unchanged fbs
> >
> > Or is the problem here that the transitional plane helpers aren't up to
> > the task? If so please reference that in your patch.
> >
> > And we still need a hack for the "changed fb cursor" issue, I'll whip
> > something up.
> > -Daniel
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>
> Just checking if anyone has come up with a fix. I am still stuck at
> next-20150112 because of this bug.

I've merged a patch from Matt Roper:

commit d99b70ce7d73d78a88311453ccdd0fa0a670dd50
Author: Matt Roper <matthew.d.roper@intel.com>
Date: Mon Jan 19 08:31:49 2015 -0800

drm/plane-helper: Skip prepare_fb/cleanup_fb when newfb==oldfb

that should rectify the sluggish i915 cursor. But it's in a separate topic
branch which isn't in linux-next. Should show up in drm-next next week
though.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch