irqchip/gic-v3-its: Only send VINVALL to a single ITS
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 9 Oct 2017 12:17:43 +0000 (13:17 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 19 Oct 2017 10:22:42 +0000 (11:22 +0100)
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@arm.com>
drivers/irqchip/irq-gic-v3-its.c

index dc0ece20f96428b820751d0aba370f06c2eada79..bc7099352cc990178bec0a540f5ecc9f9f211cd5 100644 (file)
@@ -2527,7 +2527,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;
        }
 }