@@ -1148,17 +1148,18 @@ static bool missed_irq(struct drm_i915_private *dev_priv,
static int __i915_spin_request(struct drm_i915_gem_request *req)
{
- unsigned long timeout;
+ ktime_t timeout;
if (i915_gem_request_get_ring(req)->irq_refcount)
return -EBUSY;
- timeout = jiffies + 1;
+ timeout = ktime_get();
+ ktime_add_us(timeout, 1);
while (!need_resched()) {
if (i915_gem_request_completed(req, true))
return 0;
- if (time_after_eq(jiffies, timeout))
+ if (ktime_after(ktime_get(), timeout))
break;
cpu_relax_lowlatency();