Am 2022-10-25 um 09:42 schrieb Graham Sider:
Hang on MES timeout if halt_if_hws_hang is set to 1.

Signed-off-by: Graham Sider <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu.h    | 2 ++
  drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 4 ++++
  2 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 0e6ddf05c23c..9999c18e7d8e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -219,10 +219,12 @@ extern int amdgpu_use_xgmi_p2p;
  extern int sched_policy;
  extern bool debug_evictions;
  extern bool no_system_mem_limit;
+extern int halt_if_hws_hang;
  #else
  static const int __maybe_unused sched_policy = KFD_SCHED_POLICY_HWS;
  static const bool __maybe_unused debug_evictions; /* = false */
  static const bool __maybe_unused no_system_mem_limit;
+static const int __maybe_unused halt_if_hws_hang;
  #endif
  #ifdef CONFIG_HSA_AMD_P2P
  extern bool pcie_p2p;
diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
index e14f314902b1..d09f92d38ad1 100644
--- a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
@@ -129,6 +129,10 @@ static int mes_v11_0_submit_pkt_and_poll_completion(struct 
amdgpu_mes *mes,
        if (r < 1) {
                DRM_ERROR("MES failed to response msg=%d\n",
                          x_pkt->header.opcode);
+
+               while (halt_if_hws_hang)
+                       schedule();
+

I think we should add the same in mes_v10_1.c to keep it consistent.

Regards,
  Felix


                return -ETIMEDOUT;
        }

Reply via email to