aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2014-03-07 18:08:19 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-19 11:40:35 -0400
commit33688d95c458ffca6b247189cc6f15277fd6abf0 (patch)
treed5821089d193b33fbf00ffc9a2d7f131dc6740b5
parent765dab67528ac2490d8a9f68d05cc678861584d6 (diff)
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)
5923 struct drm_device *dev = dev_priv->dev; 5923 struct drm_device *dev = dev_priv->dev;
5924 struct device *device = &dev->pdev->dev; 5924 struct device *device = &dev->pdev->dev;
5925 5925
5926 dev_priv->pm.suspended = false;
5927
5928 if (!HAS_RUNTIME_PM(dev)) 5926 if (!HAS_RUNTIME_PM(dev))
5929 return; 5927 return;
5930 5928
@@ -6160,5 +6158,6 @@ void intel_pm_setup(struct drm_device *dev)
6160 INIT_DELAYED_WORK(&dev_priv->rps.delayed_resume_work, 6158 INIT_DELAYED_WORK(&dev_priv->rps.delayed_resume_work,
6161 intel_gen6_powersave_work); 6159 intel_gen6_powersave_work);
6162 6160
6161 dev_priv->pm.suspended = false;
6163 dev_priv->pm.irqs_disabled = false; 6162 dev_priv->pm.irqs_disabled = false;
6164} 6163}