[Intel-gfx] [PATCH 5/7] drm/i915/gt: Don't cancel the interrupt shadow too early
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Aug 7 11:27:47 UTC 2020
On 07/08/2020 09:32, Chris Wilson wrote:
> We currently want to keep the interrupt enabled until the interrupt after
> which we have no more work to do. This heuristic was broken by us
> kicking the irq-work on adding a completed request without attaching a
> signaler -- hence it appearing to the irq-worker that an interrupt had
> fired when we were idle.
>
> Fixes: bda4d4db6dd6 ("drm/i915/gt: Replace intel_engine_transfer_stale_breadcrumbs")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> index 98923344f491..c290a47a96e3 100644
> --- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> @@ -229,7 +229,7 @@ static void signal_irq_work(struct irq_work *work)
> * interrupt draw less ire from other users of the system and tools
> * like powertop.
> */
> - if (b->irq_armed && list_empty(&b->signalers))
> + if (!signal && b->irq_armed && list_empty(&b->signalers))
> __intel_breadcrumbs_disarm_irq(b);
>
> list_for_each_entry_safe(ce, cn, &b->signalers, signal_link) {
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list