Re: [PM] Passing suspend level down to drivers

Patrick Mochel
2003-09-09T23:18:19Z

> I'd not worry about runtime states for now. [If user wants to sleep
> one device, we probably can allow that, but I do not think it is
> reasonable to do much more for 2.6.X]. That leaves us with:

We've always supported runtime states. There is just no drivers which
support it.

> APM suspend-to-ram
> APM suspend-to-disk
> ACPI standby (S1)
> ACPI suspend-to-ram (S3)
> ACPI suspend-to-disk (S4bios)
> swsusp
>
> Do we want to support ACPI S2? I don't think so. That list is not
> *that* bad.

ACPI S2 is irrelevant. Nonetheless, you're suggesting that we add manual
checks at runtime for each device to determine what state to go into,
depending on whether the system is entering suspend-to-disk or suspend-to-
ram.

That's a bad idea because:

- It doesn't need to be done at runtime, only initialization. Though it's
not a permformant path, it's still more efficient to do it once only.

- It forces policy into the drivers, instead of having them specify a
changeable default.

- It can only be changed by editing and recompiling the driver, unless
they manually export the variable.

> Yes, but you'll have to have central database saying "nvidia VGA needs
> to be in D1 during S3". I don't think that's good idea. Better put it
> into the driver... Hopefully not many drivers will need such hacks.

No, read the first email on this subject. You can have the bus do it for
all devices of a certain type (e.g. IDE), or you can have the drivers do
it when they're bound to specific devices.

Pat