priv.h 923 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __NVKM_TIMER_PRIV_H__
  3. #define __NVKM_TIMER_PRIV_H__
  4. #define nvkm_timer(p) container_of((p), struct nvkm_timer, subdev)
  5. #include <subdev/timer.h>
  6. int nvkm_timer_new_(const struct nvkm_timer_func *, struct nvkm_device *,
  7. int index, struct nvkm_timer **);
  8. struct nvkm_timer_func {
  9. void (*init)(struct nvkm_timer *);
  10. void (*intr)(struct nvkm_timer *);
  11. u64 (*read)(struct nvkm_timer *);
  12. void (*time)(struct nvkm_timer *, u64 time);
  13. void (*alarm_init)(struct nvkm_timer *, u32 time);
  14. void (*alarm_fini)(struct nvkm_timer *);
  15. };
  16. void nvkm_timer_alarm_trigger(struct nvkm_timer *);
  17. void nv04_timer_fini(struct nvkm_timer *);
  18. void nv04_timer_intr(struct nvkm_timer *);
  19. void nv04_timer_time(struct nvkm_timer *, u64);
  20. u64 nv04_timer_read(struct nvkm_timer *);
  21. void nv04_timer_alarm_init(struct nvkm_timer *, u32);
  22. void nv04_timer_alarm_fini(struct nvkm_timer *);
  23. #endif