So the code can be reused.

Signed-off-by: Tao Zhou <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 17 +++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h |  1 +
 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c   | 13 +------------
 3 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 0b52af415b28..c448c1bdf84d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -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;
+}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
index 253ea6b159df..dbb8d68a30c6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
@@ -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
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c 
b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
index 8a7006d62a87..ce8374ee824d 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
@@ -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);
 }
-- 
2.35.1

Reply via email to