/openbmc/linux/Documentation/devicetree/bindings/arm/omap/ |
H A 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 …]
|
/openbmc/linux/drivers/irqchip/ |
H A 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 …]
|
H A 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 …]
|
H A D | irq-pruss-intc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PRU-ICSS INTC IRQChip driver for various TI SoCs 5 * Copyright (C) 2016-2020 Texas Instruments Incorporated - http://www.ti.com/ 9 * Suman Anna <s-anna@ti.com> 24 * Number of host interrupts reaching the main MPU sub-system. Note that this 57 /* CMR register bit-field macros */ 62 /* HMR register bit-field macros */ 67 /* HIPIR register bit-fields */ 74 * struct pruss_intc_map_record - keeps track of actual mapping state 84 * struct pruss_intc_match_data - match data to handle SoC variations [all …]
|
/openbmc/linux/arch/powerpc/platforms/powernv/ |
H A 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 …]
|
/openbmc/linux/include/linux/mfd/ |
H A 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 */
|
/openbmc/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A 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 …]
|
/openbmc/linux/arch/mips/dec/ |
H A 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 …]
|
/openbmc/linux/kernel/irq/ |
H A 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 …]
|
/openbmc/linux/include/linux/amba/ |
H A 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 …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A 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()
|
H A 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 …]
|
/openbmc/linux/arch/mips/sgi-ip30/ |
H A 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 …]
|
/openbmc/linux/arch/arc/include/asm/ |
H A D | irqflags-arcv2.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com) 12 #define STATUS_AD_BIT 19 /* Disable Align chk: core supports non-aligned */ 39 * Linux by default runs at 1, priority 0 reserved for NMI style interrupts 56 * Save IRQ state and disable IRQs 76 * Unconditionally Enable IRQs 89 * Unconditionally Disable IRQs
|
/openbmc/linux/drivers/input/serio/ |
H A D | i8042-io.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 15 * IRQs. 22 /* defined in include/asm-arm/arch-xxx/irqs.h */ 67 * bad things. Because of this the region is always reserved on such boxes. in i8042_platform_init() 71 return -ENODEV; in i8042_platform_init() 75 return -EBUSY; in i8042_platform_init()
|
/openbmc/linux/arch/powerpc/sysdev/ |
H A D | msi_bitmap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright 2006-2008, Michael Ellerman, IBM Corporation. 20 spin_lock_irqsave(&bmp->lock, flags); in msi_bitmap_alloc_hwirqs() 22 offset = bitmap_find_next_zero_area(bmp->bitmap, bmp->irq_count, 0, in msi_bitmap_alloc_hwirqs() 23 num, (1 << order) - 1); in msi_bitmap_alloc_hwirqs() 24 if (offset > bmp->irq_count) in msi_bitmap_alloc_hwirqs() 27 bitmap_set(bmp->bitmap, offset, num); in msi_bitmap_alloc_hwirqs() 28 spin_unlock_irqrestore(&bmp->lock, flags); in msi_bitmap_alloc_hwirqs() 34 spin_unlock_irqrestore(&bmp->lock, flags); in msi_bitmap_alloc_hwirqs() 35 return -ENOMEM; in msi_bitmap_alloc_hwirqs() [all …]
|
/openbmc/qemu/hw/core/ |
H A D | platform-bus.c | 4 * Copyright (C) 2014 Freescale Semiconductor, Inc. All rights reserved. 23 #include "hw/platform-bus.h" 24 #include "hw/qdev-properties.h" 26 #include "qemu/error-report.h" 31 * Returns the PlatformBus IRQ number for a SysBusDevice irq number or -1 if 40 for (i = 0; i < pbus->num_irqs; i++) { in platform_bus_get_irqn() 41 if (pbus->irqs[i] == sbirq) { in platform_bus_get_irqn() 47 return -1; in platform_bus_get_irqn() 52 * -1 if the region is not mapped on this Platform bus. 57 MemoryRegion *pbus_mr = &pbus->mmio; in platform_bus_get_mmio_addr() [all …]
|
/openbmc/linux/drivers/net/fddi/ |
H A D | defza.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* FDDI network adapter driver for DEC FDDIcontroller 700/700-C devices. 36 #define FZA_RESET_CLR 0x0000 /* run self-test and return to work */ 43 #define FZA_EVENT_NXM_ERR 0x0080 /* non-existent memory access error; 45 * unsupported partial-word accesses 93 #define FZA_HALT_HOST 0x01 /* host-directed HALT */ 95 #define FZA_HALT_NXM 0x03 /* adapter non-existent memory ref. */ 102 #define FZA_TEST_FATAL 0x00 /* self-test catastrophic failure */ 106 #define FZA_TEST_SRAM_STUCK1 0x04 /* SRAM stuck-at range 1 */ 107 #define FZA_TEST_SRAM_STUCK2 0x05 /* SRAM stuck-at range 2 */ [all …]
|
/openbmc/linux/arch/ia64/include/asm/ |
H A D | hw_irq.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Copyright (C) 2001-2003 Hewlett-Packard Co 7 * David Mosberger-Tang <davidm@hpl.hp.com> 23 * 1,3-14 are reserved from firmware 25 * 16-255 (vectored external interrupts) are available 37 #define AUTO_ASSIGN -1 42 * Vectors 0x10-0x1f are used for low priority interrupts, e.g. CMCI. 45 #define IA64_CMCP_VECTOR 0x1d /* corrected machine-check polling vector */ 47 #define IA64_CMC_VECTOR 0x1f /* corrected machine-check interrupt vector */ 49 * Vectors 0x20-0x2f are reserved for legacy ISA IRQs. [all …]
|
/openbmc/linux/arch/arm/mach-tegra/ |
H A D | hotplug.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * All Rights Reserved 5 * Copyright (c) 2010, 2012-2013, NVIDIA Corporation. All rights reserved. 34 * platform-specific code to shutdown a CPU 36 * Called with IRQs disabled
|
/openbmc/linux/drivers/vdpa/solidrun/ |
H A D | snet_main.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2022-2023 SolidRun 7 * Author: Alvaro Karsz <alvaro.karsz@solid-run.com> 42 if (likely(snet->cb.callback)) in snet_cfg_irq_hndlr() 43 return snet->cb.callback(snet->cb.private); in snet_cfg_irq_hndlr() 52 if (likely(vq->cb.callback)) in snet_vq_irq_hndlr() 53 return vq->cb.callback(vq->cb.private); in snet_vq_irq_hndlr() 60 struct psnet *psnet = snet->psnet; in snet_free_irqs() 64 /* Which Device allcoated the IRQs? */ in snet_free_irqs() 66 pdev = snet->pdev->physfn; in snet_free_irqs() [all …]
|
/openbmc/qemu/hw/arm/ |
H A D | stm32l4x5_soc.c | 4 * Copyright (c) 2023-2024 Arnaud Minier <arnaud.minier@telecom-paris.fr> 5 * Copyright (c) 2023-2024 Inès Varhol <ines.varhol@telecom-paris.fr> 7 * SPDX-License-Identifier: GPL-2.0-or-later 10 * See the COPYING file in the top-level directory. 20 * for STM32L4x5 and STM32L4x6 advanced Arm ® -based 32-bit MCUs. 21 * https://www.st.com/en/microcontrollers-microprocessors/stm32l4x5/documentation.html 27 #include "exec/address-spaces.h" 29 #include "hw/or-irq.h" 33 #include "hw/qdev-clock.h" 49 * Some IRQs are connected to the same CPU IRQ (denoted by -1) [all …]
|
/openbmc/linux/drivers/misc/cxl/ |
H A D | irq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include <misc/cxl-base.h> 28 ctx->dsisr = dsisr; in schedule_cxl_fault() 29 ctx->dar = dar; in schedule_cxl_fault() 30 schedule_work(&ctx->fault_work); in schedule_cxl_fault() 38 dsisr = irq_info->dsisr; in cxl_irq_psl9() 39 dar = irq_info->dar; in cxl_irq_psl9() 43 pr_devel("CXL interrupt %i for afu pe: %i DSISR: %#llx DAR: %#llx\n", irq, ctx->pe, dsisr, dar); in cxl_irq_psl9() 46 pr_devel("CXL interrupt: Scheduling translation fault handling for later (pe: %i)\n", ctx->pe); in cxl_irq_psl9() 51 return cxl_ops->handle_psl_slice_error(ctx, dsisr, in cxl_irq_psl9() [all …]
|
/openbmc/linux/arch/m68k/q40/ |
H A D | q40ints.c | 28 * Q40 IRQs are defined as follows: 29 * 3,4,5,6,7,10,11,14,15 : ISA dev IRQs 30 * 16-31: reserved 46 unsigned int irq = data->irq; in q40_irq_startup() 54 /* FIXME return -ENXIO; */ in q40_irq_startup() 96 master_outb(1, EXT_ENABLE_REG); /* ISA IRQ 5-15 */ in q40_init_IRQ() 115 /* simply alternate the ampl (128-SVOL)-(128+SVOL)-..-.. at 200Hz */ in q40_mksound() 135 unsigned char sval=(sound_ticks & 1) ? 128-SVOL : 128+SVOL; in q40_timer_int() 136 sound_ticks--; in q40_timer_int() 161 master_outb(-1, FRAME_CLEAR_REG); in q40_sched_init() [all …]
|
/openbmc/qemu/target/riscv/ |
H A D | cpu_helper.c | 2 * RISC-V CPU helpers for qemu. 4 * Copyright (c) 2016-2017 Sagar Karandikar, sagark@eecs.berkeley.edu 5 * Copyright (c) 2017-2018 SiFive, Inc. 22 #include "qemu/main-loop.h" 26 #include "exec/exec-all.h" 27 #include "exec/page-protection.h" 29 #include "tcg/tcg-op.h" 31 #include "semihosting/common-semi.h" 32 #include "sysemu/cpu-timers.h" 35 #include "tcg/oversized-guest.h" [all …]
|