Lines Matching refs:vmdirq
165 struct vmd_irq *vmdirq = data->chip_data; in vmd_compose_msi_msg() local
166 struct vmd_irq_list *irq = vmdirq->irq; in vmd_compose_msi_msg()
180 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_enable() local
184 WARN_ON(vmdirq->enabled); in vmd_irq_enable()
185 list_add_tail_rcu(&vmdirq->node, &vmdirq->irq->irq_list); in vmd_irq_enable()
186 vmdirq->enabled = true; in vmd_irq_enable()
194 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_disable() local
200 if (vmdirq->enabled) { in vmd_irq_disable()
201 list_del_rcu(&vmdirq->node); in vmd_irq_disable()
202 vmdirq->enabled = false; in vmd_irq_disable()
271 struct vmd_irq *vmdirq = kzalloc(sizeof(*vmdirq), GFP_KERNEL); in vmd_msi_init() local
273 if (!vmdirq) in vmd_msi_init()
276 INIT_LIST_HEAD(&vmdirq->node); in vmd_msi_init()
277 vmdirq->irq = vmd_next_irq(vmd, desc); in vmd_msi_init()
278 vmdirq->virq = virq; in vmd_msi_init()
280 irq_domain_set_info(domain, virq, vmdirq->irq->virq, info->chip, vmdirq, in vmd_msi_init()
288 struct vmd_irq *vmdirq = irq_get_chip_data(virq); in vmd_msi_free() local
291 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
295 vmdirq->irq->count--; in vmd_msi_free()
298 kfree(vmdirq); in vmd_msi_free()
679 struct vmd_irq *vmdirq; in vmd_irq() local
683 list_for_each_entry_rcu(vmdirq, &irqs->irq_list, node) in vmd_irq()
684 generic_handle_irq(vmdirq->virq); in vmd_irq()