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 irq_clear_status_flags(irq->hwirq, IRQ_NOAUTOEN); in vfio_set_trigger()
189 free_irq(irq->hwirq, irq); in vfio_set_trigger()
190 kfree(irq->name); in vfio_set_trigger()
191 eventfd_ctx_put(irq->trigger); in vfio_set_trigger()
192 irq->trigger = NULL; in vfio_set_trigger()
198 irq->name = kasprintf(GFP_KERNEL, "vfio-irq[%d](%s)", in vfio_set_trigger()
199 irq->hwirq, vdev->name); in vfio_set_trigger()
200 if (!irq->name) in vfio_set_trigger()
205 kfree(irq->name); in vfio_set_trigger()
209 irq->trigger = trigger; in vfio_set_trigger()
211 irq_set_status_flags(irq->hwirq, IRQ_NOAUTOEN); in vfio_set_trigger()
212 ret = request_irq(irq->hwirq, handler, 0, irq->name, irq); in vfio_set_trigger()
214 kfree(irq->name); in vfio_set_trigger()
216 irq->trigger = NULL; in vfio_set_trigger()
220 if (!irq->masked) in vfio_set_trigger()
221 enable_irq(irq->hwirq); in vfio_set_trigger()
231 struct vfio_platform_irq *irq = &vdev->irqs[index]; in vfio_platform_set_irq_trigger() local
252 handler(irq->hwirq, irq); in vfio_platform_set_irq_trigger()
258 handler(irq->hwirq, irq); in vfio_platform_set_irq_trigger()