drm/i915: Perform intel_enable_fbc() from a delayed task
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 8 Jul 2011 11:22:42 +0000 (12:22 +0100)
committerKeith Packard <keithp@keithp.com>
Fri, 8 Jul 2011 17:23:17 +0000 (10:23 -0700)
commit1630fe754c83b3e57efa51c85f1a21e612a63a0e
tree54b122ad648f655b6f9db1012bad3a9996b161ea
parent7782de3bd671657674e7baba854f0fd43e9f86bc
drm/i915: Perform intel_enable_fbc() from a delayed task

In order to accommodate the requirements of re-enabling FBC after
page-flipping, but to avoid doing so and incurring the cost of a wait
for vblank in the middle of a page-flip sequence, we defer the actual
enablement by 50ms. If any request to disable FBC arrive within that
interval, the enablement is cancelled and we are saved from blocking on
the wait.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h