Lines Matching refs:vpe
95 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)
107 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx);
108 if (!vpe->fwnode)
114 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16,
115 sgi_domain_ops, vpe);
116 if (!vpe->sgi_domain)
119 sgi_base = __irq_domain_alloc_irqs(vpe->sgi_domain, -1, 16,
120 NUMA_NO_NODE, vpe,
128 if (vpe->sgi_domain)
129 irq_domain_remove(vpe->sgi_domain);
130 if (vpe->fwnode)
131 irq_domain_free_fwnode(vpe->fwnode);
140 vm->fwnode = irq_domain_alloc_named_id_fwnode("GICv4-vpe",
208 static int its_send_vpe_cmd(struct its_vpe *vpe, struct its_cmd_info *info)
210 return irq_set_vcpu_affinity(vpe->irq, info);
213 int its_make_vpe_non_resident(struct its_vpe *vpe, bool db)
215 struct irq_desc *desc = irq_to_desc(vpe->irq);
228 enable_irq(vpe->irq);
231 ret = its_send_vpe_cmd(vpe, &info);
233 vpe->resident = false;
238 int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en)
251 disable_irq_nosync(vpe->irq);
254 ret = its_send_vpe_cmd(vpe, &info);
256 vpe->resident = true;
261 int its_invall_vpe(struct its_vpe *vpe)
267 return its_send_vpe_cmd(vpe, &info);