]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>
Thu, 10 May 2018 21:59:19 +0000 (23:59 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 15 May 2018 12:34:41 +0000 (22:34 +1000)
commitd4953a1621291df82b5af03ac028e874110d29ad
tree0e37d18b5f7b9adc1877e573393e439aecc3c176
parent524b9dfd40764c2f8c2122f8264d7eea9c0903b3
powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet

The interrupt controller inside the Wii's Hollywood chip is connected to
two masters, the "Broadway" PowerPC and the "Starlet" ARM926, each with
their own interrupt status and mask registers.

When booting the Wii with mini[1], interrupts from the SD card
controller (IRQ 7) are handled by the ARM, because mini provides SD
access over IPC. Linux however can't currently use or disable this IPC
service, so both sides try to handle IRQ 7 without coordination.

Let's instead make sure that all interrupts that are unmasked on the PPC
side are masked on the ARM side; this will also make sure that Linux can
properly talk to the SD card controller (and potentially other devices).

If access to a device through IPC is desired in the future, interrupts
from that device should not be handled by Linux directly.

[1]: https://github.com/lewurm/mini

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/embedded6xx/hlwd-pic.c