From: Eric Anholt <eric@anholt.net>
Date: Sun, 6 Sep 2009 22:18:53 +0000 (-0700)
Subject: drm/i915: Put the idle reclocking work on our private workqueue as well.
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=01dfba93d9dfcf6d7abfc55ff5d9d6e76fa01ba0;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

drm/i915: Put the idle reclocking work on our private workqueue as well.

Fixes (again) whole-system lockups due to GPU lockups.

Signed-off-by: Eric Anholt <eric@anholt.net>
---

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9aa1d2de8a8..f6741032c60 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3201,7 +3201,7 @@ static void intel_gpu_idle_timer(unsigned long arg)
 
 	dev_priv->busy = false;
 
-	schedule_work(&dev_priv->idle_work);
+	queue_work(dev_priv->wq, &dev_priv->idle_work);
 }
 
 void intel_increase_renderclock(struct drm_device *dev, bool schedule)
@@ -3335,7 +3335,7 @@ static void intel_crtc_idle_timer(unsigned long arg)
 
 	intel_crtc->busy = false;
 
-	schedule_work(&dev_priv->idle_work);
+	queue_work(dev_priv->wq, &dev_priv->idle_work);
 }
 
 static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule)