Lines Matching refs:nvbo
595 struct nouveau_bo_priv *nvbo = nouveau_bo(bo); in nouveau_bo_del() local
598 if (nvbo->head.next) { in nouveau_bo_del()
600 if (atomic_read(&nvbo->refcnt) == 0) { in nouveau_bo_del()
601 DRMLISTDEL(&nvbo->head); in nouveau_bo_del()
618 free(nvbo); in nouveau_bo_del()
626 struct nouveau_bo_priv *nvbo = calloc(1, sizeof(*nvbo)); in nouveau_bo_new() local
627 struct nouveau_bo *bo = &nvbo->base; in nouveau_bo_new()
630 if (!nvbo) in nouveau_bo_new()
632 atomic_set(&nvbo->refcnt, 1); in nouveau_bo_new()
639 free(nvbo); in nouveau_bo_new()
654 struct nouveau_bo_priv *nvbo; in nouveau_bo_wrap_locked() local
657 DRMLISTFOREACHENTRY(nvbo, &nvdev->bo_list, head) { in nouveau_bo_wrap_locked()
658 if (nvbo->base.handle == handle) { in nouveau_bo_wrap_locked()
659 if (atomic_inc_return(&nvbo->refcnt) == 1) { in nouveau_bo_wrap_locked()
670 DRMLISTDEL(&nvbo->head); in nouveau_bo_wrap_locked()
672 name = nvbo->name; in nouveau_bo_wrap_locked()
676 *pbo = &nvbo->base; in nouveau_bo_wrap_locked()
686 nvbo = calloc(1, sizeof(*nvbo)); in nouveau_bo_wrap_locked()
687 if (nvbo) { in nouveau_bo_wrap_locked()
688 atomic_set(&nvbo->refcnt, 1); in nouveau_bo_wrap_locked()
689 nvbo->base.device = dev; in nouveau_bo_wrap_locked()
690 abi16_bo_info(&nvbo->base, &req); in nouveau_bo_wrap_locked()
691 nvbo->name = name; in nouveau_bo_wrap_locked()
692 DRMLISTADD(&nvbo->head, &nvdev->bo_list); in nouveau_bo_wrap_locked()
693 *pbo = &nvbo->base; in nouveau_bo_wrap_locked()
701 nouveau_bo_make_global(struct nouveau_bo_priv *nvbo) in nouveau_bo_make_global() argument
703 if (!nvbo->head.next) { in nouveau_bo_make_global()
704 struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device); in nouveau_bo_make_global()
706 if (!nvbo->head.next) in nouveau_bo_make_global()
707 DRMLISTADD(&nvbo->head, &nvdev->bo_list); in nouveau_bo_make_global()
730 struct nouveau_bo_priv *nvbo; in nouveau_bo_name_ref() local
735 DRMLISTFOREACHENTRY(nvbo, &nvdev->bo_list, head) { in nouveau_bo_name_ref()
736 if (nvbo->name == name) { in nouveau_bo_name_ref()
737 ret = nouveau_bo_wrap_locked(dev, nvbo->base.handle, in nouveau_bo_name_ref()
758 struct nouveau_bo_priv *nvbo = nouveau_bo(bo); in nouveau_bo_name_get() local
760 *name = nvbo->name; in nouveau_bo_name_get()
768 nvbo->name = *name = req.name; in nouveau_bo_name_get()
770 nouveau_bo_make_global(nvbo); in nouveau_bo_name_get()
813 struct nouveau_bo_priv *nvbo = nouveau_bo(bo); in nouveau_bo_set_prime() local
816 ret = drmPrimeHandleToFD(drm->fd, nvbo->base.handle, DRM_CLOEXEC, prime_fd); in nouveau_bo_set_prime()
820 nouveau_bo_make_global(nvbo); in nouveau_bo_set_prime()
829 struct nouveau_bo_priv *nvbo = nouveau_bo(bo); in nouveau_bo_wait() local
841 if (!nvbo->head.next && !(nvbo->access & NOUVEAU_BO_WR) && in nouveau_bo_wait()
855 nvbo->access = 0; in nouveau_bo_wait()
864 struct nouveau_bo_priv *nvbo = nouveau_bo(bo); in nouveau_bo_map() local
867 MAP_SHARED, drm->fd, nvbo->map_handle); in nouveau_bo_map()