mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-30 12:49:36 +00:00
![Linus Torvalds](/assets/img/avatar_default.png)
Pull irq updates from Thomas Gleixner: "The irq departement provides the usual mixed bag: Core: - Further improvements to the irq timings code which aims to predict the next interrupt for power state selection to achieve better latency/power balance - Add interrupt statistics to the core NMI handlers - The usual small fixes and cleanups Drivers: - Support for Renesas RZ/A1, Annapurna Labs FIC, Meson-G12A SoC and Amazon Gravition AMR/GIC interrupt controllers. - Rework of the Renesas INTC controller driver - ACPI support for Socionext SoCs - Enhancements to the CSKY interrupt controller - The usual small fixes and cleanups" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits) irq/irqdomain: Fix comment typo genirq: Update irq stats from NMI handlers irqchip/gic-pm: Remove PM_CLK dependency irqchip/al-fic: Introduce Amazon's Annapurna Labs Fabric Interrupt Controller Driver dt-bindings: interrupt-controller: Add Amazon's Annapurna Labs FIC softirq: Use __this_cpu_write() in takeover_tasklets() irqchip/mbigen: Stop printing kernel addresses irqchip/gic: Add dependency for ARM_GIC_MAX_NR genirq/affinity: Remove unused argument from [__]irq_build_affinity_masks() genirq/timings: Add selftest for next event computation genirq/timings: Add selftest for irqs circular buffer genirq/timings: Add selftest for circular array genirq/timings: Encapsulate storing function genirq/timings: Encapsulate timings push genirq/timings: Optimize the period detection speed genirq/timings: Fix timings buffer inspection genirq/timings: Fix next event index function irqchip/qcom: Use struct_size() in devm_kzalloc() irqchip/irq-csky-mpintc: Remove unnecessary loop in interrupt handler dt-bindings: interrupt-controller: Update csky mpintc ...
44 lines
982 B
C
44 lines
982 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* include/linux/irqchip/arm-gic-common.h
|
|
*
|
|
* Copyright (C) 2016 ARM Limited, All Rights Reserved.
|
|
*/
|
|
#ifndef __LINUX_IRQCHIP_ARM_GIC_COMMON_H
|
|
#define __LINUX_IRQCHIP_ARM_GIC_COMMON_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/ioport.h>
|
|
|
|
#define GICD_INT_DEF_PRI 0xa0
|
|
#define GICD_INT_DEF_PRI_X4 ((GICD_INT_DEF_PRI << 24) |\
|
|
(GICD_INT_DEF_PRI << 16) |\
|
|
(GICD_INT_DEF_PRI << 8) |\
|
|
GICD_INT_DEF_PRI)
|
|
|
|
enum gic_type {
|
|
GIC_V2,
|
|
GIC_V3,
|
|
};
|
|
|
|
struct gic_kvm_info {
|
|
/* GIC type */
|
|
enum gic_type type;
|
|
/* Virtual CPU interface */
|
|
struct resource vcpu;
|
|
/* Interrupt number */
|
|
unsigned int maint_irq;
|
|
/* Virtual control interface */
|
|
struct resource vctrl;
|
|
/* vlpi support */
|
|
bool has_v4;
|
|
};
|
|
|
|
const struct gic_kvm_info *gic_get_kvm_info(void);
|
|
|
|
struct irq_domain;
|
|
struct fwnode_handle;
|
|
int gicv2m_init(struct fwnode_handle *parent_handle,
|
|
struct irq_domain *parent);
|
|
|
|
#endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */
|