[Intel-gfx] [PATCH] drm/i915: Do a lightweight pm_get() from intel_mark_busy()

Chris Wilson chris at chris-wilson.co.uk
Wed Jun 24 01:09:03 PDT 2015


Akash noticed that we were recursing from the call to
intel_runtime_pm_get() inside intel_mark_busy() when we were already
waking the device (through another intel_runtime_pm_get()). In
intel_mark_busy() we know the device is awake and purpose of the
reference here is to simply keep the device awake until the GPU is idle
again. As such we do not need the full resume, and can call the lighter
intel_runtime_pm_get_noresume() instead.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Akash Goel <akash.goel at intel.com>
Cc: Imre Deak <imre.deak at intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a43abc38af90..da0d882cc71e 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10668,7 +10668,7 @@ void intel_mark_busy(struct drm_device *dev)
 	if (dev_priv->mm.busy)
 		return;
 
-	intel_runtime_pm_get(dev_priv);
+	intel_runtime_pm_get_noresume(dev_priv);
 	intel_rps_busy(dev_priv);
 	dev_priv->mm.busy = true;
 }
-- 
2.1.4



More information about the Intel-gfx mailing list