From: Hawking Zhang <[email protected]>

Add reset_ras_error_count callback for jpeg v4_0_3.
It will be used to reset jpeg ras error count.

Signed-off-by: Hawking Zhang <[email protected]>
Reviewed-by: Tao Zhou <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c 
b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
index 5dedba91fa32..21226d6d26f8 100644
--- a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
@@ -1024,3 +1024,25 @@ static void jpeg_v4_0_3_query_ras_error_count(struct 
amdgpu_device *adev,
        for (i = 0; i < adev->jpeg.num_jpeg_inst; i++)
                jpeg_v4_0_3_inst_query_ras_error_count(adev, i, ras_err_status);
 }
+
+static void jpeg_v4_0_3_inst_reset_ras_error_count(struct amdgpu_device *adev,
+                                                  uint32_t jpeg_inst)
+{
+       amdgpu_ras_inst_reset_ras_error_count(adev,
+                       jpeg_v4_0_3_ue_reg_list,
+                       ARRAY_SIZE(jpeg_v4_0_3_ue_reg_list),
+                       GET_INST(VCN, jpeg_inst));
+}
+
+static void jpeg_v4_0_3_reset_ras_error_count(struct amdgpu_device *adev)
+{
+       uint32_t i;
+
+       if (!amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__JPEG)) {
+               dev_warn(adev->dev, "JPEG RAS is not supported\n");
+               return;
+       }
+
+       for (i = 0; i < adev->jpeg.num_jpeg_inst; i++)
+               jpeg_v4_0_3_inst_reset_ras_error_count(adev, i);
+}
-- 
2.40.1

Reply via email to