drm/xe: Ensure all the inner access are using the _noresume variant
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 17 Apr 2024 20:39:51 +0000 (16:39 -0400)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 18 Apr 2024 12:31:40 +0000 (08:31 -0400)
At this point mem_access references should be only used as inner
points of the execution and a get with synchronous resume previously
called at an outer point.

So, before killing mem_acces in favor of direct accsess, let's
ensure that we first convert them towards the new _noresume
variant that will WARN us if no inner caller happened.

Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240417203952.25503-9-rodrigo.vivi@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_device.c

index 47a4bb0..a7c4e4f 100644 (file)
@@ -749,7 +749,7 @@ void xe_device_mem_access_get(struct xe_device *xe)
        if (xe_pm_read_callback_task(xe) == current)
                return;
 
-       xe_pm_runtime_get(xe);
+       xe_pm_runtime_get_noresume(xe);
        ref = atomic_inc_return(&xe->mem_access.ref);
 
        xe_assert(xe, ref != S32_MAX);