Lines Matching refs:chan
28 #include <engine/fifo/chan.h>
41 struct nv50_sw_chan *chan =
42 container_of(notify, typeof(*chan), vblank.notify[notify->id]);
43 struct nvkm_sw *sw = chan->base.sw;
46 nvkm_wr32(device, 0x001704, chan->base.fifo->inst->addr >> 12);
47 nvkm_wr32(device, 0x001710, 0x80000000 | chan->vblank.ctxdma);
51 nvkm_wr32(device, 0x001570, chan->vblank.offset);
52 nvkm_wr32(device, 0x001574, chan->vblank.value);
54 nvkm_wr32(device, 0x060010, chan->vblank.offset);
55 nvkm_wr32(device, 0x060014, chan->vblank.value);
64 struct nv50_sw_chan *chan = nv50_sw_chan(base);
65 struct nvkm_engine *engine = chan->base.object.engine;
68 case 0x018c: chan->vblank.ctxdma = data; return true;
69 case 0x0400: chan->vblank.offset = data; return true;
70 case 0x0404: chan->vblank.value = data; return true;
73 nvkm_event_ntfy_allow(&chan->vblank.notify[data]);
86 struct nv50_sw_chan *chan = nv50_sw_chan(base);
89 for (i = 0; i < ARRAY_SIZE(chan->vblank.notify); i++)
90 nvkm_event_ntfy_del(&chan->vblank.notify[i]);
92 return chan;
106 struct nv50_sw_chan *chan;
109 if (!(chan = kzalloc(sizeof(*chan), GFP_KERNEL)))
111 *pobject = &chan->base.object;
113 ret = nvkm_sw_chan_ctor(&nv50_sw_chan, sw, fifoch, oclass, &chan->base);
119 nv50_sw_chan_vblsem_release, &chan->vblank.notify[i]);