irqfd 5148 arch/powerpc/kvm/book3s_hv.c struct kvm_kernel_irqfd *irqfd = irqfd 5151 arch/powerpc/kvm/book3s_hv.c irqfd->producer = prod; irqfd 5153 arch/powerpc/kvm/book3s_hv.c ret = kvmppc_set_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); irqfd 5156 arch/powerpc/kvm/book3s_hv.c prod->irq, irqfd->gsi, ret); irqfd 5165 arch/powerpc/kvm/book3s_hv.c struct kvm_kernel_irqfd *irqfd = irqfd 5168 arch/powerpc/kvm/book3s_hv.c irqfd->producer = NULL; irqfd 5175 arch/powerpc/kvm/book3s_hv.c ret = kvmppc_clr_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); irqfd 5178 arch/powerpc/kvm/book3s_hv.c prod->irq, irqfd->gsi, ret); irqfd 838 arch/powerpc/kvm/powerpc.c struct kvm_kernel_irqfd *irqfd = irqfd 840 arch/powerpc/kvm/powerpc.c struct kvm *kvm = irqfd->kvm; irqfd 851 arch/powerpc/kvm/powerpc.c struct kvm_kernel_irqfd *irqfd = irqfd 853 arch/powerpc/kvm/powerpc.c struct kvm *kvm = irqfd->kvm; irqfd 10308 arch/x86/kvm/x86.c struct kvm_kernel_irqfd *irqfd = irqfd 10311 arch/x86/kvm/x86.c irqfd->producer = prod; irqfd 10313 arch/x86/kvm/x86.c return kvm_x86_ops->update_pi_irte(irqfd->kvm, irqfd 10314 arch/x86/kvm/x86.c prod->irq, irqfd->gsi, 1); irqfd 10321 arch/x86/kvm/x86.c struct kvm_kernel_irqfd *irqfd = irqfd 10324 arch/x86/kvm/x86.c WARN_ON(irqfd->producer != prod); irqfd 10325 arch/x86/kvm/x86.c irqfd->producer = NULL; irqfd 10333 arch/x86/kvm/x86.c ret = kvm_x86_ops->update_pi_irte(irqfd->kvm, prod->irq, irqfd->gsi, 0); irqfd 10336 arch/x86/kvm/x86.c " fails: %d\n", irqfd->consumer.token, ret); irqfd 109 drivers/vfio/virqfd.c struct fd irqfd; irqfd 128 drivers/vfio/virqfd.c irqfd = fdget(fd); irqfd 129 drivers/vfio/virqfd.c if (!irqfd.file) { irqfd 134 drivers/vfio/virqfd.c ctx = eventfd_ctx_fileget(irqfd.file); irqfd 166 drivers/vfio/virqfd.c events = vfs_poll(irqfd.file, &virqfd->pt); irqfd 181 drivers/vfio/virqfd.c fdput(irqfd); irqfd 187 drivers/vfio/virqfd.c fdput(irqfd); irqfd 1650 virt/kvm/arm/arm.c struct kvm_kernel_irqfd *irqfd = irqfd 1653 virt/kvm/arm/arm.c return kvm_vgic_v4_set_forwarding(irqfd->kvm, prod->irq, irqfd 1654 virt/kvm/arm/arm.c &irqfd->irq_entry); irqfd 1659 virt/kvm/arm/arm.c struct kvm_kernel_irqfd *irqfd = irqfd 1662 virt/kvm/arm/arm.c kvm_vgic_v4_unset_forwarding(irqfd->kvm, prod->irq, irqfd 1663 virt/kvm/arm/arm.c &irqfd->irq_entry); irqfd 1668 virt/kvm/arm/arm.c struct kvm_kernel_irqfd *irqfd = irqfd 1671 virt/kvm/arm/arm.c kvm_arm_halt_guest(irqfd->kvm); irqfd 1676 virt/kvm/arm/arm.c struct kvm_kernel_irqfd *irqfd = irqfd 1679 virt/kvm/arm/arm.c kvm_arm_resume_guest(irqfd->kvm); irqfd 44 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd = irqfd 46 virt/kvm/eventfd.c struct kvm *kvm = irqfd->kvm; irqfd 48 virt/kvm/eventfd.c if (!irqfd->resampler) { irqfd 49 virt/kvm/eventfd.c kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, irqfd 51 virt/kvm/eventfd.c kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, irqfd 55 virt/kvm/eventfd.c irqfd->gsi, 1, false); irqfd 68 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd; irqfd 80 virt/kvm/eventfd.c list_for_each_entry_rcu(irqfd, &resampler->list, resampler_link) irqfd 81 virt/kvm/eventfd.c eventfd_signal(irqfd->resamplefd, 1); irqfd 87 virt/kvm/eventfd.c irqfd_resampler_shutdown(struct kvm_kernel_irqfd *irqfd) irqfd 89 virt/kvm/eventfd.c struct kvm_kernel_irqfd_resampler *resampler = irqfd->resampler; irqfd 94 virt/kvm/eventfd.c list_del_rcu(&irqfd->resampler_link); irqfd 114 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd = irqfd 116 virt/kvm/eventfd.c struct kvm *kvm = irqfd->kvm; irqfd 126 virt/kvm/eventfd.c eventfd_ctx_remove_wait_queue(irqfd->eventfd, &irqfd->wait, &cnt); irqfd 132 virt/kvm/eventfd.c flush_work(&irqfd->inject); irqfd 134 virt/kvm/eventfd.c if (irqfd->resampler) { irqfd 135 virt/kvm/eventfd.c irqfd_resampler_shutdown(irqfd); irqfd 136 virt/kvm/eventfd.c eventfd_ctx_put(irqfd->resamplefd); irqfd 143 virt/kvm/eventfd.c irq_bypass_unregister_consumer(&irqfd->consumer); irqfd 145 virt/kvm/eventfd.c eventfd_ctx_put(irqfd->eventfd); irqfd 146 virt/kvm/eventfd.c kfree(irqfd); irqfd 152 virt/kvm/eventfd.c irqfd_is_active(struct kvm_kernel_irqfd *irqfd) irqfd 154 virt/kvm/eventfd.c return list_empty(&irqfd->list) ? false : true; irqfd 163 virt/kvm/eventfd.c irqfd_deactivate(struct kvm_kernel_irqfd *irqfd) irqfd 165 virt/kvm/eventfd.c BUG_ON(!irqfd_is_active(irqfd)); irqfd 167 virt/kvm/eventfd.c list_del_init(&irqfd->list); irqfd 169 virt/kvm/eventfd.c queue_work(irqfd_cleanup_wq, &irqfd->shutdown); irqfd 187 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd = irqfd 191 virt/kvm/eventfd.c struct kvm *kvm = irqfd->kvm; irqfd 198 virt/kvm/eventfd.c seq = read_seqcount_begin(&irqfd->irq_entry_sc); irqfd 199 virt/kvm/eventfd.c irq = irqfd->irq_entry; irqfd 200 virt/kvm/eventfd.c } while (read_seqcount_retry(&irqfd->irq_entry_sc, seq)); irqfd 205 virt/kvm/eventfd.c schedule_work(&irqfd->inject); irqfd 224 virt/kvm/eventfd.c if (irqfd_is_active(irqfd)) irqfd 225 virt/kvm/eventfd.c irqfd_deactivate(irqfd); irqfd 237 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd = irqfd 239 virt/kvm/eventfd.c add_wait_queue(wqh, &irqfd->wait); irqfd 243 virt/kvm/eventfd.c static void irqfd_update(struct kvm *kvm, struct kvm_kernel_irqfd *irqfd) irqfd 249 virt/kvm/eventfd.c n_entries = kvm_irq_map_gsi(kvm, entries, irqfd->gsi); irqfd 251 virt/kvm/eventfd.c write_seqcount_begin(&irqfd->irq_entry_sc); irqfd 255 virt/kvm/eventfd.c irqfd->irq_entry = *e; irqfd 257 virt/kvm/eventfd.c irqfd->irq_entry.type = 0; irqfd 259 virt/kvm/eventfd.c write_seqcount_end(&irqfd->irq_entry_sc); irqfd 284 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd, *tmp; irqfd 297 virt/kvm/eventfd.c irqfd = kzalloc(sizeof(*irqfd), GFP_KERNEL_ACCOUNT); irqfd 298 virt/kvm/eventfd.c if (!irqfd) irqfd 301 virt/kvm/eventfd.c irqfd->kvm = kvm; irqfd 302 virt/kvm/eventfd.c irqfd->gsi = args->gsi; irqfd 303 virt/kvm/eventfd.c INIT_LIST_HEAD(&irqfd->list); irqfd 304 virt/kvm/eventfd.c INIT_WORK(&irqfd->inject, irqfd_inject); irqfd 305 virt/kvm/eventfd.c INIT_WORK(&irqfd->shutdown, irqfd_shutdown); irqfd 306 virt/kvm/eventfd.c seqcount_init(&irqfd->irq_entry_sc); irqfd 320 virt/kvm/eventfd.c irqfd->eventfd = eventfd; irqfd 331 virt/kvm/eventfd.c irqfd->resamplefd = resamplefd; irqfd 332 virt/kvm/eventfd.c INIT_LIST_HEAD(&irqfd->resampler_link); irqfd 338 virt/kvm/eventfd.c if (resampler->notifier.gsi == irqfd->gsi) { irqfd 339 virt/kvm/eventfd.c irqfd->resampler = resampler; irqfd 344 virt/kvm/eventfd.c if (!irqfd->resampler) { irqfd 355 virt/kvm/eventfd.c resampler->notifier.gsi = irqfd->gsi; irqfd 362 virt/kvm/eventfd.c irqfd->resampler = resampler; irqfd 365 virt/kvm/eventfd.c list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list); irqfd 375 virt/kvm/eventfd.c init_waitqueue_func_entry(&irqfd->wait, irqfd_wakeup); irqfd 376 virt/kvm/eventfd.c init_poll_funcptr(&irqfd->pt, irqfd_ptable_queue_proc); irqfd 382 virt/kvm/eventfd.c if (irqfd->eventfd != tmp->eventfd) irqfd 391 virt/kvm/eventfd.c irqfd_update(kvm, irqfd); irqfd 393 virt/kvm/eventfd.c list_add_tail(&irqfd->list, &kvm->irqfds.items); irqfd 401 virt/kvm/eventfd.c events = vfs_poll(f.file, &irqfd->pt); irqfd 404 virt/kvm/eventfd.c schedule_work(&irqfd->inject); irqfd 408 virt/kvm/eventfd.c irqfd->consumer.token = (void *)irqfd->eventfd; irqfd 409 virt/kvm/eventfd.c irqfd->consumer.add_producer = kvm_arch_irq_bypass_add_producer; irqfd 410 virt/kvm/eventfd.c irqfd->consumer.del_producer = kvm_arch_irq_bypass_del_producer; irqfd 411 virt/kvm/eventfd.c irqfd->consumer.stop = kvm_arch_irq_bypass_stop; irqfd 412 virt/kvm/eventfd.c irqfd->consumer.start = kvm_arch_irq_bypass_start; irqfd 413 virt/kvm/eventfd.c ret = irq_bypass_register_consumer(&irqfd->consumer); irqfd 416 virt/kvm/eventfd.c irqfd->consumer.token, ret); irqfd 430 virt/kvm/eventfd.c if (irqfd->resampler) irqfd 431 virt/kvm/eventfd.c irqfd_resampler_shutdown(irqfd); irqfd 442 virt/kvm/eventfd.c kfree(irqfd); irqfd 529 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd, *tmp; irqfd 538 virt/kvm/eventfd.c list_for_each_entry_safe(irqfd, tmp, &kvm->irqfds.items, list) { irqfd 539 virt/kvm/eventfd.c if (irqfd->eventfd == eventfd && irqfd->gsi == args->gsi) { irqfd 546 virt/kvm/eventfd.c write_seqcount_begin(&irqfd->irq_entry_sc); irqfd 547 virt/kvm/eventfd.c irqfd->irq_entry.type = 0; irqfd 548 virt/kvm/eventfd.c write_seqcount_end(&irqfd->irq_entry_sc); irqfd 549 virt/kvm/eventfd.c irqfd_deactivate(irqfd); irqfd 585 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd, *tmp; irqfd 589 virt/kvm/eventfd.c list_for_each_entry_safe(irqfd, tmp, &kvm->irqfds.items, list) irqfd 590 virt/kvm/eventfd.c irqfd_deactivate(irqfd); irqfd 608 virt/kvm/eventfd.c struct kvm_kernel_irqfd *irqfd; irqfd 612 virt/kvm/eventfd.c list_for_each_entry(irqfd, &kvm->irqfds.items, list) { irqfd 613 virt/kvm/eventfd.c irqfd_update(kvm, irqfd); irqfd 616 virt/kvm/eventfd.c if (irqfd->producer) { irqfd 618 virt/kvm/eventfd.c irqfd->kvm, irqfd->producer->irq, irqfd 619 virt/kvm/eventfd.c irqfd->gsi, 1);