summaryrefslogtreecommitdiff
path: root/shared-core
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-03-09 23:34:11 +0100
committerMichel Dänzer <michel@tungstengraphics.com>2007-03-10 00:10:49 +0100
commitd734992e6a8a5757dc360ab6a5e7c80ebc03b1cd (patch)
treef4e01f23d97b4ce1d5d6f3c1cef4072f82913991 /shared-core
parent0741064df4b913189d26a184a7c5dcc7827152be (diff)
i915: Only wait for pending flips before asynchronous flips again.
Diffstat (limited to 'shared-core')
-rw-r--r--shared-core/i915_dma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c
index 14e01179..c8b7e588 100644
--- a/shared-core/i915_dma.c
+++ b/shared-core/i915_dma.c
@@ -589,8 +589,9 @@ static void i915_do_dispatch_flip(drm_device_t * dev, int pipe, int sync)
dspbase);
BEGIN_LP_RING(4);
- OUT_RING(MI_WAIT_FOR_EVENT | (pipe ? MI_WAIT_FOR_PLANE_B_FLIP :
- MI_WAIT_FOR_PLANE_A_FLIP));
+ OUT_RING(sync ? 0 :
+ (MI_WAIT_FOR_EVENT | (pipe ? MI_WAIT_FOR_PLANE_B_FLIP :
+ MI_WAIT_FOR_PLANE_A_FLIP)));
OUT_RING(CMD_OP_DISPLAYBUFFER_INFO | (sync ? 0 : ASYNC_FLIP) |
(pipe ? DISPLAY_PLANE_B : DISPLAY_PLANE_A));
OUT_RING(dev_priv->sarea_priv->pitch * dev_priv->cpp);