Lines Matching refs:ntfy
107 struct nouveau_abi16_ntfy *ntfy) in nouveau_abi16_ntfy_fini() argument
109 nouveau_mm_free(&chan->heap, &ntfy->node); in nouveau_abi16_ntfy_fini()
110 list_del(&ntfy->head); in nouveau_abi16_ntfy_fini()
111 kfree(ntfy); in nouveau_abi16_ntfy_fini()
118 struct nouveau_abi16_ntfy *ntfy, *temp; in nouveau_abi16_chan_fini() local
122 if (chan->chan && chan->ntfy) in nouveau_abi16_chan_fini()
126 list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) { in nouveau_abi16_chan_fini()
127 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_chan_fini()
130 if (chan->ntfy) { in nouveau_abi16_chan_fini()
131 nouveau_bo_vma_del(chan->ntfy, &chan->ntfy_vma); in nouveau_abi16_chan_fini()
132 drm_gem_object_unreference_unlocked(chan->ntfy->gem); in nouveau_abi16_chan_fini()
309 0, 0, &chan->ntfy); in nouveau_abi16_ioctl_channel_alloc()
311 ret = nouveau_bo_pin(chan->ntfy, TTM_PL_FLAG_TT); in nouveau_abi16_ioctl_channel_alloc()
316 ret = nouveau_bo_vma_add(chan->ntfy, client->vm, in nouveau_abi16_ioctl_channel_alloc()
322 ret = drm_gem_handle_create(file_priv, chan->ntfy->gem, in nouveau_abi16_ioctl_channel_alloc()
391 struct nouveau_abi16_ntfy *ntfy; in nouveau_abi16_ioctl_notifierobj_alloc() local
413 ntfy = kzalloc(sizeof(*ntfy), GFP_KERNEL); in nouveau_abi16_ioctl_notifierobj_alloc()
414 if (!ntfy) in nouveau_abi16_ioctl_notifierobj_alloc()
417 list_add(&ntfy->head, &chan->notifiers); in nouveau_abi16_ioctl_notifierobj_alloc()
418 ntfy->handle = info->handle; in nouveau_abi16_ioctl_notifierobj_alloc()
421 &ntfy->node); in nouveau_abi16_ioctl_notifierobj_alloc()
425 args.start = ntfy->node->offset; in nouveau_abi16_ioctl_notifierobj_alloc()
426 args.limit = ntfy->node->offset + ntfy->node->length - 1; in nouveau_abi16_ioctl_notifierobj_alloc()
434 args.start += drm->agp.base + chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
435 args.limit += drm->agp.base + chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
438 args.start += chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
439 args.limit += chan->ntfy->bo.offset; in nouveau_abi16_ioctl_notifierobj_alloc()
443 ntfy->handle, 0x003d, &args, in nouveau_abi16_ioctl_notifierobj_alloc()
450 nouveau_abi16_ntfy_fini(chan, ntfy); in nouveau_abi16_ioctl_notifierobj_alloc()
460 struct nouveau_abi16_ntfy *ntfy; in nouveau_abi16_ioctl_gpuobj_free() local
484 list_for_each_entry(ntfy, &chan->notifiers, head) { in nouveau_abi16_ioctl_gpuobj_free()
485 if (ntfy->handle == fini->handle) { in nouveau_abi16_ioctl_gpuobj_free()
486 nouveau_mm_free(&chan->heap, &ntfy->node); in nouveau_abi16_ioctl_gpuobj_free()
487 list_del(&ntfy->head); in nouveau_abi16_ioctl_gpuobj_free()