Lines Matching refs:ntfy

115 			struct nouveau_abi16_ntfy *ntfy)  in nouveau_abi16_ntfy_fini()  argument
117 nvif_object_fini(&ntfy->object); in nouveau_abi16_ntfy_fini()
118 nvkm_mm_free(&chan->heap, &ntfy->node); in nouveau_abi16_ntfy_fini()
119 list_del(&ntfy->head); in nouveau_abi16_ntfy_fini()
120 kfree(ntfy); in nouveau_abi16_ntfy_fini()
127 struct nouveau_abi16_ntfy *ntfy, *temp; in nouveau_abi16_chan_fini() local
131 if (chan->chan && chan->ntfy) in nouveau_abi16_chan_fini()
135 list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) { in nouveau_abi16_chan_fini()
136 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_chan_fini()
139 if (chan->ntfy) { in nouveau_abi16_chan_fini()
141 nouveau_bo_unpin(chan->ntfy); in nouveau_abi16_chan_fini()
142 drm_gem_object_put_unlocked(&chan->ntfy->gem); in nouveau_abi16_chan_fini()
334 0, 0, &chan->ntfy); in nouveau_abi16_ioctl_channel_alloc()
336 ret = nouveau_bo_pin(chan->ntfy, TTM_PL_FLAG_TT, false); in nouveau_abi16_ioctl_channel_alloc()
341 ret = nouveau_vma_new(chan->ntfy, &cli->vmm, &chan->ntfy_vma); in nouveau_abi16_ioctl_channel_alloc()
346 ret = drm_gem_handle_create(file_priv, &chan->ntfy->gem, in nouveau_abi16_ioctl_channel_alloc()
432 struct nouveau_abi16_ntfy *ntfy; in nouveau_abi16_ioctl_grobj_alloc() local
502 ntfy = kzalloc(sizeof(*ntfy), GFP_KERNEL); in nouveau_abi16_ioctl_grobj_alloc()
503 if (!ntfy) in nouveau_abi16_ioctl_grobj_alloc()
506 list_add(&ntfy->head, &chan->notifiers); in nouveau_abi16_ioctl_grobj_alloc()
510 NULL, 0, &ntfy->object); in nouveau_abi16_ioctl_grobj_alloc()
514 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_ioctl_grobj_alloc()
525 struct nouveau_abi16_ntfy *ntfy; in nouveau_abi16_ioctl_notifierobj_alloc() local
543 ntfy = kzalloc(sizeof(*ntfy), GFP_KERNEL); in nouveau_abi16_ioctl_notifierobj_alloc()
544 if (!ntfy) in nouveau_abi16_ioctl_notifierobj_alloc()
547 list_add(&ntfy->head, &chan->notifiers); in nouveau_abi16_ioctl_notifierobj_alloc()
550 &ntfy->node); in nouveau_abi16_ioctl_notifierobj_alloc()
554 args.start = ntfy->node->offset; in nouveau_abi16_ioctl_notifierobj_alloc()
555 args.limit = ntfy->node->offset + ntfy->node->length - 1; in nouveau_abi16_ioctl_notifierobj_alloc()
565 args.start += drm->agp.base + chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
566 args.limit += drm->agp.base + chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
570 args.start += chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
571 args.limit += chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
578 &ntfy->object); in nouveau_abi16_ioctl_notifierobj_alloc()
584 info->offset = ntfy->node->offset; in nouveau_abi16_ioctl_notifierobj_alloc()
587 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_ioctl_notifierobj_alloc()
597 struct nouveau_abi16_ntfy *ntfy; in nouveau_abi16_ioctl_gpuobj_free() local
610 list_for_each_entry(ntfy, &chan->notifiers, head) { in nouveau_abi16_ioctl_gpuobj_free()
611 if (ntfy->object.handle == fini->handle) { in nouveau_abi16_ioctl_gpuobj_free()
612 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_ioctl_gpuobj_free()