All this leads to the conclusion that we should put devices into low power
states with interrupts off and this seems to imply that we'll need to make the
AML interpreter allow us to run AML with interrupts off.
Still, what about the following rule:
- If the device is supposed to wake up the system, the driver should prepare it
and put it into a low power state using the existing PCI callbacks, in
->suspend(). In that case, the driver is also required to save the state of
the device before putting it into the low power state. It is also required
to make sure that its interrupt handler will not get confused in case of
shared interrupts.
- If the state of the device hasn't been saved by the driver, the core is
required to save its state (with interrupts off, I suppose?).
- If the state of the device hasn't been saved by the driver, the core will
attempt to put the device into a low power state, using the native PCI PM and
with interrupts off, unless PCI_DEV_FLAGS_NO_D3 is set in dev->flags.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html