Lines Matching refs:vpe
119 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)
131 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx);
132 if (!vpe->fwnode)
138 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16,
139 sgi_domain_ops, vpe);
140 if (!vpe->sgi_domain)
143 sgi_base = irq_domain_alloc_irqs(vpe->sgi_domain, 16, NUMA_NO_NODE, vpe);
150 if (vpe->sgi_domain)
151 irq_domain_remove(vpe->sgi_domain);
152 if (vpe->fwnode)
153 irq_domain_free_fwnode(vpe->fwnode);
162 vm->fwnode = irq_domain_alloc_named_id_fwnode("GICv4-vpe",
229 static int its_send_vpe_cmd(struct its_vpe *vpe, struct its_cmd_info *info)
231 return irq_set_vcpu_affinity(vpe->irq, info);
234 int its_make_vpe_non_resident(struct its_vpe *vpe, bool db)
236 struct irq_desc *desc = irq_to_desc(vpe->irq);
249 enable_irq(vpe->irq);
252 ret = its_send_vpe_cmd(vpe, &info);
254 vpe->resident = false;
256 vpe->ready = false;
261 int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en)
274 disable_irq_nosync(vpe->irq);
277 ret = its_send_vpe_cmd(vpe, &info);
279 vpe->resident = true;
284 int its_commit_vpe(struct its_vpe *vpe)
293 ret = its_send_vpe_cmd(vpe, &info);
295 vpe->ready = true;
301 int its_invall_vpe(struct its_vpe *vpe)
307 return its_send_vpe_cmd(vpe, &info);