Lines Matching refs:vpe
118 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)
130 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx);
131 if (!vpe->fwnode)
137 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16,
138 sgi_domain_ops, vpe);
139 if (!vpe->sgi_domain)
142 sgi_base = irq_domain_alloc_irqs(vpe->sgi_domain, 16, NUMA_NO_NODE, vpe);
149 if (vpe->sgi_domain)
150 irq_domain_remove(vpe->sgi_domain);
151 if (vpe->fwnode)
152 irq_domain_free_fwnode(vpe->fwnode);
161 vm->fwnode = irq_domain_alloc_named_id_fwnode("GICv4-vpe",
228 static int its_send_vpe_cmd(struct its_vpe *vpe, struct its_cmd_info *info)
230 return irq_set_vcpu_affinity(vpe->irq, info);
233 int its_make_vpe_non_resident(struct its_vpe *vpe, bool db)
235 struct irq_desc *desc = irq_to_desc(vpe->irq);
248 enable_irq(vpe->irq);
251 ret = its_send_vpe_cmd(vpe, &info);
253 vpe->resident = false;
255 vpe->ready = false;
260 int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en)
273 disable_irq_nosync(vpe->irq);
276 ret = its_send_vpe_cmd(vpe, &info);
278 vpe->resident = true;
283 int its_commit_vpe(struct its_vpe *vpe)
292 ret = its_send_vpe_cmd(vpe, &info);
294 vpe->ready = true;
300 int its_invall_vpe(struct its_vpe *vpe)
306 return its_send_vpe_cmd(vpe, &info);