linux_dsm_epyc7002/arch/powerpc/platforms
Benjamin Herrenschmidt 8e609d5e7b powerpc/pmac: Simplify old pmac PIC interrupt handling
In the old days, we treated all interrupts from the legacy Apple home made
interrupt controllers as level, with a trick reading the "level" register
along with the "event" register to work arounds bugs where it would
occasionally fail to latch some events.

Doing so appeared to work fine for both level and edge interrupts.

Later on, we discovered in Darwin source the magic masks that define which
interrupts are actually level and which are edge, and implemented a
different algorithm, more similar to what Apple does, that treats those
differently.

I recently discovered however that this caused problems (including loss
of interrupts) with an old Wallstreet PowerBook when trying to use the
internal modem (connected to a cascaded controller).

It looks like some interrupts are treated as edge while they are really
level and I'm starting to seriously doubt the correctness of the Darwin
code (which has other obvious bugs when you read it, so ...)

This patch reverts to our original behaviour of treating everything as
a level interrupt. It appears to solve the problems with the modem on
the Wallstreet and everything else seems to be working properly as well.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-12-16 11:10:11 +11:00
..
8xx powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
40x powerpc: Add support for OpenBlockS 600 2011-12-08 14:22:52 +11:00
44x powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
52xx Merge remote-tracking branch 'agust/next' into merge 2011-11-08 14:53:55 +11:00
82xx powerpc/82xx: updates for mgcoge 2011-10-11 16:18:41 -05:00
83xx powerpc/83xx: make mpc830x_rdb use mpc83xx_setup_pci 2011-11-24 02:01:41 -06:00
85xx powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
86xx powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
512x Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
amigaone
cell powerpc/mpic: Add in-core support for cascaded MPICs 2011-12-07 13:43:09 +11:00
chrp powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
embedded6xx powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
iseries powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
maple powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
pasemi powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
powermac powerpc/pmac: Simplify old pmac PIC interrupt handling 2011-12-16 11:10:11 +11:00
powernv powerpc/powernv: Fix problems in onlining CPUs 2011-12-08 14:22:53 +11:00
prep powerpc: drop unused Kconfig symbols 2011-10-31 23:39:52 +01:00
ps3 powerpc/ps3: Add __init to ps3_smp_probe 2011-12-08 14:05:55 +11:00
pseries Merge branch 'kexec' into next 2011-12-16 11:09:21 +11:00
wsp powerpc/wsp: Mark opb cascade handler IRQF_NO_THREAD 2011-11-25 14:11:29 +11:00
fsl_uli1575.c
Kconfig powerpc/cpuidle: Enable cpuidle and directly call cpuidle_idle_call() for pSeries 2011-12-08 13:57:20 +11:00
Kconfig.cputype powerpc: Kconfig updates for FSL BookE HUGETLB 64-bit 2011-12-07 16:26:23 +11:00
Makefile