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...