1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2deae26bfSKyle McMartin /* hardirq.h: PA-RISC hard IRQ support. 3deae26bfSKyle McMartin * 4deae26bfSKyle McMartin * Copyright (C) 2001 Matthew Wilcox <matthew@wil.cx> 5cd85d551SHelge Deller * Copyright (C) 2013 Helge Deller <deller@gmx.de> 6deae26bfSKyle McMartin */ 7deae26bfSKyle McMartin 8deae26bfSKyle McMartin #ifndef _PARISC_HARDIRQ_H 9deae26bfSKyle McMartin #define _PARISC_HARDIRQ_H 10deae26bfSKyle McMartin 11cd85d551SHelge Deller #include <linux/cache.h> 12cd85d551SHelge Deller #include <linux/threads.h> 13cd85d551SHelge Deller #include <linux/irq.h> 14cd85d551SHelge Deller 15cd85d551SHelge Deller typedef struct { 16cd85d551SHelge Deller unsigned int __softirq_pending; 17cd85d551SHelge Deller unsigned int kernel_stack_usage; 18416821d3SHelge Deller unsigned int irq_stack_usage; 19cd85d551SHelge Deller #ifdef CONFIG_SMP 20cd85d551SHelge Deller unsigned int irq_resched_count; 21*b102f29bSHelge Deller unsigned int irq_call_count; 22cd85d551SHelge Deller #endif 23d0c3be80SHelge Deller unsigned int irq_unaligned_count; 24d0c3be80SHelge Deller unsigned int irq_fpassist_count; 250fc537d1SHelge Deller unsigned int irq_tlb_count; 26cd85d551SHelge Deller } ____cacheline_aligned irq_cpustat_t; 27cd85d551SHelge Deller 28cd85d551SHelge Deller DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); 29cd85d551SHelge Deller 30cd85d551SHelge Deller #define __ARCH_IRQ_STAT 31cd85d551SHelge Deller #define inc_irq_stat(member) this_cpu_inc(irq_stat.member) 32416821d3SHelge Deller #define __inc_irq_stat(member) __this_cpu_inc(irq_stat.member) 33cd85d551SHelge Deller #define ack_bad_irq(irq) WARN(1, "unexpected IRQ trap at vector %02x\n", irq) 34deae26bfSKyle McMartin 35deae26bfSKyle McMartin #endif /* _PARISC_HARDIRQ_H */ 36