[Intel-gfx] [PATCH] drm/i915/gt: Ignore irq enabling on the virtual engines

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Jul 13 10:19:58 UTC 2020


On 11/07/2020 21:32, Chris Wilson wrote:
> 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: f8db4d051b5e ("drm/i915: Initialise breadcrumb lists on the virtual engine")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: <stable at vger.kernel.org> # v5.5+
> ---
>   drivers/gpu/drm/i915/gt/intel_lrc.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index cd4262cc96e2..504e269bb166 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -5727,6 +5727,7 @@ intel_execlists_create_virtual(struct intel_engine_cs **siblings,
>   	intel_engine_init_active(&ve->base, ENGINE_VIRTUAL);
>   	intel_engine_init_breadcrumbs(&ve->base);
>   	intel_engine_init_execlists(&ve->base);
> +	ve->base.breadcrumbs.irq_armed = true;

Add a comment here saying this is a hack and why please. With that:

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko

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


More information about the Intel-gfx mailing list