From d2300987cf5a483acde519d671421b646f8d5390 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 6 Oct 2023 11:23:25 -0700 Subject: [PATCH] drm/xe/gt: Dump PAT table when failing to initialize When failing on early initialization, one cause may be that the PAT configuration is not correct. Dump it for ease of debugging. Reviewed-by: Matt Roper Link: https://lore.kernel.org/r/20231006182325.3617685-4-lucas.demarchi@intel.com Signed-off-by: Lucas De Marchi Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/xe/xe_gt.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c index 68cd9a7ee0872..c63e2e4750b1e 100644 --- a/drivers/gpu/drm/xe/xe_gt.c +++ b/drivers/gpu/drm/xe/xe_gt.c @@ -307,6 +307,17 @@ int xe_gt_init_early(struct xe_gt *gt) return 0; } +static void dump_pat_on_error(struct xe_gt *gt) +{ + struct drm_printer p; + char prefix[32]; + + snprintf(prefix, sizeof(prefix), "[GT%u Error]", gt->info.id); + p = drm_debug_printer(prefix); + + xe_pat_dump(gt, &p); +} + static int gt_fw_domain_init(struct xe_gt *gt) { int err, i; @@ -360,6 +371,7 @@ static int gt_fw_domain_init(struct xe_gt *gt) return 0; err_force_wake: + dump_pat_on_error(gt); xe_force_wake_put(gt_to_fw(gt), XE_FW_GT); err_hw_fence_irq: for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i) -- 2.30.2