Home
last modified time | relevance | path

Searched full:irq (Results 1 – 25 of 4353) sorted by relevance

12345678910>>...175

/linux/drivers/irqchip/
H A DMakefile4 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_CP_INTC) += irq-davinci-cp-intc.o
13 obj-$(CONFIG_ECONET_EN751221_INTC) += irq-econet-en751221.o
14 obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o
[all …]
/linux/drivers/misc/ocxl/
H A Dafu_irq.c35 struct afu_irq *irq; in ocxl_irq_set_handler() local
39 irq = idr_find(&ctx->irq_idr, irq_id); in ocxl_irq_set_handler()
40 if (!irq) { in ocxl_irq_set_handler()
45 irq->handler = handler; in ocxl_irq_set_handler()
46 irq->private = private; in ocxl_irq_set_handler()
47 irq->free_private = free_private; in ocxl_irq_set_handler()
60 struct afu_irq *irq = data; in afu_irq_handler() local
64 if (irq->handler) in afu_irq_handler()
65 return irq->handler(irq->private); in afu_irq_handler()
70 static int setup_afu_irq(struct ocxl_context *ctx, struct afu_irq *irq) in setup_afu_irq() argument
[all …]
/linux/drivers/acpi/
H A Dpci_link.c10 * 1. Support more than one IRQ resource entry per link device (index).
12 * for IRQ management (e.g. start()->_SRS).
28 #include <linux/irq.h>
53 * later even the link is disable. Instead, we just repick the active irq
56 u32 active; /* Current IRQ */
69 struct acpi_pci_link_irq irq; member
97 struct acpi_resource_irq *p = &resource->data.irq; in acpi_pci_link_check_possible()
100 "Blank _PRS IRQ resource\n"); in acpi_pci_link_check_possible()
108 "Invalid _PRS IRQ %d\n", in acpi_pci_link_check_possible()
112 link->irq.possible[i] = p->interrupts[i]; in acpi_pci_link_check_possible()
[all …]
/linux/arch/arm64/kvm/vgic/
H A Dvgic-mmio.c9 #include <linux/irq.h>
53 struct vgic_irq *irq = vgic_get_vcpu_irq(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_vcpu_irq(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()
[all …]
/linux/arch/x86/include/asm/trace/
H A Dirq_vectors.h60 * irq_work - called when entering/exiting a irq work interrupt
127 TP_PROTO(unsigned int irq, unsigned int vector,
130 TP_ARGS(irq, vector, cpu, apicdest),
133 __field( unsigned int, irq )
140 __entry->irq = irq;
146 TP_printk("irq=%u vector=%u cpu=%u apicdest=0x%08x",
147 __entry->irq, __entry->vector, __entry->cpu,
153 TP_PROTO(unsigned int irq, unsigned int vector,
157 TP_ARGS(irq, vector, cpu, prev_vector, prev_cpu),
160 __field( unsigned int, irq )
[all …]
/linux/drivers/misc/
H A Ddummy-irq.c3 * Dummy IRQ handler driver.
6 * by the 'irq' parameter.
9 * which spurious IRQs would happen on disabled IRQ vector.
15 #include <linux/irq.h>
18 static int irq = -1; variable
20 static irqreturn_t dummy_interrupt(int irq, void *dev_id) in dummy_interrupt() argument
25 printk(KERN_INFO "dummy-irq: interrupt occurred on IRQ %d\n", in dummy_interrupt()
26 irq); in dummy_interrupt()
35 if (irq < 0) { in dummy_irq_init()
36 printk(KERN_ERR "dummy-irq: no IRQ given. Use irq=N\n"); in dummy_irq_init()
[all …]
/linux/drivers/parisc/
H A Dgsc.c35 int irq = txn_alloc_irq(GSC_EIM_WIDTH); in gsc_alloc_irq() local
36 if (irq < 0) { in gsc_alloc_irq()
37 printk("cannot get irq\n"); in gsc_alloc_irq()
38 return irq; in gsc_alloc_irq()
41 i->txn_addr = txn_alloc_addr(irq); in gsc_alloc_irq()
42 i->txn_data = txn_alloc_data(irq); in gsc_alloc_irq()
43 i->irq = irq; in gsc_alloc_irq()
45 return irq; in gsc_alloc_irq()
48 int gsc_claim_irq(struct gsc_irq *i, int irq) in gsc_claim_irq() argument
50 int c = irq; in gsc_claim_irq()
[all …]
/linux/arch/m68k/coldfire/
H A Dintc-simr.c17 #include <linux/irq.h>
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 > 127)) in intc_irq_mask()
72 __raw_writeb(irq - 128, MCFINTC2_SIMR); in intc_irq_mask()
73 else if (MCFINTC1_SIMR && (irq > 63)) in intc_irq_mask()
74 __raw_writeb(irq - 64, MCFINTC1_SIMR); in intc_irq_mask()
[all …]
H A Dintc-2.c24 #include <linux/irq.h>
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()
[all …]
H A Dintc-5272.c16 #include <linux/irq.h>
78 * an interrupt on this irq (for the external irqs). So this mask function
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()
[all …]
/linux/drivers/gpu/drm/i915/gvt/
H A Dinterrupt.c64 #define get_event_virt_handler(irq, e) (irq->events[e].v_handler) argument
65 #define get_irq_info(irq, e) (irq->events[e].info) argument
67 #define irq_to_gvt(irq) \ argument
68 container_of(irq, struct intel_gvt, irq)
169 struct intel_gvt_irq *irq = &gvt->irq; in regbase_to_irq_info() local
172 for_each_set_bit(i, irq->irq_info_bitmap, INTEL_GVT_IRQ_INFO_MAX) { in regbase_to_irq_info()
173 if (i915_mmio_reg_offset(irq->info[i]->reg_base) == reg) in regbase_to_irq_info()
174 return irq->info[i]; in regbase_to_irq_info()
198 const struct intel_gvt_irq_ops *ops = gvt->irq.ops; in intel_vgpu_reg_imr_handler()
212 * intel_vgpu_reg_master_irq_handler - master IRQ write emulation handler
[all …]
/linux/Documentation/arch/arm/
H A Dinterrupts.rst16 Secondly, the IRQ subsystem.
39 SA1111 IRQ handler, SA1111 IRQs can hold off SMC9196 IRQs indefinitely.
48 We also bring the idea of an IRQ "chip" (mainly to reduce the size of
57 * Acknowledge the IRQ.
58 * If this is a level-based IRQ, then it is expected to mask the IRQ
61 void (*ack)(unsigned int irq);
63 * Mask the IRQ in hardware.
65 void (*mask)(unsigned int irq);
67 * Unmask the IRQ in hardware.
69 void (*unmask)(unsigned int irq);
[all …]
/linux/arch/m68k/virt/
H A Dints.c5 #include <linux/irq.h>
13 #include <asm/irq.h>
34 * 6 goldfish-pic for CPU IRQ #1 to IRQ #6
35 * CPU IRQ #1 -> PIC #1
36 * IRQ #1 to IRQ #31 -> unused
37 * IRQ #32 -> goldfish-tty
38 * CPU IRQ #2 -> PIC #2
39 * IRQ #1 to IRQ #32 -> virtio-mmio from 1 to 32
40 * CPU IRQ #3 -> PIC #3
41 * IRQ #1 to IRQ #32 -> virtio-mmio from 33 to 64
[all …]
/linux/kernel/irq/
H A Dmanage.c6 * This file contains driver APIs to the irq subsystem.
11 #include <linux/irq.h>
75 * synchronize_hardirq - wait for pending hard IRQ handlers (on other CPUs)
76 * @irq: interrupt number to wait for
78 * This function waits for any pending hard IRQ handlers for this interrupt
80 * resource the IRQ handler may need you will deadlock. It does not take
88 * This function may be called - with care - from IRQ context.
95 bool synchronize_hardirq(unsigned int irq) in synchronize_hardirq() argument
97 struct irq_desc *desc = irq_to_desc(irq); in synchronize_hardirq()
119 * synchronize_irq - wait for pending IRQ handlers (on other CPUs)
[all …]
H A Dirqdesc.c10 #include <linux/irq.h>
115 static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node, in desc_set_defaults() argument
124 desc->irq_data.irq = irq; in desc_set_defaults()
194 static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) in irq_insert_desc() argument
196 MA_STATE(mas, &sparse_irqs, irq, irq); in irq_insert_desc()
200 static void delete_irq_desc(unsigned int irq) in delete_irq_desc() argument
202 MA_STATE(mas, &sparse_irqs, irq, irq); in delete_irq_desc()
210 static int init_desc(struct irq_desc *desc, int irq, int node, in init_desc() argument
228 desc_set_defaults(irq, desc, node, affinity, owner); in init_desc()
350 ATTRIBUTE_GROUPS(irq);
[all …]
/linux/arch/powerpc/platforms/44x/
H A Dhsta_msi.c42 int irq, hwirq; in hsta_setup_msi_irqs() local
52 irq = msi_bitmap_alloc_hwirqs(&ppc4xx_hsta_msi.bmp, 1); in hsta_setup_msi_irqs()
53 if (irq < 0) { in hsta_setup_msi_irqs()
56 return irq; in hsta_setup_msi_irqs()
59 hwirq = ppc4xx_hsta_msi.irq_map[irq]; in hsta_setup_msi_irqs()
61 pr_err("%s: Failed mapping irq %d\n", __func__, irq); in hsta_setup_msi_irqs()
69 addr = ppc4xx_hsta_msi.address + irq*0x10; in hsta_setup_msi_irqs()
76 pr_debug("%s: Setup irq %d (0x%0llx)\n", __func__, hwirq, in hsta_setup_msi_irqs()
83 msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); in hsta_setup_msi_irqs()
94 int irq; in hsta_find_hwirq_offset() local
[all …]
/linux/drivers/xen/events/
H A Devents_base.c9 * chip. When an event is received, it is mapped to an irq and sent
29 #include <linux/irq.h>
46 #include <asm/irq.h>
86 * Packed IRQ information:
88 * event channel - irq->event channel mapping
91 * PIRQ - vector, with MSB being "needs EIO", or physical IRQ of the HVM
92 * guest, or GSI (real passthrough IRQ) of the device.
110 unsigned irq; member
155 * IRQ-desc lock
162 /* IRQ <-> VIRQ mapping. */
[all …]
/linux/arch/m68k/q40/
H A Dq40ints.c18 #include <linux/irq.h>
48 unsigned int irq = data->irq; in q40_irq_startup() local
51 switch (irq) { in q40_irq_startup()
54 pr_warn("%s: ISA IRQ %d not implemented by HW\n", __func__, in q40_irq_startup()
55 irq); in q40_irq_startup()
81 * the q40 IRQ handling routines.
98 master_outb(1, EXT_ENABLE_REG); /* ISA IRQ 5-15 */ in q40_init_IRQ()
100 /* make sure keyboard IRQ is disabled */ in q40_init_IRQ()
133 static irqreturn_t q40_timer_int(int irq, void *dev_id) in q40_timer_int() argument
169 * tables to translate bits into IRQ numbers
[all …]
/linux/include/linux/
H A Dinterrupt.h21 #include <asm/irq.h>
42 * irq handling routines.
44 * IRQF_SHARED - allow sharing the irq among several devices
48 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing
54 * irq line disabled until the threaded handler has been run.
55 * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee
60 * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device
62 * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this
66 * IRQF_NO_AUTOEN - Don't enable IRQ or NMI automatically when users request it.
113 * @irq: interrupt number
[all …]
/linux/arch/sh/boards/mach-dreamcast/
H A Dirq.c3 * arch/sh/boards/dreamcast/irq.c
5 * Holly IRQ support for the Sega Dreamcast.
11 #include <linux/irq.h>
21 * hardware events from system peripherals and triggering an SH7750 IRQ.
31 * corresponds to an IRQ, so 0xa05f6910 - 0xa05f6918 triggers IRQ 13,
32 * 0xa05f6920 - 0xa05f6928 triggers IRQ 11, and 0xa05f6930 - 0xa05f6938
33 * triggers IRQ 9.
39 * 6900/6910 - Events 0-31, IRQ 13
40 * 6904/6924 - Events 32-63, IRQ 11
41 * 6908/6938 - Events 64-95, IRQ 9
[all …]
/linux/drivers/mfd/
H A Darizona-irq.c13 #include <linux/irq.h>
29 static int arizona_map_irq(struct arizona *arizona, int irq) in arizona_map_irq() argument
34 ret = regmap_irq_get_virq(arizona->aod_irq_chip, irq); in arizona_map_irq()
39 return regmap_irq_get_virq(arizona->irq_chip, irq); in arizona_map_irq()
42 int arizona_request_irq(struct arizona *arizona, int irq, char *name, in arizona_request_irq() argument
45 irq = arizona_map_irq(arizona, irq); in arizona_request_irq()
46 if (irq < 0) in arizona_request_irq()
47 return irq; in arizona_request_irq()
49 return request_threaded_irq(irq, NULL, handler, IRQF_ONESHOT, in arizona_request_irq()
54 void arizona_free_irq(struct arizona *arizona, int irq, void *data) in arizona_free_irq() argument
[all …]
H A Dda9052-irq.c6 * Based on arizona-irq.c, which is:
17 #include <linux/irq.h>
176 static int da9052_map_irq(struct da9052 *da9052, int irq) in da9052_map_irq() argument
178 return regmap_irq_get_virq(da9052->irq_data, irq); in da9052_map_irq()
181 int da9052_enable_irq(struct da9052 *da9052, int irq) in da9052_enable_irq() argument
183 irq = da9052_map_irq(da9052, irq); in da9052_enable_irq()
184 if (irq < 0) in da9052_enable_irq()
185 return irq; in da9052_enable_irq()
187 enable_irq(irq); in da9052_enable_irq()
193 int da9052_disable_irq(struct da9052 *da9052, int irq) in da9052_disable_irq() argument
[all …]
/linux/arch/m68k/include/asm/
H A Datariints.h21 #include <asm/irq.h>
112 * the MFP. 'type' should be constant, if 'irq' is constant, too, code size is
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()
[all …]
/linux/drivers/ssb/
H A Ddriver_mipscore.c79 /* not irq supported */ in ssb_irqflag()
96 /* Get the MIPS IRQ assignment for a specified device.
108 unsigned int irq; in ssb_mips_irq() local
114 for (irq = 1; irq <= 4; irq++) { in ssb_mips_irq()
115 tmp = ((ipsflag & ipsflag_irq_mask[irq]) >> ipsflag_irq_shift[irq]); in ssb_mips_irq()
119 if (irq == 5) { in ssb_mips_irq()
121 irq = 0; in ssb_mips_irq()
124 return irq; in ssb_mips_irq()
127 static void clear_irq(struct ssb_bus *bus, unsigned int irq) in clear_irq() argument
131 /* Clear the IRQ in the MIPScore backplane registers */ in clear_irq()
[all …]
/linux/arch/mips/bcm63xx/
H A Dirq.c13 #include <linux/irq.h>
37 static inline u32 get_ext_irq_perf_reg(int irq) in get_ext_irq_perf_reg() argument
39 if (irq < 4) in get_ext_irq_perf_reg()
68 * dispatch internal devices IRQ (uart, enet, watchdog, ...). do not
115 unsigned irq = d->irq - IRQ_INTERNAL_BASE; \
116 unsigned reg = (irq / 32) ^ (width/32 - 1); \
117 unsigned bit = irq & 0x1f; \
137 unsigned irq = d->irq - IRQ_INTERNAL_BASE; \
138 unsigned reg = (irq / 32) ^ (width/32 - 1); \
139 unsigned bit = irq & 0x1f; \
[all …]

12345678910>>...175