diff options
| author | Sean Christopherson <seanjc@google.com> | 2025-06-12 01:45:36 +0300 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2025-06-23 19:50:33 +0300 |
| commit | 77bb184ab880171a1cedfbed9ab05977e6ae2258 (patch) | |
| tree | 45b40efd26c0f788366df68c21e122bab9d73114 /arch/x86/kvm/irq.c | |
| parent | b33252b9d17238a4a9fa5a29af6e6a2922a6c2b0 (diff) | |
| download | linux-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.c | 15 |
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 |
