|
@@ -3249,7 +3249,7 @@ out:
|
|
|
|
|
|
void i915_queue_hangcheck(struct drm_i915_private *dev_priv)
|
|
|
{
|
|
|
- struct i915_gpu_error *e = &dev_priv->gpu_error;
|
|
|
+ unsigned long delay;
|
|
|
|
|
|
if (!i915.enable_hangcheck)
|
|
|
return;
|
|
@@ -3259,8 +3259,9 @@ void i915_queue_hangcheck(struct drm_i915_private *dev_priv)
|
|
|
* we will ignore a hung ring if a second ring is kept busy.
|
|
|
*/
|
|
|
|
|
|
- queue_delayed_work(e->hangcheck_wq, &e->hangcheck_work,
|
|
|
- round_jiffies_up_relative(DRM_I915_HANGCHECK_JIFFIES));
|
|
|
+ delay = round_jiffies_up_relative(DRM_I915_HANGCHECK_JIFFIES);
|
|
|
+ queue_delayed_work(system_long_wq,
|
|
|
+ &dev_priv->gpu_error.hangcheck_work, delay);
|
|
|
}
|
|
|
|
|
|
static void ibx_irq_reset(struct drm_device *dev)
|