aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gt
diff options
context:
space:
mode:
authorMichał Winiarski <michal.winiarski@intel.com>2020-07-01 16:27:52 +0200
committerChris Wilson <chris@chris-wilson.co.uk>2020-07-03 10:27:29 +0100
commitba06216d00275f07dc7750bd21e9c3385e1188aa (patch)
treee3a75c138b2b21fe7bc6acda7d7cd0055538ea76 /drivers/gpu/drm/i915/gt
parentdrm/i915: do not read swizzle info if unavailable (diff)
downloadlinux-dev-ba06216d00275f07dc7750bd21e9c3385e1188aa.tar.xz
linux-dev-ba06216d00275f07dc7750bd21e9c3385e1188aa.zip
drm/i915/guc: Expand guc_info debugfs with more information
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 <michal.winiarski@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Lukasz Fiedorowicz <lukasz.fiedorowicz@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Lukasz Fiedorowicz <lukasz.fiedorowicz@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20200701142752.419878-1-michal@hardline.pl
Diffstat (limited to 'drivers/gpu/drm/i915/gt')
-rw-r--r--drivers/gpu/drm/i915/gt/uc/intel_guc.c23
1 files 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);