android_kernel_oneplus_msm8998/arch/powerpc/platforms
Jonathan Neuschäfer 6a409759c6 powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet
[ Upstream commit 9dcb3df4281876731e4e8bff7940514d72375154 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-06 16:24:35 +02:00
..
8xx genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
40x powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
44x powerpc/44x/Akebono: Remove select of IBM_EMAC_RGMII_WOL 2014-12-29 15:45:44 +11:00
52xx powerpc: Introduce the use of the managed version of kzalloc 2015-10-22 16:13:23 +02:00
82xx genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
83xx powerpc: don't use module_init in non-modular 83xx suspend code 2015-06-16 14:12:29 -04:00
85xx Merge branch 'clock' into HEAD 2015-10-27 18:14:16 -05:00
86xx Merge branch 'clock' into HEAD 2015-10-27 18:14:16 -05:00
512x powerpc/512x: add LocalPlus Bus FIFO device driver 2015-10-22 15:19:40 +02:00
amigaone lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
cell powerpc/spufs: Fix coredump of SPU contexts 2018-04-13 19:50:16 +02:00
chrp powerpc/chrp/time: Make some functions static, add missing header include 2018-08-06 16:24:34 +02:00
embedded6xx powerpc/embedded6xx/hlwd-pic: Prevent interrupts from being handled by Starlet 2018-08-06 16:24:35 +02:00
maple powerpc: Kconfig: remove BE-only platforms from LE kernel build 2015-09-29 22:57:00 +10:00
pasemi powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
powermac powerpc/powermac: Mark variable x as unused 2018-08-06 16:24:34 +02:00
powernv powerpc/powernv: Fix NVRAM sleep in invalid context when crashing 2018-05-26 08:48:55 +02:00
ps3 powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
pseries powerpc/pseries: Query hypervisor for RFI flush settings 2018-02-16 20:09:35 +01:00
fsl_uli1575.c
Kconfig powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
Kconfig.cputype powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU 2015-10-19 19:51:18 +11:00
Makefile