linux/drivers/gpu/drm/nouveau/nvkm/engine/fifo/channv50.h
<<
>>
Prefs
   1#ifndef __NV50_FIFO_CHAN_H__
   2#define __NV50_FIFO_CHAN_H__
   3#define nv50_fifo_chan(p) container_of((p), struct nv50_fifo_chan, base)
   4#include "chan.h"
   5#include "nv50.h"
   6
   7struct nv50_fifo_chan {
   8        struct nv50_fifo *fifo;
   9        struct nvkm_fifo_chan base;
  10
  11        struct nvkm_gpuobj *ramfc;
  12        struct nvkm_gpuobj *cache;
  13        struct nvkm_gpuobj *eng;
  14        struct nvkm_gpuobj *pgd;
  15        struct nvkm_ramht *ramht;
  16        struct nvkm_vm *vm;
  17
  18        struct nvkm_gpuobj *engn[NVKM_SUBDEV_NR];
  19};
  20
  21int nv50_fifo_chan_ctor(struct nv50_fifo *, u64 vm, u64 push,
  22                        const struct nvkm_oclass *, struct nv50_fifo_chan *);
  23void *nv50_fifo_chan_dtor(struct nvkm_fifo_chan *);
  24void nv50_fifo_chan_fini(struct nvkm_fifo_chan *);
  25void nv50_fifo_chan_engine_dtor(struct nvkm_fifo_chan *, struct nvkm_engine *);
  26void nv50_fifo_chan_object_dtor(struct nvkm_fifo_chan *, int);
  27
  28int g84_fifo_chan_ctor(struct nv50_fifo *, u64 vm, u64 push,
  29                       const struct nvkm_oclass *, struct nv50_fifo_chan *);
  30
  31extern const struct nvkm_fifo_chan_oclass nv50_fifo_dma_oclass;
  32extern const struct nvkm_fifo_chan_oclass nv50_fifo_gpfifo_oclass;
  33extern const struct nvkm_fifo_chan_oclass g84_fifo_dma_oclass;
  34extern const struct nvkm_fifo_chan_oclass g84_fifo_gpfifo_oclass;
  35#endif
  36