Lines Matching full:fifo

43 	struct nvkm_fifo *fifo = chan->cgrp->runl->fifo;  in nv04_chan_stop()  local
44 struct nvkm_device *device = fifo->engine.subdev.device; in nv04_chan_stop()
51 /* prevent fifo context switches */ in nv04_chan_stop()
52 spin_lock_irqsave(&fifo->lock, flags); in nv04_chan_stop()
56 chid = nvkm_rd32(device, NV03_PFIFO_CACHE1_PUSH1) & fifo->chid->mask; in nv04_chan_stop()
80 nvkm_wr32(device, NV03_PFIFO_CACHE1_PUSH1, fifo->chid->mask); in nv04_chan_stop()
88 spin_unlock_irqrestore(&fifo->lock, flags); in nv04_chan_stop()
94 struct nvkm_fifo *fifo = chan->cgrp->runl->fifo; in nv04_chan_start() local
97 spin_lock_irqsave(&fifo->lock, flags); in nv04_chan_start()
98 nvkm_mask(fifo->engine.subdev.device, NV04_PFIFO_MODE, BIT(chan->id), BIT(chan->id)); in nv04_chan_start()
99 spin_unlock_irqrestore(&fifo->lock, flags); in nv04_chan_start()
105 struct nvkm_memory *ramfc = chan->cgrp->runl->fifo->engine.subdev.device->imem->ramfc; in nv04_chan_ramfc_clear()
118 struct nvkm_memory *ramfc = chan->cgrp->runl->fifo->engine.subdev.device->imem->ramfc; in nv04_chan_ramfc_write()
183 struct nvkm_fifo *fifo = chan->cgrp->runl->fifo; in nv04_eobj_ramht_del() local
184 struct nvkm_instmem *imem = fifo->engine.subdev.device->imem; in nv04_eobj_ramht_del()
186 mutex_lock(&fifo->mutex); in nv04_eobj_ramht_del()
188 mutex_unlock(&fifo->mutex); in nv04_eobj_ramht_del()
194 struct nvkm_fifo *fifo = chan->cgrp->runl->fifo; in nv04_eobj_ramht_add() local
195 struct nvkm_instmem *imem = fifo->engine.subdev.device->imem; in nv04_eobj_ramht_add()
199 mutex_lock(&fifo->mutex); in nv04_eobj_ramht_add()
201 mutex_unlock(&fifo->mutex); in nv04_eobj_ramht_add()
212 nv04_fifo_pause(struct nvkm_fifo *fifo, unsigned long *pflags) in nv04_fifo_pause() argument
213 __acquires(fifo->lock) in nv04_fifo_pause()
215 struct nvkm_device *device = fifo->engine.subdev.device; in nv04_fifo_pause()
218 spin_lock_irqsave(&fifo->lock, flags); in nv04_fifo_pause()
247 nv04_fifo_start(struct nvkm_fifo *fifo, unsigned long *pflags) in nv04_fifo_start() argument
248 __releases(fifo->lock) in nv04_fifo_start()
250 struct nvkm_device *device = fifo->engine.subdev.device; in nv04_fifo_start()
256 spin_unlock_irqrestore(&fifo->lock, flags); in nv04_fifo_start()
303 nv04_fifo_intr_cache_error(struct nvkm_fifo *fifo, u32 chid, u32 get) in nv04_fifo_intr_cache_error() argument
305 struct nvkm_subdev *subdev = &fifo->engine.subdev; in nv04_fifo_intr_cache_error()
330 chan = nvkm_chan_get_chid(&fifo->engine, chid, &flags); in nv04_fifo_intr_cache_error()
354 nv04_fifo_intr_dma_pusher(struct nvkm_fifo *fifo, u32 chid) in nv04_fifo_intr_dma_pusher() argument
356 struct nvkm_subdev *subdev = &fifo->engine.subdev; in nv04_fifo_intr_dma_pusher()
366 chan = nvkm_chan_get_chid(&fifo->engine, chid, &flags); in nv04_fifo_intr_dma_pusher()
408 struct nvkm_fifo *fifo = container_of(inth, typeof(*fifo), engine.subdev.inth); in nv04_fifo_intr() local
409 struct nvkm_subdev *subdev = &fifo->engine.subdev; in nv04_fifo_intr()
418 chid = nvkm_rd32(device, NV03_PFIFO_CACHE1_PUSH1) & fifo->chid->mask; in nv04_fifo_intr()
422 nv04_fifo_intr_cache_error(fifo, chid, get); in nv04_fifo_intr()
427 nv04_fifo_intr_dma_pusher(fifo, chid); in nv04_fifo_intr()
450 nvkm_event_ntfy(&fifo->nonstall.event, 0, NVKM_FIFO_NONSTALL_EVENT); in nv04_fifo_intr()
466 nv04_fifo_init(struct nvkm_fifo *fifo) in nv04_fifo_init() argument
468 struct nvkm_device *device = fifo->engine.subdev.device; in nv04_fifo_init()
483 nvkm_wr32(device, NV03_PFIFO_CACHE1_PUSH1, fifo->chid->mask); in nv04_fifo_init()
494 nv04_fifo_runl_ctor(struct nvkm_fifo *fifo) in nv04_fifo_runl_ctor() argument
498 runl = nvkm_runl_new(fifo, 0, 0, 0); in nv04_fifo_runl_ctor()
502 nvkm_runl_add(runl, 0, fifo->func->engn_sw, NVKM_ENGINE_SW, 0); in nv04_fifo_runl_ctor()
503 nvkm_runl_add(runl, 0, fifo->func->engn_sw, NVKM_ENGINE_DMAOBJ, 0); in nv04_fifo_runl_ctor()
504 nvkm_runl_add(runl, 1, fifo->func->engn , NVKM_ENGINE_GR, 0); in nv04_fifo_runl_ctor()
505 nvkm_runl_add(runl, 2, fifo->func->engn , NVKM_ENGINE_MPEG, 0); /* NV31- */ in nv04_fifo_runl_ctor()
510 nv04_fifo_chid_ctor(struct nvkm_fifo *fifo, int nr) in nv04_fifo_chid_ctor() argument
513 return nvkm_chid_new(&nvkm_chan_event, &fifo->engine.subdev, nr, 0, nr - 1, &fifo->chid); in nv04_fifo_chid_ctor()
517 nv04_fifo_chid_nr(struct nvkm_fifo *fifo) in nv04_fifo_chid_nr() argument