Lines Matching refs:abi16

40 	if (!cli->abi16) {  in nouveau_abi16()
41 struct nouveau_abi16 *abi16; in nouveau_abi16() local
42 cli->abi16 = abi16 = kzalloc(sizeof(*abi16), GFP_KERNEL); in nouveau_abi16()
43 if (cli->abi16) { in nouveau_abi16()
48 INIT_LIST_HEAD(&abi16->channels); in nouveau_abi16()
56 &abi16->device) == 0) in nouveau_abi16()
57 return cli->abi16; in nouveau_abi16()
59 kfree(cli->abi16); in nouveau_abi16()
60 cli->abi16 = NULL; in nouveau_abi16()
63 return cli->abi16; in nouveau_abi16()
72 return cli->abi16; in nouveau_abi16_get()
78 nouveau_abi16_put(struct nouveau_abi16 *abi16, int ret) in nouveau_abi16_put() argument
80 struct nouveau_cli *cli = (void *)abi16->device.object.client; in nouveau_abi16_put()
118 nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16, in nouveau_abi16_chan_fini() argument
153 nouveau_abi16_fini(struct nouveau_abi16 *abi16) in nouveau_abi16_fini() argument
155 struct nouveau_cli *cli = (void *)abi16->device.object.client; in nouveau_abi16_fini()
159 list_for_each_entry_safe(chan, temp, &abi16->channels, head) { in nouveau_abi16_fini()
160 nouveau_abi16_chan_fini(abi16, chan); in nouveau_abi16_fini()
164 nvif_device_fini(&abi16->device); in nouveau_abi16_fini()
166 kfree(cli->abi16); in nouveau_abi16_fini()
167 cli->abi16 = NULL; in nouveau_abi16_fini()
248 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv); in nouveau_abi16_ioctl_channel_alloc() local
253 if (unlikely(!abi16)) in nouveau_abi16_ioctl_channel_alloc()
257 return nouveau_abi16_put(abi16, -ENODEV); in nouveau_abi16_ioctl_channel_alloc()
259 device = &abi16->device; in nouveau_abi16_ioctl_channel_alloc()
275 return nouveau_abi16_put(abi16, -EINVAL); in nouveau_abi16_ioctl_channel_alloc()
280 return nouveau_abi16_put(abi16, -ENOMEM); in nouveau_abi16_ioctl_channel_alloc()
283 list_add(&chan->head, &abi16->channels); in nouveau_abi16_ioctl_channel_alloc()
333 nouveau_abi16_chan_fini(abi16, chan); in nouveau_abi16_ioctl_channel_alloc()
334 return nouveau_abi16_put(abi16, ret); in nouveau_abi16_ioctl_channel_alloc()
338 nouveau_abi16_chan(struct nouveau_abi16 *abi16, int channel) in nouveau_abi16_chan() argument
342 list_for_each_entry(chan, &abi16->channels, head) { in nouveau_abi16_chan()
357 struct nouveau_abi16 *abi16; in nouveau_abi16_usif() local
372 if (!(abi16 = nouveau_abi16(file_priv))) in nouveau_abi16_usif()
376 if (!(chan = nouveau_abi16_chan(abi16, args->v0.token))) in nouveau_abi16_usif()
383 args->v0.object = nvif_handle(&abi16->device.object); in nouveau_abi16_usif()
392 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv); in nouveau_abi16_ioctl_channel_free() local
395 if (unlikely(!abi16)) in nouveau_abi16_ioctl_channel_free()
398 chan = nouveau_abi16_chan(abi16, req->channel); in nouveau_abi16_ioctl_channel_free()
400 return nouveau_abi16_put(abi16, -ENOENT); in nouveau_abi16_ioctl_channel_free()
401 nouveau_abi16_chan_fini(abi16, chan); in nouveau_abi16_ioctl_channel_free()
402 return nouveau_abi16_put(abi16, 0); in nouveau_abi16_ioctl_channel_free()
409 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv); in nouveau_abi16_ioctl_grobj_alloc() local
417 if (unlikely(!abi16)) in nouveau_abi16_ioctl_grobj_alloc()
421 return nouveau_abi16_put(abi16, -EINVAL); in nouveau_abi16_ioctl_grobj_alloc()
422 client = abi16->device.object.client; in nouveau_abi16_ioctl_grobj_alloc()
424 chan = nouveau_abi16_chan(abi16, init->channel); in nouveau_abi16_ioctl_grobj_alloc()
426 return nouveau_abi16_put(abi16, -ENOENT); in nouveau_abi16_ioctl_grobj_alloc()
430 return nouveau_abi16_put(abi16, ret); in nouveau_abi16_ioctl_grobj_alloc()
479 return nouveau_abi16_put(abi16, -EINVAL); in nouveau_abi16_ioctl_grobj_alloc()
483 return nouveau_abi16_put(abi16, -ENOMEM); in nouveau_abi16_ioctl_grobj_alloc()
494 return nouveau_abi16_put(abi16, ret); in nouveau_abi16_ioctl_grobj_alloc()
502 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv); in nouveau_abi16_ioctl_notifierobj_alloc() local
505 struct nvif_device *device = &abi16->device; in nouveau_abi16_ioctl_notifierobj_alloc()
510 if (unlikely(!abi16)) in nouveau_abi16_ioctl_notifierobj_alloc()
515 return nouveau_abi16_put(abi16, -EINVAL); in nouveau_abi16_ioctl_notifierobj_alloc()
516 client = abi16->device.object.client; in nouveau_abi16_ioctl_notifierobj_alloc()
518 chan = nouveau_abi16_chan(abi16, info->channel); in nouveau_abi16_ioctl_notifierobj_alloc()
520 return nouveau_abi16_put(abi16, -ENOENT); in nouveau_abi16_ioctl_notifierobj_alloc()
524 return nouveau_abi16_put(abi16, -ENOMEM); in nouveau_abi16_ioctl_notifierobj_alloc()
567 return nouveau_abi16_put(abi16, ret); in nouveau_abi16_ioctl_notifierobj_alloc()
574 struct nouveau_abi16 *abi16 = nouveau_abi16_get(file_priv); in nouveau_abi16_ioctl_gpuobj_free() local
579 if (unlikely(!abi16)) in nouveau_abi16_ioctl_gpuobj_free()
582 chan = nouveau_abi16_chan(abi16, fini->channel); in nouveau_abi16_ioctl_gpuobj_free()
584 return nouveau_abi16_put(abi16, -EINVAL); in nouveau_abi16_ioctl_gpuobj_free()
597 return nouveau_abi16_put(abi16, ret); in nouveau_abi16_ioctl_gpuobj_free()