devinit.h 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __NVKM_DEVINIT_H__
  3. #define __NVKM_DEVINIT_H__
  4. #include <core/subdev.h>
  5. struct nvkm_devinit;
  6. struct nvkm_devinit {
  7. const struct nvkm_devinit_func *func;
  8. struct nvkm_subdev subdev;
  9. bool post;
  10. bool force_post;
  11. };
  12. u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr);
  13. int nvkm_devinit_pll_set(struct nvkm_devinit *, u32 type, u32 khz);
  14. void nvkm_devinit_meminit(struct nvkm_devinit *);
  15. u64 nvkm_devinit_disable(struct nvkm_devinit *);
  16. int nvkm_devinit_post(struct nvkm_devinit *, u64 *disable);
  17. int nv04_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  18. int nv05_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  19. int nv10_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  20. int nv1a_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  21. int nv20_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  22. int nv50_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  23. int g84_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  24. int g98_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  25. int gt215_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  26. int mcp89_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  27. int gf100_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  28. int gm107_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  29. int gm200_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
  30. #endif