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; |
ca41ad43 | 16 | unsigned int sreset_irqs; |
04019bf8 NP |
17 | #ifdef CONFIG_PPC_WATCHDOG |
18 | unsigned int soft_nmi_irqs; | |
19 | #endif | |
a6a058e5 IM |
20 | #ifdef CONFIG_PPC_DOORBELL |
21 | unsigned int doorbell_irqs; | |
22 | #endif | |
8c007bfd AB |
23 | } ____cacheline_aligned irq_cpustat_t; |
24 | ||
25 | DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); | |
26 | ||
27 | #define __ARCH_IRQ_STAT | |
c16bee4b | 28 | #define __ARCH_IRQ_EXIT_IRQS_DISABLED |
69111bac | 29 | |
8c007bfd AB |
30 | static inline void ack_bad_irq(unsigned int irq) |
31 | { | |
32 | printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq); | |
33 | } | |
34 | ||
89713ed1 AB |
35 | extern u64 arch_irq_stat_cpu(unsigned int cpu); |
36 | #define arch_irq_stat_cpu arch_irq_stat_cpu | |
37 | ||
8c007bfd | 38 | #endif /* _ASM_POWERPC_HARDIRQ_H */ |