| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/arm/omap/ |
| D | crossbar.txt | 4 time, so they have to be muxed to the irq-controller appropriately. 10 - compatible : Should be "ti,irq-crossbar" 11 - reg: Base address and the size of the crossbar registers. 12 - interrupt-controller: indicates that this block is an interrupt controller. 13 - ti,max-irqs: Total number of irqs available at the parent interrupt controller. 14 - ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed. 15 - ti,reg-size: Size of a individual register in bytes. Every individual 17 - ti,irqs-reserved: List of the reserved irq lines that are not muxed using 18 crossbar. These interrupt lines are reserved in the soc, 23 - ti,irqs-skip: This is similar to "ti,irqs-reserved", but these are for [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/omap/ |
| D | crossbar.txt | 4 time, so they have to be muxed to the irq-controller appropriately. 10 - compatible : Should be "ti,irq-crossbar" 11 - reg: Base address and the size of the crossbar registers. 12 - interrupt-controller: indicates that this block is an interrupt controller. 13 - ti,max-irqs: Total number of irqs available at the parent interrupt controller. 14 - ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed. 15 - ti,reg-size: Size of a individual register in bytes. Every individual 17 - ti,irqs-reserved: List of the reserved irq lines that are not muxed using 18 crossbar. These interrupt lines are reserved in the soc, 23 - ti,irqs-skip: This is similar to "ti,irqs-reserved", but these are for [all …]
|
| /kernel/linux/linux-5.10/drivers/irqchip/ |
| D | irq-crossbar.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/irqchip/irq-crossbar.c 5 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com 16 #define IRQ_FREE -1 17 #define IRQ_RESERVED -2 18 #define IRQ_SKIP -3 22 * struct crossbar_device - crossbar device description 47 writel(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writel() 52 writew(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writew() 57 writeb(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writeb() [all …]
|
| D | irq-nvic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/irq/irq-nvic.c 5 * Copyright (C) 2008 ARM Limited, All Rights Reserved. 9 * ARMv7-M CPUs (Cortex-M3/M4) 33 * Each bank handles 32 irqs. Only the 16th (= last) bank handles only 34 * 16 irqs. 36 #define NVIC_MAX_IRQ ((NVIC_MAX_BANKS - 1) * 32 + 16) 76 unsigned int irqs, i, ret, numbanks; in nvic_of_init() local 85 return -ENOMEM; in nvic_of_init() 88 irqs = numbanks * 32; in nvic_of_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/irqchip/ |
| D | irq-crossbar.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/irqchip/irq-crossbar.c 5 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com 16 #define IRQ_FREE -1 17 #define IRQ_RESERVED -2 18 #define IRQ_SKIP -3 22 * struct crossbar_device - crossbar device description 47 writel(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writel() 52 writew(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writew() 57 writeb(cb_no, cb->crossbar_base + cb->register_offsets[irq_no]); in crossbar_writeb() [all …]
|
| D | irq-nvic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/irq/irq-nvic.c 5 * Copyright (C) 2008 ARM Limited, All Rights Reserved. 9 * ARMv7-M CPUs (Cortex-M3/M4) 33 * Each bank handles 32 irqs. Only the 16th (= last) bank handles only 34 * 16 irqs. 36 #define NVIC_MAX_IRQ ((NVIC_MAX_BANKS - 1) * 32 + 16) 43 irq_hw_number_t hwirq = (icsr & V7M_SCB_ICSR_VECTACTIVE) - 16; in nvic_handle_irq() 76 unsigned int irqs, i, ret, numbanks; in nvic_of_init() local 85 return -ENOMEM; in nvic_of_init() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
| D | pci-cxl.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2014-2016 IBM Corp. 7 #include <misc/cxl-base.h> 8 #include <asm/pnv-pci.h> 15 struct pci_controller *hose = pci_bus_to_host(dev->bus); in pnv_phb_to_cxl_mode() 16 struct pnv_phb *phb = hose->private_data; in pnv_phb_to_cxl_mode() 22 return -ENODEV; in pnv_phb_to_cxl_mode() 26 rc = opal_pci_set_phb_cxl_mode(phb->opal_id, mode, pe->pe_number); in pnv_phb_to_cxl_mode() 28 dev_err(&dev->dev, "Required cxl mode not supported by firmware - update skiboot\n"); in pnv_phb_to_cxl_mode() 30 dev_err(&dev->dev, "opal_pci_set_phb_cxl_mode failed: %i\n", rc); in pnv_phb_to_cxl_mode() [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
| D | pci-cxl.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2014-2016 IBM Corp. 7 #include <asm/pnv-pci.h> 14 struct pci_controller *hose = pci_bus_to_host(dev->bus); in pnv_phb_to_cxl_mode() 15 struct pnv_phb *phb = hose->private_data; in pnv_phb_to_cxl_mode() 21 return -ENODEV; in pnv_phb_to_cxl_mode() 25 rc = opal_pci_set_phb_cxl_mode(phb->opal_id, mode, pe->pe_number); in pnv_phb_to_cxl_mode() 27 dev_err(&dev->dev, "Required cxl mode not supported by firmware - update skiboot\n"); in pnv_phb_to_cxl_mode() 29 dev_err(&dev->dev, "opal_pci_set_phb_cxl_mode failed: %i\n", rc); in pnv_phb_to_cxl_mode() 40 struct pci_controller *hose = pci_bus_to_host(dev->bus); in pnv_cxl_alloc_hwirqs() [all …]
|
| /kernel/linux/linux-6.6/include/linux/mfd/ |
| D | intel_soc_pmic_mrfld.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Copyright (C) 2019 Intel Corporation. All rights reserved. 50 /* Level 1 IRQs */ 60 /* Level 2 IRQs: power button */ 64 /* Level 2 IRQs: ADC */ 71 /* Level 2 IRQs: charger */
|
| /kernel/linux/linux-5.10/include/linux/mfd/ |
| D | intel_soc_pmic_mrfld.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Copyright (C) 2019 Intel Corporation. All rights reserved. 50 /* Level 1 IRQs */ 60 /* Level 2 IRQs: power button */ 64 /* Level 2 IRQs: ADC */ 71 /* Level 2 IRQs: charger */
|
| D | rohm-bd70528.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 9 #include <linux/mfd/rohm-generic.h> 10 #include <linux/mfd/rohm-shared.h> 159 /* IRQs */ 161 /* Shutdown register IRQs */ 169 /* Power failure register IRQs */ 178 /* VR FAULT register IRQs */ 190 /* Charger 1 register IRQs */ 199 /* Charger 2 register IRQs */ 208 /* RTC register IRQs */ [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/interrupt-controller/ |
| D | ti,pruss-intc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/ti,pruss-intc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI PRU-ICSS Local Interrupt Controller 10 - Suman Anna <s-anna@ti.com> 13 Each PRU-ICSS has a single interrupt controller instance that is common 22 The property "ti,irqs-reserved" is used for denoting the connection 30 through 19) are connected to new sub-modules within the ICSSG instances. 32 This interrupt-controller node should be defined as a child node of the [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/ |
| D | ti,pruss-intc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/ti,pruss-intc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI PRU-ICSS Local Interrupt Controller 10 - Suman Anna <s-anna@ti.com> 13 Each PRU-ICSS has a single interrupt controller instance that is common 22 The property "ti,irqs-reserved" is used for denoting the connection 30 through 19) are connected to new sub-modules within the ICSSG instances. 32 This interrupt-controller node should be defined as a child node of the [all …]
|
| /kernel/linux/linux-5.10/arch/mips/dec/ |
| D | int-handler.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 * Rewritten extensively for controller-driven IRQ support 50 * 3) Linux only thinks in terms of all IRQs on or all IRQs 51 * off, nothing in between like BSD spl() brain-damage. 53 * Furthermore, the IRQs on the DECstations look basically (barring 54 * software IRQs which we don't use at all) like... 59 * -------- ------ 72 * -------- ------ 77 * 4 Reserved 79 * 6 Reserved [all …]
|
| /kernel/linux/linux-6.6/arch/mips/dec/ |
| D | int-handler.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 * Rewritten extensively for controller-driven IRQ support 50 * 3) Linux only thinks in terms of all IRQs on or all IRQs 51 * off, nothing in between like BSD spl() brain-damage. 53 * Furthermore, the IRQs on the DECstations look basically (barring 54 * software IRQs which we don't use at all) like... 59 * -------- ------ 72 * -------- ------ 77 * 4 Reserved 79 * 6 Reserved [all …]
|
| /kernel/linux/linux-5.10/kernel/irq/ |
| D | matrix.c | 1 // SPDX-License-Identifier: GPL-2.0 43 * irq_alloc_matrix - Allocate a irq_matrix structure and initialize it 62 m->matrix_bits = matrix_bits; in irq_alloc_matrix() 63 m->alloc_start = alloc_start; in irq_alloc_matrix() 64 m->alloc_end = alloc_end; in irq_alloc_matrix() 65 m->alloc_size = alloc_end - alloc_start; in irq_alloc_matrix() 66 m->maps = alloc_percpu(*m->maps); in irq_alloc_matrix() 67 if (!m->maps) { in irq_alloc_matrix() 75 * irq_matrix_online - Bring the local CPU matrix online 80 struct cpumap *cm = this_cpu_ptr(m->maps); in irq_matrix_online() [all …]
|
| /kernel/linux/linux-6.6/kernel/irq/ |
| D | matrix.c | 1 // SPDX-License-Identifier: GPL-2.0 43 * irq_alloc_matrix - Allocate a irq_matrix structure and initialize it 62 m->matrix_bits = matrix_bits; in irq_alloc_matrix() 63 m->alloc_start = alloc_start; in irq_alloc_matrix() 64 m->alloc_end = alloc_end; in irq_alloc_matrix() 65 m->alloc_size = alloc_end - alloc_start; in irq_alloc_matrix() 66 m->maps = alloc_percpu(*m->maps); in irq_alloc_matrix() 67 if (!m->maps) { in irq_alloc_matrix() 75 * irq_matrix_online - Bring the local CPU matrix online 80 struct cpumap *cm = this_cpu_ptr(m->maps); in irq_matrix_online() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-s3c/ |
| D | irq-s3c24xx.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2003-2004 Simtec Electronics 28 #include <mach/irqs.h> 29 #include "regs-irq.h" 30 #include "regs-gpio.h" 33 #include "regs-irqtype.h" 54 * @reg_pending register holding pending irqs 58 * @parent parent controller for ext and sub irqs 59 * @irqs irq-data, always s3c_irq_data[32] 67 struct s3c_irq_data *irqs; member [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | irq_affinity.c | 1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 2 /* Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ 10 pool->irqs_per_cpu[cpu]--; in cpu_put() 15 pool->irqs_per_cpu[cpu]++; in cpu_get() 18 /* Gets the least loaded CPU. e.g.: the CPU with least IRQs bound to it */ 22 int best_cpu = -1; in cpu_get_least_loaded() 26 /* CPU has zero IRQs on it. No need to search any more CPUs. */ in cpu_get_least_loaded() 27 if (!pool->irqs_per_cpu[cpu]) { in cpu_get_least_loaded() 33 if (pool->irqs_per_cpu[cpu] < pool->irqs_per_cpu[best_cpu]) in cpu_get_least_loaded() 36 if (best_cpu == -1) { in cpu_get_least_loaded() [all …]
|
| D | pci_irq.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ 2 /* Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ 21 char name[MLX5_MAX_IRQ_NAME - MLX5_MAX_IRQ_IDX_CHARS]; 23 struct mutex lock; /* sync IRQs creations */ 24 struct xarray irqs; member 34 return !strncmp("mlx5_sf", pool->name, strlen("mlx5_sf")); in mlx5_irq_pool_is_sf_pool()
|
| /kernel/linux/linux-6.6/include/linux/amba/ |
| D | bus.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * Copyright (C) 2003 Deep Blue Solutions Ltd, All Rights Reserved. 35 * Class 0x2-0x8,0xA and 0xD-0xD are presently reserved. 37 * Remaining CID bits stay as 0xb105-00d 44 * the amba_id->data pointer. 112 #define amba_get_drvdata(d) dev_get_drvdata(&d->dev) 113 #define amba_set_drvdata(d,p) dev_set_drvdata(&d->dev, p) 121 return -EINVAL; in amba_driver_register() 142 #define amba_config(d) AMBA_CONFIG_BITS((d)->periphid) 143 #define amba_rev(d) AMBA_REV_BITS((d)->periphid) [all …]
|
| /kernel/linux/linux-5.10/arch/mips/sgi-ip30/ |
| D | ip30-irq.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ip30-irq.c: Highlevel interrupt handling for IP30 architecture. 17 #include "ip30-common.h" 35 return -ENOSPC; in heart_alloc_int() 49 pending = heart_read(&heart_regs->isr); in ip30_error_irq() 50 mask = heart_read(&heart_regs->imr[cpu]); in ip30_error_irq() 51 cause = heart_read(&heart_regs->cause); in ip30_error_irq() 58 /* Prevent any of the error IRQs from firing again. */ in ip30_error_irq() 59 heart_write(mask & ~(pending), &heart_regs->imr[cpu]); in ip30_error_irq() 61 /* Ack all error IRQs. */ in ip30_error_irq() [all …]
|
| /kernel/linux/linux-6.6/arch/mips/sgi-ip30/ |
| D | ip30-irq.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ip30-irq.c: Highlevel interrupt handling for IP30 architecture. 18 #include "ip30-common.h" 36 return -ENOSPC; in heart_alloc_int() 50 pending = heart_read(&heart_regs->isr); in ip30_error_irq() 51 mask = heart_read(&heart_regs->imr[cpu]); in ip30_error_irq() 52 cause = heart_read(&heart_regs->cause); in ip30_error_irq() 59 /* Prevent any of the error IRQs from firing again. */ in ip30_error_irq() 60 heart_write(mask & ~(pending), &heart_regs->imr[cpu]); in ip30_error_irq() 62 /* Ack all error IRQs. */ in ip30_error_irq() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/remoteproc/ |
| D | qcom,wcnss-pil.txt | 6 - compatible: 10 "qcom,riva-pil", 11 "qcom,pronto-v1-pil", 12 "qcom,pronto-v2-pil" 14 - reg: 16 Value type: <prop-encoded-array> 20 - reg-names: 25 - interrupts-extended: 27 Value type: <prop-encoded-array> 28 Definition: must list the watchdog and fatal IRQs and may specify the [all …]
|
| /kernel/linux/linux-5.10/include/linux/amba/ |
| D | bus.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 * Copyright (C) 2003 Deep Blue Solutions Ltd, All Rights Reserved. 35 * Class 0x2-0x8,0xA and 0xD-0xD are presently reserved. 37 * Remaining CID bits stay as 0xb105-00d 44 * the amba_id->data pointer. 96 /* This is used to generate pseudo-ID for AMBA device */ 105 #define amba_get_drvdata(d) dev_get_drvdata(&d->dev) 106 #define amba_set_drvdata(d,p) dev_set_drvdata(&d->dev, p) 139 return clk_enable(dev->pclk); in amba_pclk_enable() 144 clk_disable(dev->pclk); in amba_pclk_disable() [all …]
|