Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / arch / loongarch / include / asm / hardirq.h
blob10da8d6961cb04d5db7e980fd8b22ca578fe6ebe
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
4 */
5 #ifndef _ASM_HARDIRQ_H
6 #define _ASM_HARDIRQ_H
8 #include <linux/cache.h>
9 #include <linux/threads.h>
10 #include <linux/irq.h>
12 extern void ack_bad_irq(unsigned int irq);
13 #define ack_bad_irq ack_bad_irq
15 #define NR_IPI 4
17 enum ipi_msg_type {
18 IPI_RESCHEDULE,
19 IPI_CALL_FUNCTION,
20 IPI_IRQ_WORK,
21 IPI_CLEAR_VECTOR,
24 typedef struct {
25 unsigned int ipi_irqs[NR_IPI];
26 unsigned int __softirq_pending;
27 atomic_t message ____cacheline_aligned_in_smp;
28 } ____cacheline_aligned irq_cpustat_t;
30 DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
32 #define __ARCH_IRQ_STAT
34 #endif /* _ASM_HARDIRQ_H */