Lines Matching refs:vpe

95 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)  in its_alloc_vcpu_sgis()  argument
107 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx); in its_alloc_vcpu_sgis()
108 if (!vpe->fwnode) in its_alloc_vcpu_sgis()
114 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16, in its_alloc_vcpu_sgis()
115 sgi_domain_ops, vpe); in its_alloc_vcpu_sgis()
116 if (!vpe->sgi_domain) in its_alloc_vcpu_sgis()
119 sgi_base = __irq_domain_alloc_irqs(vpe->sgi_domain, -1, 16, in its_alloc_vcpu_sgis()
120 NUMA_NO_NODE, vpe, in its_alloc_vcpu_sgis()
128 if (vpe->sgi_domain) in its_alloc_vcpu_sgis()
129 irq_domain_remove(vpe->sgi_domain); in its_alloc_vcpu_sgis()
130 if (vpe->fwnode) in its_alloc_vcpu_sgis()
131 irq_domain_free_fwnode(vpe->fwnode); in its_alloc_vcpu_sgis()
208 static int its_send_vpe_cmd(struct its_vpe *vpe, struct its_cmd_info *info) in its_send_vpe_cmd() argument
210 return irq_set_vcpu_affinity(vpe->irq, info); in its_send_vpe_cmd()
213 int its_make_vpe_non_resident(struct its_vpe *vpe, bool db) in its_make_vpe_non_resident() argument
215 struct irq_desc *desc = irq_to_desc(vpe->irq); in its_make_vpe_non_resident()
228 enable_irq(vpe->irq); in its_make_vpe_non_resident()
231 ret = its_send_vpe_cmd(vpe, &info); in its_make_vpe_non_resident()
233 vpe->resident = false; in its_make_vpe_non_resident()
235 vpe->ready = false; in its_make_vpe_non_resident()
240 int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en) in its_make_vpe_resident() argument
253 disable_irq_nosync(vpe->irq); in its_make_vpe_resident()
256 ret = its_send_vpe_cmd(vpe, &info); in its_make_vpe_resident()
258 vpe->resident = true; in its_make_vpe_resident()
263 int its_commit_vpe(struct its_vpe *vpe) in its_commit_vpe() argument
272 ret = its_send_vpe_cmd(vpe, &info); in its_commit_vpe()
274 vpe->ready = true; in its_commit_vpe()
280 int its_invall_vpe(struct its_vpe *vpe) in its_invall_vpe() argument
286 return its_send_vpe_cmd(vpe, &info); in its_invall_vpe()