On Fri, Jan 15, 2016 at 03:12:50PM +0000, Tvrtko Ursulin wrote: > +static int > +eb_select_ring(struct drm_i915_private *dev_priv, > + struct drm_file *file, > + struct drm_i915_gem_execbuffer2 *args, > + struct intel_engine_cs **ring) > +{ > + unsigned int user_ring_id = args->flags & I915_EXEC_RING_MASK; > + > + if (user_ring_id > I915_USER_RINGS) { > + DRM_DEBUG("execbuf with unknown ring: %u\n", user_ring_id); > + return -EINVAL; > + } > + > + if ((user_ring_id != I915_EXEC_BSD) && > + ((args->flags & I915_EXEC_BSD_MASK) != 0)) { > + DRM_DEBUG("execbuf with non bsd ring but with invalid " > + "bsd dispatch flags: %d\n", (int)(args->flags)); Not your bug, but we should limit the flags reported here to (int)(args->flags & I915_EXEC_BSD_MASK). Though actually just nuke the test. At the moment, we complain for !BSD, then allow them even if we don't have BSD2 (and ignore the setting). A little inconsistent. If we just document that these flags only provide extra selection criteria for the I915_EXEC_BSD ring, we would be done. I'll pretend that it is adequately documented... Looks good and we completed our review of ABI impact for reordering the ring ids, so Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx