Lines Matching defs:abi16
44 if (!cli->abi16) {
45 struct nouveau_abi16 *abi16;
46 cli->abi16 = abi16 = kzalloc(sizeof(*abi16), GFP_KERNEL);
47 if (cli->abi16) {
52 INIT_LIST_HEAD(&abi16->channels);
60 &abi16->device) == 0)
61 return cli->abi16;
63 kfree(cli->abi16);
64 cli->abi16 = NULL;
67 return cli->abi16;
76 return cli->abi16;
82 nouveau_abi16_put(struct nouveau_abi16 *abi16, int ret)
84 struct nouveau_cli *cli = (void *)abi16->device.object.client;
124 nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
159 nouveau_abi16_fini(struct nouveau_abi16 *abi16)
161 struct nouveau_cli *cli = (void *)abi16->device.object.client;
165 list_for_each_entry_safe(chan, temp, &abi16->channels, head) {
166 nouveau_abi16_chan_fini(abi16, chan);
170 nvif_device_dtor(&abi16->device);
172 kfree(cli->abi16);
173 cli->abi16 = NULL;
253 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
259 if (unlikely(!abi16))
263 return nouveau_abi16_put(abi16, -ENODEV);
265 device = &abi16->device;
277 return nouveau_abi16_put(abi16, -ENOSYS);
292 return nouveau_abi16_put(abi16, -EINVAL);
294 /* allocate "abi16 channel" data and make up a handle for it */
297 return nouveau_abi16_put(abi16, -ENOMEM);
300 list_add(&chan->head, &abi16->channels);
351 nouveau_abi16_chan_fini(abi16, chan);
352 return nouveau_abi16_put(abi16, ret);
356 nouveau_abi16_chan(struct nouveau_abi16 *abi16, int channel)
360 list_for_each_entry(chan, &abi16->channels, head) {
375 struct nouveau_abi16 *abi16;
390 if (!(abi16 = nouveau_abi16(file_priv)))
394 if (!(chan = nouveau_abi16_chan(abi16, args->v0.token)))
401 args->v0.object = nvif_handle(&abi16->device.object);
410 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
413 if (unlikely(!abi16))
416 chan = nouveau_abi16_chan(abi16, req->channel);
418 return nouveau_abi16_put(abi16, -ENOENT);
419 nouveau_abi16_chan_fini(abi16, chan);
420 return nouveau_abi16_put(abi16, 0);
427 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
435 if (unlikely(!abi16))
439 return nouveau_abi16_put(abi16, -EINVAL);
440 client = abi16->device.object.client;
442 chan = nouveau_abi16_chan(abi16, init->channel);
444 return nouveau_abi16_put(abi16, -ENOENT);
448 return nouveau_abi16_put(abi16, ret);
497 return nouveau_abi16_put(abi16, -EINVAL);
501 return nouveau_abi16_put(abi16, -ENOMEM);
512 return nouveau_abi16_put(abi16, ret);
520 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
523 struct nvif_device *device = &abi16->device;
528 if (unlikely(!abi16))
533 return nouveau_abi16_put(abi16, -EINVAL);
534 client = abi16->device.object.client;
536 chan = nouveau_abi16_chan(abi16, info->channel);
538 return nouveau_abi16_put(abi16, -ENOENT);
542 return nouveau_abi16_put(abi16, -ENOMEM);
585 return nouveau_abi16_put(abi16, ret);
592 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
597 if (unlikely(!abi16))
600 chan = nouveau_abi16_chan(abi16, fini->channel);
602 return nouveau_abi16_put(abi16, -EINVAL);
615 return nouveau_abi16_put(abi16, ret);