]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gic-v3-its: Fix 64bit GIC{R,ITS}_TYPER accesses
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 14 Oct 2016 14:13:07 +0000 (15:13 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 17 Oct 2016 10:59:30 +0000 (11:59 +0100)
commite2f21c8facd57b98a2302915235f87629cfa88de
tree16ccd5619168aa7f2e67139badec48e9e23d5e69
parenta245803230f587f66ceddc152f3504b2a960aac2
irqchip/gic-v3-its: Fix 64bit GIC{R,ITS}_TYPER accesses

The GICv3 architecture specification mentions that a 64bit
register can be accessed using two 32bit accesses. What it
doesn't mention is that this is only guaranteed on a system
that implements AArch32, and a pure AArch64 system is allowed
not to support this. This causes issues with the GICR_TYPER
and GITS_TYPER registers, which are both RO 64bit registers.

In order to solve this, this patch switches the TYPER accesses
to the gic_read_typer macro already used in other parts of the
driver. This makes sure that we always use a 64bit access on
64bit systems, and two 32bit accesses on 32bit system.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3-its.c