On Wed Aug 27, 2025 at 3:38 PM CEST, Alice Ryhl wrote:
>  #ifdef CONFIG_LOCKDEP
> -/**
> - * drm_gem_gpuva_set_lock() - Set the lock protecting accesses to the gpuva 
> list.
> - * @obj: the &drm_gem_object
> - * @lock: the lock used to protect the gpuva list. The locking primitive
> - * must contain a dep_map field.
> - *
> - * Call this if you're not proctecting access to the gpuva list with the
> - * dma-resv lock, but with a custom lock.
> - */
> -#define drm_gem_gpuva_set_lock(obj, lock) \
> -     if (!WARN((obj)->gpuva.lock_dep_map, \
> -               "GEM GPUVA lock should be set only once.")) \
> -             (obj)->gpuva.lock_dep_map = &(lock)->dep_map
> -#define drm_gem_gpuva_assert_lock_held(obj) \
> -     lockdep_assert((obj)->gpuva.lock_dep_map ? \
> -                    lock_is_held((obj)->gpuva.lock_dep_map) : \
> +#define drm_gem_gpuva_assert_lock_held(gpuvm, obj) \
> +     lockdep_assert(drm_gpuvm_immediate_mode(gpuvm) ? \
> +                    lock_is_held(&(obj)->gpuva.lock.dep_map) : \

NIT: I think this can just be:

        lockdep_is_held(&(obj)->gpuva.lock)

If you want I can fix it up on apply.

>                      dma_resv_held((obj)->resv))
>  #else
> -#define drm_gem_gpuva_set_lock(obj, lock) do {} while (0)
> -#define drm_gem_gpuva_assert_lock_held(obj) do {} while (0)
> +#define drm_gem_gpuva_assert_lock_held(gpuvm, obj) do {} while (0)
>  #endif

Reply via email to