Lines Matching refs:irq
147 static irqreturn_t vfio_automasked_irq_handler(int irq, void *dev_id) in vfio_automasked_irq_handler() argument
171 static irqreturn_t vfio_irq_handler(int irq, void *dev_id) in vfio_irq_handler() argument
183 struct vfio_platform_irq *irq = &vdev->irqs[index]; in vfio_set_trigger() local
187 if (irq->trigger) { in vfio_set_trigger()
188 free_irq(irq->hwirq, irq); in vfio_set_trigger()
189 kfree(irq->name); in vfio_set_trigger()
190 eventfd_ctx_put(irq->trigger); in vfio_set_trigger()
191 irq->trigger = NULL; in vfio_set_trigger()
197 irq->name = kasprintf(GFP_KERNEL, "vfio-irq[%d](%s)", in vfio_set_trigger()
198 irq->hwirq, vdev->name); in vfio_set_trigger()
199 if (!irq->name) in vfio_set_trigger()
204 kfree(irq->name); in vfio_set_trigger()
208 irq->trigger = trigger; in vfio_set_trigger()
210 irq_set_status_flags(irq->hwirq, IRQ_NOAUTOEN); in vfio_set_trigger()
211 ret = request_irq(irq->hwirq, handler, 0, irq->name, irq); in vfio_set_trigger()
213 kfree(irq->name); in vfio_set_trigger()
215 irq->trigger = NULL; in vfio_set_trigger()
219 if (!irq->masked) in vfio_set_trigger()
220 enable_irq(irq->hwirq); in vfio_set_trigger()
230 struct vfio_platform_irq *irq = &vdev->irqs[index]; in vfio_platform_set_irq_trigger() local
251 handler(irq->hwirq, irq); in vfio_platform_set_irq_trigger()
257 handler(irq->hwirq, irq); in vfio_platform_set_irq_trigger()