Re: [PATCH 5/7] drm/i915: Interrupt driven fences

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux