drm: Asynchronouse page flipping interface and Intel implementation

Daniel Vetter daniel at ffwll.ch
Tue Jul 23 13:15:59 PDT 2013


On Mon, Jul 22, 2013 at 06:49:57PM -0700, Keith Packard wrote:
> Here's a sequence of five patches that exposes an interface to request
> of the driver that the page flipping request be executed without
> waiting for vblank. It's optional, and drivers can expose whether it
> is supported through the existing GETCAP ioctl.
> 
> This supports only Ivybridge and Sandybridge Intel graphics chips as
> that's what I've got to test on; of course all of the other drivers
> have been modified so that they still compile cleanly.

Quick comments on the i915 kernel part:
- Iirc the w/a database has a bunch of entries about async flips. Those
  need to be addressed and annoted with the new w/a tag comment format
  Damien recently created.

- We should exercise userspace abi cornercases and check that we get an
  -EINVAL everywhere we expect one. Since the current vblank-synced
  pageflips seem to also get this wrong it'd be good to exercise both
  modes.

- kms_flip needs to be extended to beat on async flips. Obviously the
  timing checks don't apply but otherwise I think it won't hurt to enable
  all the existing interaction tests with async flips, too. On top of that
  I think we should test interactions between async flips and vblank
  synced flips. Without the timing checks the other tests will run as fast
  as possible, so that should gives us good coverage of the
  non-ratelimited nature of async flips - even with vblank flips we've hit
  ugly issues by e.g. starving the unpin workers.

Oh and my little comment about moving all checks into core code is a bit
wrong, we'd still need to check for X-tiling with async flips ofc.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list