Lines Matching refs:engine
39 struct nvkm_subdev *subdev = &fifo->base.engine.subdev; in gk104_fifo_gpfifo_kick()
57 gk104_fifo_gpfifo_engine_addr(struct nvkm_engine *engine) in gk104_fifo_gpfifo_engine_addr() argument
59 switch (engine->subdev.index) { in gk104_fifo_gpfifo_engine_addr()
76 struct nvkm_engine *engine, bool suspend) in gk104_fifo_gpfifo_engine_fini() argument
78 const u32 offset = gk104_fifo_gpfifo_engine_addr(engine); in gk104_fifo_gpfifo_engine_fini()
99 struct nvkm_engine *engine) in gk104_fifo_gpfifo_engine_init() argument
101 const u32 offset = gk104_fifo_gpfifo_engine_addr(engine); in gk104_fifo_gpfifo_engine_init()
106 u64 addr = chan->engn[engine->subdev.index].vma.offset; in gk104_fifo_gpfifo_engine_init()
118 struct nvkm_engine *engine) in gk104_fifo_gpfifo_engine_dtor() argument
121 nvkm_gpuobj_unmap(&chan->engn[engine->subdev.index].vma); in gk104_fifo_gpfifo_engine_dtor()
122 nvkm_gpuobj_del(&chan->engn[engine->subdev.index].inst); in gk104_fifo_gpfifo_engine_dtor()
127 struct nvkm_engine *engine, in gk104_fifo_gpfifo_engine_ctor() argument
131 int engn = engine->subdev.index; in gk104_fifo_gpfifo_engine_ctor()
134 if (!gk104_fifo_gpfifo_engine_addr(engine)) in gk104_fifo_gpfifo_engine_ctor()
150 struct nvkm_device *device = fifo->base.engine.subdev.device; in gk104_fifo_gpfifo_fini()
156 gk104_fifo_runlist_update(fifo, chan->engine); in gk104_fifo_gpfifo_fini()
167 struct nvkm_device *device = fifo->base.engine.subdev.device; in gk104_fifo_gpfifo_init()
171 nvkm_mask(device, 0x800004 + coff, 0x000f0000, chan->engine << 16); in gk104_fifo_gpfifo_init()
175 list_add_tail(&chan->head, &fifo->engine[chan->engine].chan); in gk104_fifo_gpfifo_init()
177 gk104_fifo_runlist_update(fifo, chan->engine); in gk104_fifo_gpfifo_init()
211 struct nvkm_device *device = fifo->base.engine.subdev.device; in gk104_fifo_gpfifo_new()
223 args->v0.ilength, args->v0.engine); in gk104_fifo_gpfifo_new()
228 for (i = 0, engines = 0; i < ARRAY_SIZE(fifo->engine); i++) { in gk104_fifo_gpfifo_new()
236 if (!args->v0.engine) { in gk104_fifo_gpfifo_new()
237 args->v0.engine = engines; in gk104_fifo_gpfifo_new()
245 args->v0.engine &= engines; in gk104_fifo_gpfifo_new()
246 if (!args->v0.engine) { in gk104_fifo_gpfifo_new()
256 chan->engine = __ffs(args->v0.engine); in gk104_fifo_gpfifo_new()
261 gk104_fifo_engine_subdev(chan->engine), in gk104_fifo_gpfifo_new()