[AMD Official Use Only - AMD Internal Distribution Only] Reviewed-by: Tao Zhou <tao.zh...@amd.com>
> -----Original Message----- > From: Lazar, Lijo <lijo.la...@amd.com> > Sent: Tuesday, April 8, 2025 2:14 PM > To: amd-gfx@lists.freedesktop.org; Lazar, Lijo <lijo.la...@amd.com> > Cc: Zhang, Hawking <hawking.zh...@amd.com>; Deucher, Alexander > <alexander.deuc...@amd.com>; Li, Candice <candice...@amd.com>; Zhou1, Tao > <tao.zh...@amd.com> > Subject: [PATCH] drm/amdgpu: Reset RAS table if header is invalid > > If a valid header is not found during RAS eeprom init, consider it as new and > reset > RAS table info. > > Signed-off-by: Lijo Lazar <lijo.la...@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > index e979a6086178..bb767fc20242 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c > @@ -1392,6 +1392,12 @@ int amdgpu_ras_eeprom_init(struct > amdgpu_ras_eeprom_control *control) > > __decode_table_header_from_buf(hdr, buf); > > + if (hdr->header != RAS_TABLE_HDR_VAL && > + hdr->header != RAS_TABLE_HDR_BAD) { > + dev_info(adev->dev, "Creating a new EEPROM table"); > + return amdgpu_ras_eeprom_reset_table(control); > + } > + > switch (hdr->version) { > case RAS_TABLE_VER_V2_1: > case RAS_TABLE_VER_V3: > @@ -1510,10 +1516,6 @@ int amdgpu_ras_eeprom_check(struct > amdgpu_ras_eeprom_control *control) > "User defined threshold is set, > runtime service > will be halt when threshold is reached\n"); > } > } > - } else { > - DRM_INFO("Creating a new EEPROM table"); > - > - res = amdgpu_ras_eeprom_reset_table(control); > } > > return res < 0 ? res : 0; > -- > 2.25.1