• Ben Widawsky's avatar
    drm/i915: timeout parameter for seqno wait · 5c81fe85
    Ben Widawsky authored
    Insert a wait parameter in the code so we can possibly timeout on a
    seqno wait if need be. The code should be functionally the same as
    before because all the callers will continue to retry if an arbitrary
    timeout elapses.
    
    We'd like to have nanosecond granularity, but the only way to do this is
    with hrtimer, and that doesn't fit well with the needs of this code.
    
    v2: Fix rebase error (Chris)
    Return proper time even in wedged + signal case (Chris + Ben)
    Use timespec constructs (Ben)
    Didn't take Daniel's advice regarding the Frankenstein-ness of the
      function. I did try his advice, but in the end I liked the way the
      original code looked, better.
    
    v3: Make wakeups far less frequent for infinite waits (Chris)
    
    v4: Remove dummy_wait variable (Daniel)
    Use raw monotonic time instead of jiffies (made the code a bit cleaner) (Ben)
    Added a couple of warnings (Ben)
    
    v5: Remove warnings (Daniel)
    Use more accurate time diff for default case (Daniel)
    Bikeshed for setting the return timespec in timeout case (Daniel)
    s/jiffies/time in one of the comments
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    5c81fe85
i915_gem.c 101 KB