search for: drm_gpuva_manager_external_lock

Displaying 2 results from an estimated 2 matches for "drm_gpuva_manager_external_lock".

2023 Jul 07
0
[PATCH drm-next v6 02/13] drm: manager to keep track of GPUs VA mappings
...gt; @@ -822,16 +820,12 @@ EXPORT_SYMBOL(drm_gpuva_remove); > void > drm_gpuva_link(struct drm_gpuva *va) > { > - struct drm_gpuva_manager *mgr = va->mgr; > struct drm_gem_object *obj = va->gem.obj; > > if (unlikely(!obj)) > return; > > - if (drm_gpuva_manager_external_lock(mgr)) > - drm_gpuva_manager_ext_assert_held(mgr); > - else > - dma_resv_assert_held(obj->resv); > + drm_gem_gpuva_assert_lock_held(obj); > > list_add_tail(&va->gem.entry, &obj->gpuva.list); > } > @@ -850,16 +844,12 @@ EXPORT_SYMBOL(drm_gpuva_link);...
2023 Jun 29
3
[PATCH drm-next v6 02/13] drm: manager to keep track of GPUs VA mappings
...ects the caller to protect the GEM's GPUVA list against + * concurrent access using the GEMs dma_resv lock. + */ +void +drm_gpuva_link(struct drm_gpuva *va) +{ + struct drm_gpuva_manager *mgr = va->mgr; + struct drm_gem_object *obj = va->gem.obj; + + if (unlikely(!obj)) + return; + + if (drm_gpuva_manager_external_lock(mgr)) + drm_gpuva_manager_ext_assert_held(mgr); + else + dma_resv_assert_held(obj->resv); + + list_add_tail(&va->gem.entry, &obj->gpuva.list); +} +EXPORT_SYMBOL(drm_gpuva_link); + +/** + * drm_gpuva_unlink - unlink a &drm_gpuva + * @va: the &drm_gpuva to unlink + * + * Th...