Lines Matching refs:irqs
49 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_mask()
56 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_mask()
59 &vdev->irqs[index].mask, fd); in vfio_platform_set_irq_mask()
61 vfio_virqfd_disable(&vdev->irqs[index].mask); in vfio_platform_set_irq_mask()
66 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask()
72 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask()
109 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_unmask()
116 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_unmask()
119 &vdev->irqs[index].unmask, in vfio_platform_set_irq_unmask()
122 vfio_virqfd_disable(&vdev->irqs[index].unmask); in vfio_platform_set_irq_unmask()
127 vfio_platform_unmask(&vdev->irqs[index]); in vfio_platform_set_irq_unmask()
133 vfio_platform_unmask(&vdev->irqs[index]); in vfio_platform_set_irq_unmask()
175 struct vfio_platform_irq *irq = &vdev->irqs[index]; in vfio_set_trigger()
223 struct vfio_platform_irq *irq = &vdev->irqs[index]; in vfio_platform_set_irq_trigger()
226 if (vdev->irqs[index].flags & VFIO_IRQ_INFO_AUTOMASKED) in vfio_platform_set_irq_trigger()
289 vdev->irqs = kcalloc(cnt, sizeof(struct vfio_platform_irq), GFP_KERNEL); in vfio_platform_irq_init()
290 if (!vdev->irqs) in vfio_platform_irq_init()
299 spin_lock_init(&vdev->irqs[i].lock); in vfio_platform_irq_init()
301 vdev->irqs[i].flags = VFIO_IRQ_INFO_EVENTFD; in vfio_platform_irq_init()
304 vdev->irqs[i].flags |= VFIO_IRQ_INFO_MASKABLE in vfio_platform_irq_init()
307 vdev->irqs[i].count = 1; in vfio_platform_irq_init()
308 vdev->irqs[i].hwirq = hwirq; in vfio_platform_irq_init()
309 vdev->irqs[i].masked = false; in vfio_platform_irq_init()
316 kfree(vdev->irqs); in vfio_platform_irq_init()
328 kfree(vdev->irqs); in vfio_platform_irq_cleanup()