[Meego-kernel] [PATCH 2/3] Intel MID I2S set SSP0/SSP1 in suspended state after boot
selma.bensaid at intel.com
Wed Dec 15 03:42:12 PST 2010
> If we do not do it in this order the SSP does not go in D0i3 after boot.
> > > + pm_runtime_set_active(&(drv_data->pdev->dev));
> > > pm_runtime_enable(&(drv_data->pdev->dev));
> > also this sequence is not valid. Please read the documentation more
> > carefully
> > (newer kernels will even warn if you do this)
[Selma] Here an extraction of the Documentation/power/runtime_pm.txt
So it seems that what we are doing is valid.
In addition to that, the initial run-time PM status of all devices is
'suspended', but it need not reflect the actual physical state of the device.
Thus, if the device is initially active (i.e. it is able to process I/O), its
run-time PM status must be changed to 'active', with the help of
pm_runtime_set_active(), before pm_runtime_enable() is called for the device.
However, if the device has a parent and the parent's run-time PM is enabled,
calling pm_runtime_set_active() for the device will affect the parent, unless
the parent's 'power.ignore_children' flag is set. Namely, in that case the
parent won't be able to suspend at run time, using the PM core's helper
functions, as long as the child's status is 'active', even if the child's
run-time PM is still disabled (i.e. pm_runtime_enable() hasn't been called for
the child yet or pm_runtime_disable() has been called for it). For this reason,
once pm_runtime_set_active() has been called for the device, pm_runtime_enable()
should be called for it too as soon as reasonably possible or its run-time PM
status should be changed back to 'suspended' with the help of
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number: 302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
More information about the MeeGo-kernel