| /kernel/linux/linux-5.10/drivers/base/power/ |
| D | wakeirq.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Device wakeirq helper functions */ 3 #include <linux/device.h> 5 #include <linux/irq.h> 13 * dev_pm_attach_wake_irq - Attach device interrupt as a wake IRQ 14 * @dev: Device entry 15 * @irq: Device wake-up capable interrupt 16 * @wirq: Wake irq specific data 18 * Internal function to attach either a device IO interrupt or a 19 * dedicated wake-up interrupt as a wake IRQ. [all …]
|
| /kernel/linux/linux-6.6/drivers/base/power/ |
| D | wakeirq.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Device wakeirq helper functions */ 3 #include <linux/device.h> 5 #include <linux/irq.h> 13 * dev_pm_attach_wake_irq - Attach device interrupt as a wake IRQ 14 * @dev: Device entry 15 * @wirq: Wake irq specific data 17 * Internal function to attach a dedicated wake-up interrupt as a wake IRQ. 19 static int dev_pm_attach_wake_irq(struct device *dev, struct wake_irq *wirq) in dev_pm_attach_wake_irq() 24 return -EINVAL; in dev_pm_attach_wake_irq() [all …]
|
| /kernel/linux/linux-5.10/drivers/acpi/ |
| D | pci_link.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * pci_link.c - ACPI PCI Interrupt Link Device Driver ($Revision: 34 $) 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> 36 static int acpi_pci_link_add(struct acpi_device *device, 38 static void acpi_pci_link_remove(struct acpi_device *device); 53 * later even the link is disable. Instead, we just repick the active irq 56 u32 active; /* Current IRQ */ 68 struct acpi_device *device; member [all …]
|
| D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ACPI GSI IRQ layer 9 #include <linux/irq.h> 18 * acpi_gsi_to_irq() - Retrieve the linux irq number for a given GSI 19 * @gsi: GSI IRQ number to map 20 * @irq: pointer where linux IRQ number is stored 22 * irq location updated with irq value [>0 on success, 0 on failure] 25 * -EINVAL on failure 27 int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) in acpi_gsi_to_irq() argument 32 *irq = irq_find_mapping(d, gsi); in acpi_gsi_to_irq() [all …]
|
| /kernel/linux/linux-6.6/drivers/acpi/ |
| D | pci_link.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * pci_link.c - ACPI PCI Interrupt Link Device Driver ($Revision: 34 $) 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> 36 static int acpi_pci_link_add(struct acpi_device *device, 38 static void acpi_pci_link_remove(struct acpi_device *device); 53 * later even the link is disable. Instead, we just repick the active irq 56 u32 active; /* Current IRQ */ 68 struct acpi_device *device; member [all …]
|
| D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ACPI GSI IRQ layer 9 #include <linux/irq.h> 19 * acpi_gsi_to_irq() - Retrieve the linux irq number for a given GSI 20 * @gsi: GSI IRQ number to map 21 * @irq: pointer where linux IRQ number is stored 23 * irq location updated with irq value [>0 on success, 0 on failure] 26 * -EINVAL on failure 28 int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) in acpi_gsi_to_irq() argument 34 *irq = irq_find_mapping(d, gsi); in acpi_gsi_to_irq() [all …]
|
| /kernel/linux/linux-5.10/kernel/irq/ |
| D | devres.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/device.h> 6 #include <linux/irq.h> 11 * Device resource management aware IRQ request/free implementation. 14 unsigned int irq; member 18 static void devm_irq_release(struct device *dev, void *res) in devm_irq_release() 22 free_irq(this->irq, this->dev_id); in devm_irq_release() 25 static int devm_irq_match(struct device *dev, void *res, void *data) in devm_irq_match() 29 return this->irq == match->irq && this->dev_id == match->dev_id; in devm_irq_match() 33 * devm_request_threaded_irq - allocate an interrupt line for a managed device [all …]
|
| /kernel/linux/linux-6.6/kernel/irq/ |
| D | devres.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/device.h> 6 #include <linux/irq.h> 11 * Device resource management aware IRQ request/free implementation. 14 unsigned int irq; member 18 static void devm_irq_release(struct device *dev, void *res) in devm_irq_release() 22 free_irq(this->irq, this->dev_id); in devm_irq_release() 25 static int devm_irq_match(struct device *dev, void *res, void *data) in devm_irq_match() 29 return this->irq == match->irq && this->dev_id == match->dev_id; in devm_irq_match() 33 * devm_request_threaded_irq - allocate an interrupt line for a managed device [all …]
|
| /kernel/linux/linux-5.10/drivers/platform/x86/ |
| D | dell-smo8800.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * dell-smo8800.c - Dell Latitude ACPI SMO88XX freefall sensor driver 22 u32 irq; /* acpi device irq */ member 25 unsigned long misc_opened; /* whether the device is open */ 27 struct device *dev; /* acpi device */ 30 static irqreturn_t smo8800_interrupt_quick(int irq, void *data) in smo8800_interrupt_quick() argument 34 atomic_inc(&smo8800->counter); in smo8800_interrupt_quick() 35 wake_up_interruptible(&smo8800->misc_wait); in smo8800_interrupt_quick() 39 static irqreturn_t smo8800_interrupt_thread(int irq, void *data) in smo8800_interrupt_thread() argument 43 dev_info(smo8800->dev, "detected free fall\n"); in smo8800_interrupt_thread() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/pci/ |
| D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Low-Level PCI Support for PC -- Routing of Interrupts 5 * (c) 1999--2000 Martin Mares <mj@ucw.cz> 17 #include <linux/irq.h> 46 u16 vendor, device; member 54 int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device); 61 * Check passed address for the PCI IRQ Routing Table signature 72 if (rt->signature != PIRQ_SIGNATURE || in pirq_check_routing_table() 73 rt->version != PIRQ_VERSION || in pirq_check_routing_table() 74 rt->size % 16 || in pirq_check_routing_table() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ |
| D | irq_public.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 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 [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ |
| D | irq_public.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 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 [all …]
|
| /kernel/linux/linux-6.6/arch/x86/pci/ |
| D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Low-Level PCI Support for PC -- Routing of Interrupts 5 * (c) 1999--2000 Martin Mares <mj@ucw.cz> 18 #include <linux/irq.h> 22 #include <asm/pc-conf-reg.h> 52 u16 vendor, device; member 57 int irq); 62 int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device); 69 * Check passed address for the PCI IRQ Routing Table signature 81 if (rt->signature != PIRQ_SIGNATURE || in pirq_check_routing_table() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/interrupt-controller/ |
| D | st,stih407-irq-syscfg.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/st,stih407-irq-syscfg.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Patrice Chotard <patrice.chotard@foss.st.com> 15 Configuration registers. This device is used to unmask them prior to use. 19 const: st,stih407-irq-syscfg 22 description: Phandle to Cortex-A9 IRQ system config registers 25 st,irq-device: 27 $ref: /schemas/types.yaml#/definitions/uint32-array [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_irq.c | 33 * 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> 118 * amdgpu_irq_disable_all - disable *all* interrupts 120 * @adev: amdgpu device pointer 130 spin_lock_irqsave(&adev->irq.lock, irqflags); in amdgpu_irq_disable_all() 132 if (!adev->irq.client[i].sources) in amdgpu_irq_disable_all() 136 struct amdgpu_irq_src *src = adev->irq.client[i].sources[j]; in amdgpu_irq_disable_all() 138 if (!src || !src->funcs->set || !src->num_types) in amdgpu_irq_disable_all() 141 for (k = 0; k < src->num_types; ++k) { in amdgpu_irq_disable_all() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
| D | radeon_irq_kms.c | 47 * radeon_driver_irq_handler_kms - irq handler for KMS 49 * This is the irq handler for the radeon KMS driver (all asics). 50 * radeon_irq_process is a macro that points to the per-asic 51 * irq handler callback. 53 static irqreturn_t radeon_driver_irq_handler_kms(int irq, void *arg) in radeon_driver_irq_handler_kms() argument 56 struct radeon_device *rdev = dev->dev_private; in radeon_driver_irq_handler_kms() 61 pm_runtime_mark_last_busy(dev->dev); in radeon_driver_irq_handler_kms() 69 * radeon_hotplug_work_func - display hotplug work handler 74 * The work gets scheduled from the irq handler if there 84 struct drm_mode_config *mode_config = &dev->mode_config; in radeon_hotplug_work_func() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
| D | radeon_irq_kms.c | 47 * radeon_driver_irq_handler_kms - irq handler for KMS 49 * @int irq, void *arg: args 51 * This is the irq handler for the radeon KMS driver (all asics). 52 * radeon_irq_process is a macro that points to the per-asic 53 * irq handler callback. 55 irqreturn_t radeon_driver_irq_handler_kms(int irq, void *arg) in radeon_driver_irq_handler_kms() argument 58 struct radeon_device *rdev = dev->dev_private; in radeon_driver_irq_handler_kms() 63 pm_runtime_mark_last_busy(dev->dev); in radeon_driver_irq_handler_kms() 71 * radeon_hotplug_work_func - display hotplug work handler 76 * The work gets scheduled from the irq handler if there [all …]
|
| /kernel/linux/linux-6.6/drivers/pci/msi/ |
| D | api.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PCI MSI/MSI-X — Exported APIs for device drivers 5 * Copyright (C) 2003-2004 Intel 12 #include <linux/irq.h> 17 * pci_enable_msi() - Enable MSI interrupt mode on device 18 * @dev: the PCI device to operate on 20 * Legacy device driver API to enable MSI interrupts mode on device and 22 * Linux IRQ will be saved at @dev->irq. The driver must invoke 40 * pci_disable_msi() - Disable MSI interrupt mode on device 41 * @dev: the PCI device to operate on [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | interrupt.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 20 #include <asm/irq.h> 41 * irq handling routines. 43 * IRQF_SHARED - allow sharing the irq among several devices 44 * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur 45 * IRQF_TIMER - Flag to mark this interrupt as timer interrupt 46 * IRQF_PERCPU - Interrupt is per cpu 47 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing 48 * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is 51 * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | interrupt.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 19 #include <asm/irq.h> 40 * irq handling routines. 42 * IRQF_SHARED - allow sharing the irq among several devices 43 * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur 44 * IRQF_TIMER - Flag to mark this interrupt as timer interrupt 45 * IRQF_PERCPU - Interrupt is per cpu 46 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing 47 * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is 50 * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. [all …]
|
| /kernel/linux/linux-5.10/drivers/of/ |
| D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Derived from arch/i386/kernel/irq.c 6 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 8 * Copyright (C) 1996-2001 Cort Dougan 12 * This file contains the code used to make IRQ descriptions in the 13 * device tree to actual irq numbers on an interrupt controller 19 #include <linux/device.h> 29 * irq_of_parse_and_map - Parse and map an interrupt into linux virq space 30 * @dev: Device node of the device whose interrupt is to be mapped 48 * of_irq_find_parent - Given a device node, find its interrupt parent node [all …]
|
| /kernel/linux/linux-5.10/arch/alpha/kernel/ |
| D | smc37c669.c | 58 * er 28-Jan-1997 Initial Entry 65 ** Macros for handling device IRQs 67 ** The mask acts as a flag used in mapping actual ISA IRQs (0 - 15) 68 ** to device IRQs (A - H). 79 ** Macros for handling device DRQs 82 ** channels to device DMA channels (A - C). 95 ** SMC37c669 Device Function Definitions 105 ** Default Device Function Mappings 125 ** SMC 37c669 Device IRQs 137 ** SMC 37c669 Device DMA Channel Definitions [all …]
|
| /kernel/linux/linux-6.6/arch/alpha/kernel/ |
| D | smc37c669.c | 58 * er 28-Jan-1997 Initial Entry 65 ** Macros for handling device IRQs 67 ** The mask acts as a flag used in mapping actual ISA IRQs (0 - 15) 68 ** to device IRQs (A - H). 79 ** Macros for handling device DRQs 82 ** channels to device DMA channels (A - C). 95 ** SMC37c669 Device Function Definitions 105 ** Default Device Function Mappings 125 ** SMC 37c669 Device IRQs 137 ** SMC 37c669 Device DMA Channel Definitions [all …]
|
| /kernel/linux/linux-5.10/drivers/pci/controller/ |
| D | pcie-xilinx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (c) 2012 - 2014 Xilinx, Inc. 14 #include <linux/irq.h> 97 * struct xilinx_pcie_port - PCIe port information 99 * @irq: Interrupt number 101 * @dev: Device pointer 102 * @msi_domain: MSI IRQ domain pointer 103 * @leg_domain: Legacy IRQ domain pointer 108 u32 irq; member 110 struct device *dev; [all …]
|
| /kernel/linux/linux-6.6/sound/drivers/mpu401/ |
| D | mpu401.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Driver for generic MPU-401 boards (UART mode only) 18 MODULE_DESCRIPTION("MPU-401 UART"); 21 static int index[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = -2}; /* exclude the first card */ 25 static bool pnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1}; 27 static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* MPU-401 port number */ 28 static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* MPU-401 IRQ */ variable 29 static bool uart_enter[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1}; 32 MODULE_PARM_DESC(index, "Index value for MPU-401 device."); 34 MODULE_PARM_DESC(id, "ID string for MPU-401 device."); [all …]
|