A minimally power-aware driver treats all messages as SUSPEND? - Kernel

This is a discussion on A minimally power-aware driver treats all messages as SUSPEND? - Kernel ; Hello, include/linux/pm.h claims: A minimally power-aware driver treats all messages as SUSPEND [...]. This was introduced in commit 82bb67f2 by David Brownell. At this time PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael J. Wysocki without updating the ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: A minimally power-aware driver treats all messages as SUSPEND?

  1. A minimally power-aware driver treats all messages as SUSPEND?

    Hello,

    include/linux/pm.h claims:

    A minimally power-aware driver treats all messages as SUSPEND
    [...].

    This was introduced in commit 82bb67f2 by David Brownell. At this time
    PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael
    J. Wysocki without updating the above sentence. I think a minimally
    power-aware driver should treat all messages as HIBERNATE, shouldn't it?

    Best regards
    Uwe

    --
    Uwe Kleine-König, Software Engineer
    Digi International GmbH Branch Breisach, Küferstrasse 8, 79206 Breisach, Germany
    Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: A minimally power-aware driver treats all messages as SUSPEND?

    On Tuesday, 1 of July 2008, Uwe Kleine-König wrote:
    > Hello,
    >
    > include/linux/pm.h claims:
    >
    > A minimally power-aware driver treats all messages as SUSPEND
    > [...].
    >
    > This was introduced in commit 82bb67f2 by David Brownell. At this time
    > PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael
    > J. Wysocki without updating the above sentence. I think a minimally
    > power-aware driver should treat all messages as HIBERNATE, shouldn't it?


    No, I don't think so. In the majority of cases, SUSPEND is equivalent to the
    combination of FREEZE and HIBERNATE.

    Still, this is going to change anyway with the introduction of the new
    suspend/hibernation callbacks that are scheduled for 2.6.27.

    Thanks,
    Rafael
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: A minimally power-aware driver treats all messages as SUSPEND?

    Hello Rafael,

    Rafael J. Wysocki wrote:
    > On Tuesday, 1 of July 2008, Uwe Kleine-König wrote:
    > > include/linux/pm.h claims:
    > >
    > > A minimally power-aware driver treats all messages as SUSPEND
    > > [...].
    > >
    > > This was introduced in commit 82bb67f2 by David Brownell. At this time
    > > PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael
    > > J. Wysocki without updating the above sentence. I think a minimally
    > > power-aware driver should treat all messages as HIBERNATE, shouldn't it?

    >
    > No, I don't think so. In the majority of cases, SUSPEND is equivalent to the
    > combination of FREEZE and HIBERNATE.

    I didn't get that. I thought SUSPEND is suspend-to-ram and HIBERNATE is
    suspend-to-disk, so HIBERNATE is the "deeper sleep".
    With that I might have to do less on SUSPEND because some state might be
    preserved after the machine comes up again.

    > Still, this is going to change anyway with the introduction of the new
    > suspend/hibernation callbacks that are scheduled for 2.6.27.

    in next?

    Best regards
    Uwe

    --
    Uwe Kleine-König, Software Engineer
    Digi International GmbH Branch Breisach, Küferstrasse 8, 79206 Breisach, Germany
    Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: A minimally power-aware driver treats all messages as SUSPEND?

    On Tuesday, 1 of July 2008, Uwe Kleine-König wrote:
    > Hello Rafael,
    >
    > Rafael J. Wysocki wrote:
    > > On Tuesday, 1 of July 2008, Uwe Kleine-König wrote:
    > > > include/linux/pm.h claims:
    > > >
    > > > A minimally power-aware driver treats all messages as SUSPEND
    > > > [...].
    > > >
    > > > This was introduced in commit 82bb67f2 by David Brownell. At this time
    > > > PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael
    > > > J. Wysocki without updating the above sentence. I think a minimally
    > > > power-aware driver should treat all messages as HIBERNATE, shouldn't it?

    > >
    > > No, I don't think so. In the majority of cases, SUSPEND is equivalent to the
    > > combination of FREEZE and HIBERNATE.

    > I didn't get that. I thought SUSPEND is suspend-to-ram and HIBERNATE is
    > suspend-to-disk, so HIBERNATE is the "deeper sleep".
    > With that I might have to do less on SUSPEND because some state might be
    > preserved after the machine comes up again.
    >
    > > Still, this is going to change anyway with the introduction of the new
    > > suspend/hibernation callbacks that are scheduled for 2.6.27.

    > in next?


    Yes.

    Thanks,
    Rafael
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: A minimally power-aware driver treats all messages as SUSPEND?



    On Tue, 1 Jul 2008, Uwe Kleine-König wrote:
    >
    > This was introduced in commit 82bb67f2 by David Brownell. At this time
    > PM_EVENT_HIBERNATE didn't exist. This was added in 3a2d5b70 by Rafael
    > J. Wysocki without updating the above sentence. I think a minimally
    > power-aware driver should treat all messages as HIBERNATE, shouldn't it?


    No.

    A minimally power-aware driver should aim to work with STR.

    HIBERNATE should be a secondary goal (if even that).

    Linus
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. Re: A minimally power-aware driver treats all messages as SUSPEND?

    On Tue, Jul 01, 2008 at 05:14:15PM +0200, Uwe Kleine-König wrote:

    > With that I might have to do less on SUSPEND because some state might be
    > preserved after the machine comes up again.


    The only hardware state guaranteed by ACPI is the contents of RAM. It's
    valid for the platform to cut the power rails to everything else, so
    from a driver point of view it's almost always equivalent to
    hibernation.

    --
    Matthew Garrett | mjg59@srcf.ucam.org
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  7. Re: A minimally power-aware driver treats all messages as SUSPEND?

    On Tuesday 01 July 2008, Matthew Garrett wrote:
    > On Tue, Jul 01, 2008 at 05:14:15PM +0200, Uwe Kleine-König wrote:
    >
    > > With that I might have to do less on SUSPEND because some state might be
    > > preserved after the machine comes up again.

    >
    > The only hardware state guaranteed by ACPI is the contents of RAM. It's
    > valid for the platform to cut the power rails to everything else, so
    > from a driver point of view it's almost always equivalent to
    > hibernation.


    Right. And moreover ... the way many drivers support suspend-to-RAM
    in that "minimally power-aware" sense is kind of brain-dead: they
    resume by resetting and re-initializing everything!! Which trashes
    any state that the hardware may have been preserving.

    So, there's no no real difference between SUSPEND and HIBERNATE modes
    unless drivers do more than that bare minimum.

    The more intelligent drivers will leverage hardware low power states,
    and be able to use one of potentially many "retention" modes. Those
    are the drivers which may well support wakeup events; issuing wakeups
    requiress the device to stay at least partially functional.

    - Dave

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread