Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  *  Copyright IBM Corp. 2014
0004  *
0005  *  Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
0006  */
0007 
0008 #ifndef _S390_IDLE_H
0009 #define _S390_IDLE_H
0010 
0011 #include <linux/types.h>
0012 #include <linux/device.h>
0013 #include <linux/seqlock.h>
0014 
0015 struct s390_idle_data {
0016     seqcount_t seqcount;
0017     unsigned long idle_count;
0018     unsigned long idle_time;
0019     unsigned long clock_idle_enter;
0020     unsigned long clock_idle_exit;
0021     unsigned long timer_idle_enter;
0022     unsigned long timer_idle_exit;
0023     unsigned long mt_cycles_enter[8];
0024 };
0025 
0026 extern struct device_attribute dev_attr_idle_count;
0027 extern struct device_attribute dev_attr_idle_time_us;
0028 
0029 void psw_idle(struct s390_idle_data *data, unsigned long psw_mask);
0030 void psw_idle_exit(void);
0031 
0032 #endif /* _S390_IDLE_H */