Re: [PATCH v2 3/5] drm/i915/guc: Add GuC specific debug print wrappers

2022-11-22 Thread John Harrison

On 11/22/2022 09:42, Michal Wajdeczko wrote:

On 18.11.2022 02:58, john.c.harri...@intel.com wrote:

From: John Harrison 

Create a set of GuC printers and start using them.

Signed-off-by: John Harrison 
---
  drivers/gpu/drm/i915/gt/uc/intel_guc.c| 32 --
  drivers/gpu/drm/i915/gt/uc/intel_guc.h| 35 +++
  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c|  8 +--
  .../gpu/drm/i915/gt/uc/intel_guc_capture.c| 48 +-
  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 19 +++---
  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c| 37 ++-
  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c |  7 +--
  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   | 55 +++-
  .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 62 +--
  drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 34 +-
  .../drm/i915/gt/uc/selftest_guc_hangcheck.c   | 22 +++
  .../drm/i915/gt/uc/selftest_guc_multi_lrc.c   | 10 +--
  12 files changed, 179 insertions(+), 190 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 52aede324788e..d9972510ee29b 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -94,8 +94,8 @@ static void gen9_enable_guc_interrupts(struct intel_guc *guc)
assert_rpm_wakelock_held(>i915->runtime_pm);
  
  	spin_lock_irq(gt->irq_lock);

-   WARN_ON_ONCE(intel_uncore_read(gt->uncore, GEN8_GT_IIR(2)) &
-gt->pm_guc_events);
+   guc_WARN_ON_ONCE(guc, intel_uncore_read(gt->uncore, GEN8_GT_IIR(2)) &
+gt->pm_guc_events);
gen6_gt_pm_enable_irq(gt, gt->pm_guc_events);
spin_unlock_irq(gt->irq_lock);
  
@@ -339,7 +339,7 @@ static void guc_init_params(struct intel_guc *guc)

params[GUC_CTL_DEVID] = guc_ctl_devid(guc);
  
  	for (i = 0; i < GUC_CTL_MAX_DWORDS; i++)

