[Intel-gfx] [PATCH] drm/i915: use correct runtime get/put calls at init/teardown
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Sep 17 14:23:32 PDT 2015
According to the PCI docs and Rafael, we need to be using
pm_runtime_put_noidle() and pm_runtime_get_noresume() in our init and
teardown routines, rather than using a direct enable/disable pair (and
we didn't even have the enable side, so never autosuspended after an
unload).
This fixes one failure of the basic-pci-d3-state test on my BYT. I'm
still debugging why the device never autosuspends.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
---
drivers/gpu/drm/i915/intel_runtime_pm.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 85c35fd..1addb8a 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1822,7 +1822,7 @@ static void intel_runtime_pm_disable(struct drm_i915_private *dev_priv)
/* Make sure we're not suspended first. */
pm_runtime_get_sync(device);
- pm_runtime_disable(device);
+ pm_runtime_get_noresume(device);
}
/**
@@ -2114,8 +2114,6 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
if (!HAS_RUNTIME_PM(dev))
return;
- pm_runtime_set_active(device);
-
/*
* RPM depends on RC6 to save restore the GT HW context, so make RC6 a
* requirement.
@@ -2130,5 +2128,6 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
pm_runtime_use_autosuspend(device);
pm_runtime_put_autosuspend(device);
+ pm_runtime_put_noidle(device);
}
--
1.9.1
More information about the Intel-gfx
mailing list