nv50.h 786 B

1234567891011121314151617181920212223242526
  1. #ifndef __NV50_BAR_H__
  2. #define __NV50_BAR_H__
  3. #define nv50_bar(p) container_of((p), struct nv50_bar, base)
  4. #include "priv.h"
  5. struct nv50_bar {
  6. struct nvkm_bar base;
  7. u32 pgd_addr;
  8. struct nvkm_gpuobj *mem;
  9. struct nvkm_gpuobj *pad;
  10. struct nvkm_gpuobj *pgd;
  11. struct nvkm_vm *bar1_vm;
  12. struct nvkm_gpuobj *bar1;
  13. struct nvkm_vm *bar3_vm;
  14. struct nvkm_gpuobj *bar3;
  15. };
  16. int nv50_bar_new_(const struct nvkm_bar_func *, struct nvkm_device *,
  17. int, u32 pgd_addr, struct nvkm_bar **);
  18. void *nv50_bar_dtor(struct nvkm_bar *);
  19. int nv50_bar_oneinit(struct nvkm_bar *);
  20. int nv50_bar_init(struct nvkm_bar *);
  21. struct nvkm_vm *nv50_bar_kmap(struct nvkm_bar *);
  22. int nv50_bar_umap(struct nvkm_bar *, u64, int, struct nvkm_vma *);
  23. void nv50_bar_unmap(struct nvkm_bar *, struct nvkm_vma *);
  24. #endif