OSDN Git Service

drm/amdgpu: define common jpeg_set_ras_funcs
authorTao Zhou <tao.zhou1@amd.com>
Thu, 20 Oct 2022 08:40:50 +0000 (16:40 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Nov 2022 23:08:14 +0000 (18:08 -0500)
Make the code reusable.

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_jpeg.c
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.h
drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c

index 518eb0e..8f47251 100644 (file)
@@ -234,3 +234,20 @@ int amdgpu_jpeg_process_poison_irq(struct amdgpu_device *adev,
 
        return 0;
 }
+
+void jpeg_set_ras_funcs(struct amdgpu_device *adev)
+{
+       if (!adev->jpeg.ras)
+               return;
+
+       amdgpu_ras_register_ras_block(adev, &adev->jpeg.ras->ras_block);
+
+       strcpy(adev->jpeg.ras->ras_block.ras_comm.name, "jpeg");
+       adev->jpeg.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__JPEG;
+       adev->jpeg.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__POISON;
+       adev->jpeg.ras_if = &adev->jpeg.ras->ras_block.ras_comm;
+
+       /* If don't define special ras_late_init function, use default ras_late_init */
+       if (!adev->jpeg.ras->ras_block.ras_late_init)
+               adev->jpeg.ras->ras_block.ras_late_init = amdgpu_ras_block_late_init;
+}
index 635dca5..e8ca3e3 100644 (file)
@@ -72,5 +72,6 @@ int amdgpu_jpeg_dec_ring_test_ib(struct amdgpu_ring *ring, long timeout);
 int amdgpu_jpeg_process_poison_irq(struct amdgpu_device *adev,
                                struct amdgpu_irq_src *source,
                                struct amdgpu_iv_entry *entry);
+void jpeg_set_ras_funcs(struct amdgpu_device *adev);
 
 #endif /*__AMDGPU_JPEG_H__*/
index f87d0f6..f2b743a 100644 (file)
@@ -807,16 +807,5 @@ static void jpeg_v2_5_set_ras_funcs(struct amdgpu_device *adev)
                break;
        }
 
-       if (adev->jpeg.ras) {
-               amdgpu_ras_register_ras_block(adev, &adev->jpeg.ras->ras_block);
-
-               strcpy(adev->jpeg.ras->ras_block.ras_comm.name, "jpeg");
-               adev->jpeg.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__JPEG;
-               adev->jpeg.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__POISON;
-               adev->jpeg.ras_if = &adev->jpeg.ras->ras_block.ras_comm;
-
-               /* If don't define special ras_late_init function, use default ras_late_init */
-               if (!adev->jpeg.ras->ras_block.ras_late_init)
-                       adev->jpeg.ras->ras_block.ras_late_init = amdgpu_ras_block_late_init;
-       }
+       jpeg_set_ras_funcs(adev);
 }