Lines Matching refs:resampler

48 	if (!irqfd->resampler) {  in irqfd_inject()
66 struct kvm_kernel_irqfd_resampler *resampler; in irqfd_resampler_ack() local
71 resampler = container_of(kian, in irqfd_resampler_ack()
73 kvm = resampler->kvm; in irqfd_resampler_ack()
76 resampler->notifier.gsi, 0, false); in irqfd_resampler_ack()
80 list_for_each_entry_rcu(irqfd, &resampler->list, resampler_link) in irqfd_resampler_ack()
89 struct kvm_kernel_irqfd_resampler *resampler = irqfd->resampler; in irqfd_resampler_shutdown() local
90 struct kvm *kvm = resampler->kvm; in irqfd_resampler_shutdown()
97 if (list_empty(&resampler->list)) { in irqfd_resampler_shutdown()
98 list_del(&resampler->link); in irqfd_resampler_shutdown()
99 kvm_unregister_irq_ack_notifier(kvm, &resampler->notifier); in irqfd_resampler_shutdown()
101 resampler->notifier.gsi, 0, false); in irqfd_resampler_shutdown()
102 kfree(resampler); in irqfd_resampler_shutdown()
134 if (irqfd->resampler) { in irqfd_shutdown()
323 struct kvm_kernel_irqfd_resampler *resampler; in kvm_irqfd_assign() local
336 list_for_each_entry(resampler, in kvm_irqfd_assign()
338 if (resampler->notifier.gsi == irqfd->gsi) { in kvm_irqfd_assign()
339 irqfd->resampler = resampler; in kvm_irqfd_assign()
344 if (!irqfd->resampler) { in kvm_irqfd_assign()
345 resampler = kzalloc(sizeof(*resampler), in kvm_irqfd_assign()
347 if (!resampler) { in kvm_irqfd_assign()
353 resampler->kvm = kvm; in kvm_irqfd_assign()
354 INIT_LIST_HEAD(&resampler->list); in kvm_irqfd_assign()
355 resampler->notifier.gsi = irqfd->gsi; in kvm_irqfd_assign()
356 resampler->notifier.irq_acked = irqfd_resampler_ack; in kvm_irqfd_assign()
357 INIT_LIST_HEAD(&resampler->link); in kvm_irqfd_assign()
359 list_add(&resampler->link, &kvm->irqfds.resampler_list); in kvm_irqfd_assign()
361 &resampler->notifier); in kvm_irqfd_assign()
362 irqfd->resampler = resampler; in kvm_irqfd_assign()
365 list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list); in kvm_irqfd_assign()
430 if (irqfd->resampler) in kvm_irqfd_assign()