Home
last modified time | relevance | path

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

12345678910>>...148

/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/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/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/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/arm64/kvm/vgic/
H A Dvgic-v4.c8 #include <linux/irq.h>
29 * (ITS instance, device, event and irq) using a process that is
33 * identified by the routing entry) and the host irq, using the GICv4
70 * irq corresponding to the vcpu, then call its_make_vpe_resident().
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()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_irq.c33 * passed to amdgpu IRQ handler which is responsible for detecting source and
41 * For GPU interrupt sources that may be driven by another driver, IRQ domain
45 #include <linux/irq.h>
165 spin_lock_irqsave(&adev->irq.lock, irqflags); in amdgpu_irq_disable_all()
167 if (!adev->irq.client[i].sources) in amdgpu_irq_disable_all()
171 struct amdgpu_irq_src *src = adev->irq.client[i].sources[j]; in amdgpu_irq_disable_all()
186 spin_unlock_irqrestore(&adev->irq.lock, irqflags); in amdgpu_irq_disable_all()
190 * amdgpu_irq_handler - IRQ handler
192 * @irq: IRQ number (unused)
195 * IRQ handler for amdgpu driver (all ASICs).
[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/kernel/irq/
H A Dmanage.c6 * This file contains driver APIs to the irq subsystem.
11 #include <linux/irq.h>
85 * synchronize_hardirq - wait for pending hard IRQ handlers (on other CPUs)
86 * @irq: interrupt number to wait for
88 * This function waits for any pending hard IRQ handlers for this interrupt
90 * resource the IRQ handler may need you will deadlock. It does not take
98 * This function may be called - with care - from IRQ context.
105 bool synchronize_hardirq(unsigned int irq) in synchronize_hardirq() argument
107 struct irq_desc *desc = irq_to_desc(irq); in synchronize_hardirq()
131 * synchronize_irq - wait for pending IRQ handlers (on other CPUs)
[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/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/base/power/
H A Dwakeirq.c5 #include <linux/irq.h>
13 * dev_pm_attach_wake_irq - Attach device interrupt as a wake IRQ
15 * @wirq: Wake irq specific data
17 * Internal function to attach a dedicated wake-up interrupt as a wake IRQ.
28 "wake irq already initialized\n")) { in dev_pm_attach_wake_irq()
41 * dev_pm_set_wake_irq - Attach device IO interrupt as wake IRQ
43 * @irq: Device IO interrupt
45 * Attach a device IO interrupt as a wake IRQ. The wake IRQ gets
50 int dev_pm_set_wake_irq(struct device *dev, int irq) in dev_pm_set_wake_irq() argument
55 if (irq < 0) in dev_pm_set_wake_irq()
[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/drivers/mfd/
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/kernel/
H A Dints.c15 #include <linux/irq.h>
18 #include <asm/irq.h>
56 * the IRQ handling routines.
74 * standard do_IRQ(), it will be called with irq numbers in the range
107 * @chip: irq chip which controls specified irq
108 * @handle: flow handler which handles specified irq
109 * @irq: first irq to be managed by the controller
112 * Change the controller for the specified range of irq, which will be used to
113 * manage these irq. auto/user irq already have a default controller, which can
118 irq_flow_handler_t handle, unsigned int irq, in m68k_setup_irq_controller() argument
[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 …]
/linux/include/xen/
H A Devents.h6 #include <linux/irq.h>
50 * Common unbind function for all event sources. Takes IRQ to unbind from.
54 void unbind_from_irqhandler(unsigned int irq, void *dev_id);
57 * Send late EOI for an IRQ bound to an event channel via one of the *_lateeoi
60 void xen_irq_lateeoi(unsigned int irq, unsigned int eoi_flags);
67 int xen_set_irq_priority(unsigned irq, unsigned priority);
77 void rebind_evtchn_irq(evtchn_port_t evtchn, int irq);
85 void notify_remote_via_irq(int irq);
89 /* Clear an irq's pending state, in preparation for polling on it */
90 void xen_clear_irq_pending(int irq);
[all …]
/linux/arch/arm/mach-rpc/
H A Dirq.c6 #include <asm/mach/irq.h>
8 #include <asm/irq.h>
11 // These are offsets from the stat register for each IRQ bank
76 int irq; in iomd_get_irq_nr() local
81 irq = irq_prio_h[reg]; in iomd_get_irq_nr()
82 if (irq) in iomd_get_irq_nr()
83 return irq; in iomd_get_irq_nr()
87 irq = irq_prio_d[reg]; in iomd_get_irq_nr()
88 if (irq) in iomd_get_irq_nr()
89 return irq; in iomd_get_irq_nr()
[all …]
/linux/arch/mips/sni/
H A Drm200.c16 #include <linux/irq.h>
30 .irq = _irq, \
149 * This contains the irq mask for both 8259A irq controllers,
160 unsigned int mask, irq = d->irq - RM200_I8259A_IRQ_BASE; in sni_rm200_disable_8259A_irq() local
163 mask = 1 << irq; in sni_rm200_disable_8259A_irq()
166 if (irq & 8) in sni_rm200_disable_8259A_irq()
175 unsigned int mask, irq = d->irq - RM200_I8259A_IRQ_BASE; in sni_rm200_enable_8259A_irq() local
178 mask = ~(1 << irq); in sni_rm200_enable_8259A_irq()
181 if (irq & 8) in sni_rm200_enable_8259A_irq()
188 static inline int sni_rm200_i8259A_irq_real(unsigned int irq) in sni_rm200_i8259A_irq_real() argument
[all …]
/linux/drivers/irqchip/
H A Dirq-i8259.c21 #include <linux/irq.h>
31 * this file should become arch/i386/kernel/irq.c when the old irq.c
61 * This contains the irq mask for both 8259A irq controllers,
70 unsigned int mask, irq = d->irq - I8259A_IRQ_BASE; in disable_8259A_irq() local
73 mask = 1 << irq; in disable_8259A_irq()
76 if (irq & 8) in disable_8259A_irq()
85 unsigned int mask, irq = d->irq - I8259A_IRQ_BASE; in enable_8259A_irq() local
88 mask = ~(1 << irq); in enable_8259A_irq()
91 if (irq & 8) in enable_8259A_irq()
98 void make_8259A_irq(unsigned int irq) in make_8259A_irq() argument
[all …]
/linux/arch/sh/boards/mach-se/7724/
H A Dirq.c3 * linux/arch/sh/boards/se/7724/irq.c
9 * Based on linux/arch/sh/boards/se/7722/irq.c
15 #include <linux/irq.h>
30 static unsigned int fpga2irq(unsigned int irq) in fpga2irq() argument
32 if (irq >= IRQ0_BASE && in fpga2irq()
33 irq <= IRQ0_END) in fpga2irq()
35 else if (irq >= IRQ1_BASE && in fpga2irq()
36 irq <= IRQ1_END) in fpga2irq()
42 static struct fpga_irq get_fpga_irq(unsigned int irq) in get_fpga_irq() argument
46 switch (irq) { in get_fpga_irq()
[all …]
/linux/arch/x86/pci/
H A Dirq.c18 #include <linux/irq.h>
57 int irq);
69 * Check passed address for the PCI IRQ Routing Table signature
99 * Handle the $IRT PCI IRQ Routing Table format used by AMI for its BCP
168 * Search 0xf0000 -- 0xfffff for the PCI IRQ Routing Table.
203 * If we have a IRQ routing table, use it to search for peer host
224 DBG(" %d:%02x/%04x", j, e->irq[j].link, e->irq[j].bitmap); in pirq_peer_trick()
239 * Code for querying and setting of IRQ routes on various interrupt routers.
243 void elcr_set_level_irq(unsigned int irq) in elcr_set_level_irq() argument
245 unsigned char mask = 1 << (irq & 7); in elcr_set_level_irq()
[all …]
/linux/arch/x86/kvm/
H A Di8259.c36 #include "irq.h"
74 static void pic_clear_isr(struct kvm_kpic_state *s, int irq) in pic_clear_isr() argument
76 s->isr &= ~(1 << irq); in pic_clear_isr()
78 irq += 8; in pic_clear_isr()
86 kvm_notify_acked_irq(s->pics_state->kvm, SELECT_PIC(irq), irq); in pic_clear_isr()
91 * set irq level. If an edge is detected, then the IRR is set to 1
93 static inline int pic_set_irq1(struct kvm_kpic_state *s, int irq, int level) in pic_set_irq1() argument
96 mask = 1 << irq; in pic_set_irq1()
121 * number). Return 8 if no irq
147 * master, the IRQ coming from the slave is not taken into account in pic_get_irq()
[all …]

12345678910>>...148