Home
last modified time | relevance | path

Searched +full:irq +full:- +full:device (Results 1 – 25 of 1106) sorted by relevance

12345678910>>...45

/linux-6.12.1/drivers/base/power/
Dwakeirq.c1 // 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 …]
/linux-6.12.1/drivers/acpi/
Dpci_link.c1 // 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 …]
Dirq.c1 // 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 …]
/linux-6.12.1/kernel/irq/
Ddevres.c1 // SPDX-License-Identifier: GPL-2.0
5 #include <linux/device.h>
7 #include <linux/irq.h>
12 * Device resource management aware IRQ request/free implementation.
15 unsigned int irq; member
19 static void devm_irq_release(struct device *dev, void *res) in devm_irq_release()
23 free_irq(this->irq, this->dev_id); in devm_irq_release()
26 static int devm_irq_match(struct device *dev, void *res, void *data) in devm_irq_match()
30 return this->irq == match->irq && this->dev_id == match->dev_id; in devm_irq_match()
34 * devm_request_threaded_irq - allocate an interrupt line for a managed device
[all …]
/linux-6.12.1/drivers/pci/
Dirq.c1 // SPDX-License-Identifier: GPL-2.0
3 * PCI IRQ handling code
9 #include <linux/device.h>
19 * pci_request_irq - allocate an interrupt line for a PCI device
20 * @dev: PCI device to operate on
21 * @nr: device-relative interrupt vector index (0-based).
22 * @handler: Function to be called when the IRQ occurs.
26 * @thread_fn: Function called from the IRQ handler thread
27 * If NULL, no IRQ thread is created
29 * @fmt: Printf-like format string naming the handler
[all …]
/linux-6.12.1/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/
Dirq_public.h1 /* SPDX-License-Identifier: GPL-2.0 */
22 /*! Write to a control register of IRQ[ID]
24 \param ID[in] IRQ identifier
28 \return none, IRQ[ID].ctrl[reg] = value
35 /*! Read from a control register of IRQ[ID]
37 \param ID[in] IRQ identifier
41 \return IRQ[ID].ctrl[reg]
47 /*! Enable an IRQ channel of IRQ[ID] with a mode
49 \param ID[in] IRQ (device) identifier
50 \param irq[in] IRQ (channel) identifier
[all …]
/linux-6.12.1/drivers/pci/msi/
Dapi.c1 // 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 …]
/linux-6.12.1/arch/x86/pci/
Dirq.c1 // 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 …]
/linux-6.12.1/drivers/base/
Dauxiliary_sysfs.c1 // SPDX-License-Identifier: GPL-2.0
29 guard(mutex)(&auxdev->sysfs.lock); in auxiliary_irq_dir_prepare()
30 if (auxdev->sysfs.irq_dir_exists) in auxiliary_irq_dir_prepare()
33 ret = devm_device_add_group(&auxdev->dev, &auxiliary_irqs_group); in auxiliary_irq_dir_prepare()
37 auxdev->sysfs.irq_dir_exists = true; in auxiliary_irq_dir_prepare()
38 xa_init(&auxdev->sysfs.irqs); in auxiliary_irq_dir_prepare()
43 * auxiliary_device_sysfs_irq_add - add a sysfs entry for the given IRQ
44 * @auxdev: auxiliary bus device to add the sysfs entry.
45 * @irq: The associated interrupt number.
47 * This function should be called after auxiliary device have successfully
[all …]
Dplatform.c1 // SPDX-License-Identifier: GPL-2.0
3 * platform.c - platform 'pseudo' bus for legacy devices
5 * Copyright (c) 2002-3 Patrick Mochel
6 * Copyright (c) 2002-3 Open Source Development Labs
8 * Please see Documentation/driver-api/driver-model/platform.rst for more
20 #include <linux/dma-mapping.h>
28 #include <linux/clk/clk-conf.h>
34 #include <linux/dma-map-ops.h>
39 /* For automatically allocated device IDs */
42 struct device platform_bus = {
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/interrupt-controller/
Dst,stih407-irq-syscfg.yaml1 # 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 …]
/linux-6.12.1/drivers/gpu/drm/amd/amdgpu/
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>
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 …]
/linux-6.12.1/drivers/gpu/drm/radeon/
Dradeon_irq_kms.c47 * 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 …]
/linux-6.12.1/sound/drivers/mpu401/
Dmpu401.c1 // 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 …]
/linux-6.12.1/arch/alpha/kernel/
Dsmc37c669.c60 * er 28-Jan-1997 Initial Entry
67 ** Macros for handling device IRQs
69 ** The mask acts as a flag used in mapping actual ISA IRQs (0 - 15)
70 ** to device IRQs (A - H).
81 ** Macros for handling device DRQs
84 ** channels to device DMA channels (A - C).
97 ** SMC37c669 Device Function Definitions
107 ** Default Device Function Mappings
127 ** SMC 37c669 Device IRQs
139 ** SMC 37c669 Device DMA Channel Definitions
[all …]
/linux-6.12.1/include/linux/
Dinterrupt.h1 /* SPDX-License-Identifier: GPL-2.0 */
21 #include <asm/irq.h>
42 * irq handling routines.
44 * IRQF_SHARED - allow sharing the irq among several devices
45 * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur
46 * IRQF_TIMER - Flag to mark this interrupt as timer interrupt
47 * IRQF_PERCPU - Interrupt is per cpu
48 * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing
49 * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is
52 * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished.
[all …]
Dpm_wakeirq.h1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* pm_wakeirq.h - Device wakeirq helper functions */
9 extern int dev_pm_set_wake_irq(struct device *dev, int irq);
10 extern int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq);
11 extern int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, int irq);
12 extern void dev_pm_clear_wake_irq(struct device *dev);
16 static inline int dev_pm_set_wake_irq(struct device *dev, int irq) in dev_pm_set_wake_irq() argument
21 static inline int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq) in dev_pm_set_dedicated_wake_irq() argument
26 static inline int dev_pm_set_dedicated_wake_irq_reverse(struct device *dev, int irq) in dev_pm_set_dedicated_wake_irq_reverse() argument
31 static inline void dev_pm_clear_wake_irq(struct device *dev) in dev_pm_clear_wake_irq()
/linux-6.12.1/drivers/of/
Dirq.c1 // 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>
31 * irq_of_parse_and_map - Parse and map an interrupt into linux virq space
32 * @dev: Device node of the device whose interrupt is to be mapped
50 * of_irq_find_parent - Given a device node, find its interrupt parent node
[all …]
/linux-6.12.1/drivers/platform/x86/dell/
Ddell-smo8800.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * dell-smo8800.c - Dell Latitude ACPI SMO88XX freefall sensor driver
23 u32 irq; /* acpi device irq */ member
26 unsigned long misc_opened; /* whether the device is open */
28 struct device *dev; /* acpi device */
31 static irqreturn_t smo8800_interrupt_quick(int irq, void *data) in smo8800_interrupt_quick() argument
35 atomic_inc(&smo8800->counter); in smo8800_interrupt_quick()
36 wake_up_interruptible(&smo8800->misc_wait); in smo8800_interrupt_quick()
40 static irqreturn_t smo8800_interrupt_thread(int irq, void *data) in smo8800_interrupt_thread() argument
44 dev_info(smo8800->dev, "detected free fall\n"); in smo8800_interrupt_thread()
[all …]
/linux-6.12.1/arch/mips/pci/
Dmsi-octeon.c6 * Copyright (C) 2005-2009, 2010 Cavium Networks
15 #include <asm/octeon/cvmx-npi-defs.h>
16 #include <asm/octeon/cvmx-pci-defs.h>
17 #include <asm/octeon/cvmx-npei-defs.h>
18 #include <asm/octeon/cvmx-sli-defs.h>
19 #include <asm/octeon/cvmx-pexp-defs.h>
20 #include <asm/octeon/pci-octeon.h>
29 * Each bit in msi_multiple_irq_bitmask tells that the device using
31 * is used so we can disable all of the MSI interrupts when a device
49 * arch_setup_msi_irq() - setup MSI IRQs for a device
[all …]
/linux-6.12.1/arch/arm64/kvm/vgic/
Dvgic-its.c1 // SPDX-License-Identifier: GPL-2.0-only
17 #include <linux/irqchip/arm-gic-v3.h>
24 #include "vgic-mmio.h"
31 static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq,
44 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_add_lpi()
45 struct vgic_irq *irq = vgic_get_irq(kvm, NULL, intid), *oldirq; in vgic_add_lpi() local
50 if (irq) in vgic_add_lpi()
51 return irq; in vgic_add_lpi()
53 irq = kzalloc(sizeof(struct vgic_irq), GFP_KERNEL_ACCOUNT); in vgic_add_lpi()
54 if (!irq) in vgic_add_lpi()
[all …]
/linux-6.12.1/drivers/misc/mei/
Dpci-txe.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2013-2020, Intel Corporation. All rights reserved.
9 #include <linux/device.h>
24 #include "hw-txe.h"
43 * mei_txe_probe - Device Initialization Routine
45 * @pdev: PCI device structure
60 dev_err(&pdev->dev, "failed to enable pci device.\n"); in mei_txe_probe()
65 /* pci request regions and mapping IO device memory for mei driver */ in mei_txe_probe()
68 dev_err(&pdev->dev, "failed to get pci regions.\n"); in mei_txe_probe()
72 err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(36)); in mei_txe_probe()
[all …]
/linux-6.12.1/drivers/gpu/drm/i915/display/
Dintel_lpe_audio.c24 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
34 * Atom platforms (e.g. valleyview and cherryTrail) integrates a DMA-based
41 * subsystems, a bridge is setup between the hdmi-lpe-audio and i915:
42 * 1. Create a platform device to share MMIO/IRQ resources
43 * 2. Make the platform device child of i915 device for runtime PM.
44 * 3. Create IRQ chip to forward the LPE audio irqs.
45 * the hdmi-lpe-audio driver probes the lpe audio device and creates a new
49 * Due to the restriction in Linux platform device model, user need manually
50 * uninstall the hdmi-lpe-audio driver before uninstalling i915 module,
51 * otherwise we might run into use-after-free issues after i915 removes the
[all …]
/linux-6.12.1/drivers/uio/
Duio_pdrv_genirq.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Userspace I/O platform driver with generic IRQ handling code.
9 * Based on uio_pdrv.c by Uwe Kleine-Koenig,
23 #include <linux/irq.h>
45 struct uio_pdrv_genirq_platdata *priv = info->priv; in uio_pdrv_genirq_open()
47 /* Wait until the Runtime PM code has woken up the device */ in uio_pdrv_genirq_open()
48 pm_runtime_get_sync(&priv->pdev->dev); in uio_pdrv_genirq_open()
54 struct uio_pdrv_genirq_platdata *priv = info->priv; in uio_pdrv_genirq_release()
56 /* Tell the Runtime PM code that the device has become idle */ in uio_pdrv_genirq_release()
57 pm_runtime_put_sync(&priv->pdev->dev); in uio_pdrv_genirq_release()
[all …]
/linux-6.12.1/Documentation/admin-guide/
Dparport.rst4 The ``parport`` code provides parallel-port support under Linux. This
5 includes the ability to share one port between multiple device
12 because there are a lot of people using the same IRQ for their
16 port-sharing) and architecture-dependent (which deals with actually
28 architecture-dependent code with (for example)::
30 # insmod parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto
32 to tell the ``parport`` code that you want three PC-style ports, one at
33 0x3bc with no IRQ, one at 0x378 using IRQ 7, and one at 0x278 with an
34 auto-detected IRQ. Currently, PC-style (``parport_pc``), Sun ``bpp``,
43 --------
[all …]

12345678910>>...45