Lines Matching full:gem
557 * .map.gem.obj = obj,
558 * .map.gem.offset = offset,
679 * // Typically protected with a driver specific GEM gpuva lock
1053 * order to serve as root GEM object providing the &drm_resv shared across
1323 struct drm_gem_object *obj = va->gem.obj; in drm_gpuvm_prepare_range()
1595 INIT_LIST_HEAD(&vm_bo->list.entry.gem); in drm_gpuvm_bo_create()
1612 * Note that this puts a refcount on the GEM object, which may destroy the GEM
1656 list_del(&vm_bo->list.entry.gem); in drm_gpuvm_bo_destroy()
1670 * hold the lock that the GEM uses for its gpuva list (either the GEM's
1694 * refcount drops to zero. Must be called with GEM mutex held. After releasing
1695 * the GEM mutex, drm_gpuvm_bo_defer_zombie_cleanup() must be called.
1708 list_del(&vm_bo->list.entry.gem); in drm_gpuvm_bo_into_zombie()
1715 * Called after drm_gpuvm_bo_into_zombie(). GEM mutex must not be held.
1717 * It's important that the GEM stays alive for the duration in which we hold
1719 * might call drm_gpuvm_bo_deferred_cleanup() and put the GEM. Therefore, to
1720 * avoid kfreeing a mutex we are holding, the GEM mutex must be released
1876 list_add_tail(&vm_bo->list.entry.gem, &obj->gpuva.list); in drm_gpuvm_bo_obtain_locked()
1919 list_add_tail(&__vm_bo->list.entry.gem, &obj->gpuva.list); in drm_gpuvm_bo_obtain_prealloc()
2090 * This function expects the caller to protect the GEM's GPUVA list against
2091 * concurrent access using either the GEM's dma-resv or gpuva.lock mutex.
2096 struct drm_gem_object *obj = va->gem.obj; in drm_gpuva_link()
2107 list_add_tail(&va->gem.entry, &vm_bo->list.gpuva); in drm_gpuva_link()
2125 * This function expects the caller to protect the GEM's GPUVA list against
2126 * concurrent access using either the GEM's dma-resv or gpuva.lock mutex.
2131 struct drm_gem_object *obj = va->gem.obj; in drm_gpuva_unlink()
2138 list_del_init(&va->gem.entry); in drm_gpuva_unlink()
2155 struct drm_gem_object *obj = va->gem.obj; in drm_gpuva_unlink_defer()
2165 list_del_init(&va->gem.entry); in drm_gpuva_unlink_defer()
2363 op.map.gem.obj = req->map.gem.obj; in op_map_cb()
2364 op.map.gem.offset = req->map.gem.offset; in op_map_cb()
2409 struct drm_gem_object *req_obj = req->map.gem.obj; in __drm_gpuvm_sm_map()
2412 u64 req_offset = req->map.gem.offset; in __drm_gpuvm_sm_map()
2422 struct drm_gem_object *obj = va->gem.obj; in __drm_gpuvm_sm_map()
2423 u64 offset = va->gem.offset; in __drm_gpuvm_sm_map()
2427 bool merge = !!va->gem.obj; in __drm_gpuvm_sm_map()
2454 .gem.obj = obj, in __drm_gpuvm_sm_map()
2455 .gem.offset = offset + req_range, in __drm_gpuvm_sm_map()
2475 .gem.obj = obj, in __drm_gpuvm_sm_map()
2476 .gem.offset = offset, in __drm_gpuvm_sm_map()
2517 .gem.obj = obj, in __drm_gpuvm_sm_map()
2518 .gem.offset = offset + ls_range + in __drm_gpuvm_sm_map()
2555 .gem.obj = obj, in __drm_gpuvm_sm_map()
2556 .gem.offset = offset + req_end - addr, in __drm_gpuvm_sm_map()
2597 struct drm_gem_object *obj = va->gem.obj; in __drm_gpuvm_sm_unmap()
2598 u64 offset = va->gem.offset; in __drm_gpuvm_sm_unmap()
2606 prev.gem.obj = obj; in __drm_gpuvm_sm_unmap()
2607 prev.gem.offset = offset; in __drm_gpuvm_sm_unmap()
2615 next.gem.obj = obj; in __drm_gpuvm_sm_unmap()
2616 next.gem.offset = offset + (req_end - addr); in __drm_gpuvm_sm_unmap()
2733 if (op->remap.unmap->va->gem.obj) in drm_gpuva_sm_step_lock()
2734 return drm_exec_lock_obj(exec, op->remap.unmap->va->gem.obj); in drm_gpuva_sm_step_lock()
2737 if (op->unmap.va->gem.obj) in drm_gpuva_sm_step_lock()
2738 return drm_exec_lock_obj(exec, op->unmap.va->gem.obj); in drm_gpuva_sm_step_lock()
2791 * op, because the later altered step will involve the same GEM object(s)
2796 * locked the GEM object in the earlier DRIVER_OP_UNMAP op.
2801 * already locked the GEM object in the earlier DRIVER_OP_MAP step.
2810 struct drm_gem_object *req_obj = req->map.gem.obj; in drm_gpuvm_sm_map_exec_lock()
3160 * drm_gpuvm_bo_unmap_ops_create() - creates the &drm_gpuva_ops to unmap a GEM
3164 * GPUVA attached to a GEM.
3172 * This function expects the caller to protect the GEM's GPUVA list against
3173 * concurrent access using either the GEM's dma-resv or gpuva.lock mutex.