[Intel-gfx] [PATCH] drm/i915: Fix sync to vblank when VGA output is turned off

Jesse Barnes jbarnes at virtuousgeek.org
Tue Dec 1 19:33:30 CET 2009


On Tue, 01 Dec 2009 10:28:17 -0800
Eric Anholt <eric at anholt.net> wrote:

> On Mon, 09 Nov 2009 12:51:22 +0800, Li Peng <peng.li at linux.intel.com>
> wrote:
> > In current vblank-wait implementation, if we turn off VGA output,
> > drm_wait_vblank will still wait on the disabled pipe until timeout,
> > because vblank on the pipe is assumed be enabled. This would cause
> > slow system response on some system such as moblin.
> > 
> > This patch resolve the issue by adding a drm helper function
> > drm_vblank_off which explicitly clear vblank_enabled[crtc], wake up
> > any waiting queue and save last vblank counter before turning off
> > crtc. It also slightly change drm_vblank_get to ensure that we will
> > will return immediately if trying to wait on a disabled pipe.
> > 
> > Signed-off-by: Li Peng <peng.li at intel.com>
> 
> Applied.  Thanks!

Kristian, I think we'll need to tie into this for outstanding page flips
at DPMS off time.  If we DPMS off while one is pending, I think we
should complete it immediately and send the event.  I'm not sure what
to do about the case where we received the flip pending interrupt but
haven't received the vblank event though... Presumably in that case the
base register will have been updated, but if not I'm not sure what will
happen...

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list