]> 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)
commita89369ebdfe5969b2a0aa47d315faedb5e4ba18c
treeb45df6503a6f78144befaf910cf1e093b15e488e
parent9578213e3d4ca237ea5295013ad5803221552671
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