On Mon, Dec 16, 2013 at 08:50:44PM -0800, Ben Widawsky wrote: > +static int gen8_rcs_signal(struct intel_ring_buffer *signaller, > + unsigned int num_dwords) > +{ > +#define MBOX_UPDATE_DWORDS 8 > + struct drm_device *dev = signaller->dev; > + struct drm_i915_private *dev_priv = dev->dev_private; > + struct intel_ring_buffer *waiter; > + int i, ret, num_rings; > + > + num_rings = hweight_long(INTEL_INFO(dev)->ring_mask); > + num_dwords = (num_rings-1) * MBOX_UPDATE_DWORDS; > +#undef MBOX_UPDATE_DWORDS > + > + /* XXX: + 4 for the caller */ > + ret = intel_ring_begin(signaller, num_dwords + 4); > + if (ret) > + return ret; You now pass down how many dwords the caller requires so it should just be num_dwords += (num_rings - 1) * DWORDS_PER_MBOX; above. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx