Lines Matching refs:ctx

36 		eventfd_signal(vdev->ctx[0].trigger, 1);  in vfio_send_intx_eventfd()
55 } else if (!vdev->ctx[0].masked) { in vfio_pci_intx_mask()
65 vdev->ctx[0].masked = true; in vfio_pci_intx_mask()
93 } else if (vdev->ctx[0].masked && !vdev->virq_disabled) { in vfio_pci_intx_unmask_handler()
105 vdev->ctx[0].masked = (ret > 0); in vfio_pci_intx_unmask_handler()
129 vdev->ctx[0].masked = true; in vfio_intx_handler()
131 } else if (!vdev->ctx[0].masked && /* may be shared */ in vfio_intx_handler()
133 vdev->ctx[0].masked = true; in vfio_intx_handler()
153 vdev->ctx = kzalloc(sizeof(struct vfio_pci_irq_ctx), GFP_KERNEL); in vfio_intx_enable()
154 if (!vdev->ctx) in vfio_intx_enable()
165 vdev->ctx[0].masked = vdev->virq_disabled; in vfio_intx_enable()
167 pci_intx(vdev->pdev, !vdev->ctx[0].masked); in vfio_intx_enable()
182 if (vdev->ctx[0].trigger) { in vfio_intx_set_signal()
184 kfree(vdev->ctx[0].name); in vfio_intx_set_signal()
185 eventfd_ctx_put(vdev->ctx[0].trigger); in vfio_intx_set_signal()
186 vdev->ctx[0].trigger = NULL; in vfio_intx_set_signal()
192 vdev->ctx[0].name = kasprintf(GFP_KERNEL, "vfio-intx(%s)", in vfio_intx_set_signal()
194 if (!vdev->ctx[0].name) in vfio_intx_set_signal()
199 kfree(vdev->ctx[0].name); in vfio_intx_set_signal()
203 vdev->ctx[0].trigger = trigger; in vfio_intx_set_signal()
209 irqflags, vdev->ctx[0].name, vdev); in vfio_intx_set_signal()
211 vdev->ctx[0].trigger = NULL; in vfio_intx_set_signal()
212 kfree(vdev->ctx[0].name); in vfio_intx_set_signal()
222 if (!vdev->pci_2_3 && vdev->ctx[0].masked) in vfio_intx_set_signal()
232 vfio_virqfd_disable(&vdev->ctx[0].unmask); in vfio_intx_disable()
233 vfio_virqfd_disable(&vdev->ctx[0].mask); in vfio_intx_disable()
236 kfree(vdev->ctx); in vfio_intx_disable()
258 vdev->ctx = kzalloc(nvec * sizeof(struct vfio_pci_irq_ctx), GFP_KERNEL); in vfio_msi_enable()
259 if (!vdev->ctx) in vfio_msi_enable()
268 kfree(vdev->ctx); in vfio_msi_enable()
280 kfree(vdev->ctx); in vfio_msi_enable()
288 kfree(vdev->ctx); in vfio_msi_enable()
320 if (vdev->ctx[vector].trigger) { in vfio_msi_set_vector_signal()
321 free_irq(irq, vdev->ctx[vector].trigger); in vfio_msi_set_vector_signal()
322 kfree(vdev->ctx[vector].name); in vfio_msi_set_vector_signal()
323 eventfd_ctx_put(vdev->ctx[vector].trigger); in vfio_msi_set_vector_signal()
324 vdev->ctx[vector].trigger = NULL; in vfio_msi_set_vector_signal()
330 vdev->ctx[vector].name = kasprintf(GFP_KERNEL, "%s[%d](%s)", in vfio_msi_set_vector_signal()
332 if (!vdev->ctx[vector].name) in vfio_msi_set_vector_signal()
337 kfree(vdev->ctx[vector].name); in vfio_msi_set_vector_signal()
356 vdev->ctx[vector].name, trigger); in vfio_msi_set_vector_signal()
358 kfree(vdev->ctx[vector].name); in vfio_msi_set_vector_signal()
363 vdev->ctx[vector].trigger = trigger; in vfio_msi_set_vector_signal()
397 vfio_virqfd_disable(&vdev->ctx[i].unmask); in vfio_msi_disable()
398 vfio_virqfd_disable(&vdev->ctx[i].mask); in vfio_msi_disable()
409 kfree(vdev->ctx); in vfio_msi_disable()
434 &vdev->ctx[0].unmask, fd); in vfio_pci_set_intx_unmask()
436 vfio_virqfd_disable(&vdev->ctx[0].unmask); in vfio_pci_set_intx_unmask()
543 if (!vdev->ctx[i].trigger) in vfio_pci_set_msi_trigger()
546 eventfd_signal(vdev->ctx[i].trigger, 1); in vfio_pci_set_msi_trigger()
550 eventfd_signal(vdev->ctx[i].trigger, 1); in vfio_pci_set_msi_trigger()
556 static int vfio_pci_set_ctx_trigger_single(struct eventfd_ctx **ctx, in vfio_pci_set_ctx_trigger_single() argument
566 if (*ctx) in vfio_pci_set_ctx_trigger_single()
567 eventfd_signal(*ctx, 1); in vfio_pci_set_ctx_trigger_single()
571 if (trigger && *ctx) in vfio_pci_set_ctx_trigger_single()
572 eventfd_signal(*ctx, 1); in vfio_pci_set_ctx_trigger_single()
578 if (*ctx) in vfio_pci_set_ctx_trigger_single()
579 eventfd_ctx_put(*ctx); in vfio_pci_set_ctx_trigger_single()
580 *ctx = NULL; in vfio_pci_set_ctx_trigger_single()
587 if (*ctx) in vfio_pci_set_ctx_trigger_single()
588 eventfd_ctx_put(*ctx); in vfio_pci_set_ctx_trigger_single()
589 *ctx = efdctx; in vfio_pci_set_ctx_trigger_single()