instmem.h 896 B

123456789101112131415161718192021222324252627282930
  1. #ifndef __NVKM_INSTMEM_H__
  2. #define __NVKM_INSTMEM_H__
  3. #include <core/subdev.h>
  4. struct nvkm_memory;
  5. struct nvkm_instmem {
  6. const struct nvkm_instmem_func *func;
  7. struct nvkm_subdev subdev;
  8. spinlock_t lock;
  9. struct list_head list;
  10. u32 reserved;
  11. struct nvkm_memory *vbios;
  12. struct nvkm_ramht *ramht;
  13. struct nvkm_memory *ramro;
  14. struct nvkm_memory *ramfc;
  15. };
  16. u32 nvkm_instmem_rd32(struct nvkm_instmem *, u32 addr);
  17. void nvkm_instmem_wr32(struct nvkm_instmem *, u32 addr, u32 data);
  18. int nvkm_instobj_new(struct nvkm_instmem *, u32 size, u32 align, bool zero,
  19. struct nvkm_memory **);
  20. int nv04_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **);
  21. int nv40_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **);
  22. int nv50_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **);
  23. int gk20a_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **);
  24. #endif