Lines Matching defs:vector
289 int vector, int fd, bool msix)
296 if (vector < 0 || vector >= vdev->num_ctx)
299 irq = pci_irq_vector(pdev, vector);
301 if (vdev->ctx[vector].trigger) {
302 irq_bypass_unregister_producer(&vdev->ctx[vector].producer);
305 free_irq(irq, vdev->ctx[vector].trigger);
308 kfree(vdev->ctx[vector].name);
309 eventfd_ctx_put(vdev->ctx[vector].trigger);
310 vdev->ctx[vector].trigger = NULL;
316 vdev->ctx[vector].name = kasprintf(GFP_KERNEL, "vfio-msi%s[%d](%s)",
317 msix ? "x" : "", vector,
319 if (!vdev->ctx[vector].name)
324 kfree(vdev->ctx[vector].name);
329 * The MSIx vector table resides in device memory which may be cleared
330 * via backdoor resets. We don't allow direct access to the vector
344 vdev->ctx[vector].name, trigger);
347 kfree(vdev->ctx[vector].name);
352 vdev->ctx[vector].producer.token = trigger;
353 vdev->ctx[vector].producer.irq = irq;
354 ret = irq_bypass_register_producer(&vdev->ctx[vector].producer);
358 vdev->ctx[vector].producer.token, ret);
360 vdev->ctx[vector].producer.token = NULL;
362 vdev->ctx[vector].trigger = trigger;