linux/arch/powerpc/platforms/pseries
Anton Blanchard 55fc0c5617 powerpc/pseries: Parse and handle EPOW interrupts
We have code to take environmental and power warning (EPOW)
interrupts but it simply prints a terse error message:

EPOW <0x6240040000000b8 0x0 0x0>

which tells us nothing about what happened. Even worse, if we
don't correctly respond to the interrupt we may get terminated
by firmware.

Add code to printk some useful information when we get EPOW events.
We want to make it clear that we have an error, that it was
reported by firmware and that the RTAS error log will have more
detailed information. eg:

	Ambient temperature too high reported by firmware.
	Check RTAS error log for details

Depending on the error encountered, we now issue an immediate or
an orderly power down.

Move initialization of the EPOW interrupt earlier in boot since we
want to respond to them as early as possible.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-03-28 11:31:59 +11:00
..
cmm.c power: cmm - convert sysdev_class to a regular subsystem 2011-12-21 15:09:51 -08:00
dlpar.c powerpc/pseries: Avoid spurious error during hotplug CPU add 2011-09-20 09:20:00 +10:00
dtl.c powerpc/pseries: Fix kexec on recent firmware versions 2011-08-05 14:47:57 +10:00
eeh_cache.c powerpc/eeh: Replace pci_dn with eeh_dev for EEH address cache 2012-03-09 11:39:42 +11:00
eeh_dev.c powerpc/eeh: Remove eeh device from OF node 2012-03-28 11:31:57 +11:00
eeh_driver.c powerpc/eeh: Replace pci_dn with eeh_dev for EEH aux components 2012-03-09 11:39:46 +11:00
eeh_event.c powerpc/eeh: Replace pci_dn with eeh_dev for EEH aux components 2012-03-09 11:39:46 +11:00
eeh_pseries.c powerpc/eeh: pseries platform config space access in EEH 2012-03-09 11:39:51 +11:00
eeh_sysfs.c powerpc/eeh: Replace pci_dn with eeh_dev for EEH sysfs 2012-03-09 11:39:40 +11:00
eeh.c powerpc/eeh: Retrieve PHB from global list 2012-03-28 11:31:58 +11:00
event_sources.c powerpc/pseries: Add WARN_ON() to request_event_sources_irqs() on irq allocation/request failure 2010-07-09 11:28:32 +10:00
firmware.c powerpc: Add VPHN firmware feature 2010-11-29 15:48:22 +11:00
hotplug-cpu.c powerpc: Fix up implicit sched.h users 2011-10-31 19:30:40 -04:00
hotplug-memory.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00
hvCall_inst.c powerpc: Fix unpaired probe_hcall_entry and probe_hcall_exit 2012-01-03 12:09:27 +11:00
hvCall.S powerpc: Fix unpaired __trace_hcall_entry and __trace_hcall_exit 2012-01-11 12:50:26 +11:00
hvconsole.c powerpc: convert hvconsole.c to export.h ; fix implicit use of errno.h 2011-10-31 19:30:43 -04:00
hvcserver.c
io_event_irq.c powerpc: Make function that parses RTAS error logs global 2012-03-28 11:31:58 +11:00
iommu.c powerpc/eeh: Remove eeh information from pci_dn 2012-03-28 11:31:57 +11:00
Kconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-03-21 18:55:10 -07:00
kexec.c powerpc/pseries: Simplify vpa deregistration functions 2011-08-05 14:47:58 +10:00
lpar.c powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
Makefile powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
mobility.c powerpc: Fix up implicit stat.h users 2011-10-31 19:30:39 -04:00
msi.c powerpc/eeh: Cleanup function names in the EEH core 2012-03-09 11:08:37 +11:00
nvram.c kexec: remove KMSG_DUMP_KEXEC 2012-01-12 20:13:11 -08:00
offline_states.h powerpc/smp: soft-replugged CPUs must go back to start_secondary 2011-04-01 15:37:09 +11:00
pci_dlpar.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pci.c
plpar_wrappers.h powerpc: fix two implicit header uses in pseries/plpar_wrappers.h 2011-10-31 19:30:42 -04:00
power.c [POWERPC] Fix warning in pseries/power.c 2008-02-20 13:33:37 +11:00
processor_idle.c powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
pseries_energy.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
pseries.h powerpc/cpuidle: cpuidle driver for pSeries 2011-12-08 13:56:31 +11:00
ras.c powerpc/pseries: Parse and handle EPOW interrupts 2012-03-28 11:31:59 +11:00
reconfig.c powerpc/pseries: Improve error code on reconfiguration notifier failure 2011-06-29 17:48:24 +10:00
scanlog.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
setup.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
smp.c Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
suspend.c powerpc/pseries: Fix partition migration hang in stop_topology_update 2012-02-14 15:01:39 +11:00