pm.h 872 B

1234567891011121314151617181920212223242526
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __NVKM_PM_H__
  3. #define __NVKM_PM_H__
  4. #include <core/engine.h>
  5. struct nvkm_pm {
  6. const struct nvkm_pm_func *func;
  7. struct nvkm_engine engine;
  8. struct nvkm_object *perfmon;
  9. struct list_head domains;
  10. struct list_head sources;
  11. u32 sequence;
  12. };
  13. int nv40_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  14. int nv50_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  15. int g84_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  16. int gt200_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  17. int gt215_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  18. int gf100_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  19. int gf108_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  20. int gf117_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  21. int gk104_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
  22. #endif