hyst_qos.h 690 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef _QOS_H
  2. #define _QOS_H
  3. #include "walt.h"
  4. #define MIN_DEFAULT_VALUE 0
  5. #define MAX_DEFAULT_VALUE 0
  6. #define HQTAG " [Hyst QoS] "
  7. enum qos_ctrl_type {
  8. PM_QOS_MIN_LIMIT = 0,
  9. PM_QOS_MAX_LIMIT,
  10. TYPE_END,
  11. };
  12. struct user_req {
  13. char *name;
  14. int values[TYPE_END];
  15. int res_type;
  16. u64 residency_time;
  17. struct list_head list;
  18. };
  19. extern unsigned int busy_hyst_qos_value;
  20. void hyst_add_request(struct user_req *req, int value, char *name);
  21. void hyst_update_request(struct user_req *req, int type, unsigned int value);
  22. void hyst_request_enable(struct user_req *req, bool enabled);
  23. void hyst_remove_request(struct user_req *req);
  24. void hyst_init(void);
  25. #endif /* _QOS_H */