Hi, Here is a patchset to allow power-of-two number of execlist ports configurable at init time. The purpose is to support more than two ports (contexts) for guc submission. I did few runs of gem_exec_nop and gem_exec_ctx on non guc paths to verify that these don't regress the hw submission path. I expected a neutral or minor negative effect but there is an improvement. These needs to be rebased on top of Michał Winiarski's coalesced requests patch, but to get comments on the native side of handling and general approach, here it is. -Mika Mika Kuoppala (8): drm/i915: Make own struct for execlist items drm/i915: Wrap port cancellation into a function drm/i915: Add execlist_port_complete drm/i915: Make execlist port count variable drm/i915: Introduce iterators for execlist ports drm/i915: Introduce execlist_port_* accessors drm/i915: Move execlist initialization into intel_engine_cs.c drm/i915: Keep track of reserved execlist ports drivers/gpu/drm/i915/i915_debugfs.c | 9 +- drivers/gpu/drm/i915/i915_drv.h | 3 +- drivers/gpu/drm/i915/i915_gem.c | 17 ++- drivers/gpu/drm/i915/i915_gpu_error.c | 18 ++- drivers/gpu/drm/i915/i915_guc_submission.c | 59 ++++++---- drivers/gpu/drm/i915/i915_irq.c | 5 +- drivers/gpu/drm/i915/intel_engine_cs.c | 39 +++++-- drivers/gpu/drm/i915/intel_lrc.c | 159 ++++++++++++++------------ drivers/gpu/drm/i915/intel_ringbuffer.h | 173 +++++++++++++++++++++++++---- 9 files changed, 339 insertions(+), 143 deletions(-) -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx