1. 01 4月, 2009 1 次提交
  2. 04 8月, 2008 1 次提交
  3. 02 5月, 2007 1 次提交
    • J
      [POWERPC] Fix suspend states again · be9c94dd
      Johannes Berg 提交于
      In commit 0fba3a1f (a very long time ago,
      May 2006), I fixed a bug that caused powermacs to crash when you tried
      entering standby/mem suspend states.
      
      As I'm now getting more familiar with the suspend code I notice a few
      more things:
       1. we previously misunderstood what pm_ops is for, it isn't supposed to be
          for doing platform dependent suspend/resume stuff that needs to be done
          for suspend to disk (as we currently try to use it!), it is instead for
          entering platform dependent suspend states ("standby", "mem").
       2. due to the first point, we never properly save FPU and altivec states
          when suspending to disk. It probably hasn't hurt yet because the process
          that writes the "disk" to /sys/power/state uses neither and its context
          is used.
      
      This patch addresses these points as follows:
       1. remove all pm_ops from powermac, powermac suspend to ram isn't currently
          usable via /sys/power/state but is done via the PMU instead.
       2. move the code responsible for storing FPU/altivec state into
          save_processor_state and the set_context() call to restore_processor_state.
       3. add a call to kernel_enable_spe()
      
      It may look like there is some code removal missing but that is
      actually because the new suspend.h file overrides the ppc/suspend.h
      one which was previously used.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      be9c94dd