Lines Matching refs:resampler
86 struct _irqfd_resampler *resampler; member
106 if (!irqfd->resampler) { in irqfd_inject()
124 struct _irqfd_resampler *resampler; in irqfd_resampler_ack() local
129 resampler = container_of(kian, struct _irqfd_resampler, notifier); in irqfd_resampler_ack()
130 kvm = resampler->kvm; in irqfd_resampler_ack()
133 resampler->notifier.gsi, 0, false); in irqfd_resampler_ack()
137 list_for_each_entry_rcu(irqfd, &resampler->list, resampler_link) in irqfd_resampler_ack()
146 struct _irqfd_resampler *resampler = irqfd->resampler; in irqfd_resampler_shutdown() local
147 struct kvm *kvm = resampler->kvm; in irqfd_resampler_shutdown()
154 if (list_empty(&resampler->list)) { in irqfd_resampler_shutdown()
155 list_del(&resampler->link); in irqfd_resampler_shutdown()
156 kvm_unregister_irq_ack_notifier(kvm, &resampler->notifier); in irqfd_resampler_shutdown()
158 resampler->notifier.gsi, 0, false); in irqfd_resampler_shutdown()
159 kfree(resampler); in irqfd_resampler_shutdown()
186 if (irqfd->resampler) { in irqfd_shutdown()
343 struct _irqfd_resampler *resampler; in kvm_irqfd_assign() local
356 list_for_each_entry(resampler, in kvm_irqfd_assign()
358 if (resampler->notifier.gsi == irqfd->gsi) { in kvm_irqfd_assign()
359 irqfd->resampler = resampler; in kvm_irqfd_assign()
364 if (!irqfd->resampler) { in kvm_irqfd_assign()
365 resampler = kzalloc(sizeof(*resampler), GFP_KERNEL); in kvm_irqfd_assign()
366 if (!resampler) { in kvm_irqfd_assign()
372 resampler->kvm = kvm; in kvm_irqfd_assign()
373 INIT_LIST_HEAD(&resampler->list); in kvm_irqfd_assign()
374 resampler->notifier.gsi = irqfd->gsi; in kvm_irqfd_assign()
375 resampler->notifier.irq_acked = irqfd_resampler_ack; in kvm_irqfd_assign()
376 INIT_LIST_HEAD(&resampler->link); in kvm_irqfd_assign()
378 list_add(&resampler->link, &kvm->irqfds.resampler_list); in kvm_irqfd_assign()
380 &resampler->notifier); in kvm_irqfd_assign()
381 irqfd->resampler = resampler; in kvm_irqfd_assign()
384 list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list); in kvm_irqfd_assign()
435 if (irqfd->resampler) in kvm_irqfd_assign()