summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Zanoni2014-03-08 00:08:19 +0100
committerDaniel Vetter2014-03-19 16:40:35 +0100
commit33688d95c458ffca6b247189cc6f15277fd6abf0 (patch)
treed5821089d193b33fbf00ffc9a2d7f131dc6740b5
parentdrm/i915: update the PC8 and runtime PM documentation (diff)
downloadkernel-qcow2-linux-33688d95c458ffca6b247189cc6f15277fd6abf0.tar.gz
kernel-qcow2-linux-33688d95c458ffca6b247189cc6f15277fd6abf0.tar.xz
kernel-qcow2-linux-33688d95c458ffca6b247189cc6f15277fd6abf0.zip
drm/i915: init pm.suspended earlier
Function intel_init_runtime_pm is supposed to start allowing runtime PM from that point, but it's called very late on the driver initialization code, to prevent the driver from trying to suspend while still initializing. The problem is that variables are accessed earlier than that, so initalize them at intel_pm_setup, which is supposed to be the correct place. Notice that this shouldn't fix any specific bugs because dev_priv is zeroed when allocated, so the value is already correct right from the start. v2: - Rebase. Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 5ab1a820efdc..39f3238bf1c3 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5923,8 +5923,6 @@ void intel_init_runtime_pm(struct drm_i915_private *dev_priv)
struct drm_device *dev = dev_priv->dev;
struct device *device = &dev->pdev->dev;
- dev_priv->pm.suspended = false;
-
if (!HAS_RUNTIME_PM(dev))
return;
@@ -6160,5 +6158,6 @@ void intel_pm_setup(struct drm_device *dev)
INIT_DELAYED_WORK(&dev_priv->rps.delayed_resume_work,
intel_gen6_powersave_work);
+ dev_priv->pm.suspended = false;
dev_priv->pm.irqs_disabled = false;
}