changk104.h 847 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef __GK104_FIFO_CHAN_H__
  2. #define __GK104_FIFO_CHAN_H__
  3. #define gk104_fifo_chan(p) container_of((p), struct gk104_fifo_chan, base)
  4. #include "chan.h"
  5. #include "gk104.h"
  6. struct gk104_fifo_chan {
  7. struct nvkm_fifo_chan base;
  8. struct gk104_fifo *fifo;
  9. int runl;
  10. struct list_head head;
  11. bool killed;
  12. struct nvkm_gpuobj *pgd;
  13. struct nvkm_vm *vm;
  14. struct {
  15. struct nvkm_gpuobj *inst;
  16. struct nvkm_vma vma;
  17. } engn[NVKM_SUBDEV_NR];
  18. };
  19. int gk104_fifo_gpfifo_new(struct nvkm_fifo *, const struct nvkm_oclass *,
  20. void *data, u32 size, struct nvkm_object **);
  21. extern const struct nvkm_fifo_chan_oclass gk104_fifo_gpfifo_oclass;
  22. extern const struct nvkm_fifo_chan_oclass gk110_fifo_gpfifo_oclass;
  23. extern const struct nvkm_fifo_chan_oclass gm200_fifo_gpfifo_oclass;
  24. extern const struct nvkm_fifo_chan_oclass gp100_fifo_gpfifo_oclass;
  25. #endif