summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/irq.c
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2025-06-12 01:45:36 +0300
committerSean Christopherson <seanjc@google.com>2025-06-23 19:50:33 +0300
commit77bb184ab880171a1cedfbed9ab05977e6ae2258 (patch)
tree45b40efd26c0f788366df68c21e122bab9d73114 /arch/x86/kvm/irq.c
parentb33252b9d17238a4a9fa5a29af6e6a2922a6c2b0 (diff)
downloadlinux-77bb184ab880171a1cedfbed9ab05977e6ae2258.tar.xz
KVM: Fold kvm_arch_irqfd_route_changed() into kvm_arch_update_irqfd_routing()
Fold kvm_arch_irqfd_route_changed() into kvm_arch_update_irqfd_routing(). Calling arch code to know whether or not to call arch code is absurd. Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Link: https://lore.kernel.org/r/20250611224604.313496-35-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'arch/x86/kvm/irq.c')
-rw-r--r--arch/x86/kvm/irq.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/arch/x86/kvm/irq.c b/arch/x86/kvm/irq.c
index b7b0fbc218b8..23e0acc07cb6 100644
--- a/arch/x86/kvm/irq.c
+++ b/arch/x86/kvm/irq.c
@@ -610,17 +610,12 @@ void kvm_arch_update_irqfd_routing(struct kvm_kernel_irqfd *irqfd,
struct kvm_kernel_irq_routing_entry *old,
struct kvm_kernel_irq_routing_entry *new)
{
- kvm_pi_update_irte(irqfd, new);
-}
-
-bool kvm_arch_irqfd_route_changed(struct kvm_kernel_irq_routing_entry *old,
- struct kvm_kernel_irq_routing_entry *new)
-{
- if (old->type != KVM_IRQ_ROUTING_MSI ||
- new->type != KVM_IRQ_ROUTING_MSI)
- return true;
+ if (old->type == KVM_IRQ_ROUTING_MSI &&
+ new->type == KVM_IRQ_ROUTING_MSI &&
+ !memcmp(&old->msi, &new->msi, sizeof(new->msi)))
+ return;
- return !!memcmp(&old->msi, &new->msi, sizeof(new->msi));
+ kvm_pi_update_irte(irqfd, new);
}
#ifdef CONFIG_KVM_IOAPIC