linux-stable/arch/powerpc/platforms
Mark Nelson 49bd364713 powerpc/pseries: Track previous CPPR values to correctly EOI interrupts
At the moment when we EOI an interrupt we set the CPPR back to 0xFF
regardless of its previous value. This could lead to problems if we
take an interrupt with a priority of 5, but before EOIing it we get
an IPI which has a priority of 4. The problem is that at the moment
when we EOI the IPI we will set the CPPR to 0xFF, but it should
really be set back to 5 (the previous priority).

To keep track of the previous CPPR values we create the xics_cppr
structure that has an array for CPPR values and an index pointing
to the current priority. This can easily grow if new priorities get
added in the future.

This will also be useful because the partition adjunct option of
upcoming machines will update the H_XIRR hcall to accept the CPPR
as a parameter.

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-12-09 17:10:38 +11:00
..
8xx powerpc/8xx: Fix build breakage with sparse irq changes 2009-10-30 17:21:38 +11:00
40x powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC 2009-08-31 09:15:51 -04:00
44x powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support. 2009-08-31 08:24:15 -04:00
52xx powerpc: Make "intspec" pointers in irq_host->xlate() const 2009-12-09 17:10:37 +11:00
82xx powerpc: Fixup last users of irq_chip->typename 2009-11-24 14:32:45 +11:00
83xx powerpc: Fix build of some FSL platforms 2009-11-24 17:00:27 +11:00
85xx powerpc: Make "intspec" pointers in irq_host->xlate() const 2009-12-09 17:10:37 +11:00
86xx powerpc: Make "intspec" pointers in irq_host->xlate() const 2009-12-09 17:10:37 +11:00
512x powerpc: Fixup last users of irq_chip->typename 2009-11-24 14:32:45 +11:00
amigaone powerpc/amigaone: Convert amigaone_init() to a machine_device_initcall() 2009-08-20 10:12:21 +10:00
cell powerpc: Make "intspec" pointers in irq_host->xlate() const 2009-12-09 17:10:37 +11:00
chrp powerpc/chrp: Use the same RTAS daemon as pSeries 2009-10-30 17:20:53 +11:00
embedded6xx Merge commit 'origin/master' into next 2009-03-24 13:38:30 +11:00
iseries powerpc: Fixup last users of irq_chip->typename 2009-11-24 14:32:45 +11:00
maple edac: cpc925 MC platform device setup 2009-06-18 13:03:57 -07:00
pasemi powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
powermac powerpc: Make "intspec" pointers in irq_host->xlate() const 2009-12-09 17:10:37 +11:00
prep powerpc/kconfig: Kill PPC_MULTIPLATFORM 2009-03-11 17:11:35 +11:00
ps3 powerpc: Fixup last users of irq_chip->typename 2009-11-24 14:32:45 +11:00
pseries powerpc/pseries: Track previous CPPR values to correctly EOI interrupts 2009-12-09 17:10:38 +11:00
fsl_uli1575.c powerpc/85xx: Add P2020DS board support 2009-05-19 00:50:43 -05:00
Kconfig powerpc/85xx: Kconfig cleanup 2009-11-20 16:45:27 -06:00
Kconfig.cputype powerpc/85xx: Kconfig cleanup 2009-11-20 16:45:27 -06:00
Makefile powerpc/85xx: Kconfig cleanup 2009-11-20 16:45:27 -06:00