diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index e05a0216cd9b..b106984c722a 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -663,14 +663,15 @@ gen6_add_request(struct intel_ring_buffer *ring) | |||
663 | struct drm_device *dev = ring->dev; | 663 | struct drm_device *dev = ring->dev; |
664 | struct drm_i915_private *dev_priv = dev->dev_private; | 664 | struct drm_i915_private *dev_priv = dev->dev_private; |
665 | struct intel_ring_buffer *useless; | 665 | struct intel_ring_buffer *useless; |
666 | int i, ret; | 666 | int i, ret, num_dwords = 4; |
667 | 667 | ||
668 | ret = intel_ring_begin(ring, ((I915_NUM_RINGS-1) * | 668 | if (i915_semaphore_is_enabled(dev)) |
669 | MBOX_UPDATE_DWORDS) + | 669 | num_dwords += ((I915_NUM_RINGS-1) * MBOX_UPDATE_DWORDS); |
670 | 4); | 670 | #undef MBOX_UPDATE_DWORDS |
671 | |||
672 | ret = intel_ring_begin(ring, num_dwords); | ||
671 | if (ret) | 673 | if (ret) |
672 | return ret; | 674 | return ret; |
673 | #undef MBOX_UPDATE_DWORDS | ||
674 | 675 | ||
675 | for_each_ring(useless, dev_priv, i) { | 676 | for_each_ring(useless, dev_priv, i) { |
676 | u32 mbox_reg = ring->signal_mbox[i]; | 677 | u32 mbox_reg = ring->signal_mbox[i]; |