diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c index 4f491791b4ba..2979f0fd9270 100644 --- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c +++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c @@ -131,6 +131,14 @@ __dma_fence_signal__notify(struct dma_fence *fence, } } +static void add_retire(struct intel_breadcrumbs *b, struct intel_timeline *tl) +{ + struct intel_engine_cs *engine = + container_of(b, struct intel_engine_cs, breadcrumbs); + + intel_engine_add_retire(engine, tl); +} + static void signal_irq_work(struct irq_work *work) { struct intel_breadcrumbs *b = container_of(work, typeof(*b), irq_work); @@ -182,8 +190,7 @@ static void signal_irq_work(struct irq_work *work) __list_del_many(&ce->signals, pos); if (&ce->signals == pos) { /* now empty */ list_del_init(&ce->signal_link); - intel_engine_add_retire(ce->engine, - ce->timeline); + add_retire(b, ce->timeline); } } } diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 56cf71d8bbda..31815d5e3b74 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -4512,7 +4512,6 @@ intel_execlists_create_virtual(struct i915_gem_context *ctx, intel_engine_init_active(&ve->base, ENGINE_VIRTUAL); intel_engine_init_breadcrumbs(&ve->base); intel_engine_init_execlists(&ve->base); - intel_engine_init_retire(&ve->base); ve->base.cops = &virtual_context_ops; ve->base.request_alloc = execlists_request_alloc;