Lines Matching refs:intid
60 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid)
69 if (irq->intid != intid)
93 u32 intid)
96 if (intid <= VGIC_MAX_PRIVATE) {
97 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1);
98 return &vcpu->arch.vgic_cpu.private_irqs[intid];
102 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) {
103 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS);
104 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS];
108 if (intid >= VGIC_MIN_LPI)
109 return vgic_get_lpi(kvm, intid);
144 if (irq->intid < VGIC_MIN_LPI)
161 if (irq->intid >= VGIC_MIN_LPI) {
187 return irq->ops->get_input_level(irq->intid);
426 * @intid: The INTID to inject a new state to.
439 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid,
447 trace_vgic_update_irq_pending(cpuid, intid, level);
454 if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS)
457 irq = vgic_get_irq(kvm, vcpu, intid);
597 * @intid: The virtual INTID identifying the interrupt (PPI or SPI)
600 * Returns 0 if intid is not already used by another in-kernel device and the
603 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner)
613 if (!irq_is_ppi(intid) && !vgic_valid_spi(vcpu->kvm, intid))
616 irq = vgic_get_irq(vcpu->kvm, vcpu, intid);