gf100.h 765 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef __GF100_FIFO_H__
  2. #define __GF100_FIFO_H__
  3. #define gf100_fifo(p) container_of((p), struct gf100_fifo, base)
  4. #include "priv.h"
  5. #include <subdev/mmu.h>
  6. struct gf100_fifo_chan;
  7. struct gf100_fifo {
  8. struct nvkm_fifo base;
  9. struct list_head chan;
  10. struct {
  11. struct work_struct work;
  12. u64 mask;
  13. } recover;
  14. int pbdma_nr;
  15. struct {
  16. struct nvkm_memory *mem[2];
  17. int active;
  18. wait_queue_head_t wait;
  19. } runlist;
  20. struct {
  21. struct nvkm_memory *mem;
  22. struct nvkm_vma bar;
  23. } user;
  24. };
  25. void gf100_fifo_intr_engine(struct gf100_fifo *);
  26. void gf100_fifo_runlist_insert(struct gf100_fifo *, struct gf100_fifo_chan *);
  27. void gf100_fifo_runlist_remove(struct gf100_fifo *, struct gf100_fifo_chan *);
  28. void gf100_fifo_runlist_commit(struct gf100_fifo *);
  29. #endif