diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2017-10-27 10:28:43 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2017-11-10 03:29:37 -0500 |
commit | fb0cada604fcda82813f654b0d95963ee165770f (patch) | |
tree | 2eb43d9061fb00f5f54bbd76f76b8616ac08da0e | |
parent | 0fc9a58ee45532e7a298c7aa626b3fe5ff8cdf87 (diff) |
KVM: arm/arm64: GICv4: Handle CLEAR applied to a VLPI
Handling CLEAR is pretty easy. Just ask the ITS driver to clear
the corresponding pending bit (which will turn into a CLEAR
command on the physical side).
Acked-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
-rw-r--r-- | virt/kvm/arm/vgic/vgic-its.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c index 80bea7021e2e..15e79285380d 100644 --- a/virt/kvm/arm/vgic/vgic-its.c +++ b/virt/kvm/arm/vgic/vgic-its.c | |||
@@ -1091,6 +1091,10 @@ static int vgic_its_cmd_handle_clear(struct kvm *kvm, struct vgic_its *its, | |||
1091 | 1091 | ||
1092 | ite->irq->pending_latch = false; | 1092 | ite->irq->pending_latch = false; |
1093 | 1093 | ||
1094 | if (ite->irq->hw) | ||
1095 | return irq_set_irqchip_state(ite->irq->host_irq, | ||
1096 | IRQCHIP_STATE_PENDING, false); | ||
1097 | |||
1094 | return 0; | 1098 | return 0; |
1095 | } | 1099 | } |
1096 | 1100 | ||