Lines Matching refs:vmdirq
130 struct vmd_irq *vmdirq = data->chip_data; in vmd_compose_msi_msg() local
131 struct vmd_irq_list *irq = vmdirq->irq; in vmd_compose_msi_msg()
145 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_enable() local
149 WARN_ON(vmdirq->enabled); in vmd_irq_enable()
150 list_add_tail_rcu(&vmdirq->node, &vmdirq->irq->irq_list); in vmd_irq_enable()
151 vmdirq->enabled = true; in vmd_irq_enable()
159 struct vmd_irq *vmdirq = data->chip_data; in vmd_irq_disable() local
165 if (vmdirq->enabled) { in vmd_irq_disable()
166 list_del_rcu(&vmdirq->node); in vmd_irq_disable()
167 vmdirq->enabled = false; in vmd_irq_disable()
235 struct vmd_irq *vmdirq = kzalloc(sizeof(*vmdirq), GFP_KERNEL); in vmd_msi_init() local
238 if (!vmdirq) in vmd_msi_init()
241 INIT_LIST_HEAD(&vmdirq->node); in vmd_msi_init()
242 vmdirq->irq = vmd_next_irq(vmd, desc); in vmd_msi_init()
243 vmdirq->virq = virq; in vmd_msi_init()
244 index = index_from_irqs(vmd, vmdirq->irq); in vmd_msi_init()
247 irq_domain_set_info(domain, virq, vector, info->chip, vmdirq, in vmd_msi_init()
255 struct vmd_irq *vmdirq = irq_get_chip_data(virq); in vmd_msi_free() local
258 synchronize_srcu(&vmdirq->irq->srcu); in vmd_msi_free()
262 vmdirq->irq->count--; in vmd_msi_free()
265 kfree(vmdirq); in vmd_msi_free()
533 struct vmd_irq *vmdirq; in vmd_irq() local
537 list_for_each_entry_rcu(vmdirq, &irqs->irq_list, node) in vmd_irq()
538 generic_handle_irq(vmdirq->virq); in vmd_irq()