From: Michał Winiarski <[email protected]>

The information about platform/driver/user view of GuC firmware usage
currently requires user to either go through kernel log or parse the
combination of "enable_guc" modparam and various debugfs entries.
Let's keep things simple and add a "supported/used/wanted" matrix
(already used internally by i915) in guc_info debugfs.

Signed-off-by: Michał Winiarski <[email protected]>
Cc: Daniele Ceraolo Spurio <[email protected]>
Cc: Lukasz Fiedorowicz <[email protected]>
Cc: Michal Wajdeczko <[email protected]>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 861657897c0f..446a41946f56 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -733,19 +733,28 @@ int intel_guc_allocate_and_map_vma(struct intel_guc *guc, 
u32 size,
  */
 void intel_guc_load_status(struct intel_guc *guc, struct drm_printer *p)
 {
+       struct intel_uc *uc = container_of(guc, struct intel_uc, guc);
        struct intel_gt *gt = guc_to_gt(guc);
        struct intel_uncore *uncore = gt->uncore;
        intel_wakeref_t wakeref;
 
-       if (!intel_guc_is_supported(guc)) {
-               drm_printf(p, "GuC not supported\n");
+       drm_printf(p, "[guc] supported:%s wanted:%s used:%s\n",
+                  yesno(intel_uc_supports_guc(uc)),
+                  yesno(intel_uc_wants_guc(uc)),
+                  yesno(intel_uc_uses_guc(uc)));
+       drm_printf(p, "[huc] supported:%s wanted:%s used:%s\n",
+                  yesno(intel_uc_supports_huc(uc)),
+                  yesno(intel_uc_wants_huc(uc)),
+                  yesno(intel_uc_uses_huc(uc)));
+       drm_printf(p, "[submission] supported:%s wanted:%s used:%s\n",
+                  yesno(intel_uc_supports_guc_submission(uc)),
+                  yesno(intel_uc_wants_guc_submission(uc)),
+                  yesno(intel_uc_uses_guc_submission(uc)));
+
+       if (!intel_guc_is_supported(guc) || !intel_guc_is_wanted(guc))
                return;
-       }
 
-       if (!intel_guc_is_wanted(guc)) {
-               drm_printf(p, "GuC disabled\n");
-               return;
-       }
+       drm_puts(p, "\n");
 
        intel_uc_fw_dump(&guc->fw, p);
 
-- 
2.27.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to