Home | History | Annotate | Download | only in nouveau

Lines Matching defs:abi16

49 	if (!cli->abi16) {
50 struct nouveau_abi16 *abi16;
51 cli->abi16 = abi16 = kzalloc(sizeof(*abi16), GFP_KERNEL);
52 if (cli->abi16) {
57 INIT_LIST_HEAD(&abi16->channels);
65 &abi16->device) == 0)
66 return cli->abi16;
68 kfree(cli->abi16);
69 cli->abi16 = NULL;
72 return cli->abi16;
81 return cli->abi16;
87 nouveau_abi16_put(struct nouveau_abi16 *abi16, int ret)
89 struct nouveau_cli *cli = (void *)abi16->device.object.client;
129 nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
164 nouveau_abi16_fini(struct nouveau_abi16 *abi16)
166 struct nouveau_cli *cli = (void *)abi16->device.object.client;
170 list_for_each_entry_safe(chan, temp, &abi16->channels, head) {
171 nouveau_abi16_chan_fini(abi16, chan);
175 nvif_device_fini(&abi16->device);
177 kfree(cli->abi16);
178 cli->abi16 = NULL;
258 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
264 if (unlikely(!abi16))
268 return nouveau_abi16_put(abi16, -ENODEV);
270 device = &abi16->device;
282 return nouveau_abi16_put(abi16, -ENOSYS);
297 return nouveau_abi16_put(abi16, -EINVAL);
299 /* allocate "abi16 channel" data and make up a handle for it */
302 return nouveau_abi16_put(abi16, -ENOMEM);
305 list_add(&chan->head, &abi16->channels);
355 nouveau_abi16_chan_fini(abi16, chan);
356 return nouveau_abi16_put(abi16, ret);
360 nouveau_abi16_chan(struct nouveau_abi16 *abi16, int channel)
364 list_for_each_entry(chan, &abi16->channels, head) {
379 struct nouveau_abi16 *abi16;
394 if (!(abi16 = nouveau_abi16(file_priv)))
398 if (!(chan = nouveau_abi16_chan(abi16, args->v0.token)))
405 args->v0.object = nvif_handle(&abi16->device.object);
414 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
417 if (unlikely(!abi16))
420 chan = nouveau_abi16_chan(abi16, req->channel);
422 return nouveau_abi16_put(abi16, -ENOENT);
423 nouveau_abi16_chan_fini(abi16, chan);
424 return nouveau_abi16_put(abi16, 0);
431 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
439 if (unlikely(!abi16))
443 return nouveau_abi16_put(abi16, -EINVAL);
444 client = abi16->device.object.client;
446 chan = nouveau_abi16_chan(abi16, init->channel);
448 return nouveau_abi16_put(abi16, -ENOENT);
452 return nouveau_abi16_put(abi16, ret);
501 return nouveau_abi16_put(abi16, -EINVAL);
505 return nouveau_abi16_put(abi16, -ENOMEM);
516 return nouveau_abi16_put(abi16, ret);
524 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
527 struct nvif_device *device = &abi16->device;
532 if (unlikely(!abi16))
537 return nouveau_abi16_put(abi16, -EINVAL);
538 client = abi16->device.object.client;
540 chan = nouveau_abi16_chan(abi16, info->channel);
542 return nouveau_abi16_put(abi16, -ENOENT);
546 return nouveau_abi16_put(abi16, -ENOMEM);
589 return nouveau_abi16_put(abi16, ret);
596 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv);
601 if (unlikely(!abi16))
604 chan = nouveau_abi16_chan(abi16, fini->channel);
606 return nouveau_abi16_put(abi16, -EINVAL);
619 return nouveau_abi16_put(abi16, ret);