summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/testcases
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-01-07 20:26:58 +0400
committerJason Cooper <jason@lakedaemon.net>2013-01-08 16:35:46 +0400
commit5f79c651e81e7731e9f252ac420bd81e144199d6 (patch)
tree3ded2af3bfb93c58c10e5422f5b89273a36b82aa /arch/arm/boot/dts/testcases
parentba607b6238a1f418c45b9d7f73212bcc6922da53 (diff)
downloadlinux-5f79c651e81e7731e9f252ac420bd81e144199d6.tar.xz
arm: mvebu: use global interrupts for GPIOs on Armada XP
The Armada XP GPIO controller has two ways of notifying interrupts: using global interrupts or using per-CPU interrupts. In an attempt to use the best available features, the 'marvell,armadaxp-gpio' compatible string selects a variant of the gpio-mvebu driver that makes use of the per-CPU interrupts. Unfortunately, this doesn't work properly in a SMP context, because we fall into cases where the GPIO interrupt is enabled on CPU X at the GPIO controller level, but on CPU Y at the interrupt controller level. It is not yet clear how to fix that easily. So for 3.8, our approach is to switch to global interrupts for GPIOs, so that we do not fall into this per-CPU interrupts problem. This patch therefore fixes GPIO interrupts on Armada XP platforms. Without this patch, GPIO interrupts simply do not work reliably, because their proper operation depends on which CPU the code requesting the interrupt is running. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/boot/dts/testcases')
0 files changed, 0 insertions, 0 deletions