[Intel-gfx] [PATCH 5/7] drm/i915: Interrupt driven fences

Chris Wilson chris at chris-wilson.co.uk
Fri Jan 8 14:46:10 PST 2016


On Fri, Jan 08, 2016 at 06:47:26PM +0000, John.C.Harrison at Intel.com wrote:
> +void i915_gem_request_notify(struct intel_engine_cs *ring, bool fence_locked)
> +{
> +	struct drm_i915_gem_request *req, *req_next;
> +	unsigned long flags;
>  	u32 seqno;
>  
> -	seqno = req->ring->get_seqno(req->ring, false/*lazy_coherency*/);
> +	if (list_empty(&ring->fence_signal_list))
> +		return;
> +
> +	if (!fence_locked)
> +		spin_lock_irqsave(&ring->fence_lock, flags);
>  
> -	return i915_seqno_passed(seqno, req->seqno);
> +	seqno = ring->get_seqno(ring, false);

We really don't want to do be doing the forcewake dance from inside the
interrupt handler. We made that mistake years ago.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list