Lines Matching refs:vmdirq
129 struct vmd_irq *vmdirq = data->chip_data; in vmd_compose_msi_msg() local
130 struct vmd_irq_list *irq = vmdirq->irq; in vmd_compose_msi_msg()
144 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_enable() local
148 WARN_ON(vmdirq->enabled); in vmd_irq_enable()
149 list_add_tail_rcu(&vmdirq->node, &vmdirq->irq->irq_list); in vmd_irq_enable()
150 vmdirq->enabled = true; in vmd_irq_enable()
158 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_disable() local
164 if (vmdirq->enabled) { in vmd_irq_disable()
165 list_del_rcu(&vmdirq->node); in vmd_irq_disable()
166 vmdirq->enabled = false; in vmd_irq_disable()
234 struct vmd_irq *vmdirq = kzalloc(sizeof(*vmdirq), GFP_KERNEL); in vmd_msi_init() local
237 if (!vmdirq) in vmd_msi_init()
240 INIT_LIST_HEAD(&vmdirq->node); in vmd_msi_init()
241 vmdirq->irq = vmd_next_irq(vmd, desc); in vmd_msi_init()
242 vmdirq->virq = virq; in vmd_msi_init()
243 index = index_from_irqs(vmd, vmdirq->irq); in vmd_msi_init()
246 irq_domain_set_info(domain, virq, vector, info->chip, vmdirq, in vmd_msi_init()
254 struct vmd_irq *vmdirq = irq_get_chip_data(virq); in vmd_msi_free() local
257 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
261 vmdirq->irq->count--; in vmd_msi_free()
264 kfree(vmdirq); in vmd_msi_free()
738 struct vmd_irq *vmdirq; in vmd_irq() local
742 list_for_each_entry_rcu(vmdirq, &irqs->irq_list, node) in vmd_irq()
743 generic_handle_irq(vmdirq->virq); in vmd_irq()