1. 12 Mar, 2012 1 commit
  2. 04 Nov, 2011 1 commit
  3. 21 Oct, 2011 1 commit
  4. 16 Oct, 2011 2 commits
  5. 30 Jul, 2011 1 commit
  6. 14 Mar, 2011 1 commit
  7. 24 Feb, 2011 6 commits
  8. 18 Feb, 2011 1 commit
  9. 21 Jan, 2011 1 commit
  10. 07 Jan, 2011 2 commits
  11. 14 Dec, 2010 1 commit
  12. 11 Dec, 2010 1 commit
  13. 16 Nov, 2010 2 commits
  14. 26 Oct, 2010 1 commit
  15. 19 Oct, 2010 1 commit
  16. 15 Oct, 2010 1 commit
  17. 24 Sep, 2010 1 commit
  18. 25 Jul, 2010 1 commit
  19. 07 Jul, 2010 4 commits
    • Rafael J. Wysocki's avatar
      ACPICA: Introduce acpi_gpe_wakeup() · e8b6f970
      Rafael J. Wysocki authored
      
      ACPICA uses reference counters to avoid disabling GPEs too early in
      case they have been enabled for many times.  This is done separately
      for runtime and for wakeup, but the wakeup GPE reference counter is
      not really necessary, because GPEs are only enabled to wake up the
      system at the hardware level by acpi_enter_sleep_state().  Thus it
      only is necessary to set the corresponding bits in the wakeup enable
      masks of these GPEs' registers right before the system enters a sleep
      state.  Moreover, the GPE wakeup enable bits can only be set when the
      target sleep state of the system is known and they need to be cleared
      immediately after wakeup regardless of how many wakeup devices are
      associated with a given GPE.
      
      On the basis of the above observations, introduce function
      acpi_gpe_wakeup() to be used for setting or clearing the enable bit
      corresponding to a given GPE in its enable register's enable_for_wake
      mask.  Modify the ACPI suspend and wakeup code the use
      acpi_gpe_wakeup() instead of acpi_{enable|disable}_gpe() to set
      and clear GPE enable bits in their registers' enable_for_wake masks
      during system transitions to a sleep state and back to the working
      state, respectively.  [This will allow us to drop the third
      argument of acpi_{enable|disable}_gpe() and simplify the GPE
      handling code.]
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarLin Ming <ming.m.lin@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      e8b6f970
    • Rafael J. Wysocki's avatar
      ACPI / Sleep: Drop acpi_suspend_finish() · 618d7fd0
      Rafael J. Wysocki authored
      
      The function acpi_suspend_finish() is not necessary any more, because
      acpi_pm_finish() can be used instead of it just fine.  Remove it.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      618d7fd0
    • Rafael J. Wysocki's avatar
      ACPI / Sleep: Consolidate suspend and hibernation routines · c5f7a1bb
      Rafael J. Wysocki authored
      
      Some hibernation and suspend routines can be merged, which reduces
      the complexity of code a bit.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      c5f7a1bb
    • Rafael J. Wysocki's avatar
      ACPI / Wakeup: Simplify enabling of wakeup devices · 78f5f023
      Rafael J. Wysocki authored
      
      To simplify the enabling of wakeup devices during system suspend and
      hibernation, merge acpi_enable_wakeup_device_prep() with
      acpi_disable_wakeup_device() and remove unnecessary (and no longer
      valid) comments from the latter.  Rename acpi_enable_wakeup_device()
      to acpi_enable_wakeup_devices() and acpi_disable_wakeup_device()
      to acpi_disable_wakeup_devices(), because these functions usually
      operate on multiple device objects.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      78f5f023
  20. 06 Jul, 2010 2 commits
  21. 10 Jun, 2010 2 commits
  22. 29 May, 2010 2 commits
    • Rafael J. Wysocki's avatar
      ACPI / EC / PM: Fix names of functions that block/unblock EC transactions · fe955682
      Rafael J. Wysocki authored
      
      The names of the functions used for blocking/unblocking EC
      transactions during suspend/hibernation suggest that the transactions
      are suspended and resumed by them, while in fact they are disabled
      and enabled.  Rename the functions (and the flag used by them) to
      better reflect what they really do.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      fe955682
    • Rafael J. Wysocki's avatar
      ACPI / EC / PM: Fix race between EC transactions and system suspend · d5a64513
      Rafael J. Wysocki authored
      There still is a race that may result in suspending the system in
      the middle of an EC transaction in progress, which leads to problems
      (like the kernel thinking that the ACPI global lock is held during
      resume while in fact it's not).
      
      To remove the race condition, modify the ACPI platform suspend and
      hibernate callbacks so that EC transactions are blocked right after
      executing the _PTS global control method and are allowed to happen
      again right after the low-level wakeup.
      
      Introduce acpi_pm_freeze() that will disable GPEs, wait until the
      event queues are empty and block EC transactions.  Use it wherever
      GPEs are disabled in preparation for switching local interrupts off.
      Introduce acpi_pm_thaw() that will allow EC transactions to happen
      again and enable runtime GPEs.  Use it to balance acpi_pm_freeze()
      wherever necessary.
      
      In addition to that use acpi_ec_resume_transactions_early() to
      unblock EC transactions as early as reasonably possible during
      resume.  Also unblock EC transactions in acpi_hibernation_finish()
      and in the analogous suspend routine to make sure that the EC
      transactions are enabled in all error paths.
      
      Fixes https://bugzilla.kernel.org/show_bug.cgi?id=14668
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Reported-and-tested-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      d5a64513
  23. 12 May, 2010 1 commit
  24. 11 May, 2010 1 commit
  25. 06 May, 2010 1 commit
  26. 05 May, 2010 1 commit