bus.h 885 B

123456789101112131415161718192021222324
  1. #ifndef __NVKM_BUS_H__
  2. #define __NVKM_BUS_H__
  3. #include <core/subdev.h>
  4. struct nvkm_bus {
  5. const struct nvkm_bus_func *func;
  6. struct nvkm_subdev subdev;
  7. };
  8. /* interface to sequencer */
  9. struct nvkm_hwsq;
  10. int nvkm_hwsq_init(struct nvkm_subdev *, struct nvkm_hwsq **);
  11. int nvkm_hwsq_fini(struct nvkm_hwsq **, bool exec);
  12. void nvkm_hwsq_wr32(struct nvkm_hwsq *, u32 addr, u32 data);
  13. void nvkm_hwsq_setf(struct nvkm_hwsq *, u8 flag, int data);
  14. void nvkm_hwsq_wait(struct nvkm_hwsq *, u8 flag, u8 data);
  15. void nvkm_hwsq_nsec(struct nvkm_hwsq *, u32 nsec);
  16. int nv04_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  17. int nv31_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  18. int nv50_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  19. int g94_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  20. int gf100_bus_new(struct nvkm_device *, int, struct nvkm_bus **);
  21. #endif