Lines Matching refs:chan

63 	struct nvkm_fifo_chan *chan;  in nvkm_fifo_channel_create_()  local
71 chan = *ptr; in nvkm_fifo_channel_create_()
76 chan->pushdma = (void *)nvkm_handle_ref(parent, pushbuf); in nvkm_fifo_channel_create_()
77 if (!chan->pushdma) in nvkm_fifo_channel_create_()
80 dmaeng = (void *)chan->pushdma->base.engine; in nvkm_fifo_channel_create_()
81 switch (chan->pushdma->base.oclass->handle) { in nvkm_fifo_channel_create_()
89 ret = dmaeng->bind(chan->pushdma, parent, &chan->pushgpu); in nvkm_fifo_channel_create_()
95 for (chan->chid = priv->min; chan->chid < priv->max; chan->chid++) { in nvkm_fifo_channel_create_()
96 if (!priv->channel[chan->chid]) { in nvkm_fifo_channel_create_()
97 priv->channel[chan->chid] = nv_object(chan); in nvkm_fifo_channel_create_()
103 if (chan->chid == priv->max) { in nvkm_fifo_channel_create_()
108 chan->addr = nv_device_resource_start(device, bar) + in nvkm_fifo_channel_create_()
109 addr + size * chan->chid; in nvkm_fifo_channel_create_()
110 chan->size = size; in nvkm_fifo_channel_create_()
116 nvkm_fifo_channel_destroy(struct nvkm_fifo_chan *chan) in nvkm_fifo_channel_destroy() argument
118 struct nvkm_fifo *priv = (void *)nv_object(chan)->engine; in nvkm_fifo_channel_destroy()
121 if (chan->user) in nvkm_fifo_channel_destroy()
122 iounmap(chan->user); in nvkm_fifo_channel_destroy()
125 priv->channel[chan->chid] = NULL; in nvkm_fifo_channel_destroy()
128 nvkm_gpuobj_ref(NULL, &chan->pushgpu); in nvkm_fifo_channel_destroy()
129 nvkm_object_ref(NULL, (struct nvkm_object **)&chan->pushdma); in nvkm_fifo_channel_destroy()
130 nvkm_namedb_destroy(&chan->namedb); in nvkm_fifo_channel_destroy()
136 struct nvkm_fifo_chan *chan = (void *)object; in _nvkm_fifo_channel_dtor() local
137 nvkm_fifo_channel_destroy(chan); in _nvkm_fifo_channel_dtor()
143 struct nvkm_fifo_chan *chan = (void *)object; in _nvkm_fifo_channel_map() local
144 *addr = chan->addr; in _nvkm_fifo_channel_map()
145 *size = chan->size; in _nvkm_fifo_channel_map()
152 struct nvkm_fifo_chan *chan = (void *)object; in _nvkm_fifo_channel_rd32() local
153 if (unlikely(!chan->user)) { in _nvkm_fifo_channel_rd32()
154 chan->user = ioremap(chan->addr, chan->size); in _nvkm_fifo_channel_rd32()
155 if (WARN_ON_ONCE(chan->user == NULL)) in _nvkm_fifo_channel_rd32()
158 return ioread32_native(chan->user + addr); in _nvkm_fifo_channel_rd32()
164 struct nvkm_fifo_chan *chan = (void *)object; in _nvkm_fifo_channel_wr32() local
165 if (unlikely(!chan->user)) { in _nvkm_fifo_channel_wr32()
166 chan->user = ioremap(chan->addr, chan->size); in _nvkm_fifo_channel_wr32()
167 if (WARN_ON_ONCE(chan->user == NULL)) in _nvkm_fifo_channel_wr32()
170 iowrite32_native(data, chan->user + addr); in _nvkm_fifo_channel_wr32()
235 struct nvkm_fifo_chan *chan = NULL; in nvkm_client_name_for_fifo_chid() local
240 chan = (void *)fifo->channel[chid]; in nvkm_client_name_for_fifo_chid()
243 return nvkm_client_name(chan); in nvkm_client_name_for_fifo_chid()