> +static struct ring { > + const char *name; > + int id; > + bool exists; > +} rings[] = { > + { "render", I915_EXEC_RENDER, false }, > + { "bsd1", I915_EXEC_BSD | 1<<13, false }, > + { "bsd2", I915_EXEC_BSD | 2<<13, false }, This is wrong. The timeline is coupled to the exec_id, which is the same for "both" BSD engines. To fix that, properly split up the two rings with separate ids and deprecate HAS_BSD2. > + { "blt", I915_EXEC_BLT, false }, > + { "vebox", I915_EXEC_VEBOX, false }, > +}; > + > +#define NBR_RINGS (sizeof(rings)/sizeof(struct ring)) Also see intel_execution_engines to save on duplicating code. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx