android_kernel_google_msm/include/asm-powerpc
Johannes Berg be9c94dd77 [POWERPC] Fix suspend states again
In commit 0fba3a1f39 (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: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-05-02 20:04:30 +10:00
..
iseries
8253pit.h
a.out.h
abs_addr.h
agp.h
asm-compat.h [POWERPC] Use mtocrf instruction in asm when CONFIG_POWER4_ONLY=y 2007-04-13 03:55:13 +10:00
atomic.h [POWERPC] atomic.h: Add atomic64 cmpxchg, xchg and add_unless to powerpc 2007-02-16 14:00:20 +11:00
auxvec.h
backlight.h
bitops.h [PATCH] LOG2: Make powerpc's __ilog2_u64() take a 64-bit argument 2006-12-11 12:29:27 -08:00
bootx.h
btext.h
bug.h [POWERPC] Fix manual assembly WARN_ON() in enter_rtas(). 2007-01-09 17:03:02 +11:00
bugs.h
byteorder.h
cache.h
cacheflush.h [POWERPC] DEBUG_PAGEALLOC for 32-bit 2007-04-13 04:09:39 +10:00
cell-pmu.h [POWERPC] cell: add cbe_node_to_cpu function 2007-04-23 21:44:38 +02:00
checksum.h
compat.h
cputable.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
cputime.h
current.h [POWERPC] Include stddef.h in asm-powerpc/current.h to get offsetof 2007-03-09 15:03:24 +11:00
dbdma.h
dcr-mmio.h
dcr-native.h [POWERPC] More DCR native fixups 2007-02-16 14:00:19 +11:00
dcr.h [POWERPC] Compile fixes for arch/powerpc dcr code 2007-02-07 14:03:23 +11:00
delay.h
device.h
div64.h
dma-mapping.h [PATCH] dma-mapping.h stubs fix 2007-01-30 08:39:21 -08:00
dma.h
edac.h [POWERPC] EDAC ECC software scrubber 2007-03-09 15:03:25 +11:00
eeh.h
eeh_event.h [POWERPC] EEH: rm un-needed data 2007-03-22 22:52:55 +11:00
elf.h [POWERPC] Move ELF_ET_DYN_BASE up to 512MB point 2007-01-24 21:13:56 +11:00
emergency-restart.h
errno.h
fcntl.h
firmware.h [POWERPC] Only use H_BULK_REMOVE if the firmware supports it 2007-02-08 15:02:35 +11:00
floppy.h [PATCH] ANSIfy powerpc floppy.h 2007-03-14 15:27:50 -07:00
fs_pd.h [POWERPC] Fix kernel build errors for mpc8272ads and mpc8560ads 2007-02-07 14:03:20 +11:00
futex.h
grackle.h
hardirq.h
heathrow.h
hvcall.h [POWERPC] Avoid hypervisor statistics calculation in real mode 2007-03-22 15:01:43 +11:00
hvconsole.h
hvcserver.h
hw_irq.h
i8259.h
ibmebus.h [POWERPC] ibmebus: dynamic addition/removal of adapters, some code cleanup 2007-03-16 16:38:19 +11:00
ide.h
immap_86xx.h [POWERPC] 86xx/85xx: Unify Freescale PCI Express memory map registers structure 2007-03-26 17:03:49 -05:00
immap_qe.h [POWERPC] qe: ucc_slow.guemr is in the wrong place 2007-03-29 14:33:56 -05:00
io-defs.h
io.h [POWERPC] Generic check_legacy_ioport 2007-04-27 21:14:30 +10:00
ioctl.h
ioctls.h
iommu.h [POWERPC] pasemi: iommu support 2007-02-07 14:03:22 +11:00
ipc.h
ipcbuf.h
ipic.h [POWERPC] 83xx: Return a point to the struct ipic from ipic_init() 2007-01-26 01:45:32 -06:00
irq.h [POWERPC] Add IRQ remapping hook 2007-01-24 21:13:59 +11:00
irq_regs.h
irqflags.h
Kbuild [PATCH] ps3: Virtual Frame Buffer Driver 2007-02-12 09:48:44 -08:00
kdebug.h
kdump.h
kexec.h
keylargo.h
kmap_types.h
kprobes.h [POWERPC] kprobes: Eliminate sstep exception if instruction can be emulated 2007-04-24 21:31:58 +10:00
libata-portmap.h Fix Maple PATA IRQ assignment. 2007-01-26 17:27:40 -05:00
linkage.h
lmb.h
local.h
lppaca.h
lv1call.h
machdep.h [POWERPC] Generic check_legacy_ioport 2007-04-27 21:14:30 +10:00
macio.h
mc146818rtc.h
mediabay.h
mman.h
mmu-44x.h [POWERPC] Revise PPC44x MMU code for arch/powerpc 2007-05-02 20:04:29 +10:00
mmu-hash64.h [POWERPC] Prepare for splitting up mmu.h by MMU type 2007-04-27 21:14:26 +10:00
mmu.h [POWERPC] Revise PPC44x MMU code for arch/powerpc 2007-05-02 20:04:29 +10:00
mmu_context.h
mmzone.h
module.h [POWERPC] Generic BUG for powerpc 2006-12-11 16:35:07 +11:00
mpc8xx.h [POWERPC] Add mpc866ads board-specific bits to arch/powerpc 2007-02-07 14:03:17 +11:00
mpc52xx.h [POWERPC] Add mpc52xx/lite5200 PCI support 2007-02-08 15:29:22 +11:00
mpc85xx.h
mpc86xx.h
mpc8260.h [POWERPC] cpm2: CPM2 interrupt controller fix 2007-02-07 14:03:20 +11:00
mpic.h [POWERPC] Rename MPIC_BROKEN_U3 to MPIC_U3_HT_IRQS 2007-04-24 22:06:58 +10:00
msgbuf.h
mutex.h
namei.h
nvram.h
of_device.h [POWERPC] Add a unified uevent handler for bus based on of_device 2007-04-13 03:55:13 +10:00
of_platform.h
ohare.h
oprofile_impl.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
paca.h [POWERPC] Save trap number in bad_stack 2007-04-24 22:06:59 +10:00
page.h [POWERPC] Fix STRICT_MM_TYPECHECKS 2007-05-02 20:04:30 +10:00
page_32.h
page_64.h
param.h
parport.h [POWERPC] Rename get_property to of_get_property: include 2007-04-13 03:55:19 +10:00
pci-bridge.h [POWERPC] Add a field for each specific bus to struct pci_controller 2007-01-24 21:13:59 +11:00
pci.h [POWERPC] Create and use get_pci_dma_ops() 2007-03-09 15:03:25 +11:00
percpu.h
pgalloc-32.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgalloc-64.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgalloc.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-4k.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-64k.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-ppc32.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable-ppc64.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pgtable.h [POWERPC] Remove arch/powerpc's dependence on asm-ppc/pg{alloc,table}.h 2007-05-02 20:04:30 +10:00
pmac_feature.h [POWERPC] pmac_feature_call checks platform 2007-05-02 16:35:01 +10:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
pmi.h [POWERPC] Add PMI driver for cell blade 2007-02-16 14:00:19 +11:00
poll.h
posix_types.h [PATCH] FD_ZERO build fix 2007-01-11 18:18:22 -08:00
ppc-pci.h [POWERPC] EEH: wait for slot status 2007-03-22 22:52:54 +11:00
ppc_asm.h
processor.h [POWERPC] Remove last_syscall 2007-03-22 22:52:58 +11:00
prom.h [POWERPC] Uninline of_iomap function 2007-05-02 20:04:29 +10:00
ps3.h [POWERPC] PS3: System manager support 2007-02-16 14:00:19 +11:00
ps3av.h [PATCH] ps3: AV Settings Driver 2007-02-12 09:48:44 -08:00
ps3fb.h [PATCH] ps3: cleanup ps3fb before clearing HPTE 2007-02-12 09:48:44 -08:00
pSeries_reconfig.h
ptrace.h
qe.h
qe_ic.h
reg.h [POWERPC] pasemi: PA6T oprofile support 2007-04-24 21:31:51 +10:00
reg_8xx.h
resource.h
rtas.h
rtc.h
rwsem.h
scatterlist.h
seccomp.h
sections.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h [POWERPC] Celleb: basic support 2007-02-07 14:03:21 +11:00
smu.h
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h
spinlock.h
spinlock_types.h
spu.h [POWERPC] Fix spu SLB invalidations 2007-03-10 00:07:50 +01:00
spu_csa.h [POWERPC] spufs: make spu page faults not block scheduling 2007-04-23 21:18:55 +02:00
spu_info.h
spu_priv1.h [POWERPC] Celleb: consolidate spu management ops 2007-02-07 14:03:21 +11:00
sstep.h [POWERPC] Added kprobes support to ppc32 2007-02-06 22:55:19 -06:00
stat.h
statfs.h
string.h [STRING]: Move strcasecmp/strncasecmp to lib/string.c 2007-04-26 01:54:39 -07:00
suspend.h [POWERPC] Fix suspend states again 2007-05-02 20:04:30 +10:00
synch.h
syscalls.h
systbl.h allow vmsplice to work in 32-bit mode on ppc64 2007-04-17 16:36:26 -07:00
system.h [POWERPC] Declare enable_kernel_spe in a header 2007-04-30 11:02:05 +10:00
tce.h
termbits.h [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
thread_info.h [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
time.h [POWERPC] 8xx: powerpc port of core CPM PIC 2007-02-07 14:03:17 +11:00
timex.h
tlb.h [POWERPC] Make tlb flush batch use lazy MMU mode 2007-04-13 04:09:38 +10:00
tlbflush.h [POWERPC] Cleanup and fix breakage in tlbflush.h 2007-04-24 22:08:56 +10:00
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
tsi108.h
tsi108_irq.h
types.h
uaccess.h [POWERPC] Add inatomic versions of __get_user and __put_user 2007-04-13 04:09:38 +10:00
ucc.h
ucc_fast.h ucc_geth: Implement Transmit on Demand support 2007-04-28 11:01:04 -04:00
ucc_slow.h [POWERPC] QE: clean up ucc_slow.c and ucc_fast.c 2007-02-17 16:12:54 -06:00
ucontext.h
udbg.h [POWERPC] Use udbg_early_init() on ppc32 2007-02-14 11:55:16 +11:00
uic.h [POWERPC] Add arch/powerpc driver for UIC, PPC4xx interrupt controller 2007-04-24 21:32:01 +10:00
unaligned.h
uninorth.h
unistd.h [POWERPC] Wire up sys_epoll_pwait 2007-03-12 15:48:35 +11:00
user.h
vdso.h [POWERPC] Fix vDSO page count calculation 2007-02-13 15:35:52 +11:00
vdso_datapage.h
vga.h
vio.h
xmon.h
xor.h