drm/amdgpu: Clean up the register dump via debugfs list
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 30 Jul 2024 05:49:53 +0000 (11:19 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 6 Aug 2024 14:42:22 +0000 (10:42 -0400)
debugfs register list for dump is cleaned as it have
some issues related to proper power state of the IP
before register read.

Since the above mentioned is removed we no longer want
this to be dumped part of the devcoredump and hence
removed.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 137a88b..c54ddd3 100644 (file)
@@ -823,17 +823,6 @@ struct amdgpu_mqd {
 struct amdgpu_reset_domain;
 struct amdgpu_fru_info;
 
-struct amdgpu_reset_info {
-       /* reset dump register */
-       u32 *reset_dump_reg_list;
-       u32 *reset_dump_reg_value;
-       int num_regs;
-
-#ifdef CONFIG_DEV_COREDUMP
-       struct amdgpu_coredump_info *coredump_info;
-#endif
-};
-
 /*
  * Non-zero (true) if the GPU has VRAM. Zero (false) otherwise.
  */
@@ -1157,8 +1146,6 @@ struct amdgpu_device {
 
        struct mutex                    benchmark_mutex;
 
-       struct amdgpu_reset_info        reset_info;
-
        bool                            scpm_enabled;
        uint32_t                        scpm_status;
 
index f6806ae..cf2b4dd 100644 (file)
@@ -203,7 +203,7 @@ amdgpu_devcoredump_read(char *buffer, loff_t offset, size_t count,
        struct amdgpu_coredump_info *coredump = data;
        struct drm_print_iterator iter;
        struct amdgpu_vm_fault_info *fault_info;
-       int i, ver;
+       int ver;
 
        iter.data = buffer;
        iter.offset = 0;
@@ -317,14 +317,6 @@ amdgpu_devcoredump_read(char *buffer, loff_t offset, size_t count,
 
        if (coredump->reset_vram_lost)
                drm_printf(&p, "VRAM is lost due to GPU reset!\n");
-       if (coredump->adev->reset_info.num_regs) {
-               drm_printf(&p, "AMDGPU register dumps:\nOffset:     Value:\n");
-
-               for (i = 0; i < coredump->adev->reset_info.num_regs; i++)
-                       drm_printf(&p, "0x%08x: 0x%08x\n",
-                                  coredump->adev->reset_info.reset_dump_reg_list[i],
-                                  coredump->adev->reset_info.reset_dump_reg_value[i]);
-       }
 
        return count - iter.remain;
 }
index a2a1a3d..3a43754 100644 (file)
@@ -5277,23 +5277,6 @@ mode1_reset_failed:
        return ret;
 }
 
-static int amdgpu_reset_reg_dumps(struct amdgpu_device *adev)
-{
-       int i;
-
-       lockdep_assert_held(&adev->reset_domain->sem);
-
-       for (i = 0; i < adev->reset_info.num_regs; i++) {
-               adev->reset_info.reset_dump_reg_value[i] =
-                       RREG32(adev->reset_info.reset_dump_reg_list[i]);
-
-               trace_amdgpu_reset_reg_dumps(adev->reset_info.reset_dump_reg_list[i],
-                                            adev->reset_info.reset_dump_reg_value[i]);
-       }
-
-       return 0;
-}
-
 int amdgpu_device_pre_asic_reset(struct amdgpu_device *adev,
                                 struct amdgpu_reset_context *reset_context)
 {
@@ -5359,8 +5342,6 @@ int amdgpu_device_pre_asic_reset(struct amdgpu_device *adev,
                }
 
                if (!test_bit(AMDGPU_SKIP_COREDUMP, &reset_context->flags)) {
-                       amdgpu_reset_reg_dumps(tmp_adev);
-
                        dev_info(tmp_adev->dev, "Dumping IP State\n");
                        /* Trigger ip dump before we reset the asic */
                        for (i = 0; i < tmp_adev->num_ip_blocks; i++)