Lines Matching full:objects
11 * multiple GEM objects while preparing hardware operations (e.g. command
15 * unlocks all previously locked GEM objects and locks the contended one first
16 * before locking any further objects.
53 /* Unlock all objects and drop references */
72 * @nr: the initial # of objects
74 * Initialize the object and make sure that we can track locked objects.
76 * If nr is non-zero then it is used as the initial objects table size.
85 exec->objects = kvmalloc_array(nr, sizeof(void *), GFP_KERNEL); in drm_exec_init()
88 exec->max_objects = exec->objects ? nr : 0; in drm_exec_init()
99 * Unlock all locked objects, drop the references to objects and free all memory
105 kvfree(exec->objects); in drm_exec_fini()
119 * objects locked.
148 tmp = kvrealloc(exec->objects, size + PAGE_SIZE, GFP_KERNEL); in drm_exec_obj_locked()
152 exec->objects = tmp; in drm_exec_obj_locked()
156 exec->objects[exec->num_objects++] = obj; in drm_exec_obj_locked()
256 * Unlock the GEM object and remove it from the collection of locked objects.
257 * Should only be used to unlock the most recently locked objects. It's not time
258 * efficient to unlock objects locked long ago.
265 if (exec->objects[i] == obj) { in drm_exec_unlock_obj()
268 exec->objects[i - 1] = exec->objects[i]; in drm_exec_unlock_obj()
309 * drm_exec_prepare_array - helper to prepare an array of objects
311 * @objects: array of GEM object to prepare
312 * @num_objects: number of GEM objects in the array
315 * Prepares all GEM objects in an array, aborts on first error.
322 struct drm_gem_object **objects, in drm_exec_prepare_array() argument
329 ret = drm_exec_prepare_obj(exec, objects[i], num_fences); in drm_exec_prepare_array()