xref: /openbmc/linux/arch/s390/include/asm/cpu.h (revision b8bb76713ec50df2f11efee386e16f93d51e1076)
1 /*
2  *  include/asm-s390/cpu.h
3  *
4  *    Copyright IBM Corp. 2007
5  *    Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
6  */
7 
8 #ifndef _ASM_S390_CPU_H_
9 #define _ASM_S390_CPU_H_
10 
11 #include <linux/types.h>
12 #include <linux/percpu.h>
13 #include <linux/spinlock.h>
14 
15 struct s390_idle_data {
16 	spinlock_t lock;
17 	unsigned long long idle_count;
18 	unsigned long long idle_enter;
19 	unsigned long long idle_time;
20 };
21 
22 DECLARE_PER_CPU(struct s390_idle_data, s390_idle);
23 
24 void vtime_start_cpu(void);
25 
26 static inline void s390_idle_check(void)
27 {
28 	if ((&__get_cpu_var(s390_idle))->idle_enter != 0ULL)
29 		vtime_start_cpu();
30 }
31 
32 #endif /* _ASM_S390_CPU_H_ */
33