• Jonathan Neuschäfer's avatar
    powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet · 9dcb3df4
    Jonathan Neuschäfer authored
    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/miniSigned-off-by: default avatarJonathan Neuschäfer <j.neuschaefer@gmx.net>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    9dcb3df4
hlwd-pic.c 5.34 KB