Home
last modified time | relevance | path

Searched refs:intid (Results 1 – 25 of 37) sorted by relevance

12

/linux/tools/testing/selftests/kvm/lib/aarch64/
A Dgic.c62 void gic_irq_enable(unsigned int intid) in gic_irq_enable() argument
65 gic_common_ops->gic_irq_enable(intid); in gic_irq_enable()
68 void gic_irq_disable(unsigned int intid) in gic_irq_disable() argument
71 gic_common_ops->gic_irq_disable(intid); in gic_irq_disable()
77 unsigned int intid; in gic_get_and_ack_irq() local
82 intid = irqstat & GENMASK(23, 0); in gic_get_and_ack_irq()
84 return intid; in gic_get_and_ack_irq()
87 void gic_set_eoi(unsigned int intid) in gic_set_eoi() argument
90 gic_common_ops->gic_write_eoir(intid); in gic_set_eoi()
93 void gic_set_dir(unsigned int intid) in gic_set_dir() argument
[all …]
A Dgic_v3.c79 switch (intid) { in get_intid_range()
186 index = intid % fields_per_reg; in gicv3_access_reg()
203 gicv3_access_reg(intid, offset, reg_bits, in gicv3_write_reg()
212 gicv3_access_reg(intid, offset, reg_bits, in gicv3_read_reg()
230 gicv3_write_reg(intid, GICD_ICFGR, 32, 2, val); in gicv3_irq_set_config()
233 static void gicv3_irq_enable(uint32_t intid) in gicv3_irq_enable() argument
242 static void gicv3_irq_disable(uint32_t intid) in gicv3_irq_disable() argument
251 static void gicv3_irq_set_active(uint32_t intid) in gicv3_irq_set_active() argument
261 static bool gicv3_irq_get_active(uint32_t intid) in gicv3_irq_get_active() argument
268 gicv3_write_reg(intid, GICD_ISPENDR, 32, 1, 1); in gicv3_irq_set_pending()
[all …]
A Dvgic.c85 uint64_t attr = 32 * (intid / 32); in _kvm_irq_set_level_info()
86 uint64_t index = intid % 32; in _kvm_irq_set_level_info()
103 int ret = _kvm_irq_set_level_info(gic_fd, intid, level); in kvm_irq_set_level_info()
110 uint32_t irq = intid & KVM_ARM_IRQ_NUM_MASK; in _kvm_arm_irq_line()
115 if (INTID_IS_PPI(intid)) in _kvm_arm_irq_line()
125 int ret = _kvm_arm_irq_line(vm, intid, level); in kvm_arm_irq_line()
133 uint64_t reg = intid / 32; in vgic_poke_irq()
134 uint64_t index = intid % 32; in vgic_poke_irq()
137 bool intid_is_private = INTID_IS_SGI(intid) || INTID_IS_PPI(intid); in vgic_poke_irq()
164 vgic_poke_irq(gic_fd, intid, vcpu, GICD_ISPENDR); in kvm_irq_write_ispendr()
[all …]
A Dgic_private.h13 void (*gic_irq_enable)(unsigned int intid);
14 void (*gic_irq_disable)(unsigned int intid);
20 void (*gic_set_priority)(uint32_t intid, uint32_t prio);
21 void (*gic_irq_set_active)(uint32_t intid);
22 void (*gic_irq_clear_active)(uint32_t intid);
23 bool (*gic_irq_get_active)(uint32_t intid);
24 void (*gic_irq_set_pending)(uint32_t intid);
25 void (*gic_irq_clear_pending)(uint32_t intid);
26 bool (*gic_irq_get_pending)(uint32_t intid);
27 void (*gic_irq_set_config)(uint32_t intid, bool is_edge);
A Dgic_v3_its.c227 u32 collection_id, u32 intid) in its_send_mapti_cmd() argument
234 its_encode_phys_id(&cmd, intid); in its_send_mapti_cmd()
/linux/tools/testing/selftests/kvm/include/aarch64/
A Dgic.h35 #define INTID_IS_SGI(intid) (0 <= (intid) && (intid) < MIN_PPI) argument
36 #define INTID_IS_PPI(intid) (MIN_PPI <= (intid) && (intid) < MIN_SPI) argument
37 #define INTID_IS_SPI(intid) (MIN_SPI <= (intid) && (intid) <= MAX_SPI) argument
40 void gic_irq_enable(unsigned int intid);
41 void gic_irq_disable(unsigned int intid);
43 void gic_set_eoi(unsigned int intid);
44 void gic_set_dir(unsigned int intid);
53 void gic_irq_set_active(unsigned int intid);
55 bool gic_irq_get_active(unsigned int intid);
56 void gic_irq_set_pending(unsigned int intid);
[all …]
A Dvgic.h23 void kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level);
24 int _kvm_irq_set_level_info(int gic_fd, uint32_t intid, int level);
26 void kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level);
27 int _kvm_arm_irq_line(struct kvm_vm *vm, uint32_t intid, int level);
30 void kvm_irq_write_ispendr(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu);
31 void kvm_irq_write_isactiver(int gic_fd, uint32_t intid, struct kvm_vcpu *vcpu);
A Dgic_v3_its.h16 u32 collection_id, u32 intid);
/linux/tools/testing/selftests/kvm/aarch64/
A Dvgic_irq.c182 gic_set_eoi(intid); in guest_irq_generic_handler()
346 uint32_t intid; in wait_for_and_activate_irq() local
353 return intid; in wait_for_and_activate_irq()
563 for (i = intid; i < (uint64_t)intid + num; i++) in kvm_set_gsi_routing_irqchip_check()
611 if (INTID_IS_SGI(intid) || INTID_IS_PPI(intid)) in kvm_routing_and_irqfd_check()
623 for (f = 0, i = intid; i < (uint64_t)intid + num; i++, f++) { in kvm_routing_and_irqfd_check()
628 for (f = 0, i = intid; i < (uint64_t)intid + num; i++, f++) { in kvm_routing_and_irqfd_check()
637 for (f = 0, i = intid; i < (uint64_t)intid + num; i++, f++) { in kvm_routing_and_irqfd_check()
644 for (f = 0, i = intid; i < (uint64_t)intid + num; i++, f++) in kvm_routing_and_irqfd_check()
700 for (i = intid; i < intid + num; i++) in run_guest_cmd()
[all …]
A Darch_timer.c55 static void guest_validate_irq(unsigned int intid, in guest_validate_irq() argument
64 if (intid == IAR_SPURIOUS) in guest_validate_irq()
94 GUEST_ASSERT_EQ(intid, timer_irq); in guest_validate_irq()
107 unsigned int intid = gic_get_and_ack_irq(); in guest_irq_handler() local
111 guest_validate_irq(intid, shared_data); in guest_irq_handler()
113 gic_set_eoi(intid); in guest_irq_handler()
A Dvgic_lpi_stress.c54 u32 intid = gic_get_and_ack_irq(); in guest_irq_handler() local
56 if (intid == IAR_SPURIOUS) in guest_irq_handler()
59 GUEST_ASSERT(intid >= GIC_LPI_OFFSET); in guest_irq_handler()
60 gic_set_eoi(intid); in guest_irq_handler()
65 u32 coll_id, device_id, event_id, intid = GIC_LPI_OFFSET; in guest_setup_its_mappings() local
83 event_id, coll_id, intid++); in guest_setup_its_mappings()
/linux/arch/arm64/kvm/vgic/
A Dvgic-mmio.c47 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
300 return (vgic_irq_is_sgi(irq->intid) && in is_vgic_v2_sgi()
475 intid >= VGIC_NR_PRIVATE_IRQS) in vgic_access_active_prepare()
484 intid >= VGIC_NR_PRIVATE_IRQS) in vgic_access_active_finish()
775 if ((intid + i) < VGIC_NR_SGIS || (intid + i) >= nr_irqs) in vgic_read_irq_line_level_info()
[all …]
A Dvgic-debug.c31 unsigned long intid; member
58 iter->intid++; in iter_next()
59 if (iter->intid == VGIC_NR_PRIVATE_IRQS && in iter_next()
61 iter->intid = 0; in iter_next()
68 unsigned long intid; in iter_mark_lpis() local
71 xa_for_each(&dist->lpi_xa, intid, irq) { in iter_mark_lpis()
86 unsigned long intid; in iter_unmark_lpis() local
220 if (irq->intid < VGIC_NR_SGIS) in print_irq_state()
224 else if (irq->intid < VGIC_MAX_SPI) in print_irq_state()
229 if (irq->intid ==0 || irq->intid == VGIC_NR_PRIVATE_IRQS) in print_irq_state()
[all …]
A Dvgic.c73 irq = xa_load(&dist->lpi_xa, intid); in vgic_get_lpi()
88 u32 intid) in vgic_get_irq() argument
91 if (intid <= VGIC_MAX_PRIVATE) { in vgic_get_irq()
92 intid = array_index_nospec(intid, VGIC_MAX_PRIVATE + 1); in vgic_get_irq()
98 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
103 if (intid >= VGIC_MIN_LPI) in vgic_get_irq()
104 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
123 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq()
130 __xa_erase(&dist->lpi_xa, irq->intid); in vgic_put_irq()
145 if (irq->intid >= VGIC_MIN_LPI) { in vgic_flush_pending_lpis()
[all …]
A Dvgic-mmio-v2.c125 int intid = val & 0xf; in vgic_mmio_write_sgir() local
151 irq = vgic_get_irq(source_vcpu->kvm, vcpu, intid); in vgic_mmio_write_sgir()
165 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_read_target() local
170 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_target()
184 u32 intid = VGIC_ADDR_TO_INTID(addr, 8); in vgic_mmio_write_target() local
190 if (intid < VGIC_NR_PRIVATE_IRQS) in vgic_mmio_write_target()
194 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid + i); in vgic_mmio_write_target()
211 u32 intid = addr & 0x0f; in vgic_mmio_read_sgipend() local
216 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_sgipend()
229 u32 intid = addr & 0x0f; in vgic_mmio_write_sgipendc() local
[all …]
A Dvgic-v3.c48 u32 intid, cpuid; in vgic_v3_fold_lr_state() local
57 intid = val & ICH_LR_VIRTUAL_ID_MASK; in vgic_v3_fold_lr_state()
59 intid = val & GICH_LR_VIRTUALID; in vgic_v3_fold_lr_state()
60 is_v2_sgi = vgic_irq_is_sgi(intid); in vgic_v3_fold_lr_state()
66 intid - VGIC_NR_PRIVATE_IRQS); in vgic_v3_fold_lr_state()
68 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state()
110 u64 val = irq->intid; in vgic_v3_populate_lr()
155 if (vgic_irq_is_sgi(irq->intid) && in vgic_v3_populate_lr()
160 irq->intid)) in vgic_v3_populate_lr()
335 bit_nr = irq->intid % BITS_PER_BYTE; in vgic_v3_lpi_sync_pending_status()
[all …]
A Dvgic-v2.c61 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 Dvgic.h22 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS) argument
125 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count()
183 u32 intid);
227 if (irq->intid < VGIC_MIN_LPI) in vgic_try_get_irq_kref()
271 u32 intid, u32 *val);
A Dvgic-v4.c110 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()
216 int mask = BIT(irq->intid % BITS_PER_BYTE); in vgic_v4_get_vlpi_state()
221 ptr = va + irq->intid / BITS_PER_BYTE; in vgic_v4_get_vlpi_state()
452 .vintid = irq->intid, in kvm_vgic_v4_set_forwarding()
A Dvgic-its.c68 irq->intid = intid; in vgic_add_lpi()
78 oldirq = xa_load(&dist->lpi_xa, intid); in vgic_add_lpi()
89 xa_release(&dist->lpi_xa, intid); in vgic_add_lpi()
396 unsigned long intid, flags; in its_sync_lpi_pending_table() local
402 xa_for_each(&dist->lpi_xa, intid, irq) { in its_sync_lpi_pending_table()
405 byte_offset = intid / BITS_PER_BYTE; in its_sync_lpi_pending_table()
406 bit_nr = intid % BITS_PER_BYTE; in its_sync_lpi_pending_table()
1282 unsigned long intid; in vgic_its_invall() local
1285 irq = vgic_get_irq(kvm, NULL, intid); in vgic_its_invall()
1338 unsigned long intid; in vgic_its_cmd_handle_movall() local
[all …]
A Dvgic-mmio-v3.c196 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_read_irouter() local
197 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_read_irouter()
215 int intid = VGIC_ADDR_TO_INTID(addr, 64); in vgic_mmio_write_irouter() local
223 irq = vgic_get_irq(vcpu->kvm, NULL, intid); in vgic_mmio_write_irouter()
1129 u32 intid, u32 *val) in vgic_v3_line_level_info_uaccess() argument
1131 if (intid % 32) in vgic_v3_line_level_info_uaccess()
1135 vgic_write_irq_line_level_info(vcpu, intid, *val); in vgic_v3_line_level_info_uaccess()
1137 *val = vgic_read_irq_line_level_info(vcpu, intid); in vgic_v3_line_level_info_uaccess()
/linux/drivers/net/can/cc770/
A Dcc770.c98 static inline int intid2obj(unsigned int intid) in intid2obj() argument
100 if (intid == 2) in intid2obj()
103 return MSGOBJ_LAST + 2 - intid; in intid2obj()
712 u8 intid; in cc770_interrupt() local
724 intid = cc770_read_reg(priv, interrupt); in cc770_interrupt()
725 if (!intid) in cc770_interrupt()
729 if (intid == 1) { in cc770_interrupt()
734 o = intid2obj(intid); in cc770_interrupt()
738 intid); in cc770_interrupt()
/linux/tools/testing/selftests/kvm/riscv/
A Darch_timer.c21 unsigned int intid = regs->cause & ~CAUSE_IRQ_FLAG; in guest_irq_handler() local
32 GUEST_ASSERT_EQ(intid, timer_irq); in guest_irq_handler()
/linux/include/kvm/
A Darm_vgic.h134 u32 intid; /* Guest visible INTID */ member
381 unsigned int intid, bool level, void *owner);
423 int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
/linux/drivers/media/pci/saa7164/
A Dsaa7164-core.c610 u32 intid, intstat[INT_SIZE/4]; in saa7164_irq() local
658 intid = (i * 32) + bit; in saa7164_irq()
659 if (intid == dev->intfdesc.bInterruptId) { in saa7164_irq()
662 } else if (intid == porta->hwcfg.interruptid) { in saa7164_irq()
667 } else if (intid == portb->hwcfg.interruptid) { in saa7164_irq()
672 } else if (intid == portc->hwcfg.interruptid) { in saa7164_irq()
677 } else if (intid == portd->hwcfg.interruptid) { in saa7164_irq()
682 } else if (intid == porte->hwcfg.interruptid) { in saa7164_irq()
687 } else if (intid == portf->hwcfg.interruptid) { in saa7164_irq()
696 __func__, i, bit, intid); in saa7164_irq()

Completed in 60 milliseconds

12