| /kernel/linux/linux-5.10/drivers/irqchip/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/irqchip/ |
| 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_CP_INTC) += irq-davinci-cp-intc.o 13 obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o 14 obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o [all …]
|
| /kernel/linux/linux-6.6/drivers/misc/ocxl/ |
| D | afu_irq.c | 35 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 = (struct afu_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 …]
|
| /kernel/linux/linux-5.10/drivers/misc/ocxl/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/arm64/kvm/vgic/ |
| D | vgic.c | 7 #include <linux/irq.h> 58 * matching interrupt ID and return a reference to the IRQ structure. 63 struct vgic_irq *irq = NULL; in vgic_get_lpi() local 68 list_for_each_entry(irq, &dist->lpi_list_head, lpi_list) { in vgic_get_lpi() 69 if (irq->intid != intid) in vgic_get_lpi() 74 * call vgic_put_irq() later once it's finished with the IRQ. in vgic_get_lpi() 76 vgic_get_irq_kref(irq); in vgic_get_lpi() 79 irq = NULL; in vgic_get_lpi() 84 return irq; in vgic_get_lpi() 90 * to call vgic_put_irq() once it's finished with this IRQ. [all …]
|
| D | vgic-mmio.c | 9 #include <linux/irq.h> 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ |
| D | irq_public.h | 22 /*! Read the control registers of IRQ[ID] 24 \param ID[in] IRQ identifier 25 \param state[out] irq controller state structure 27 \return none, state = IRQ[ID].state 32 /*! Write to a control register of IRQ[ID] 34 \param ID[in] IRQ identifier 38 \return none, IRQ[ID].ctrl[reg] = value 45 /*! Read from a control register of IRQ[ID] 47 \param ID[in] IRQ identifier 51 \return IRQ[ID].ctrl[reg] [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ |
| D | irq_public.h | 22 /*! Read the control registers of IRQ[ID] 24 \param ID[in] IRQ identifier 25 \param state[out] irq controller state structure 27 \return none, state = IRQ[ID].state 32 /*! Write to a control register of IRQ[ID] 34 \param ID[in] IRQ identifier 38 \return none, IRQ[ID].ctrl[reg] = value 45 /*! Read from a control register of IRQ[ID] 47 \param ID[in] IRQ identifier 51 \return IRQ[ID].ctrl[reg] [all …]
|
| /kernel/linux/linux-5.10/arch/arm64/kvm/vgic/ |
| D | vgic.c | 7 #include <linux/irq.h> 56 * matching interrupt ID and return a reference to the IRQ structure. 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() 72 * call vgic_put_irq() later once it's finished with the IRQ. 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() 88 * to call vgic_put_irq() once it's finished with this IRQ. [all …]
|
| D | vgic-mmio.c | 9 #include <linux/irq.h> 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() [all …]
|
| /kernel/linux/linux-5.10/drivers/xen/events/ |
| D | events_base.c | 9 * chip. When an event is received, it is mapped to an irq and sent 29 #include <linux/irq.h> 46 #include <asm/irq.h> 84 * Packed IRQ information: 86 * event channel - irq->event channel mapping 89 * PIRQ - vector, with MSB being "needs EIO", or physical IRQ of the HVM 90 * guest, or GSI (real passthrough IRQ) of the device. 107 unsigned irq; member 150 * IRQ-desc lock 157 /* IRQ <-> VIRQ mapping. */ [all …]
|
| /kernel/linux/linux-6.6/drivers/acpi/ |
| D | pci_link.c | 10 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/acpi/ |
| D | pci_link.c | 10 * 1. Support more than one IRQ resource entry per link device (index). 12 * for IRQ management (e.g. start()->_SRS). 26 #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 96 struct acpi_resource_irq *p = &resource->data.irq; in acpi_pci_link_check_possible() 99 "Blank _PRS IRQ resource\n")); in acpi_pci_link_check_possible() 107 "Invalid _PRS IRQ %d\n", in acpi_pci_link_check_possible() 111 link->irq.possible[i] = p->interrupts[i]; in acpi_pci_link_check_possible() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/include/asm/trace/ |
| D | irq_vectors.h | 61 * irq_work - called when entering/exiting a irq work interrupt 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; 147 TP_printk("irq=%u vector=%u cpu=%u apicdest=0x%08x", 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 ) [all …]
|
| /kernel/linux/linux-5.10/arch/x86/include/asm/trace/ |
| D | irq_vectors.h | 61 * irq_work - called when entering/exiting a irq work interrupt 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; 147 TP_printk("irq=%u vector=%u cpu=%u apicdest=0x%08x", 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 ) [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | pci_irq.c | 144 /* mlx5_system_free_irq - Free an IRQ 145 * @irq: IRQ to free 147 * Free the IRQ and other resources such as rmap from the system. 153 static void mlx5_system_free_irq(struct mlx5_irq *irq) in mlx5_system_free_irq() argument 155 struct mlx5_irq_pool *pool = irq->pool; in mlx5_system_free_irq() 164 irq_update_affinity_hint(irq->map.virq, NULL); in mlx5_system_free_irq() 168 irq_cpu_rmap_remove(rmap, irq->map.virq); in mlx5_system_free_irq() 171 free_irq(irq->map.virq, &irq->nh); in mlx5_system_free_irq() 172 if (irq->map.index && pci_msix_can_alloc_dyn(pool->dev->pdev)) in mlx5_system_free_irq() 173 pci_msix_free_irq(pool->dev->pdev, irq->map); in mlx5_system_free_irq() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/gvt/ |
| 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() 193 * intel_vgpu_reg_master_irq_handler - master IRQ write emulation handler [all …]
|
| /kernel/linux/linux-6.6/drivers/misc/ |
| D | dummy-irq.c | 3 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/misc/ |
| D | dummy-irq.c | 3 * 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 …]
|
| /kernel/linux/linux-6.6/arch/ia64/kernel/ |
| D | iosapic.c | 17 * 00/10/27 Asit Mallick, Goutham Rao <goutham.rao@intel.com> IRQ vector 23 * 01/07/27 J.I. Lee PCI irq routing, Platform/Legacy interrupts 25 * 02/01/23 J.I. Lee iosapic pgm fixes for PCI irq routing from _PRT 28 * initializations for /proc/irq/#/smp_affinity 29 * 02/04/02 P. Diefenbaugh Cleaned up ACPI PCI IRQ routing. 31 * 02/04/30 J.I. Lee bug fix in find_iosapic to fix ACPI PCI IRQ to 34 * 02/08/04 T. Kochi Cleaned up terminology (irq, global system 43 * Updated to work with irq migration necessary 66 * (4) The kernel recognizes an interrupt as an IRQ. The IRQ interface is 68 * As an IRQ is a number, we have to have [all …]
|
| D | msi_ia64.c | 7 #include <linux/irq.h> 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() [all …]
|
| /kernel/linux/linux-5.10/arch/ia64/kernel/ |
| D | iosapic.c | 17 * 00/10/27 Asit Mallick, Goutham Rao <goutham.rao@intel.com> IRQ vector 23 * 01/07/27 J.I. Lee PCI irq routing, Platform/Legacy interrupts 25 * 02/01/23 J.I. Lee iosapic pgm fixes for PCI irq routing from _PRT 28 * initializations for /proc/irq/#/smp_affinity 29 * 02/04/02 P. Diefenbaugh Cleaned up ACPI PCI IRQ routing. 31 * 02/04/30 J.I. Lee bug fix in find_iosapic to fix ACPI PCI IRQ to 34 * 02/08/04 T. Kochi Cleaned up terminology (irq, global system 43 * Updated to work with irq migration necessary 66 * (4) The kernel recognizes an interrupt as an IRQ. The IRQ interface is 68 * As an IRQ is a number, we have to have [all …]
|
| D | msi_ia64.c | 7 #include <linux/irq.h> 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/parisc/ |
| D | gsc.c | 35 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 …]
|
| /kernel/linux/linux-5.10/arch/m68k/coldfire/ |
| D | intc-simr.c | 17 #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 > 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() [all …]
|