]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation
authorMarc Zyngier <maz@kernel.org>
Tue, 24 Dec 2019 11:10:28 +0000 (11:10 +0000)
committerMarc Zyngier <maz@kernel.org>
Wed, 22 Jan 2020 14:22:19 +0000 (14:22 +0000)
commit84b5201d1b19127d704f51dbc977c205735cd56c
tree1bce63dc769e715e017ef483ecf04b8414d4b947
parent888d40dab9e9dd3204c032fde713381797a82ed7
irqchip/gic-v4.1: VPE table (aka GICR_VPROPBASER) allocation

GICv4.1 defines a new VPE table that is potentially shared between
both the ITSs and the redistributors, following complicated affinity
rules.

To make things more confusing, the programming of this table at
the redistributor level is reusing the GICv4.0 GICR_VPROPBASER register
for something completely different.

The code flow is somewhat complexified by the need to respect the
affinities required by the HW, meaning that tables can either be
inherited from a previously discovered ITS or redistributor.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Link: https://lore.kernel.org/r/20191224111055.11836-6-maz@kernel.org
arch/arm/include/asm/arch_gicv3.h
arch/arm64/include/asm/arch_gicv3.h
drivers/irqchip/irq-gic-v3-its.c
include/linux/irqchip/arm-gic-v3.h