Skip to content

Commit 4fe6abb

Browse files
committed
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]
1 parent 2730055 commit 4fe6abb

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
@@ -5724,6 +5724,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
57245724
intel_engine_init_active(&ve->base, ENGINE_VIRTUAL);
57255725
intel_engine_init_breadcrumbs(&ve->base);
57265726
intel_engine_init_execlists(&ve->base);
5727+
ve->base.breadcrumbs.irq_armed = true; /* fake HW, used for irq_work */
57275728

57285729
ve->base.cops = &virtual_context_ops;
57295730
ve->base.request_alloc = execlists_request_alloc;

0 commit comments

Comments
 (0)