Skip to content

Commit 858f129

Browse files
icklejnikula
authored andcommitted
drm/i915/gt: Ignore irq enabling on the virtual engines
We do not use the virtual engines for interrupts (they have physical components), but we do use them to decouple the fence signaling during submission. Currently, when we submit a completed request, we try to enable the interrupt handler for the virtual engine, but we never disarm it. A quick fix is then to mark the irq as enabled, and it will then remain enabled -- and this prevents us from waking the device and never letting it sleep again. Fixes: f8db4d0 ("drm/i915: Initialise breadcrumb lists on the virtual engine") Signed-off-by: Chris Wilson <[email protected]> Cc: Mika Kuoppala <[email protected]> Cc: Tvrtko Ursulin <[email protected]> Cc: <[email protected]> # v5.5+ Reviewed-by: Tvrtko Ursulin <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 4fe6abb) Signed-off-by: Jani Nikula <[email protected]>
1 parent aee62e0 commit 858f129

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/gpu/drm/i915/gt/intel_lrc.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5688,6 +5688,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
56885688
intel_engine_init_active(&ve->base, ENGINE_VIRTUAL);
56895689
intel_engine_init_breadcrumbs(&ve->base);
56905690
intel_engine_init_execlists(&ve->base);
5691+
ve->base.breadcrumbs.irq_armed = true; /* fake HW, used for irq_work */
56915692

56925693
ve->base.cops = &virtual_context_ops;
56935694
ve->base.request_alloc = execlists_request_alloc;

0 commit comments

Comments
 (0)