On Thu, 27 Feb 2014 19:26:50 -0300 Paulo Zanoni <przanoni@xxxxxxxxx> wrote: > From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > > 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. > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_pm.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 3bd6e8f..88b434b 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -5535,8 +5535,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; > > @@ -5772,5 +5770,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; > } Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Though my earlier comments about getting rid of the init special case still apply... I think it would be a little easier to understand in that case (though maybe not, I guess we'd have to see the patches and resulting code). -- Jesse Barnes, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx