[PATCH -v2] drm/exynos: track vblank events on a per crtc basis

Gustavo Padovan gustavo at padovan.org
Fri Jan 30 09:17:18 PST 2015


2015-01-30 Daniel Vetter <daniel at ffwll.ch>:

> On Fri, Jan 30, 2015 at 03:57:53PM +0000, Daniel Stone wrote:
> > Hi,
> > 
> > On 30 January 2015 at 14:30, Gustavo Padovan <gustavo at padovan.org> wrote:
> > > 2015-01-30 Joonyoung Shim <jy0922.shim at samsung.com>:
> > >> We will lose unfinished prior events by this change. That's why we use
> > >> linked list.
> > >
> > > I think you are right, but I was using exynos_crtc->event to do exactly the
> > > same as exynos_crtc->pending_flip. So we were losing a event in
> > > exynos_drm_crtc_dpms() before too. I change this patch to have a page_flip
> > > list on the crtc.
> > 
> > The usual approach in other drivers is to return -EBUSY when there is
> > already an async pageflip pending. This definitely makes sense to me,
> > as I don't see the point of submitting pageflips faster than the
> > hardware can actually render, and pretending to the application that
> > they were actually shown.
> 
> Yes, right now drm doesn't really support anything like a pageflip queue.
> Same for atomic really. Even the async pageflip mode works like it, it
> just ends up flipping faster.
> 
> Long-term we want a flip queue where subsequent flips can be folded
> together on the next vblank. That makes benchmark-mode games happy,
> without resulting in tearing like async flips and still resulting in the
> lowest possible latency (since the kernel we just commit the flips for
> which all the buffers are ready and not stall).

Yeah, that makes sense. I'll just add a check for -EBUSY and send a v2.

	Gustavo


More information about the dri-devel mailing list