[Intel-gfx] [PATCH 2/3] drm/i915/guc: Always enable the breadcrumbs irq

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 20 21:16:47 UTC 2017


Quoting Chris Wilson (2017-10-20 22:06:39)
> The execlists emulation on top of the GuC (used for scheduling and
> preemption) depends on the MI_USER_INTERRUPT for its notifications and
> tasklet action. As we always employ the irq, there is no advantage in
> ever disabling it while we are using the GuC, so allow us to arm the
> breadcrumb irq when enabling GuC submission and disarm upon disabling.
> The impact should be lessened by the delayed irq disabling we do (we
> only disable after receiving an interrupt for which no one was wanting),
> but allowing guc to explicitly manage the irq in relation to itself is
> simpler and prevents an issue with losing an interrupt for preemption
> as it is not coupled to an active request.
> 
> Internally, we add a reference counter (breadcrumbs.irq_users) as a
> simple mechanism to allow GuC to keep the breadcrumb irq enabled. It
> also means that the missed-breadcrumb timer is permanently active.

Scratch that part; the timer is only enabled for waiters.
-Chris


More information about the Intel-gfx mailing list