summaryrefslogtreecommitdiff
path: root/linux-core/i915_fence.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2008-04-28 12:10:44 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2008-04-28 12:10:44 +0200
commit7f269bec7ed49385de394fdbd970f463ef2060f0 (patch)
tree8c45f8c2e11cf101350272f81892cf4cf7678c3a /linux-core/i915_fence.c
parent55a9941977953d16b36bbf3e1dcad392ac70e1ef (diff)
parent7f8e4060859651993921281445ec00940c577222 (diff)
Merge branch 'master' into modesetting-101
Conflicts: linux-core/Makefile.kernel linux-core/drm_compat.c linux-core/drm_fops.c linux-core/drm_lock.c shared-core/drm.h shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
Diffstat (limited to 'linux-core/i915_fence.c')
-rw-r--r--linux-core/i915_fence.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/linux-core/i915_fence.c b/linux-core/i915_fence.c
index f392e8e6..3ca8403f 100644
--- a/linux-core/i915_fence.c
+++ b/linux-core/i915_fence.c
@@ -162,11 +162,13 @@ static int i915_fence_emit_sequence(struct drm_device *dev, uint32_t class,
void i915_fence_handler(struct drm_device *dev)
{
+ struct drm_i915_private *dev_priv = (struct drm_i915_private *) dev->dev_private;
struct drm_fence_manager *fm = &dev->fm;
struct drm_fence_class_manager *fc = &fm->fence_class[0];
write_lock(&fm->lock);
- i915_fence_poll(dev, 0, fc->waiting_types);
+ if (likely(dev_priv->fence_irq_on))
+ i915_fence_poll(dev, 0, fc->waiting_types);
write_unlock(&fm->lock);
}