[PATCH 09/10] irqchip/gic-v3-its: Only send VINVALL to a single ITS

From: Marc Zyngier
Date: Tue Oct 10 2017 - 08:52:31 EST


Sending VINVALL to all ITSs is completely pointless, as all
we're trying to achieve is to tell the redistributor that
the property table for this VPE should be invalidated.

Let's issue the command on the first valid ITS and be done with it.

Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
---
drivers/irqchip/irq-gic-v3-its.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 9997e387b936..f49c5688c2a0 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -2522,7 +2522,12 @@ static void its_vpe_invall(struct its_vpe *vpe)
if (its_list_map && !vpe->its_vm->vlpi_count[its->list_nr])
continue;

+ /*
+ * Sending a VINVALL to a single ITS is enough, as all
+ * we need is to reach the redistributors.
+ */
its_send_vinvall(its, vpe);
+ return;
}
}

--
2.11.0