Lines Matching refs:intid
58 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid)
67 if (irq->intid != intid)
91 u32 intid)
94 if (intid <= VGIC_MAX_PRIVATE) {
95 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1);
96 return &vcpu->arch.vgic_cpu.private_irqs[intid];
100 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) {
101 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS);
102 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS];
106 if (intid >= VGIC_MIN_LPI)
107 return vgic_get_lpi(kvm, intid);
143 if (irq->intid < VGIC_MIN_LPI)
160 if (irq->intid >= VGIC_MIN_LPI) {
186 return irq->get_input_level(irq->intid);
425 * @intid: The INTID to inject a new state to.
438 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid,
446 trace_vgic_update_irq_pending(cpuid, intid, level);
453 if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS)
456 irq = vgic_get_irq(kvm, vcpu, intid);
581 * @intid: The virtual INTID identifying the interrupt (PPI or SPI)
584 * Returns 0 if intid is not already used by another in-kernel device and the
587 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner)
597 if (!irq_is_ppi(intid) && !vgic_valid_spi(vcpu->kvm, intid))
600 irq = vgic_get_irq(vcpu->kvm, vcpu, intid);