1
linux/drivers/macintosh
Paul Mackerras 887ef35ae4 [POWERPC] Fix sleep on powerbook 3400
Sleep on the powerbook 3400 has been broken since the change that made
powerbook_sleep_3400 call pmac_suspend_devices(), which disables
interrupts.  There are a couple of loops in powerbook_sleep_3400 that
depend on interrupts being enabled, and in fact it has to have
interrupts enabled at the point of going to sleep since it is an
interrupt from the PMU that wakes it up.

This fixes it by using pmu_wait_complete() instead of a spinloop, and
by explicitly enabling interrupts before putting the CPU into sleep
mode (which is OK since all interrupts except the PMU interrupt have
been disabled at the interrupt controller by this stage).

This changes the logic so that it keeps putting the CPU into sleep mode
until the completion of the interrupt transaction from the PMU that
signals the end of sleep.  Also, we now call pmu_unlock() before sleep
so that the via_pmu_interrupt() code can process the interrupt event
from the PMU properly.

Now that generic code saves and restores PCI state, it is no longer
necessary to do that here.  Thus pbook_pci_save/restore and related
functions are no longer necessary, so this removes them.

Lastly, this moves the ioremap of the memory controller to init code
rather than doing it on every sleep/wakeup cycle.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-12-19 22:45:31 +11:00
..
adb-iop.c [POWERPC] Remove old includes from arch/ppc 2007-08-22 22:39:35 -05:00
adb.c [POWERPC] Convert adb.c to use kthread API and not spin on ADB requests 2007-12-19 15:22:02 +11:00
adbhid.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
ans-lcd.c [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need 2007-08-22 22:43:29 -05:00
ans-lcd.h [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need 2007-08-22 22:43:29 -05:00
apm_emu.c [POWERPC] apm_emu: Use generic apm-emulation 2007-05-02 16:42:19 +10:00
Kconfig Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-10-12 21:27:47 -04:00
mac_hid.c get rid of input BIT* duplicate defines 2007-10-19 11:53:42 -07:00
macio_asic.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
macio_sysfs.c [POWERPC] macintosh: Use common modalias generation for macio_sysfs 2007-05-07 20:31:15 +10:00
macio-adb.c [POWERPC] Remove find_compatible_devices 2007-04-24 22:08:57 +10:00
Makefile [POWERPC] Xserve cpu-meter driver 2006-12-04 20:39:30 +11:00
mediabay.c [POWERPC] Convert media-bay.c to use the kthread API 2007-12-19 15:22:02 +11:00
nvram.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
rack-meter.c [POWERPC] Clean up duplicate includes in drivers/macintosh/ 2007-07-22 21:31:00 +10:00
smu.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
therm_adt746x.c [POWERPC] drivers/macintosh/therm_adt746x.c: kmalloc + memset conversion to kzalloc 2007-08-17 11:01:51 +10:00
therm_pm72.c [POWERPC] Convert therm_pm72.c to use the kthread API 2007-12-19 15:22:02 +11:00
therm_pm72.h [POWERPC] Xserve G5 thermal control fixes 2006-07-28 10:42:49 +10:00
therm_windtunnel.c [POWERPC] Convert therm_windtunnel.c to use the kthread API 2007-12-19 15:22:02 +11:00
via-cuda.c CUDA ADB fixes 2007-05-04 17:59:07 -07:00
via-macii.c m68k: Mac II ADB fixes 2007-05-04 17:59:07 -07:00
via-maciisi.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
via-pmu68k.c remove dead code in via-pmu68k 2007-08-22 19:52:45 -07:00
via-pmu-backlight.c backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
via-pmu-event.c Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-event.h Input: via-pmu - add input device support 2006-06-26 01:49:55 -04:00
via-pmu-led.c [POWERPC] via-pmu: remove LED sleep notifier 2007-05-08 11:54:19 +10:00
via-pmu.c [POWERPC] Fix sleep on powerbook 3400 2007-12-19 22:45:31 +11:00
windfarm_core.c [POWERPC] windfarm: Fix windfarm thread freezer interaction 2007-11-08 14:15:34 +11:00
windfarm_cpufreq_clamp.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
windfarm_lm75_sensor.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
windfarm_max6690_sensor.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
windfarm_pid.c [PATCH] windfarm license fix 2006-03-06 18:40:45 -08:00
windfarm_pid.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00
windfarm_pm81.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_pm91.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_pm112.c [PATCH] powerpc: windfarm shall request it's sub modules 2006-11-15 19:57:12 -08:00
windfarm_smu_controls.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
windfarm_smu_sat.c [POWERPC] Comment out a currently unused function 2007-08-17 11:01:59 +10:00
windfarm_smu_sensors.c [POWERPC] Rename get_property to of_get_property: partial drivers 2007-04-27 15:51:56 +10:00
windfarm.h [PATCH] powerpc: Thermal control for dual core G5s 2006-02-07 22:05:14 -08:00