Lines Matching defs:bo
32 drm_private void bo_del(struct fd_bo *bo);
91 struct fd_bo *bo;
94 bo = LIST_ENTRY(struct fd_bo, bucket->list.next, list);
97 if (time && ((time - bo->free_time) <= 1))
100 VG_BO_OBTAIN(bo);
101 list_del(&bo->list);
102 bo_del(bo);
126 static int is_idle(struct fd_bo *bo)
128 return fd_bo_cpu_prep(bo, NULL,
136 struct fd_bo *bo = NULL;
142 * NOTE that intel takes ALLOC_FOR_RENDER bo's from the list tail
147 bo = LIST_ENTRY(struct fd_bo, bucket->list.next, list);
149 if (is_idle(bo)) {
150 list_del(&bo->list);
152 bo = NULL;
157 return bo;
164 struct fd_bo *bo = NULL;
174 bo = find_in_bucket(bucket, flags);
175 if (bo) {
176 VG_BO_OBTAIN(bo);
177 if (bo->funcs->madvise(bo, TRUE) <= 0) {
180 bo_del(bo);
184 atomic_set(&bo->refcnt, 1);
185 fd_device_ref(bo->dev);
186 return bo;
194 fd_bo_cache_free(struct fd_bo_cache *cache, struct fd_bo *bo)
196 struct fd_bo_bucket *bucket = get_bucket(cache, bo->size);
202 bo->funcs->madvise(bo, FALSE);
206 bo->free_time = time.tv_sec;
207 VG_BO_RELEASE(bo);
208 list_addtail(&bo->list, &bucket->list);
211 /* bo's in the bucket cache don't have a ref and
214 fd_device_del_locked(bo->dev);