Lines Matching defs:resampler
49 if (!irqfd->resampler) {
59 static void irqfd_resampler_notify(struct kvm_kernel_irqfd_resampler *resampler)
63 list_for_each_entry_srcu(irqfd, &resampler->list, resampler_link,
64 srcu_read_lock_held(&resampler->kvm->irq_srcu))
69 * Since resampler irqfds share an IRQ source ID, we de-assert once
70 * then notify all of the resampler irqfds using this GSI. We can't
76 struct kvm_kernel_irqfd_resampler *resampler;
80 resampler = container_of(kian,
82 kvm = resampler->kvm;
85 resampler->notifier.gsi, 0, false);
88 irqfd_resampler_notify(resampler);
95 struct kvm_kernel_irqfd_resampler *resampler = irqfd->resampler;
96 struct kvm *kvm = resampler->kvm;
102 if (list_empty(&resampler->list)) {
103 list_del_rcu(&resampler->link);
104 kvm_unregister_irq_ack_notifier(kvm, &resampler->notifier);
110 resampler->notifier.gsi, 0, false);
111 kfree(resampler);
145 if (irqfd->resampler) {
412 struct kvm_kernel_irqfd_resampler *resampler;
425 list_for_each_entry(resampler,
427 if (resampler->notifier.gsi == irqfd->gsi) {
428 irqfd->resampler = resampler;
433 if (!irqfd->resampler) {
434 resampler = kzalloc_obj(*resampler, GFP_KERNEL_ACCOUNT);
435 if (!resampler) {
441 resampler->kvm = kvm;
442 INIT_LIST_HEAD(&resampler->list);
443 resampler->notifier.gsi = irqfd->gsi;
444 resampler->notifier.irq_acked = irqfd_resampler_ack;
445 INIT_LIST_HEAD(&resampler->link);
447 list_add_rcu(&resampler->link, &kvm->irqfds.resampler_list);
449 &resampler->notifier);
450 irqfd->resampler = resampler;
453 list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list);
509 if (irqfd->resampler)
686 struct kvm_kernel_irqfd_resampler *resampler;
692 list_for_each_entry_srcu(resampler,
695 if (resampler->notifier.gsi == gsi) {
696 irqfd_resampler_notify(resampler);