diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-08 12:22:42 +0100 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-07-08 10:23:17 -0700 |
commit | 1630fe754c83b3e57efa51c85f1a21e612a63a0e (patch) | |
tree | 54b122ad648f655b6f9db1012bad3a9996b161ea /drivers/gpu/drm/i915/i915_drv.h | |
parent | 7782de3bd671657674e7baba854f0fd43e9f86bc (diff) | |
download | lwn-1630fe754c83b3e57efa51c85f1a21e612a63a0e.tar.gz lwn-1630fe754c83b3e57efa51c85f1a21e612a63a0e.zip |
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>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 56cb1c4fe73e..3154b3dfd804 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -266,6 +266,7 @@ enum intel_pch { #define QUIRK_PIPEA_FORCE (1<<0) struct intel_fbdev; +struct intel_fbc_work; typedef struct drm_i915_private { struct drm_device *dev; @@ -335,6 +336,7 @@ typedef struct drm_i915_private { int cfb_fence; int cfb_plane; int cfb_y; + struct intel_fbc_work *fbc_work; struct intel_opregion opregion; |