Re: [PATCH 1/2] drm/amdgpu: add new accessors for GPU reset-affected critcal sections

2024-02-19 Thread Christian König

Am 16.02.24 um 16:13 schrieb Alex Deucher:

Provide helper functions for code which needs to be mutually
exclusive with GPU resets.  While we are here, move
amdgpu_in_reset in amdgpu_reset.c since that is the more
logical location for it and add documentation.

Signed-off-by: Alex Deucher 
---
  drivers/gpu/drm/amd/amdgpu/amdgpu.h   |  2 -
  .../drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c|  1 +
  .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c |  1 +
  .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c |  1 +
  .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c|  5 --
  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c | 86 +++
  drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h |  6 ++
  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c |  1 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c  |  1 +
  drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c|  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c|  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c|  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c |  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c |  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c   |  1 +
  drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c|  1 +
  drivers/gpu/drm/amd/amdgpu/mes_v10_1.c|  1 +
  drivers/gpu/drm/amd/amdgpu/mes_v11_0.c|  1 +
  drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c  |  1 +
  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  1 +
  .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c|  1 +
  drivers/gpu/drm/amd/pm/amdgpu_pm.c|  1 +
  .../drm/amd/pm/powerplay/inc/amd_powerplay.h  |  1 +
  drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c |  1 +
  .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c |  1 +
  .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c|  1 +
  .../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c  |  1 +
  33 files changed, 121 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 9246bca0a008..0e365cadcc3f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1602,8 +1602,6 @@ static inline bool amdgpu_is_tmz(struct amdgpu_device 
*adev)
 return adev->gmc.tmz_enabled;
  }
  
-int amdgpu_in_reset(struct amdgpu_device *adev);

-
  extern const struct attribute_group amdgpu_vram_mgr_attr_group;
  extern const struct attribute_group amdgpu_gtt_mgr_attr_group;
  extern const struct attribute_group amdgpu_flash_attr_group;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
index 69810b3f1c63..78bec0b6c502 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
@@ -22,6 +22,7 @@
  #include "amdgpu.h"
  #include "amdgpu_amdkfd.h"
  #include "amdgpu_amdkfd_gfx_v10.h"
+#include "amdgpu_reset.h"
  #include "gc/gc_10_1_0_offset.h"
  #include "gc/gc_10_1_0_sh_mask.h"
  #include "athub/athub_2_0_0_offset.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
index ca4a6b82817f..717a6d10b01c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
@@ -22,6 +22,7 @@
  
  #include "amdgpu.h"

  #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
  #include "cikd.h"
  #include "cik_sdma.h"
  #include "gfx_v7_0.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
index 0f3e2944edd7..d08e9c308835 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
@@ -22,6 +22,7 @@
  
  #include "amdgpu.h"

  #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
  #include "gfx_v8_0.h"
  #include "gca/gfx_8_0_sh_mask.h"
  #include "gca/gfx_8_0_d.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
index 5a35a8ca8922..b0ff1065491e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
@@ -21,6 +21,7 @@
   */
  #include "amdgpu.h"
  #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
  #include "gc/gc_9_0_offset.h"
  #include "gc/gc_9_0_sh_mask.h"
  #include "vega10_enum.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index e2ae9ba147ba..0eed6bb213b8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -27,6 +27,7 @@
  #include "amdgpu.h"
  #include "amdgpu_sched.h"
  #include "amdgpu_ras.h"
+#include "amdgpu_reset.h"
  #in

[PATCH 1/2] drm/amdgpu: add new accessors for GPU reset-affected critcal sections

2024-02-16 Thread Alex Deucher
Provide helper functions for code which needs to be mutually
exclusive with GPU resets.  While we are here, move
amdgpu_in_reset in amdgpu_reset.c since that is the more
logical location for it and add documentation.

Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h   |  2 -
 .../drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c|  1 +
 .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c |  1 +
 .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c |  1 +
 .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c|  5 --
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c | 86 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h |  6 ++
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c  |  1 +
 drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c|  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c|  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c|  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c |  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c |  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c   |  1 +
 drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c|  1 +
 drivers/gpu/drm/amd/amdgpu/mes_v10_1.c|  1 +
 drivers/gpu/drm/amd/amdgpu/mes_v11_0.c|  1 +
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c  |  1 +
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  1 +
 .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c|  1 +
 drivers/gpu/drm/amd/pm/amdgpu_pm.c|  1 +
 .../drm/amd/pm/powerplay/inc/amd_powerplay.h  |  1 +
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c |  1 +
 .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c |  1 +
 .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c|  1 +
 .../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c  |  1 +
 33 files changed, 121 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 9246bca0a008..0e365cadcc3f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1602,8 +1602,6 @@ static inline bool amdgpu_is_tmz(struct amdgpu_device 
*adev)
return adev->gmc.tmz_enabled;
 }
 
-int amdgpu_in_reset(struct amdgpu_device *adev);
-
 extern const struct attribute_group amdgpu_vram_mgr_attr_group;
 extern const struct attribute_group amdgpu_gtt_mgr_attr_group;
 extern const struct attribute_group amdgpu_flash_attr_group;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
index 69810b3f1c63..78bec0b6c502 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c
@@ -22,6 +22,7 @@
 #include "amdgpu.h"
 #include "amdgpu_amdkfd.h"
 #include "amdgpu_amdkfd_gfx_v10.h"
+#include "amdgpu_reset.h"
 #include "gc/gc_10_1_0_offset.h"
 #include "gc/gc_10_1_0_sh_mask.h"
 #include "athub/athub_2_0_0_offset.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
index ca4a6b82817f..717a6d10b01c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
@@ -22,6 +22,7 @@
 
 #include "amdgpu.h"
 #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
 #include "cikd.h"
 #include "cik_sdma.h"
 #include "gfx_v7_0.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
index 0f3e2944edd7..d08e9c308835 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
@@ -22,6 +22,7 @@
 
 #include "amdgpu.h"
 #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
 #include "gfx_v8_0.h"
 #include "gca/gfx_8_0_sh_mask.h"
 #include "gca/gfx_8_0_d.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
index 5a35a8ca8922..b0ff1065491e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
@@ -21,6 +21,7 @@
  */
 #include "amdgpu.h"
 #include "amdgpu_amdkfd.h"
+#include "amdgpu_reset.h"
 #include "gc/gc_9_0_offset.h"
 #include "gc/gc_9_0_sh_mask.h"
 #include "vega10_enum.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index e2ae9ba147ba..0eed6bb213b8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -27,6 +27,7 @@
 #include "amdgpu.h"
 #include "amdgpu_sched.h"
 #include "amdgpu_ras.h"
+#include "amdgpu_reset.h"
 #include 
 
 #define to_amdgpu_ctx_entity(e)\
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/driver