OSDN Git Service

irqchip/gic-v3-its: Synchronise INV command targetting a VLPI using VSYNC
authorMarc Zyngier <maz@kernel.org>
Fri, 8 Nov 2019 16:58:02 +0000 (16:58 +0000)
committerMarc Zyngier <maz@kernel.org>
Sun, 10 Nov 2019 18:47:53 +0000 (18:47 +0000)
commit286146960a110cdae455a18cef47d5113d9a95c6
tree87b388c8d78910aec198205f2a8004d6ad453cba
parentc1d4d5cd203cc8ec83d67d4e2af51f1a9f01ba34
irqchip/gic-v3-its: Synchronise INV command targetting a VLPI using VSYNC

We have so far alwways invalidated VLPIs usinc an INV+SYNC
sequence, but that's pretty wrong for two reasons:

- SYNC only synchronises physical LPIs
- The collection ID that for the associated LPI doesn't match
  the redistributor the vPE is associated with

Instead, send an INV+VSYNC for forwarded LPIs, ensuring that
the ITS can properly synchronise the invalidation of VLPIs.

Fixes: 015ec0386ab6 ("irqchip/gic-v3-its: Add VLPI configuration handling")
Reported-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20191108165805.3071-9-maz@kernel.org
drivers/irqchip/irq-gic-v3-its.c