Hi Danilo, The below part of the documentation is out of date now. Thanks, Donald On Thu, 2023-07-13 at 19:03 +0200, Danilo Krummrich wrote: > > + > +/** > + * DOC: Locking > + * > + * Generally, the GPU VA manager does not take care of locking itself, it is > + * the drivers responsibility to take care about locking. Drivers might want to > + * protect the following operations: inserting, removing and iterating > + * &drm_gpuva objects as well as generating all kinds of operations, such as > + * split / merge or prefetch. > + * > + * The GPU VA manager also does not take care of the locking of the backing > + * &drm_gem_object buffers GPU VA lists by itself; drivers are responsible to > + * enforce mutual exclusion using either the GEMs dma_resv lock or alternatively > + * a driver specific external lock by setting the @DRM_GPUVA_MANAGER_LOCK_EXTERN > + * flag. > + * > + * For the latter, functions such as drm_gpuva_link() or drm_gpuva_unlink() > + * contain lockdep checks to indicate locking issues. For this to work drivers > + * must provide (in case the @DRM_GPUVA_MANAGER_LOCK_EXTERN flag is set) their > + * external lock with drm_gpuva_manager_set_ext_lock() after initialization. > + */ >