Series is: Reviewed-by: Guchun Chen <[email protected]>

Regards,
Guchun

-----Original Message-----
From: Andrey Grodzovsky <[email protected]> 
Sent: Tuesday, September 10, 2019 4:04 AM
To: [email protected]
Cc: Chen, Guchun <[email protected]>; Zhou1, Tao <[email protected]>; 
Deucher, Alexander <[email protected]>; Grodzovsky, Andrey 
<[email protected]>
Subject: [PATCH 1/2] drm/amdgpu: Add amdgpu_ras_eeprom_reset_table

This will allow to reset the table on the fly.

Signed-off-by: Andrey Grodzovsky <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c | 25 +++++++++++++++++--------  
drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.h |  1 +
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
index 43dd4ab..11a8445 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c
@@ -102,6 +102,22 @@ static int __update_table_header(struct 
amdgpu_ras_eeprom_control *control,
 
 static uint32_t  __calc_hdr_byte_sum(struct amdgpu_ras_eeprom_control 
*control);
 
+int amdgpu_ras_eeprom_reset_table(struct amdgpu_ras_eeprom_control 
+*control) {
+       unsigned char buff[EEPROM_ADDRESS_SIZE + EEPROM_TABLE_HEADER_SIZE] = { 
0 };
+       struct amdgpu_device *adev = to_amdgpu_device(control);
+       struct amdgpu_ras_eeprom_table_header *hdr = &control->tbl_hdr;
+
+       hdr->header = EEPROM_TABLE_HDR_VAL;
+       hdr->version = EEPROM_TABLE_VER;
+       hdr->first_rec_offset = EEPROM_RECORD_START;
+       hdr->tbl_size = EEPROM_TABLE_HEADER_SIZE;
+
+       adev->psp.ras.ras->eeprom_control.tbl_byte_sum =
+                       __calc_hdr_byte_sum(&adev->psp.ras.ras->eeprom_control);
+       return __update_table_header(control, buff); }
+
 int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control)  {
        int ret = 0;
@@ -149,14 +165,7 @@ int amdgpu_ras_eeprom_init(struct 
amdgpu_ras_eeprom_control *control)
        } else {
                DRM_INFO("Creating new EEPROM table");
 
-               hdr->header = EEPROM_TABLE_HDR_VAL;
-               hdr->version = EEPROM_TABLE_VER;
-               hdr->first_rec_offset = EEPROM_RECORD_START;
-               hdr->tbl_size = EEPROM_TABLE_HEADER_SIZE;
-
-               adev->psp.ras.ras->eeprom_control.tbl_byte_sum =
-                               
__calc_hdr_byte_sum(&adev->psp.ras.ras->eeprom_control);
-               ret = __update_table_header(control, buff);
+               ret = amdgpu_ras_eeprom_reset_table(control);
        }
 
        /* Start inserting records from here */ diff --git 
a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.h
index 41f3fcb..6222699 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.h
@@ -79,6 +79,7 @@ struct eeprom_table_record {
 
 int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control);  void 
amdgpu_ras_eeprom_fini(struct amdgpu_ras_eeprom_control *control);
+int amdgpu_ras_eeprom_reset_table(struct amdgpu_ras_eeprom_control 
+*control);
 
 int amdgpu_ras_eeprom_process_recods(struct amdgpu_ras_eeprom_control *control,
                                            struct eeprom_table_record *records,
--
2.7.4

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to