| /OK3568_Linux_fs/kernel/drivers/irqchip/ |
| H A D | Makefile | 4 obj-$(CONFIG_AL_FIC) += irq-al-fic.o 5 obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o 6 obj-$(CONFIG_ATH79) += irq-ath79-cpu.o 7 obj-$(CONFIG_ATH79) += irq-ath79-misc.o 8 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o 9 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o 10 obj-$(CONFIG_ARCH_ACTIONS) += irq-owl-sirq.o 11 obj-$(CONFIG_DAVINCI_AINTC) += irq-davinci-aintc.o 12 obj-$(CONFIG_DAVINCI_CP_INTC) += irq-davinci-cp-intc.o 14 obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/kvm/vgic/ |
| H A D | vgic.c | 61 struct vgic_irq *irq = NULL; in vgic_get_lpi() local 66 list_for_each_entry(irq, &dist->lpi_list_head, lpi_list) { in vgic_get_lpi() 67 if (irq->intid != intid) in vgic_get_lpi() 74 vgic_get_irq_kref(irq); in vgic_get_lpi() 77 irq = NULL; in vgic_get_lpi() 82 return irq; in vgic_get_lpi() 125 void __vgic_put_lpi_locked(struct kvm *kvm, struct vgic_irq *irq) in __vgic_put_lpi_locked() argument 129 if (!kref_put(&irq->refcount, vgic_irq_release)) in __vgic_put_lpi_locked() 132 list_del(&irq->lpi_list); in __vgic_put_lpi_locked() 135 kfree(irq); in __vgic_put_lpi_locked() [all …]
|
| H A D | vgic-mmio.c | 53 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_group() local 55 if (irq->group) in vgic_mmio_read_group() 58 vgic_put_irq(vcpu->kvm, irq); in vgic_mmio_read_group() 64 static void vgic_update_vsgi(struct vgic_irq *irq) in vgic_update_vsgi() argument 66 WARN_ON(its_prop_update_vsgi(irq->host_irq, irq->priority, irq->group)); in vgic_update_vsgi() 77 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_group() local 79 raw_spin_lock_irqsave(&irq->irq_lock, flags); in vgic_mmio_write_group() 80 irq->group = !!(val & BIT(i)); in vgic_mmio_write_group() 81 if (irq->hw && vgic_irq_is_sgi(irq->intid)) { in vgic_mmio_write_group() 82 vgic_update_vsgi(irq); in vgic_mmio_write_group() [all …]
|
| H A D | vgic-v4.c | 84 static irqreturn_t vgic_v4_doorbell_handler(int irq, void *info) in vgic_v4_doorbell_handler() argument 90 !irqd_irq_disabled(&irq_to_desc(irq)->irq_data)) in vgic_v4_doorbell_handler() 91 disable_irq_nosync(irq); in vgic_v4_doorbell_handler() 108 static void vgic_v4_sync_sgi_config(struct its_vpe *vpe, struct vgic_irq *irq) in vgic_v4_sync_sgi_config() argument 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() 126 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, i); in vgic_v4_enable_vsgis() local 131 raw_spin_lock_irqsave(&irq->irq_lock, flags); in vgic_v4_enable_vsgis() 133 if (irq->hw) in vgic_v4_enable_vsgis() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/irq/ |
| H A D | irq-gic.c | 20 #define IRQ_REG_X4(irq) (4 * ((irq) / 4)) argument 21 #define IRQ_REG_X16(irq) (4 * ((irq) / 16)) argument 22 #define IRQ_REG_X32(irq) (4 * ((irq) / 32)) argument 23 #define IRQ_REG_X4_OFFSET(irq) ((irq) % 4) argument 24 #define IRQ_REG_X16_OFFSET(irq) ((irq) % 16) argument 25 #define IRQ_REG_X32_OFFSET(irq) ((irq) % 32) argument 117 static int gic_irq_set_trigger(int irq, eINT_TRIG trig) in gic_irq_set_trigger() argument 122 val = gicd_readl(GICD_ICFGR + IRQ_REG_X16(irq)); in gic_irq_set_trigger() 123 val &= ~(1 << (2 * IRQ_REG_X16_OFFSET(irq) + 1)); in gic_irq_set_trigger() 124 gicd_writel(val, GICD_ICFGR + IRQ_REG_X16(irq)); in gic_irq_set_trigger() [all …]
|
| H A D | irq-generic.su | |
| H A D | irq-generic.c | 35 int bad_irq(int irq) in bad_irq() argument 42 if (irq < PLATFORM_MAX_IRQ) { in bad_irq() 43 if (!irq_desc[irq].handle_irq) in bad_irq() 46 if (bad_virq(irq)) { in bad_irq() 47 IRQ_E("Unknown virq: %d\n", irq); in bad_irq() 56 void __generic_gpio_handle_irq(int irq) in __generic_gpio_handle_irq() argument 58 if (bad_irq(irq)) in __generic_gpio_handle_irq() 61 if (irq < PLATFORM_GIC_MAX_IRQ) { in __generic_gpio_handle_irq() 62 IRQ_W("IRQ %d: Invalid GPIO irq\n", irq); in __generic_gpio_handle_irq() 66 if (irq_desc[irq].handle_irq) { in __generic_gpio_handle_irq() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/misc/ocxl/ |
| H A D | afu_irq.c | 34 struct afu_irq *irq; in ocxl_irq_set_handler() local 38 irq = idr_find(&ctx->irq_idr, irq_id); in ocxl_irq_set_handler() 39 if (!irq) { in ocxl_irq_set_handler() 44 irq->handler = handler; in ocxl_irq_set_handler() 45 irq->private = private; in ocxl_irq_set_handler() 46 irq->free_private = free_private; in ocxl_irq_set_handler() 59 struct afu_irq *irq = (struct afu_irq *) data; in afu_irq_handler() local 63 if (irq->handler) in afu_irq_handler() 64 return irq->handler(irq->private); in afu_irq_handler() 69 static int setup_afu_irq(struct ocxl_context *ctx, struct afu_irq *irq) in setup_afu_irq() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/acpi/ |
| H A D | pci_link.c | 69 struct acpi_pci_link_irq irq; member 96 struct acpi_resource_irq *p = &resource->data.irq; in acpi_pci_link_check_possible() 111 link->irq.possible[i] = p->interrupts[i]; in acpi_pci_link_check_possible() 112 link->irq.possible_count++; in acpi_pci_link_check_possible() 114 link->irq.triggering = p->triggering; in acpi_pci_link_check_possible() 115 link->irq.polarity = p->polarity; in acpi_pci_link_check_possible() 116 link->irq.resource_type = ACPI_RESOURCE_TYPE_IRQ; in acpi_pci_link_check_possible() 137 link->irq.possible[i] = p->interrupts[i]; in acpi_pci_link_check_possible() 138 link->irq.possible_count++; in acpi_pci_link_check_possible() 140 link->irq.triggering = p->triggering; in acpi_pci_link_check_possible() [all …]
|
| /OK3568_Linux_fs/u-boot/arch/x86/lib/ |
| H A D | interrupts.c | 48 void irq_install_handler(int irq, interrupt_handler_t *handler, void *arg) in irq_install_handler() argument 52 if (irq < 0 || irq >= SYS_NUM_IRQS) { in irq_install_handler() 53 printf("irq_install_handler: bad irq number %d\n", irq); in irq_install_handler() 57 if (irq_handlers[irq].handler != NULL) in irq_install_handler() 60 (ulong) irq_handlers[irq].handler); in irq_install_handler() 64 irq_handlers[irq].handler = handler; in irq_install_handler() 65 irq_handlers[irq].arg = arg; in irq_install_handler() 66 irq_handlers[irq].count = 0; in irq_install_handler() 68 unmask_irq(irq); in irq_install_handler() 76 void irq_free_handler(int irq) in irq_free_handler() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/gvt/ |
| H A D | interrupt.c | 45 #define get_event_virt_handler(irq, e) (irq->events[e].v_handler) argument 46 #define get_irq_info(irq, e) (irq->events[e].info) argument 48 #define irq_to_gvt(irq) \ argument 49 container_of(irq, struct intel_gvt, irq) 150 struct intel_gvt_irq *irq = &gvt->irq; in regbase_to_irq_info() local 153 for_each_set_bit(i, irq->irq_info_bitmap, INTEL_GVT_IRQ_INFO_MAX) { in regbase_to_irq_info() 154 if (i915_mmio_reg_offset(irq->info[i]->reg_base) == reg) in regbase_to_irq_info() 155 return irq->info[i]; in regbase_to_irq_info() 179 struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_imr_handler() 209 struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_master_irq_handler() [all …]
|
| /OK3568_Linux_fs/kernel/arch/m68k/coldfire/ |
| H A D | intc-simr.c | 38 static inline unsigned int irq2ebit(unsigned int irq) in irq2ebit() argument 40 return irqebitmap[irq - EINT0]; in irq2ebit() 54 static inline unsigned int irq2ebit(unsigned int irq) in irq2ebit() argument 56 return irq - EINT0; in irq2ebit() 69 unsigned int irq = d->irq - MCFINT_VECBASE; in intc_irq_mask() local 71 if (MCFINTC2_SIMR && (irq > 128)) in intc_irq_mask() 72 __raw_writeb(irq - 128, MCFINTC2_SIMR); in intc_irq_mask() 73 else if (MCFINTC1_SIMR && (irq > 64)) in intc_irq_mask() 74 __raw_writeb(irq - 64, MCFINTC1_SIMR); in intc_irq_mask() 76 __raw_writeb(irq, MCFINTC0_SIMR); in intc_irq_mask() [all …]
|
| H A D | intc-2.c | 52 unsigned int irq = d->irq - MCFINT_VECBASE; in intc_irq_mask() local 57 imraddr = (irq & 0x40) ? MCFICM_INTC1 : MCFICM_INTC0; in intc_irq_mask() 61 imraddr += (irq & 0x20) ? MCFINTC_IMRH : MCFINTC_IMRL; in intc_irq_mask() 62 imrbit = 0x1 << (irq & 0x1f); in intc_irq_mask() 70 unsigned int irq = d->irq - MCFINT_VECBASE; in intc_irq_unmask() local 75 imraddr = (irq & 0x40) ? MCFICM_INTC1 : MCFICM_INTC0; in intc_irq_unmask() 79 imraddr += ((irq & 0x20) ? MCFINTC_IMRH : MCFINTC_IMRL); in intc_irq_unmask() 80 imrbit = 0x1 << (irq & 0x1f); in intc_irq_unmask() 83 if ((irq & 0x20) == 0) in intc_irq_unmask() 98 unsigned int irq = d->irq; in intc_irq_ack() local [all …]
|
| H A D | intc-5272.c | 83 unsigned int irq = d->irq; in intc_irq_mask() local 85 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_mask() 87 irq -= MCFINT_VECBASE; in intc_irq_mask() 88 v = 0x8 << intc_irqmap[irq].index; in intc_irq_mask() 89 writel(v, intc_irqmap[irq].icr); in intc_irq_mask() 95 unsigned int irq = d->irq; in intc_irq_unmask() local 97 if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { in intc_irq_unmask() 99 irq -= MCFINT_VECBASE; in intc_irq_unmask() 100 v = 0xd << intc_irqmap[irq].index; in intc_irq_unmask() 101 writel(v, intc_irqmap[irq].icr); in intc_irq_unmask() [all …]
|
| /OK3568_Linux_fs/kernel/arch/ia64/kernel/ |
| H A D | iosapic.c | 179 int irq; in __gsi_to_irq() local 183 for (irq = 0; irq < NR_IRQS; irq++) { in __gsi_to_irq() 184 info = &iosapic_intr_info[irq]; in __gsi_to_irq() 187 return irq; in __gsi_to_irq() 196 int irq; in gsi_to_irq() local 199 irq = __gsi_to_irq(gsi); in gsi_to_irq() 201 return irq; in gsi_to_irq() 204 static struct iosapic_rte_info *find_rte(unsigned int irq, unsigned int gsi) in find_rte() argument 208 list_for_each_entry(rte, &iosapic_intr_info[irq].rtes, rte_list) in find_rte() 215 set_rte (unsigned int gsi, unsigned int irq, unsigned int dest, int mask) in set_rte() argument [all …]
|
| H A D | irq_ia64.c | 93 int irq; in find_unassigned_irq() local 95 for (irq = IA64_FIRST_DEVICE_VECTOR; irq < NR_IRQS; irq++) in find_unassigned_irq() 96 if (irq_status[irq] == IRQ_UNUSED) in find_unassigned_irq() 97 return irq; in find_unassigned_irq() 120 static int __bind_irq_vector(int irq, int vector, cpumask_t domain) in __bind_irq_vector() argument 124 struct irq_cfg *cfg = &irq_cfg[irq]; in __bind_irq_vector() 126 BUG_ON((unsigned)irq >= NR_IRQS); in __bind_irq_vector() 137 per_cpu(vector_irq, cpu)[vector] = irq; in __bind_irq_vector() 140 irq_status[irq] = IRQ_USED; in __bind_irq_vector() 145 int bind_irq_vector(int irq, int vector, cpumask_t domain) in bind_irq_vector() argument [all …]
|
| H A D | msi_ia64.c | 22 unsigned int irq = idata->irq; in ia64_set_msi_irq_affinity() local 24 if (irq_prepare_move(irq, cpu)) in ia64_set_msi_irq_affinity() 36 data |= MSI_DATA_VECTOR(irq_to_vector(irq)); in ia64_set_msi_irq_affinity() 39 pci_write_msi_msg(irq, &msg); in ia64_set_msi_irq_affinity() 50 int irq, vector; in arch_setup_msi_irq() local 52 irq = create_irq(); in arch_setup_msi_irq() 53 if (irq < 0) in arch_setup_msi_irq() 54 return irq; in arch_setup_msi_irq() 56 irq_set_msi_desc(irq, desc); in arch_setup_msi_irq() 57 dest_phys_id = cpu_physical_id(cpumask_any_and(&(irq_to_domain(irq)), in arch_setup_msi_irq() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/xen/events/ |
| H A D | events_base.c | 105 unsigned irq; member 175 static bool (*pirq_needs_eoi)(unsigned irq); 214 static int set_evtchn_to_irq(evtchn_port_t evtchn, unsigned int irq) in set_evtchn_to_irq() argument 228 if (irq == -1) in set_evtchn_to_irq() 245 WRITE_ONCE(evtchn_to_irq[row][col], irq); in set_evtchn_to_irq() 259 static struct irq_info *info_for_irq(unsigned irq) in info_for_irq() argument 261 if (irq < nr_legacy_irqs()) in info_for_irq() 262 return legacy_info_ptrs[irq]; in info_for_irq() 264 return irq_get_chip_data(irq); in info_for_irq() 267 static void set_info_for_irq(unsigned int irq, struct irq_info *info) in set_info_for_irq() argument [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/include/asm/trace/ |
| H A D | irq_vectors.h | 128 TP_PROTO(unsigned int irq, unsigned int vector, 131 TP_ARGS(irq, vector, cpu, apicdest), 134 __field( unsigned int, irq ) 141 __entry->irq = irq; 148 __entry->irq, __entry->vector, __entry->cpu, 154 TP_PROTO(unsigned int irq, unsigned int vector, 158 TP_ARGS(irq, vector, cpu, prev_vector, prev_cpu), 161 __field( unsigned int, irq ) 169 __entry->irq = irq; 178 __entry->irq, __entry->vector, __entry->cpu, [all …]
|
| /OK3568_Linux_fs/kernel/arch/m68k/include/asm/ |
| H A D | atariints.h | 115 static inline int get_mfp_bit( unsigned irq, int type ) in get_mfp_bit() argument 119 mask = 1 << (irq & 7); in get_mfp_bit() 121 ((irq & 8) >> 2) + (((irq-8) & 16) << 3); in get_mfp_bit() 125 static inline void set_mfp_bit( unsigned irq, int type ) in set_mfp_bit() argument 129 mask = 1 << (irq & 7); in set_mfp_bit() 131 ((irq & 8) >> 2) + (((irq-8) & 16) << 3); in set_mfp_bit() 136 static inline void clear_mfp_bit( unsigned irq, int type ) in clear_mfp_bit() argument 140 mask = ~(1 << (irq & 7)); in clear_mfp_bit() 142 ((irq & 8) >> 2) + (((irq-8) & 16) << 3); in clear_mfp_bit() 157 static inline void atari_enable_irq( unsigned irq ) in atari_enable_irq() argument [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | interrupt.h | 118 unsigned int irq; member 139 request_threaded_irq(unsigned int irq, irq_handler_t handler, 157 request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, in request_irq() argument 160 return request_threaded_irq(irq, handler, NULL, flags, name, dev); in request_irq() 164 request_any_context_irq(unsigned int irq, irq_handler_t handler, 168 __request_percpu_irq(unsigned int irq, irq_handler_t handler, 173 request_nmi(unsigned int irq, irq_handler_t handler, unsigned long flags, 177 request_percpu_irq(unsigned int irq, irq_handler_t handler, in request_percpu_irq() argument 180 return __request_percpu_irq(irq, handler, 0, in request_percpu_irq() 185 request_percpu_nmi(unsigned int irq, irq_handler_t handler, [all …]
|
| H A D | irqnr.h | 9 extern struct irq_desc *irq_to_desc(unsigned int irq); 12 # define for_each_irq_desc(irq, desc) \ argument 13 for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \ 14 irq++, desc = irq_to_desc(irq)) \ 20 # define for_each_irq_desc_reverse(irq, desc) \ argument 21 for (irq = nr_irqs - 1, desc = irq_to_desc(irq); irq >= 0; \ 22 irq--, desc = irq_to_desc(irq)) \ 27 # define for_each_active_irq(irq) \ argument 28 for (irq = irq_get_next_irq(0); irq < nr_irqs; \ 29 irq = irq_get_next_irq(irq + 1)) [all …]
|
| /OK3568_Linux_fs/kernel/arch/m68k/q40/ |
| H A D | q40ints.c | 45 unsigned int irq = data->irq; in q40_irq_startup() local 48 switch (irq) { in q40_irq_startup() 52 irq); in q40_irq_startup() 130 static irqreturn_t q40_timer_int(int irq, void *dev_id) in q40_timer_int() argument 172 struct IRQ_TABLE{ unsigned mask; int irq ;}; member 180 { .mask = Q40_IRQ3_MASK, .irq = 3 }, /* ser 1 */ 181 { .mask = Q40_IRQ4_MASK, .irq = 4 }, /* ser 2 */ 182 { .mask = Q40_IRQ14_MASK, .irq = 14 }, /* IDE 1 */ 183 { .mask = Q40_IRQ15_MASK, .irq = 15 }, /* IDE 2 */ 184 { .mask = Q40_IRQ6_MASK, .irq = 6 }, /* floppy, handled elsewhere */ [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm/mach-rpc/ |
| H A D | irq.c | 24 static void iomd_set_base_mask(unsigned int irq, void __iomem *base, u32 mask) in iomd_set_base_mask() argument 26 struct irq_data *d = irq_get_irq_data(irq); in iomd_set_base_mask() 29 irq_set_chip_data(irq, (void *)(unsigned long)base); in iomd_set_base_mask() 75 unsigned int irq, clr, set; in rpc_init_irq() local 85 for (irq = 0; irq < NR_IRQS; irq++) { in rpc_init_irq() 89 if (irq <= 6 || (irq >= 9 && irq <= 15)) in rpc_init_irq() 92 if (irq == 21 || (irq >= 16 && irq <= 19) || in rpc_init_irq() 93 irq == IRQ_KEYBOARDTX) in rpc_init_irq() 96 switch (irq) { in rpc_init_irq() 98 irq_set_chip_and_handler(irq, &iomd_chip_clr, in rpc_init_irq() [all …]
|
| /OK3568_Linux_fs/kernel/arch/s390/kernel/ |
| H A D | irq.c | 36 int irq; member 52 {.irq = EXT_INTERRUPT, .name = "EXT"}, 53 {.irq = IO_INTERRUPT, .name = "I/O"}, 54 {.irq = THIN_INTERRUPT, .name = "AIO"}, 63 {.irq = IRQEXT_CLK, .name = "CLK", .desc = "[EXT] Clock Comparator"}, 64 {.irq = IRQEXT_EXC, .name = "EXC", .desc = "[EXT] External Call"}, 65 {.irq = IRQEXT_EMS, .name = "EMS", .desc = "[EXT] Emergency Signal"}, 66 {.irq = IRQEXT_TMR, .name = "TMR", .desc = "[EXT] CPU Timer"}, 67 {.irq = IRQEXT_TLA, .name = "TAL", .desc = "[EXT] Timing Alert"}, 68 {.irq = IRQEXT_PFL, .name = "PFL", .desc = "[EXT] Pseudo Page Fault"}, [all …]
|