On 01/11/2016 11:10 AM, John Harrison wrote: > On 08/01/2016 22:46, Chris Wilson wrote: >> On Fri, Jan 08, 2016 at 06:47:26PM +0000, John.C.Harrison@xxxxxxxxx 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 >> > What forcewake dance? Nothing in the above code mentions force wake. get_seqno() w/o lazy_coherency set will do a POSTING_READ of the ring active head, which goes through our crazy read function and does forcewake. So we may need something smarter here. Jesse _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx