diff options
Diffstat (limited to 'arch/loongarch/include/asm/hardirq.h')
| -rw-r--r-- | arch/loongarch/include/asm/hardirq.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/loongarch/include/asm/hardirq.h b/arch/loongarch/include/asm/hardirq.h new file mode 100644 index 000000000000..10da8d6961cb --- /dev/null +++ b/arch/loongarch/include/asm/hardirq.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef _ASM_HARDIRQ_H +#define _ASM_HARDIRQ_H + +#include <linux/cache.h> +#include <linux/threads.h> +#include <linux/irq.h> + +extern void ack_bad_irq(unsigned int irq); +#define ack_bad_irq ack_bad_irq + +#define NR_IPI 4 + +enum ipi_msg_type { + IPI_RESCHEDULE, + IPI_CALL_FUNCTION, + IPI_IRQ_WORK, + IPI_CLEAR_VECTOR, +}; + +typedef struct { + unsigned int ipi_irqs[NR_IPI]; + unsigned int __softirq_pending; + atomic_t message ____cacheline_aligned_in_smp; +} ____cacheline_aligned irq_cpustat_t; + +DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); + +#define __ARCH_IRQ_STAT + +#endif /* _ASM_HARDIRQ_H */ |
