[PATCH 08/38] bread
Chris Wilson
chris at chris-wilson.co.uk
Wed Aug 5 20:48:55 UTC 2020
---
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
index 8802b47fbd8f..68602e8e3626 100644
--- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
@@ -290,12 +290,13 @@ static void signal_irq_work(struct irq_work *work)
if (!READ_ONCE(b->irq_armed) && !list_empty(&b->signalers)) {
spin_lock(&b->irq_lock);
- if (!b->irq_armed)
+ if (!b->irq_armed &&
+ intel_engine_pm_get_if_awake(b->irq_engine)) {
__intel_breadcrumbs_arm_irq(b);
+ intel_engine_pm_put_async(b->irq_engine);
+ }
spin_unlock(&b->irq_lock);
}
- if (READ_ONCE(b->irq_armed) && intel_engine_is_parking(b->irq_engine))
- irq_work_queue(&b->irq_work); /* flush the signalers */
}
struct intel_breadcrumbs *
--
2.20.1
More information about the Intel-gfx-trybot
mailing list