xref: /openbmc/linux/arch/s390/include/asm/idle.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b5f87f15SMartin Schwidefsky /*
3b5f87f15SMartin Schwidefsky  *  Copyright IBM Corp. 2014
4b5f87f15SMartin Schwidefsky  *
5b5f87f15SMartin Schwidefsky  *  Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
6b5f87f15SMartin Schwidefsky  */
7b5f87f15SMartin Schwidefsky 
8b5f87f15SMartin Schwidefsky #ifndef _S390_IDLE_H
9b5f87f15SMartin Schwidefsky #define _S390_IDLE_H
10b5f87f15SMartin Schwidefsky 
11b5f87f15SMartin Schwidefsky #include <linux/types.h>
12b5f87f15SMartin Schwidefsky #include <linux/device.h>
13b5f87f15SMartin Schwidefsky 
14b5f87f15SMartin Schwidefsky struct s390_idle_data {
15*eba8e1afSHeiko Carstens 	unsigned long idle_count;
16*eba8e1afSHeiko Carstens 	unsigned long idle_time;
17*eba8e1afSHeiko Carstens 	unsigned long clock_idle_enter;
18*eba8e1afSHeiko Carstens 	unsigned long timer_idle_enter;
1956e62a73SSven Schnelle 	unsigned long mt_cycles_enter[8];
20b5f87f15SMartin Schwidefsky };
21b5f87f15SMartin Schwidefsky 
22b5f87f15SMartin Schwidefsky extern struct device_attribute dev_attr_idle_count;
23b5f87f15SMartin Schwidefsky extern struct device_attribute dev_attr_idle_time_us;
24b5f87f15SMartin Schwidefsky 
2556e62a73SSven Schnelle void psw_idle(struct s390_idle_data *data, unsigned long psw_mask);
26db7e007fSHeiko Carstens 
27b5f87f15SMartin Schwidefsky #endif /* _S390_IDLE_H */
28