Lines Matching refs:prio

175 int kvmppc_xive_attach_escalation(struct kvm_vcpu *vcpu, u8 prio,  in kvmppc_xive_attach_escalation()  argument
179 struct xive_q *q = &xc->queues[prio]; in kvmppc_xive_attach_escalation()
184 if (xc->esc_virq[prio]) in kvmppc_xive_attach_escalation()
188 xc->esc_virq[prio] = irq_create_mapping(NULL, q->esc_irq); in kvmppc_xive_attach_escalation()
189 if (!xc->esc_virq[prio]) { in kvmppc_xive_attach_escalation()
191 prio, xc->server_num); in kvmppc_xive_attach_escalation()
200 vcpu->kvm->arch.lpid, xc->server_num, prio); in kvmppc_xive_attach_escalation()
203 prio, xc->server_num); in kvmppc_xive_attach_escalation()
208 pr_devel("Escalation %s irq %d (prio %d)\n", name, xc->esc_virq[prio], prio); in kvmppc_xive_attach_escalation()
210 rc = request_irq(xc->esc_virq[prio], xive_esc_irq, in kvmppc_xive_attach_escalation()
214 prio, xc->server_num); in kvmppc_xive_attach_escalation()
217 xc->esc_virq_names[prio] = name; in kvmppc_xive_attach_escalation()
228 struct irq_data *d = irq_get_irq_data(xc->esc_virq[prio]); in kvmppc_xive_attach_escalation()
239 irq_dispose_mapping(xc->esc_virq[prio]); in kvmppc_xive_attach_escalation()
240 xc->esc_virq[prio] = 0; in kvmppc_xive_attach_escalation()
245 static int xive_provision_queue(struct kvm_vcpu *vcpu, u8 prio) in xive_provision_queue() argument
249 struct xive_q *q = &xc->queues[prio]; in xive_provision_queue()
260 prio, xc->server_num); in xive_provision_queue()
272 rc = xive_native_configure_queue(xc->vp_id, q, prio, qpage, in xive_provision_queue()
276 prio, xc->server_num); in xive_provision_queue()
281 static int xive_check_provisioning(struct kvm *kvm, u8 prio) in xive_check_provisioning() argument
290 if (xive->qmap & (1 << prio)) in xive_check_provisioning()
293 pr_devel("Provisioning prio... %d\n", prio); in xive_check_provisioning()
299 rc = xive_provision_queue(vcpu, prio); in xive_check_provisioning()
301 kvmppc_xive_attach_escalation(vcpu, prio, in xive_check_provisioning()
309 xive->qmap |= (1 << prio); in xive_check_provisioning()
313 static void xive_inc_q_pending(struct kvm *kvm, u32 server, u8 prio) in xive_inc_q_pending() argument
329 q = &xc->queues[prio]; in xive_inc_q_pending()
333 static int xive_try_pick_queue(struct kvm_vcpu *vcpu, u8 prio) in xive_try_pick_queue() argument
344 q = &xc->queues[prio]; in xive_try_pick_queue()
353 int kvmppc_xive_select_target(struct kvm *kvm, u32 *server, u8 prio) in kvmppc_xive_select_target() argument
365 pr_devel("Finding irq target on 0x%x/%d...\n", *server, prio); in kvmppc_xive_select_target()
368 rc = xive_try_pick_queue(vcpu, prio); in kvmppc_xive_select_target()
378 rc = xive_try_pick_queue(vcpu, prio); in kvmppc_xive_select_target()
381 pr_devel(" found on 0x%x/%d\n", *server, prio); in kvmppc_xive_select_target()
474 u8 prio) in xive_finish_unmask() argument
518 state->guest_priority = prio; in xive_finish_unmask()
530 u32 server, u8 prio) in xive_target_interrupt() argument
541 rc = kvmppc_xive_select_target(kvm, &server, prio); in xive_target_interrupt()
562 state->act_priority = prio; in xive_target_interrupt()
570 prio, state->number); in xive_target_interrupt()
906 u8 prio; in kvmppc_xive_set_mapped() local
943 prio = xive_lock_and_mask(xive, sb, state); in kvmppc_xive_set_mapped()
944 pr_devel(" old IPI prio %02x P:%d Q:%d\n", prio, in kvmppc_xive_set_mapped()
978 if (prio != MASKED && !state->old_p) in kvmppc_xive_set_mapped()
986 state->guest_priority = prio; in kvmppc_xive_set_mapped()
1001 u8 prio; in kvmppc_xive_clr_mapped() local
1019 prio = xive_lock_and_mask(xive, sb, state); in kvmppc_xive_clr_mapped()
1020 pr_devel(" old IRQ prio %02x P:%d Q:%d\n", prio, in kvmppc_xive_clr_mapped()
1060 if (prio == MASKED || state->old_p) in kvmppc_xive_clr_mapped()
1067 state->guest_priority = prio; in kvmppc_xive_clr_mapped()
1528 u64 val, prio; in xive_get_source() local
1564 prio = state->saved_scan_prio; in xive_get_source()
1566 if (prio == MASKED) { in xive_get_source()
1568 prio = state->saved_priority; in xive_get_source()
1570 val |= prio << KVM_XICS_PRIORITY_SHIFT; in xive_get_source()
1588 if (state->in_queue || (prio == MASKED && state->saved_q)) in xive_get_source()