[Intel-gfx] [RFC v2] drm/i915: Move execlists irq handler to a bottom half

Chris Wilson chris at chris-wilson.co.uk
Thu Mar 24 19:56:55 UTC 2016


On Thu, Mar 24, 2016 at 06:40:55PM +0200, Imre Deak wrote:
> Hm yea, I missed that it's only an execlist tasklet and so there
> shouldn't be any pending tasklet after mark_idle(). Perhaps it would
> still make sense to assert for this inĀ gen8_logical_ring_put_irq() or
> somewhere? Similarly there is a tasklet_kill() in
> intel_logical_ring_cleanup(), but there shouldn't be any pending
> tasklet there either, so should we add an assert there too?

Yes, tasklet_kill() should be a nop. We could

if (WARN_ON(test_bit(TASKLET_STATE_SCHED, &tasklet->state))
	tasklet_kill(&tasklet);

I don't see a particular sensible spot to assert that the engines are
off before irq uninstall other than the assertions we have in execlists
that irqs are actually enabled when we try to submit, and the battery
of WARNs we have for trying to access the hardware whilst !rpm.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list