OSDN Git Service

drm/i915: untangle page flip completion
authorJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 26 Jan 2010 22:40:05 +0000 (14:40 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 10 Feb 2010 22:33:04 +0000 (14:33 -0800)
commitb1b87f6b65a770a69f3632cf7c1f9182547c1249
tree6bcd3116e569da55789c94112e9d7afc8042f9be
parentee25df2bc379728c45d81e04cf87984db1425edf
drm/i915: untangle page flip completion

When a new page flip is requested, we need to both queue an unpin for
the current framebuffer, and also increment the flip pending count on
the newly submitted buffer.

At flip finish time, we need to unpin the old fb and decrement the flip
pending count on the new buffer.

The old code was conflating the two, and led to hangs when new direct
rendered apps were started, replacing the existing frame buffer.  This
patch splits out the buffers and prevents the hangs.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_display.c