Lines Matching refs:vmdirq
125 struct vmd_irq *vmdirq = data->chip_data; in vmd_compose_msi_msg() local
126 struct vmd_irq_list *irq = vmdirq->irq; in vmd_compose_msi_msg()
140 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_enable() local
144 WARN_ON(vmdirq->enabled); in vmd_irq_enable()
145 list_add_tail_rcu(&vmdirq->node, &vmdirq->irq->irq_list); in vmd_irq_enable()
146 vmdirq->enabled = true; in vmd_irq_enable()
154 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_disable() local
160 if (vmdirq->enabled) { in vmd_irq_disable()
161 list_del_rcu(&vmdirq->node); in vmd_irq_disable()
162 vmdirq->enabled = false; in vmd_irq_disable()
230 struct vmd_irq *vmdirq = kzalloc(sizeof(*vmdirq), GFP_KERNEL); in vmd_msi_init() local
233 if (!vmdirq) in vmd_msi_init()
236 INIT_LIST_HEAD(&vmdirq->node); in vmd_msi_init()
237 vmdirq->irq = vmd_next_irq(vmd, desc); in vmd_msi_init()
238 vmdirq->virq = virq; in vmd_msi_init()
239 index = index_from_irqs(vmd, vmdirq->irq); in vmd_msi_init()
242 irq_domain_set_info(domain, virq, vector, info->chip, vmdirq, in vmd_msi_init()
250 struct vmd_irq *vmdirq = irq_get_chip_data(virq); in vmd_msi_free() local
253 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
257 vmdirq->irq->count--; in vmd_msi_free()
260 kfree(vmdirq); in vmd_msi_free()
729 struct vmd_irq *vmdirq; in vmd_irq() local
733 list_for_each_entry_rcu(vmdirq, &irqs->irq_list, node) in vmd_irq()
734 generic_handle_irq(vmdirq->virq); in vmd_irq()