/linux/drivers/pnp/ |
H A D | resource.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * resource.c - Contains functions for registering and analyzing resource information 7 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 18 #include <asm/irq.h> 27 static int pnp_reserve_irq[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some IRQ */ 28 static int pnp_reserve_dma[8] = {[0 ... 7] = -1 }; /* reserve (don't use) some DMA */ 29 static int pnp_reserve_io[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some I/O region */ 30 static int pnp_reserve_mem[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some memory region */ 45 option->flags = option_flags; in pnp_build_option() 46 option->type = type; in pnp_build_option() [all …]
|
H A D | interface.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * interface.c - contains everything related to the user interface 7 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 42 if (buffer->stop || buffer->error) in pnp_printf() 45 res = vsnprintf(buffer->curr, buffer->len - buffer->size, fmt, args); in pnp_printf() 47 if (buffer->size + res >= buffer->len) { in pnp_printf() 48 buffer->stop = 1; in pnp_printf() 51 buffer->curr += res; in pnp_printf() 52 buffer->size += res; in pnp_printf() 59 pnp_printf(buffer, "%sport %#llx-%#llx, align %#llx, size %#llx, " in pnp_print_port() [all …]
|
/linux/drivers/scsi/ |
H A D | g_NCR5380.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * +1 (303) 440-4894 39 ioread8(hostdata->io + hostdata->offset + (reg)) 41 iowrite8(value, hostdata->io + hostdata->offset + (reg)) 84 /* old-style parameters for compatibility */ 85 static int ncr_irq = -1; 92 module_param_hw(ncr_irq, int, irq, 0); 100 static int irq[] = { -1, -1, -1, -1, -1, -1, -1, -1 }; variable 101 module_param_hw_array(irq, int, irq, NULL, 0); 102 MODULE_PARM_DESC(irq, "IRQ number(s) (0=none, 254=auto [default])"); [all …]
|
/linux/kernel/irq/ |
H A D | irqdesc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 4 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King 7 * information is available in Documentation/core-api/genericirq.rst 10 #include <linux/irq.h> 23 * lockdep: we want to handle all irq_desc locks as a single lock-class: 57 if (!zalloc_cpumask_var_node(&desc->irq_common_data.affinity, in alloc_masks() 59 return -ENOMEM; in alloc_masks() 62 if (!zalloc_cpumask_var_node(&desc->irq_common_data.effective_affinity, in alloc_masks() 64 free_cpumask_var(desc->irq_common_data.affinity); in alloc_masks() [all …]
|
/linux/drivers/vfio/pci/ |
H A D | vfio_pci_intrs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 37 return vdev->irq_type == type; in irq_is() 42 return vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX; in is_intx() 47 return !(vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX || in is_irq_none() 48 vdev->irq_type == VFIO_PCI_MSI_IRQ_INDEX || in is_irq_none() 49 vdev->irq_type == VFIO_PCI_MSIX_IRQ_INDEX); in is_irq_none() 56 return xa_load(&vdev->ctx, index); in vfio_irq_ctx_get() 62 xa_erase(&vdev->ctx, index); in vfio_irq_ctx_free() 76 ret = xa_insert(&vdev->ctx, index, ctx, GFP_KERNEL_ACCOUNT); in vfio_irq_ctx_alloc() 92 if (likely(is_intx(vdev) && !vdev->virq_disabled)) { in vfio_send_intx_eventfd() [all …]
|
/linux/include/linux/ |
H A D | irqbypass.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * IRQ offload/bypass manager 19 * The IRQ bypass manager is a simple set of lists and callbacks that allows 20 * IRQ producers (ex. physical interrupt sources) to be matched to IRQ 21 * consumers (ex. virtualization hardware that allows IRQ bypass or offload) 25 * then be connected via the @add_* callbacks, and finally the optional @start 35 * struct irq_bypass_producer - IRQ bypass producer definition 38 * @irq: Linux IRQ number for the producer device 39 * @add_consumer: Connect the IRQ producer to an IRQ consumer (optional) 40 * @del_consumer: Disconnect the IRQ producer from an IRQ consumer (optional) [all …]
|
/linux/virt/lib/ |
H A D | irqbypass.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * IRQ offload/bypass manager 10 * Interrupts on Intel VT-d systems can allow interrupts to be received 11 * directly by a virtual machine. ARM IRQ Forwarding allows forwarded physical 23 MODULE_DESCRIPTION("IRQ bypass manager utility module"); 35 if (prod->stop) in __connect() 36 prod->stop(prod); in __connect() 37 if (cons->stop) in __connect() 38 cons->stop(cons); in __connect() 40 if (prod->add_consumer) in __connect() [all …]
|
/linux/arch/mips/sni/ |
H A D | pcit.c | 13 #include <linux/irq.h> 25 .irq = _irq, \ 63 .start = 0x70, 68 .start = 8, 82 .id = -1, 86 .start = 0x00000000UL, 94 .start = 0x00, 99 .start = 0x40, 104 .start = 0x60, 109 .start = 0x80, [all …]
|
H A D | rm200.c | 16 #include <linux/irq.h> 30 .irq = _irq, \ 52 .start = 0x1cd41ffc, 59 .name = "rtc-ds1216", 66 .start = 0x18000000, 71 .start = 0x1b000000, 76 .start = 0x1ff00000, 81 .start = 27, 98 .start = 0x19000000, 103 .start = 26, [all …]
|
H A D | a20r.c | 13 #include <linux/irq.h> 23 .irq = _irq, \ 45 .start = 0x1c081ffc, 52 .name = "rtc-ds1216", 59 .start = 0x18000000, 64 .start = 0x18010000, 69 .start = 0x1ff00000, 74 .start = 22, 91 .start = 0x19000000, 96 .start = 19, [all …]
|
H A D | pcimt.c | 8 * Copyright (C) 1996, 97, 98, 2000, 03, 04, 06 Ralf Baechle (ralf@linux-mips.org) 14 #include <linux/irq.h> 73 .irq = _irq, \ 95 .start = 0x70, 100 .start = 8, 114 .start = 0x00000000UL, 122 .start = 0x00, 127 .start = 0x40, 132 .start = 0x60, 137 .start = 0x80, [all …]
|
/linux/drivers/accel/ivpu/ |
H A D | ivpu_hw.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020-2025 Intel Corporation 14 resource_size_t start; member 20 bool (*btrs_irq_handler)(struct ivpu_device *vdev, int irq); 21 bool (*ip_irq_handler)(struct ivpu_device *vdev, int irq); 22 } irq; member 62 irqreturn_t ivpu_hw_irq_handler(int irq, void *ptr); 64 static inline u32 ivpu_hw_btrs_irq_handler(struct ivpu_device *vdev, int irq) in ivpu_hw_btrs_irq_handler() argument 66 return vdev->hw->irq.btrs_irq_handler(vdev, irq); in ivpu_hw_btrs_irq_handler() 69 static inline u32 ivpu_hw_ip_irq_handler(struct ivpu_device *vdev, int irq) in ivpu_hw_ip_irq_handler() argument [all …]
|
/linux/drivers/vfio/platform/ |
H A D | vfio_platform_irq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2013 - Virtual Open Systems 14 #include <linux/irq.h> 22 spin_lock_irqsave(&irq_ctx->lock, flags); in vfio_platform_mask() 24 if (!irq_ctx->masked) { in vfio_platform_mask() 25 disable_irq_nosync(irq_ctx->hwirq); in vfio_platform_mask() 26 irq_ctx->masked = true; in vfio_platform_mask() 29 spin_unlock_irqrestore(&irq_ctx->lock, flags); in vfio_platform_mask() 42 unsigned index, unsigned start, in vfio_platform_set_irq_mask() argument 46 if (start != 0 || count != 1) in vfio_platform_set_irq_mask() [all …]
|
/linux/arch/mips/alchemy/devboards/ |
H A D | db1000.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 #include <linux/dma-mapping.h> 23 #include <asm/mach-au1x00/au1000.h> 24 #include <asm/mach-au1x00/gpio-au1000.h> 25 #include <asm/mach-au1x00/au1000_dma.h> 26 #include <asm/mach-au1x00/au1100_mmc.h> 27 #include <asm/mach-db1x00/bcsr.h> 52 return -ENODEV; in db1000_board_setup() 58 return -1; in db1500_map_pci_irq() 69 return -1; in db1500_map_pci_irq() [all …]
|
/linux/drivers/parisc/ |
H A D | dino.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 ** (c) Copyright 1999,2000 Hewlett-Packard Company 9 ** (c) Copyright 2006-2019 Helge Deller 13 ** and helps manage Dino IRQ lines. 18 ** Only one processor interrupt is used for the 11 IRQ line 21 ** The different between Built-in Dino and Card-Mode 24 ** Linux drivers can only use Card-Mode Dino if pci devices I/O port 32 ** 2001-06-14 : Clement Moyroud (moyroudc@esiee.fr) 33 ** - added support for the integrated RS232. 70 ** Config accessor functions only pass in the 8-bit bus number [all …]
|
/linux/drivers/pcmcia/ |
H A D | pcmcia_resource.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PCMCIA 16-bit resource management functions 10 * Copyright (C) 2004-2010 Dominik Brodowski 22 #include <asm/irq.h> 39 if (s->resource_ops->validate_mem) in pcmcia_validate_mem() 40 return s->resource_ops->validate_mem(s); in pcmcia_validate_mem() 48 if (s->resource_ops->find_mem) in pcmcia_find_mem_region() 49 return s->resource_ops->find_mem(base, num, align, low, s); in pcmcia_find_mem_region() 55 * release_io_space() - release IO ports allocated with alloc_io_space() 65 dev_dbg(&s->dev, "release_io_space for %pR\n", res); in release_io_space() [all …]
|
/linux/tools/tracing/rtla/src/ |
H A D | timerlat_aa.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * Per-cpu data statistics and data. 29 /* timerlat IRQ latency */ 40 * Information about the thread running when the IRQ 54 /* Information about the timerlat timer irq */ 61 * Information about the last IRQ before the timerlat irq 64 * If now - timestamp is <= latency, it might have influenced 65 * in the timerlat irq latency. Otherwise, ignore it. 135 * timerlat_aa_get_data - Get the per-cpu data from the timerlat context 140 return &taa_ctx->taa_data[cpu]; in timerlat_aa_get_data() [all …]
|
/linux/drivers/vfio/fsl-mc/ |
H A D | vfio_fsl_mc_intr.c | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright 2013-2016 Freescale Semiconductor Inc. 17 struct fsl_mc_device *mc_dev = vdev->mc_dev; in vfio_fsl_mc_irqs_allocate() 23 if (mc_dev->obj_desc.irq_count == 0) in vfio_fsl_mc_irqs_allocate() 27 if (vdev->mc_irqs) in vfio_fsl_mc_irqs_allocate() 30 irq_count = mc_dev->obj_desc.irq_count; in vfio_fsl_mc_irqs_allocate() 34 return -ENOMEM; in vfio_fsl_mc_irqs_allocate() 48 vdev->mc_irqs = mc_irq; in vfio_fsl_mc_irqs_allocate() 57 eventfd_signal(mc_irq->trigger); in vfio_fsl_mc_irq_handler() 64 struct vfio_fsl_mc_irq *irq = &vdev->mc_irqs[index]; in vfio_set_trigger() local [all …]
|
/linux/arch/sh/boards/mach-highlander/ |
H A D | setup.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Copyright (C) 2005 - 2008 Paul Mundt 10 * This contains support for the R7780RP-1, R7780MP, and R7785RP 20 #include <linux/irq.h> 40 .start = 0xA4200000, 45 .start = IRQ_EXT1, /* irq number */ 53 .id = -1, 71 .start = 0xb0000000, 77 .start = IRQ_EXT4, /* irq number */ 85 .id = -1, [all …]
|
/linux/arch/mips/include/asm/mach-rc32434/ |
H A D | irq.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <asm/mach-generic/irq.h> 8 #include <asm/mach-rc32434/rb.h> 18 #define GROUP0_IRQ_BASE 8 /* GRP2 IRQ numbers start here */ 19 /* GRP3 IRQ numbers start here */ 21 /* GRP4 IRQ numbers start here */ 23 /* GRP5 IRQ numbers start here */
|
/linux/Documentation/trace/ |
H A D | timerlat-tracer.rst | 6 find sources of wakeup latencies of real-time threads. Like cyclictest, 13 ----- 28 # _-----=> irqs-off 29 # / _----=> need-resched 30 # | / _---=> hardirq/softirq 31 # || / _--=> preempt-depth 34 # TASK-PID CPU# |||| TIMESTAMP ID CONTEXT LATENCY 36 <idle>-0 [000] d.h1 54.029328: #1 context irq timer_latency 932 ns 37 <...>-867 [000] .... 54.029339: #1 context thread timer_latency 11700 ns 38 <idle>-0 [001] dNh1 54.029346: #1 context irq timer_latency 2833 ns [all …]
|
/linux/arch/powerpc/sysdev/ |
H A D | i8259.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 static volatile void __iomem *pci_intack; /* RO, gives us the irq vector */ 26 * Acknowledge the IRQ using either the PCI host bridge's interrupt 29 * IBM and Motorola PReP boxes so we must use the int-ack feature on them. 33 int irq; in i8259_irq() local 36 /* Either int-ack or poll for the IRQ */ in i8259_irq() 38 irq = readb(pci_intack); in i8259_irq() 45 irq = inb(0x20) & 7; in i8259_irq() 46 if (irq == 2 ) { in i8259_irq() 52 irq = (inb(0xA0) & 7) + 8; in i8259_irq() [all …]
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_gsc.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright(c) 2019-2022, Intel Corporation. All rights reserved. 6 #include <linux/irq.h> 20 /* generic irq handling */ in gsc_irq_mask() 25 /* generic irq handling */ in gsc_irq_unmask() 34 static int gsc_irq_init(int irq) in gsc_irq_init() argument 36 irq_set_chip_and_handler_name(irq, &gsc_irq_chip, in gsc_irq_init() 39 return irq_set_chip_data(irq, NULL); in gsc_irq_init() 49 obj = i915_gem_object_create_lmem(gt->i915, size, in gsc_ext_om_alloc() 63 intf->gem_obj = obj; in gsc_ext_om_alloc() [all …]
|
/linux/arch/mips/sgi-ip22/ |
H A D | ip22-platform.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/dma-mapping.h> 17 .name = "eth0 irq", 18 .start = SGI_WD93_0_IRQ, 26 .irq = SGI_WD93_0_IRQ, 45 .name = "eth0 irq", 46 .start = SGI_WD93_1_IRQ, 54 .irq = SGI_WD93_1_IRQ, 79 sgiwd93_0_pd.hregs = &hpc3c0->scsi_chan0; in sgiwd93_devinit() 80 sgiwd93_0_pd.wdregs = (unsigned char *) hpc3c0->scsi0_ext; in sgiwd93_devinit() [all …]
|
/linux/arch/arm64/kvm/vgic/ |
H A D | vgic-v2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/irqchip/arm-gic.h> 31 struct vgic_v2_cpu_if *cpuif = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_set_underflow() 33 cpuif->vgic_hcr |= GICH_HCR_UIE; in vgic_v2_set_underflow() 44 * - active bit is transferred as is 45 * - pending bit is 46 * - transferred as is in case of edge sensitive IRQs 47 * - set to the line-level (resample time) for level sensitive IRQs 51 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_v2_fold_lr_state() 52 struct vgic_v2_cpu_if *cpuif = &vgic_cpu->vgic_v2; in vgic_v2_fold_lr_state() [all …]
|