drm/amdgpu: define common vcn_set_ras_funcs
authorTao Zhou <tao.zhou1@amd.com>
Thu, 20 Oct 2022 08:38:08 +0000 (16:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Nov 2022 23:08:05 +0000 (18:08 -0500)
So the code can be reused.

Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c

index 0b52af4..c448c1b 100644 (file)
@@ -1248,3 +1248,20 @@ int amdgpu_vcn_process_poison_irq(struct amdgpu_device *adev,
 
        return 0;
 }
+
+void amdgpu_vcn_set_ras_funcs(struct amdgpu_device *adev)
+{
+       if (!adev->vcn.ras)
+               return;
+
+       amdgpu_ras_register_ras_block(adev, &adev->vcn.ras->ras_block);
+
+       strcpy(adev->vcn.ras->ras_block.ras_comm.name, "vcn");
+       adev->vcn.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__VCN;
+       adev->vcn.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__POISON;
+       adev->vcn.ras_if = &adev->vcn.ras->ras_block.ras_comm;
+
+       /* If don't define special ras_late_init function, use default ras_late_init */
+       if (!adev->vcn.ras->ras_block.ras_late_init)
+               adev->vcn.ras->ras_block.ras_late_init = amdgpu_ras_block_late_init;
+}
index 253ea6b..dbb8d68 100644 (file)
@@ -399,5 +399,6 @@ void amdgpu_debugfs_vcn_fwlog_init(struct amdgpu_device *adev,
 int amdgpu_vcn_process_poison_irq(struct amdgpu_device *adev,
                        struct amdgpu_irq_src *source,
                        struct amdgpu_iv_entry *entry);
+void amdgpu_vcn_set_ras_funcs(struct amdgpu_device *adev);
 
 #endif
index 8a7006d..ce8374e 100644 (file)
@@ -2002,16 +2002,5 @@ static void vcn_v2_5_set_ras_funcs(struct amdgpu_device *adev)
                break;
        }
 
-       if (adev->vcn.ras) {
-               amdgpu_ras_register_ras_block(adev, &adev->vcn.ras->ras_block);
-
-               strcpy(adev->vcn.ras->ras_block.ras_comm.name, "vcn");
-               adev->vcn.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__VCN;
-               adev->vcn.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__POISON;
-               adev->vcn.ras_if = &adev->vcn.ras->ras_block.ras_comm;
-
-               /* If don't define special ras_late_init function, use default ras_late_init */
-               if (!adev->vcn.ras->ras_block.ras_late_init)
-                       adev->vcn.ras->ras_block.ras_late_init = amdgpu_ras_block_late_init;
-       }
+       amdgpu_vcn_set_ras_funcs(adev);
 }