Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
8c007bfd AB |
2 | #ifndef _ASM_POWERPC_HARDIRQ_H |
3 | #define _ASM_POWERPC_HARDIRQ_H | |
4 | ||
5 | #include <linux/threads.h> | |
6 | #include <linux/irq.h> | |
7 | ||
8 | typedef struct { | |
9 | unsigned int __softirq_pending; | |
c041cfa2 | 10 | unsigned int timer_irqs_event; |
e360cd37 | 11 | unsigned int broadcast_irqs_event; |
c041cfa2 | 12 | unsigned int timer_irqs_others; |
89713ed1 AB |
13 | unsigned int pmu_irqs; |
14 | unsigned int mce_exceptions; | |
17081102 | 15 | unsigned int spurious_irqs; |
0869b6fd | 16 | unsigned int hmi_exceptions; |
ca41ad43 | 17 | unsigned int sreset_irqs; |
04019bf8 NP |
18 | #ifdef CONFIG_PPC_WATCHDOG |
19 | unsigned int soft_nmi_irqs; | |
20 | #endif | |
a6a058e5 IM |
21 | #ifdef CONFIG_PPC_DOORBELL |
22 | unsigned int doorbell_irqs; | |
23 | #endif | |
8c007bfd AB |
24 | } ____cacheline_aligned irq_cpustat_t; |
25 | ||
26 | DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); | |
27 | ||
28 | #define __ARCH_IRQ_STAT | |
c16bee4b | 29 | #define __ARCH_IRQ_EXIT_IRQS_DISABLED |
69111bac | 30 | |
8c007bfd AB |
31 | static inline void ack_bad_irq(unsigned int irq) |
32 | { | |
33 | printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq); | |
34 | } | |
35 | ||
89713ed1 AB |
36 | extern u64 arch_irq_stat_cpu(unsigned int cpu); |
37 | #define arch_irq_stat_cpu arch_irq_stat_cpu | |
38 | ||
8c007bfd | 39 | #endif /* _ASM_POWERPC_HARDIRQ_H */ |