Lines Matching refs:fifo
157 if (engine->func->fifo.cclass) { in nvkm_fifo_chan_child_new()
158 ret = engine->func->fifo.cclass(chan, &cclass, in nvkm_fifo_chan_child_new()
205 struct nvkm_fifo *fifo = chan->fifo; in nvkm_fifo_chan_child_get() local
206 struct nvkm_device *device = fifo->engine.subdev.device; in nvkm_fifo_chan_child_get()
217 if (engine->func->fifo.sclass) { in nvkm_fifo_chan_child_get()
218 ret = engine->func->fifo.sclass(oclass, index); in nvkm_fifo_chan_child_get()
314 struct nvkm_fifo *fifo = chan->fifo; in nvkm_fifo_chan_dtor() local
318 spin_lock_irqsave(&fifo->lock, flags); in nvkm_fifo_chan_dtor()
320 __clear_bit(chan->chid, fifo->mask); in nvkm_fifo_chan_dtor()
323 spin_unlock_irqrestore(&fifo->lock, flags); in nvkm_fifo_chan_dtor()
349 struct nvkm_fifo *fifo, u32 size, u32 align, bool zero, in nvkm_fifo_chan_ctor() argument
355 struct nvkm_device *device = fifo->engine.subdev.device; in nvkm_fifo_chan_ctor()
363 chan->fifo = fifo; in nvkm_fifo_chan_ctor()
398 spin_lock_irqsave(&fifo->lock, flags); in nvkm_fifo_chan_ctor()
399 chan->chid = find_first_zero_bit(fifo->mask, NVKM_FIFO_CHID_NR); in nvkm_fifo_chan_ctor()
401 spin_unlock_irqrestore(&fifo->lock, flags); in nvkm_fifo_chan_ctor()
404 list_add(&chan->head, &fifo->chan); in nvkm_fifo_chan_ctor()
405 __set_bit(chan->chid, fifo->mask); in nvkm_fifo_chan_ctor()
406 spin_unlock_irqrestore(&fifo->lock, flags); in nvkm_fifo_chan_ctor()
413 nvkm_event_send(&fifo->cevent, 1, 0, NULL, 0); in nvkm_fifo_chan_ctor()