It turns out that preempt failures were caused by GuC not expecting multiple workitems when preempt action was requested. Another thing that deserves attention is the workaround for missing USER_INTERRUPT. The value I've used for the delayed work timer is just a semi-educated guess at this point. There's also small oneline doorbell cleanup (we weren't observing any problems with it, but Sagar pointed out that doorbell cookie with value 0 seems to be reserved), and removal of unused variable (pointed out by Michel) Dave Gordon (1): drm/i915/guc: Add a second client, to be used for preemption Michał Winiarski (13): drm/i915/guc: Do not use 0 for GuC doorbell cookie drm/i915/guc: Extract GuC stage desc pool creation into a helper drm/i915/guc: Allocate separate shared data object for GuC communication drm/i915/guc: Initialize GuC before restarting engines drm/i915/guc: Add preemption action to GuC firmware interface drm/i915/guc: Split guc_wq_item_append drm/i915: Extract "emit write" part of emit breadcrumb functions drm/i915: Add information needed to track engine preempt state drm/i915/guc: Keep request->priority for its lifetime drm/i915: Rename helpers used for unwinding, use macro for can_preempt drm/i915/guc: Preemption! With GuC drm/i915/guc: Workaround the missing user interrupt after preemption HAX Enable GuC Submission for CI drivers/gpu/drm/i915/i915_debugfs.c | 11 +- drivers/gpu/drm/i915/i915_drv.c | 5 +- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/i915_gem.c | 20 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +- drivers/gpu/drm/i915/i915_guc_submission.c | 511 +++++++++++++++++++++++------ drivers/gpu/drm/i915/i915_params.h | 4 +- drivers/gpu/drm/i915/intel_engine_cs.c | 6 +- drivers/gpu/drm/i915/intel_guc.c | 14 +- drivers/gpu/drm/i915/intel_guc.h | 20 +- drivers/gpu/drm/i915/intel_guc_fwif.h | 40 +++ drivers/gpu/drm/i915/intel_lrc.c | 56 ++-- drivers/gpu/drm/i915/intel_lrc.h | 1 - drivers/gpu/drm/i915/intel_ringbuffer.h | 53 +++ drivers/gpu/drm/i915/intel_uncore.c | 2 +- 15 files changed, 575 insertions(+), 178 deletions(-) -- 2.13.6 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx