linux-sg2042/arch/powerpc/platforms/pasemi
Nicholas Piggin 461e96a337 powerpc/pasemi: Do not process external or decrementer interrupts from sreset
PA Semi will wake from low power state at the system reset interrupt,
with the event encoded in SRR1, rather than waking at the interrupt
vector that corresponds to that event.

The system reset handler for this platform decodes SRR1 event reason
and calls the interrupt handler to process it directly from the system
reset handlre.

A subsequent change will treat the system reset interrupt as a Linux NMI
with its own per-CPU stack, and this will no longer work. Remove the
external and decrementer handlers from the system reset handler.

- The external exception remains raised and will fire again at the
  EE interrupt vector when system reset returns.

- The decrementer is set to 1 so it will be raised again and fire when
  the system reset returns.

It is possible to branch to an idle handler from the system reset
interrupt (like POWER does), then restore a normal stack and restore
this optimisation. But simplicity wins for now.

Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-04-28 21:02:25 +10:00
..
Kconfig powerpc/pasemi: Add Nemo motherboard config option. 2016-09-13 17:37:07 +10:00
Makefile powerpc/pasemi: Only the build the pasemi MSI code for PASEMI=y 2015-05-11 19:55:25 +10:00
dma_lib.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
gpio_mdio.c powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
idle.c powerpc/pasemi: Do not process external or decrementer interrupts from sreset 2017-04-28 21:02:25 +10:00
iommu.c treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
misc.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
msi.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
pasemi.h powerpc/pasemi: Remove IOBMAP allocation from platform probe() 2016-07-21 18:56:38 +10:00
pci.c powerpc/pci: Delay populating pdn 2016-06-21 15:30:56 +10:00
powersave.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
setup.c treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
time.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00