kgsl_reclaim.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef __KGSL_RECLAIM_H
  7. #define __KGSL_RECLAIM_H
  8. #include "kgsl_device.h"
  9. #ifdef CONFIG_QCOM_KGSL_PROCESS_RECLAIM
  10. /* Set if all the memdescs of this process are pinned */
  11. #define KGSL_PROC_PINNED_STATE 0
  12. /* Process foreground/background state. Set if process is in foreground */
  13. #define KGSL_PROC_STATE 1
  14. int kgsl_reclaim_start(void);
  15. int kgsl_reclaim_init(void);
  16. void kgsl_reclaim_close(void);
  17. int kgsl_reclaim_to_pinned_state(struct kgsl_process_private *priv);
  18. void kgsl_reclaim_proc_sysfs_init(struct kgsl_process_private *process);
  19. void kgsl_reclaim_proc_private_init(struct kgsl_process_private *process);
  20. ssize_t kgsl_proc_max_reclaim_limit_store(struct device *dev,
  21. struct device_attribute *attr, const char *buf, size_t count);
  22. ssize_t kgsl_proc_max_reclaim_limit_show(struct device *dev,
  23. struct device_attribute *attr, char *buf);
  24. ssize_t kgsl_nr_to_scan_store(struct device *dev,
  25. struct device_attribute *attr, const char *buf, size_t count);
  26. ssize_t kgsl_nr_to_scan_show(struct device *dev,
  27. struct device_attribute *attr, char *buf);
  28. #else
  29. static inline int kgsl_reclaim_start(void)
  30. {
  31. return 0;
  32. }
  33. static inline int kgsl_reclaim_init(void)
  34. {
  35. return 0;
  36. }
  37. static inline void kgsl_reclaim_close(void) { }
  38. static inline int kgsl_reclaim_to_pinned_state(
  39. struct kgsl_process_private *priv)
  40. {
  41. return 0;
  42. }
  43. static inline void kgsl_reclaim_proc_sysfs_init
  44. (struct kgsl_process_private *process) { }
  45. static inline void kgsl_reclaim_proc_private_init
  46. (struct kgsl_process_private *process) { }
  47. #endif
  48. #endif /* __KGSL_RECLAIM_H */