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