-   DRM_DEBUG_DRIVER("param[%2d] = %#x\n", i, params[i]);
+   guc_dbg(guc, "init param[%2d] = %#x\n", i, params[i]);
  }
  
  /*

@@ -451,7 +451,7 @@ int intel_guc_init(struct intel_guc *guc)
intel_uc_fw_fini(>fw);
  out:
intel_uc_fw_change_status(>fw, INTEL_UC_FIRMWARE_INIT_FAIL);
-   i915_probe_error(gt->i915, "failed with %d\n", ret);
+   guc_probe_error(guc, "init failed with %d\n", ret);
return ret;
  }
  
@@ -484,7 +484,6 @@ void intel_guc_fini(struct intel_guc *guc)

  int intel_guc_send_mmio(struct intel_guc *guc, const u32 *request, u32 len,
u32 *response_buf, u32 response_buf_size)
  {
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
struct intel_uncore *uncore = guc_to_gt(guc)->uncore;
u32 header;
int i;
@@ -519,8 +518,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 
*request, u32 len,
   10, 10, );
if (unlikely(ret)) {
  timeout:
-   drm_err(>drm, "mmio request %#x: no reply %x\n",
-   request[0], header);
+   guc_err(guc, "mmio request %#x: no reply %x\n", request[0], 
header);
goto out;
}
  
@@ -541,8 +539,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 *request, u32 len,

if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) == 
GUC_HXG_TYPE_NO_RESPONSE_RETRY) {
u32 reason = FIELD_GET(GUC_HXG_RETRY_MSG_0_REASON, header);
  
-		drm_dbg(>drm, "mmio request %#x: retrying, reason %u\n",

-   request[0], reason);
+   guc_dbg(guc, "mmio request %#x: retrying, reason %u\n", 
request[0], reason);
goto retry;
}
  
@@ -550,16 +547,14 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 *request, u32 len,

u32 hint = FIELD_GET(GUC_HXG_FAILURE_MSG_0_HINT, header);
u32 error = FIELD_GET(GUC_HXG_FAILURE_MSG_0_ERROR, header);
  
-		drm_err(>drm, "mmio request %#x: failure %x/%u\n",

-   request[0], error, hint);
+   guc_err(guc, "mmio request %#x: failure %x/%u\n", request[0], 
error, hint);
ret = -ENXIO;
goto out;
}
  
  	if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) != GUC_HXG_TYPE_RESPONSE_SUCCESS) {

  proto:
-   drm_err(>drm, "mmio request %#x: unexpected reply %#x\n",
-   request[0], header);
+   guc_err(guc, "mmio request %#x: unexpected reply %#x\n", 
request[0], header);
ret = -EPROTO;
goto out;
}
@@ -601,9 +596,9 @@ int intel_guc_to_host_process_recv_msg(struct intel_guc 
*guc,
msg = payload[0] & guc->msg_enabled_mask;
  
  	if (msg & INTEL_GUC_RECV_MSG_CRASH_DUMP_POSTED)

-   drm_err(_to_gt(guc)->i915->drm, "Received early GuC crash dump 
notification!\n");
+   guc_err(guc, "early notification: Crash dump!\n");
if (msg & INTEL_GUC_RECV_MSG_EXCEPTION)
-

Re: [PATCH v2 3/5] drm/i915/guc: Add GuC specific debug print wrappers

2022-11-22 Thread Michal Wajdeczko



On 18.11.2022 02:58, john.c.harri...@intel.com wrote:
> From: John Harrison 
> 
> Create a set of GuC printers and start using them.
> 
> Signed-off-by: John Harrison 
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc.c| 32 --
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h| 35 +++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c|  8 +--
>  .../gpu/drm/i915/gt/uc/intel_guc_capture.c| 48 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 19 +++---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c| 37 ++-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c |  7 +--
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   | 55 +++-
>  .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 62 +--
>  drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 34 +-
>  .../drm/i915/gt/uc/selftest_guc_hangcheck.c   | 22 +++
>  .../drm/i915/gt/uc/selftest_guc_multi_lrc.c   | 10 +--
>  12 files changed, 179 insertions(+), 190 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> index 52aede324788e..d9972510ee29b 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
> @@ -94,8 +94,8 @@ static void gen9_enable_guc_interrupts(struct intel_guc 
> *guc)
>   assert_rpm_wakelock_held(>i915->runtime_pm);
>  
>   spin_lock_irq(gt->irq_lock);
> - WARN_ON_ONCE(intel_uncore_read(gt->uncore, GEN8_GT_IIR(2)) &
> -  gt->pm_guc_events);
> + guc_WARN_ON_ONCE(guc, intel_uncore_read(gt->uncore, GEN8_GT_IIR(2)) &
> +  gt->pm_guc_events);
>   gen6_gt_pm_enable_irq(gt, gt->pm_guc_events);
>   spin_unlock_irq(gt->irq_lock);
>  
> @@ -339,7 +339,7 @@ static void guc_init_params(struct intel_guc *guc)
>   params[GUC_CTL_DEVID] = guc_ctl_devid(guc);
>  
>   for (i = 0; i < GUC_CTL_MAX_DWORDS; i++)
> - DRM_DEBUG_DRIVER("param[%2d] = %#x\n", i, params[i]);
> + guc_dbg(guc, "init param[%2d] = %#x\n", i, params[i]);
>  }
>  
>  /*
> @@ -451,7 +451,7 @@ int intel_guc_init(struct intel_guc *guc)
>   intel_uc_fw_fini(>fw);
>  out:
>   intel_uc_fw_change_status(>fw, INTEL_UC_FIRMWARE_INIT_FAIL);
> - i915_probe_error(gt->i915, "failed with %d\n", ret);
> + guc_probe_error(guc, "init failed with %d\n", ret);
>   return ret;
>  }
>  
> @@ -484,7 +484,6 @@ void intel_guc_fini(struct intel_guc *guc)
>  int intel_guc_send_mmio(struct intel_guc *guc, const u32 *request, u32 len,
>   u32 *response_buf, u32 response_buf_size)
>  {
> - struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
>   struct intel_uncore *uncore = guc_to_gt(guc)->uncore;
>   u32 header;
>   int i;
> @@ -519,8 +518,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 
> *request, u32 len,
>  10, 10, );
>   if (unlikely(ret)) {
>  timeout:
> - drm_err(>drm, "mmio request %#x: no reply %x\n",
> - request[0], header);
> + guc_err(guc, "mmio request %#x: no reply %x\n", request[0], 
> header);
>   goto out;
>   }
>  
> @@ -541,8 +539,7 @@ int intel_guc_send_mmio(struct intel_guc *guc, const u32 
> *request, u32 len,
>   if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) == 
> GUC_HXG_TYPE_NO_RESPONSE_RETRY) {
>   u32 reason = FIELD_GET(GUC_HXG_RETRY_MSG_0_REASON, header);
>  
> - drm_dbg(>drm, "mmio request %#x: retrying, reason %u\n",
> - request[0], reason);
> + guc_dbg(guc, "mmio request %#x: retrying, reason %u\n", 
> request[0], reason);
>   goto retry;
>   }
>  
> @@ -550,16 +547,14 @@ int intel_guc_send_mmio(struct intel_guc *guc, const 
> u32 *request, u32 len,
>   u32 hint = FIELD_GET(GUC_HXG_FAILURE_MSG_0_HINT, header);
>   u32 error = FIELD_GET(GUC_HXG_FAILURE_MSG_0_ERROR, header);
>  
> - drm_err(>drm, "mmio request %#x: failure %x/%u\n",
> - request[0], error, hint);
> + guc_err(guc, "mmio request %#x: failure %x/%u\n", request[0], 
> error, hint);
>   ret = -ENXIO;
>   goto out;
>   }
>  
>   if (FIELD_GET(GUC_HXG_MSG_0_TYPE, header) != 
> GUC_HXG_TYPE_RESPONSE_SUCCESS) {
>  proto:
> - drm_err(>drm, "mmio request %#x: unexpected reply %#x\n",
> - request[0], header);
> + guc_err(guc, "mmio request %#x: unexpected reply %#x\n", 
> request[0], header);
>   ret = -EPROTO;
>   goto out;
>   }
> @@ -601,9 +596,9 @@ int intel_guc_to_host_process_recv_msg(struct intel_guc 
> *guc,
>   msg = payload[0] & guc->msg_enabled_mask;
>  
>   if (msg & INTEL_GUC_RECV_MSG_CRASH_DUMP_POSTED)
> - drm_err(_to_gt(guc)->i915->drm, "Received early GuC crash 
> dump notification!\n");
> + guc_err(guc,