Lines Matching full:objects
13 * multiple GEM objects while preparing hardware operations (e.g. command
17 * unlocks all previously locked GEM objects and locks the contended one first
18 * before locking any further objects.
55 /* Unlock all objects and drop references */
74 * @nr: the initial # of objects
76 * Initialize the object and make sure that we can track locked objects.
78 * If nr is non-zero then it is used as the initial objects table size.
87 exec->objects = kvmalloc_array(nr, sizeof(void *), GFP_KERNEL);
90 exec->max_objects = exec->objects ? nr : 0;
101 * Unlock all locked objects, drop the references to objects and free all memory
107 kvfree(exec->objects);
121 * objects locked.
150 tmp = kvrealloc(exec->objects, size + PAGE_SIZE, GFP_KERNEL);
154 exec->objects = tmp;
158 exec->objects[exec->num_objects++] = obj;
258 * Unlock the GEM object and remove it from the collection of locked objects.
259 * Should only be used to unlock the most recently locked objects. It's not time
260 * efficient to unlock objects locked long ago.
267 if (exec->objects[i] == obj) {
270 exec->objects[i - 1] = exec->objects[i];
311 * drm_exec_prepare_array - helper to prepare an array of objects
313 * @objects: array of GEM object to prepare
314 * @num_objects: number of GEM objects in the array
317 * Prepares all GEM objects in an array, aborts on first error.
324 struct drm_gem_object **objects,
331 ret = drm_exec_prepare_obj(exec, objects[i], num_fences);