diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 91bb1fc27420..32e6aade6223 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -1210,8 +1210,16 @@ int __i915_wait_request(struct drm_i915_gem_request *req, | |||
1210 | if (i915_gem_request_completed(req, true)) | 1210 | if (i915_gem_request_completed(req, true)) |
1211 | return 0; | 1211 | return 0; |
1212 | 1212 | ||
1213 | timeout_expire = timeout ? | 1213 | timeout_expire = 0; |
1214 | jiffies + nsecs_to_jiffies_timeout((u64)*timeout) : 0; | 1214 | if (timeout) { |
1215 | if (WARN_ON(*timeout < 0)) | ||
1216 | return -EINVAL; | ||
1217 | |||
1218 | if (*timeout == 0) | ||
1219 | return -ETIME; | ||
1220 | |||
1221 | timeout_expire = jiffies + nsecs_to_jiffies_timeout(*timeout); | ||
1222 | } | ||
1215 | 1223 | ||
1216 | if (INTEL_INFO(dev_priv)->gen >= 6) | 1224 | if (INTEL_INFO(dev_priv)->gen >= 6) |
1217 | gen6_rps_boost(dev_priv, rps, req->emitted_jiffies); | 1225 | gen6_rps_boost(dev_priv, rps, req->emitted_jiffies); |