idle.h 753 B

1234567891011121314151617181920212223242526272829303132
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright IBM Corp. 2014
  4. *
  5. * Author: Martin Schwidefsky <[email protected]>
  6. */
  7. #ifndef _S390_IDLE_H
  8. #define _S390_IDLE_H
  9. #include <linux/types.h>
  10. #include <linux/device.h>
  11. #include <linux/seqlock.h>
  12. struct s390_idle_data {
  13. seqcount_t seqcount;
  14. unsigned long idle_count;
  15. unsigned long idle_time;
  16. unsigned long clock_idle_enter;
  17. unsigned long clock_idle_exit;
  18. unsigned long timer_idle_enter;
  19. unsigned long timer_idle_exit;
  20. unsigned long mt_cycles_enter[8];
  21. };
  22. extern struct device_attribute dev_attr_idle_count;
  23. extern struct device_attribute dev_attr_idle_time_us;
  24. void psw_idle(struct s390_idle_data *data, unsigned long psw_mask);
  25. void psw_idle_exit(void);
  26. #endif /* _S390_IDLE_H */