]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mpic: Fix MPIC_BROKEN_REGREAD on non broken MPICs
authorMichael Ellerman <michael@ellerman.id.au>
Sun, 5 Jul 2009 16:08:52 +0000 (16:08 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 20 Aug 2009 00:12:22 +0000 (10:12 +1000)
commita411b74dd36247e193b82bd7184ad7e8d38213b1
treeac23c82f0739ad7521b531f570305d2a306c7651
parentf2cd99eb2c53373107418466923ce947bf44d591
powerpc/mpic: Fix MPIC_BROKEN_REGREAD on non broken MPICs

The workaround enabled by CONFIG_MPIC_BROKEN_REGREAD does not work
on non-broken MPICs. The symptom is no interrupts being received.

The fix is twofold. Firstly the code was broken for multiple isus,
we need to index into the shadow array with the src_no, not the idx.
Secondly, we always do the read, but only use the VECPRI_MASK and
VECPRI_ACTIVITY bits from the hardware, the rest of "val" comes
from the shadow.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/sysdev/mpic.c