Lines Matching refs:vmdirq
127 struct vmd_irq *vmdirq = data->chip_data; in vmd_compose_msi_msg() local
128 struct vmd_irq_list *irq = vmdirq->irq; in vmd_compose_msi_msg()
142 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_enable() local
146 WARN_ON(vmdirq->enabled); in vmd_irq_enable()
147 list_add_tail_rcu(&vmdirq->node, &vmdirq->irq->irq_list); in vmd_irq_enable()
148 vmdirq->enabled = true; in vmd_irq_enable()
156 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_disable() local
162 if (vmdirq->enabled) { in vmd_irq_disable()
163 list_del_rcu(&vmdirq->node); in vmd_irq_disable()
164 vmdirq->enabled = false; in vmd_irq_disable()
232 struct vmd_irq *vmdirq = kzalloc(sizeof(*vmdirq), GFP_KERNEL); in vmd_msi_init() local
235 if (!vmdirq) in vmd_msi_init()
238 INIT_LIST_HEAD(&vmdirq->node); in vmd_msi_init()
239 vmdirq->irq = vmd_next_irq(vmd, desc); in vmd_msi_init()
240 vmdirq->virq = virq; in vmd_msi_init()
241 index = index_from_irqs(vmd, vmdirq->irq); in vmd_msi_init()
244 irq_domain_set_info(domain, virq, vector, info->chip, vmdirq, in vmd_msi_init()
252 struct vmd_irq *vmdirq = irq_get_chip_data(virq); in vmd_msi_free() local
255 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
259 vmdirq->irq->count--; in vmd_msi_free()
262 kfree(vmdirq); in vmd_msi_free()
722 struct vmd_irq *vmdirq; in vmd_irq() local
726 list_for_each_entry_rcu(vmdirq, &irqs->irq_list, node) in vmd_irq()
727 generic_handle_irq(vmdirq->virq); in vmd_irq()