]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: Mark reserved engines in snapshot
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 6 Sep 2024 20:56:09 +0000 (13:56 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 9 Sep 2024 17:33:14 +0000 (10:33 -0700)
When printing <debufs>/gt*/hw_engines, it's useful to mark
what engines are reserved so it doesn't mislead developers
while debugging.

Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240906205609.3131330-1-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_hw_engine.c
drivers/gpu/drm/xe/xe_hw_engine_types.h

index c9c3beb3ce8d069da41232a5167a0a8d15794ebc..ce180faf25923259c88328476217b5081dc7cfb3 100644 (file)
@@ -903,6 +903,7 @@ xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe)
        snapshot->forcewake.ref = xe_force_wake_ref(gt_to_fw(hwe->gt),
                                                    hwe->domain);
        snapshot->mmio_base = hwe->mmio_base;
+       snapshot->kernel_reserved = xe_hw_engine_is_reserved(hwe);
 
        /* no more VF accessible data below this point */
        if (IS_SRIOV_VF(gt_to_xe(hwe->gt)))
@@ -1025,6 +1026,8 @@ void xe_hw_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot,
                   snapshot->logical_instance);
        drm_printf(p, "\tForcewake: domain 0x%x, ref %d\n",
                   snapshot->forcewake.domain, snapshot->forcewake.ref);
+       drm_printf(p, "\tReserved: %s\n",
+                  str_yes_no(snapshot->kernel_reserved));
        drm_printf(p, "\tHWSTAM: 0x%08x\n", snapshot->reg.ring_hwstam);
        drm_printf(p, "\tRING_HWS_PGA: 0x%08x\n", snapshot->reg.ring_hws_pga);
        drm_printf(p, "\tRING_EXECLIST_STATUS: 0x%016llx\n",
index 8be6d420ece40bead73f2bdadbc94f5da4e83316..be60edb3e673a3b2f5966bc1ebd5758baa58be11 100644 (file)
@@ -173,6 +173,8 @@ struct xe_hw_engine_snapshot {
        } forcewake;
        /** @mmio_base: MMIO base address of this hw engine*/
        u32 mmio_base;
+       /** @kernel_reserved: Engine reserved, can't be used by userspace */
+       bool kernel_reserved;
        /** @reg: Useful MMIO register snapshot */
        struct {
                /** @reg.ring_execlist_status: RING_EXECLIST_STATUS */