]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level
authorZenghui Yu <yuzenghui@huawei.com>
Thu, 6 Feb 2020 07:57:08 +0000 (15:57 +0800)
committerMarc Zyngier <maz@kernel.org>
Sat, 8 Feb 2020 10:01:33 +0000 (10:01 +0000)
commit9fab28e73dac43656cfb79fcc981503d73d96212
treeb45df6503a6f78144befaf910cf1e093b15e488e
parent95d67af744e96378f76fd99da487b21196c12565
irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level

In GICv4, we will ensure that level2 vPE table memory is allocated
for the specified vpe_id on all v4 ITS, in its_alloc_vpe_table().
This still works well for the typical GICv4.1 implementation, where
the new vPE table is shared between the ITSs and the RDs.

To make it explicit, let us introduce allocate_vpe_l2_table() to
make sure that the L2 tables are allocated on all v4.1 RDs. We're
likely not need to allocate memory in it because the vPE table is
shared and (L2 table is) already allocated at ITS level, except
for the case where the ITS doesn't share anything (say SVPET == 0,
practically unlikely but architecturally allowed).

The implementation of allocate_vpe_l2_table() is mostly copied from
its_alloc_table_entry().

Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20200206075711.1275-4-yuzenghui@huawei.com
drivers/irqchip/irq-gic-v3-its.c