irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor
authorTirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
Thu, 4 Feb 2016 18:45:25 +0000 (10:45 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Sep 2016 06:27:43 +0000 (08:27 +0200)
commitd5251a1952bff1148ceeea5283e34d07a502da62
tree58de8709d3aac5f45915ba4a423da7456c190d17
parente941af922e512e4b4b2653a33c8372e5e4d57579
irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor

[ Upstream commit 1a1ebd5fb1e203ee8cc73508cc7a38ac4b804596 ]

The ARM GICv3 specification mentions the need for dsb after a read
from the ICC_IAR1_EL1 register:

4.1.1 Physical CPU Interface:
The effects of reading ICC_IAR0_EL1 and ICC_IAR1_EL1
on the state of a returned INTID are not guaranteed
to be visible until after the execution of a DSB.

Not having this could result in missed interrupts, so let's add the
required barrier.

[Marc: fixed commit message]

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Tirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/arch_gicv3.h