]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/xe/client: Check return value of xe_force_wake_get
authorNirmoy Das <nirmoy.das@intel.com>
Tue, 25 Jun 2024 09:42:28 +0000 (11:42 +0200)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 27 Jun 2024 18:56:11 +0000 (11:56 -0700)
xe_force_wake_get() can return error so check it's return value
before reading gpu_timestamp value.

v2: set HWE to NULL instead of setting timestamp to 0(Lucas)
    Add a warn on for xe_force_wake_put(Himal)

Fixes: 188ced1e0ff8 ("drm/xe/client: Print runtime to fdinfo")
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240625094228.5327-1-nirmoy.das@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_drm_client.c

index 4a19b771e3a0d2b9224ba9ee00aec4a440c5fb54..4bdb909eabfc9aff40ea74603d460ef67bcb76a2 100644 (file)
@@ -264,9 +264,13 @@ static void show_run_ticks(struct drm_printer *p, struct drm_file *file)
                if (!hwe)
                        continue;
 
-               xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+               if (xe_force_wake_get(gt_to_fw(gt), XE_FW_GT)) {
+                       hwe = NULL;
+                       break;
+               }
+
                gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
-               xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+               XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_GT));
                break;
        }