| /linux/arch/arm64/kvm/vgic/ |
| A D | vgic-mmio.c | 47 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_group() local 72 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_group() local 99 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_read_enable() local 120 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_senable() local 169 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_mmio_write_cenable() local 191 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_uaccess_write_senable() local 266 return (vgic_irq_is_sgi(irq->intid) && in is_vgic_v2_sgi() 454 intid >= VGIC_NR_PRIVATE_IRQS) in vgic_access_active_prepare() 462 intid >= VGIC_NR_PRIVATE_IRQS) in vgic_access_active_finish() 753 if ((intid + i) < VGIC_NR_SGIS || (intid + i) >= nr_irqs) in vgic_read_irq_line_level_info() [all …]
|
| A D | vgic-debug.c | 31 int intid; member 43 iter->intid++; in iter_next() 44 if (iter->intid == VGIC_NR_PRIVATE_IRQS && in iter_next() 46 iter->intid = 0; in iter_next() 50 iter->intid = iter->lpi_array[iter->lpi_idx]; in iter_next() 183 if (irq->intid < VGIC_NR_SGIS) in print_irq_state() 185 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) in print_irq_state() 187 else if (irq->intid < VGIC_MAX_SPI) in print_irq_state() 192 if (irq->intid ==0 || irq->intid == VGIC_NR_PRIVATE_IRQS) in print_irq_state() 214 type, irq->intid, in print_irq_state() [all …]
|
| A D | vgic.c | 67 if (irq->intid != intid) in vgic_get_lpi() 91 u32 intid) in vgic_get_irq() argument 94 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq() 95 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq() 101 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq() 106 if (intid >= VGIC_MIN_LPI) in vgic_get_irq() 107 return vgic_get_lpi(kvm, intid); in vgic_get_irq() 142 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq() 159 if (irq->intid >= VGIC_MIN_LPI) { in vgic_flush_pending_lpis() 455 irq = vgic_get_irq(kvm, vcpu, intid); in kvm_vgic_inject_irq() [all …]
|
| A D | vgic-mmio-v2.c | 113 int intid = val & 0xf; in vgic_mmio_write_sgir() local 140 irq = vgic_get_irq(source_vcpu->kvm, vcpu, intid); in vgic_mmio_write_sgir() 154 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_read_target() local 159 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_target() 173 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_write_target() local 179 if (intid < VGIC_NR_PRIVATE_IRQS) in vgic_mmio_write_target() 183 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); in vgic_mmio_write_target() 200 u32 intid = addr & 0x0f; in vgic_mmio_read_sgipend() local 205 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend() 218 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local [all …]
|
| A D | vgic-v3.c | 47 u32 intid, cpuid; in vgic_v3_fold_lr_state() local 56 intid = val & ICH_LR_VIRTUAL_ID_MASK; in vgic_v3_fold_lr_state() 58 intid = val & GICH_LR_VIRTUALID; in vgic_v3_fold_lr_state() 59 is_v2_sgi = vgic_irq_is_sgi(intid); in vgic_v3_fold_lr_state() 65 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v3_fold_lr_state() 67 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state() 109 u64 val = irq->intid; in vgic_v3_populate_lr() 154 if (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr() 159 irq->intid)) in vgic_v3_populate_lr() 322 bit_nr = irq->intid % BITS_PER_BYTE; in vgic_v3_lpi_sync_pending_status() [all …]
|
| A D | vgic-v2.c | 61 u32 cpuid, intid = val & GICH_LR_VIRTUALID; in vgic_v2_fold_lr_state() local 71 if (lr_signals_eoi_mi(val) && vgic_valid_spi(vcpu->kvm, intid)) in vgic_v2_fold_lr_state() 73 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v2_fold_lr_state() 75 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v2_fold_lr_state() 83 if (irq->active && vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 91 if (vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state() 124 u32 val = irq->intid; in vgic_v2_populate_lr() 129 if (vgic_irq_is_sgi(irq->intid)) in vgic_v2_populate_lr() 169 if (vgic_irq_is_sgi(irq->intid)) { in vgic_v2_populate_lr() 173 irq->intid)) in vgic_v2_populate_lr()
|
| A D | vgic-mmio-v3.c | 182 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local 183 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter() 201 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local 209 irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_write_irouter() 321 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_read_pending() local 336 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_v3_uaccess_read_pending() 358 u32 intid = VGIC_ADDR_TO_INTID(addr, 1); in vgic_v3_uaccess_write_pending() local 1091 u32 intid, u64 *val) in vgic_v3_line_level_info_uaccess() argument 1093 if (intid % 32) in vgic_v3_line_level_info_uaccess() 1097 vgic_write_irq_line_level_info(vcpu, intid, *val); in vgic_v3_line_level_info_uaccess() [all …]
|
| A D | vgic.h | 20 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) argument 118 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count() 163 u32 intid); 207 if (irq->intid < VGIC_MIN_LPI) in vgic_get_irq_kref() 248 u32 intid, u64 *val);
|
| A D | vgic-v4.c | 110 vpe->sgi_config[irq->intid].enabled = irq->enabled; in vgic_v4_sync_sgi_config() 111 vpe->sgi_config[irq->intid].group = irq->group; in vgic_v4_sync_sgi_config() 112 vpe->sgi_config[irq->intid].priority = irq->priority; in vgic_v4_sync_sgi_config() 215 int mask = BIT(irq->intid % BITS_PER_BYTE); in vgic_v4_get_vlpi_state() 220 ptr = va + irq->intid / BITS_PER_BYTE; in vgic_v4_get_vlpi_state() 438 .vintid = irq->intid, in kvm_vgic_v4_set_forwarding()
|
| A D | vgic-mmio.h | 207 u64 vgic_read_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid); 209 void vgic_write_irq_line_level_info(struct kvm_vcpu *vcpu, u32 intid,
|
| A D | vgic-init.c | 152 irq->intid = i + VGIC_NR_PRIVATE_IRQS; in kvm_vgic_dist_init() 207 irq->intid = i; in kvm_vgic_vcpu_init()
|
| A D | vgic-kvm-device.c | 573 unsigned int info, intid; in vgic_v3_attr_regs_access() local 578 intid = attr->attr & in vgic_v3_attr_regs_access() 581 intid, reg); in vgic_v3_attr_regs_access()
|
| A D | vgic-its.c | 39 static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid, in vgic_add_lpi() argument 43 struct vgic_irq *irq = vgic_get_irq(kvm, NULL, intid), *oldirq; in vgic_add_lpi() 61 irq->intid = intid; in vgic_add_lpi() 72 if (oldirq->intid != intid) in vgic_add_lpi() 288 ret = kvm_read_guest_lock(kvm, propbase + irq->intid - GIC_LPI_OFFSET, in update_lpi_config() 346 intids[i++] = irq->intid; in vgic_copy_lpi_list() 2131 ((u64)ite->irq->intid << KVM_ITS_ITE_PINTID_SHIFT) | in vgic_its_save_ite()
|
| /linux/tools/testing/selftests/kvm/lib/aarch64/ |
| A D | gic.c | 66 void gic_irq_enable(unsigned int intid) in gic_irq_enable() argument 69 gic_common_ops->gic_irq_enable(intid); in gic_irq_enable() 72 void gic_irq_disable(unsigned int intid) in gic_irq_disable() argument 75 gic_common_ops->gic_irq_disable(intid); in gic_irq_disable() 81 unsigned int intid; in gic_get_and_ack_irq() local 86 intid = irqstat & GENMASK(23, 0); in gic_get_and_ack_irq() 88 return intid; in gic_get_and_ack_irq() 91 void gic_set_eoi(unsigned int intid) in gic_set_eoi() argument 94 gic_common_ops->gic_write_eoir(intid); in gic_set_eoi()
|
| A D | gic_v3.c | 53 static enum gicv3_intid_range get_intid_range(unsigned int intid) in get_intid_range() argument 55 switch (intid) { in get_intid_range() 85 gicv3_config_irq(unsigned int intid, unsigned int offset) in gicv3_config_irq() argument 88 uint32_t mask = 1 << (intid % 32); in gicv3_config_irq() 89 enum gicv3_intid_range intid_range = get_intid_range(intid); in gicv3_config_irq() 101 reg = gicv3_data.dist_base + offset + (intid / 32) * 4; in gicv3_config_irq() 109 static void gicv3_irq_enable(unsigned int intid) in gicv3_irq_enable() argument 111 gicv3_config_irq(intid, GICD_ISENABLER); in gicv3_irq_enable() 114 static void gicv3_irq_disable(unsigned int intid) in gicv3_irq_disable() argument 116 gicv3_config_irq(intid, GICD_ICENABLER); in gicv3_irq_disable()
|
| A D | gic_private.h | 13 void (*gic_irq_enable)(unsigned int intid); 14 void (*gic_irq_disable)(unsigned int intid);
|
| /linux/tools/testing/selftests/kvm/include/aarch64/ |
| A D | gic.h | 16 void gic_irq_enable(unsigned int intid); 17 void gic_irq_disable(unsigned int intid); 19 void gic_set_eoi(unsigned int intid);
|
| /linux/tools/testing/selftests/kvm/aarch64/ |
| A D | arch_timer.c | 122 static void guest_validate_irq(unsigned int intid, in guest_validate_irq() argument 151 GUEST_ASSERT_2(intid == timer_irq, intid, timer_irq); in guest_validate_irq() 160 unsigned int intid = gic_get_and_ack_irq(); in guest_irq_handler() local 164 guest_validate_irq(intid, shared_data); in guest_irq_handler() 168 gic_set_eoi(intid); in guest_irq_handler()
|
| /linux/drivers/net/can/cc770/ |
| A D | cc770.c | 97 static inline int intid2obj(unsigned int intid) in intid2obj() argument 99 if (intid == 2) in intid2obj() 102 return MSGOBJ_LAST + 2 - intid; in intid2obj() 716 u8 intid; in cc770_interrupt() local 728 intid = cc770_read_reg(priv, interrupt); in cc770_interrupt() 729 if (!intid) in cc770_interrupt() 733 if (intid == 1) { in cc770_interrupt() 738 o = intid2obj(intid); in cc770_interrupt() 742 intid); in cc770_interrupt()
|
| /linux/include/kvm/ |
| A D | arm_vgic.h | 131 u32 intid; /* Guest visible INTID */ member 371 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, 414 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
|
| /linux/drivers/media/pci/saa7164/ |
| A D | saa7164-core.c | 612 u32 intid, intstat[INT_SIZE/4]; in saa7164_irq() local 660 intid = (i * 32) + bit; in saa7164_irq() 661 if (intid == dev->intfdesc.bInterruptId) { in saa7164_irq() 664 } else if (intid == porta->hwcfg.interruptid) { in saa7164_irq() 669 } else if (intid == portb->hwcfg.interruptid) { in saa7164_irq() 674 } else if (intid == portc->hwcfg.interruptid) { in saa7164_irq() 679 } else if (intid == portd->hwcfg.interruptid) { in saa7164_irq() 684 } else if (intid == porte->hwcfg.interruptid) { in saa7164_irq() 689 } else if (intid == portf->hwcfg.interruptid) { in saa7164_irq() 698 __func__, i, bit, intid); in saa7164_irq()
|
| /linux/Documentation/virt/kvm/devices/ |
| A D | vcpu.rst | 127 in-kernel virtual GIC. These must be a PPI (16 <= intid < 32). Setting the 131 KVM_ARM_VCPU_TIMER_IRQ_VTIMER The EL1 virtual timer intid (default: 27) 132 KVM_ARM_VCPU_TIMER_IRQ_PTIMER The EL1 physical timer intid (default: 30)
|
| /linux/drivers/mfd/ |
| A D | twl6040.c | 259 u8 intid; in twl6040_power_up_automatic() local 262 intid = twl6040_reg_read(twl6040, TWL6040_REG_INTID); in twl6040_power_up_automatic() 263 if (!(intid & TWL6040_READYINT)) { in twl6040_power_up_automatic()
|
| /linux/arch/sparc/include/asm/ |
| A D | leon_amba.h | 113 u32 intid[16]; /* 0xc0 */ member
|
| /linux/Documentation/devicetree/bindings/interrupt-controller/ |
| A D | arm,gic-v3.yaml | 112 A list of pairs <intid span>, where "intid" is the first SPI of a range
|