Lines Matching defs:dev
44 struct fd_device *dev = NULL;
62 dev = msm_device_new(fd, version);
66 dev = virtio_device_new(fd, version);
71 dev = kgsl_device_new(fd);
75 if (!dev) {
83 if (!dev)
86 p_atomic_set(&dev->refcnt, 1);
87 dev->fd = fd;
88 dev->handle_table =
90 dev->name_table =
92 fd_bo_cache_init(&dev->bo_cache, false);
93 fd_bo_cache_init(&dev->ring_cache, true);
95 list_inithead(&dev->deferred_submits);
96 simple_mtx_init(&dev->submit_lock, mtx_plain);
97 simple_mtx_init(&dev->suballoc_lock, mtx_plain);
99 return dev;
109 struct fd_device *dev = fd_device_new(dup_fd);
110 if (dev)
111 dev->closefd = 1;
114 return dev;
136 fd_device_ref(struct fd_device *dev)
138 p_atomic_inc(&dev->refcnt);
139 return dev;
143 fd_device_purge(struct fd_device *dev)
146 fd_bo_cache_cleanup(&dev->bo_cache, 0);
147 fd_bo_cache_cleanup(&dev->ring_cache, 0);
152 fd_device_del_impl(struct fd_device *dev)
156 assert(list_is_empty(&dev->deferred_submits));
158 if (dev->suballoc_bo)
159 fd_bo_del_locked(dev->suballoc_bo);
161 fd_bo_cache_cleanup(&dev->bo_cache, 0);
162 fd_bo_cache_cleanup(&dev->ring_cache, 0);
167 dev->funcs->destroy(dev);
169 _mesa_hash_table_destroy(dev->handle_table, NULL);
170 _mesa_hash_table_destroy(dev->name_table, NULL);
172 if (util_queue_is_initialized(&dev->submit_queue))
173 util_queue_destroy(&dev->submit_queue);
175 if (dev->closefd)
176 close(dev->fd);
178 free(dev);
182 fd_device_del_locked(struct fd_device *dev)
184 if (!p_atomic_dec_zero(&dev->refcnt))
186 fd_device_del_impl(dev);
190 fd_device_del(struct fd_device *dev)
192 if (!p_atomic_dec_zero(&dev->refcnt))
195 fd_device_del_impl(dev);
200 fd_device_fd(struct fd_device *dev)
202 return dev->fd;
206 fd_device_version(struct fd_device *dev)
208 return dev->version;
220 fd_has_syncobj(struct fd_device *dev)
223 if (drmGetCap(dev->fd, DRM_CAP_SYNCOBJ, &value))
225 return value && dev->version >= FD_VERSION_FENCE_FD;