Lines Matching defs:obj

23  *	struct drm_gem_object *obj;
41 * drm_exec_for_each_locked_object(&exec, index, obj) {
42 * dma_resv_add_fence(obj->resv, fence, DMA_RESV_USAGE_READ);
56 struct drm_gem_object *obj;
59 drm_exec_for_each_locked_object_reverse(exec, index, obj) {
60 dma_resv_unlock(obj->resv);
61 drm_gem_object_put(obj);
142 struct drm_gem_object *obj)
156 drm_gem_object_get(obj);
157 exec->objects[exec->num_objects++] = obj;
165 struct drm_gem_object *obj = exec->contended;
168 if (likely(!obj))
174 ret = dma_resv_lock_slow_interruptible(obj->resv,
179 dma_resv_lock_slow(obj->resv, &exec->ticket);
182 ret = drm_exec_obj_locked(exec, obj);
186 exec->prelocked = obj;
190 dma_resv_unlock(obj->resv);
193 drm_gem_object_put(obj);
200 * @obj: the GEM object to lock
208 int drm_exec_lock_obj(struct drm_exec *exec, struct drm_gem_object *obj)
216 if (exec->prelocked == obj) {
223 ret = dma_resv_lock_interruptible(obj->resv, &exec->ticket);
225 ret = dma_resv_lock(obj->resv, &exec->ticket);
228 drm_gem_object_get(obj);
229 exec->contended = obj;
240 ret = drm_exec_obj_locked(exec, obj);
247 dma_resv_unlock(obj->resv);
255 * @obj: the GEM object to unlock
261 void drm_exec_unlock_obj(struct drm_exec *exec, struct drm_gem_object *obj)
266 if (exec->objects[i] == obj) {
267 dma_resv_unlock(obj->resv);
271 drm_gem_object_put(obj);
282 * @obj: the GEM object to prepare
290 int drm_exec_prepare_obj(struct drm_exec *exec, struct drm_gem_object *obj,
295 ret = drm_exec_lock_obj(exec, obj);
299 ret = dma_resv_reserve_fences(obj->resv, num_fences);
301 drm_exec_unlock_obj(exec, obj);