ram.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __NVKM_FB_RAM_PRIV_H__
  2. #define __NVKM_FB_RAM_PRIV_H__
  3. #include "priv.h"
  4. int nvkm_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
  5. enum nvkm_ram_type, u64 size, u32 tags,
  6. struct nvkm_ram *);
  7. int nvkm_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *,
  8. enum nvkm_ram_type, u64 size, u32 tags,
  9. struct nvkm_ram **);
  10. void nvkm_ram_del(struct nvkm_ram **);
  11. int nvkm_ram_init(struct nvkm_ram *);
  12. extern const struct nvkm_ram_func nv04_ram_func;
  13. int nv50_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
  14. struct nvkm_ram *);
  15. int nv50_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
  16. void nv50_ram_put(struct nvkm_ram *, struct nvkm_mem **);
  17. void __nv50_ram_put(struct nvkm_ram *, struct nvkm_mem *);
  18. int gf100_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
  19. u32, struct nvkm_ram *);
  20. int gf100_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
  21. void gf100_ram_put(struct nvkm_ram *, struct nvkm_mem **);
  22. int gk104_ram_ctor(struct nvkm_fb *, struct nvkm_ram **, u32);
  23. int gk104_ram_init(struct nvkm_ram *ram);
  24. /* RAM type-specific MR calculation routines */
  25. int nvkm_sddr2_calc(struct nvkm_ram *);
  26. int nvkm_sddr3_calc(struct nvkm_ram *);
  27. int nvkm_gddr3_calc(struct nvkm_ram *);
  28. int nvkm_gddr5_calc(struct nvkm_ram *, bool nuts);
  29. int nv04_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  30. int nv10_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  31. int nv1a_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  32. int nv20_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  33. int nv40_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  34. int nv41_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  35. int nv44_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  36. int nv49_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  37. int nv4e_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  38. int nv50_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  39. int gt215_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  40. int mcp77_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  41. int gf100_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  42. int gk104_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  43. int gm107_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  44. int gp100_ram_new(struct nvkm_fb *, struct nvkm_ram **);
  45. #endif