after getting mca for old eeprom records with 'address==0', it can be
correctly parsed under none-nps1, or it will be dropped.

Signed-off-by: ganglxie <gangl...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 7d4d31c6ab48..f943b9107067 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -2860,6 +2860,12 @@ static int 
__amdgpu_ras_convert_rec_array_from_rom(struct amdgpu_device *adev,
                                return -EINVAL;
                }
        } else {
+               if (bps[0].address == 0) {
+                       if (amdgpu_umc_pa2mca(adev, bps[0].retired_page << 
AMDGPU_GPU_PAGE_SHIFT,
+                               &(bps[0].address), AMDGPU_NPS1_PARTITION_MODE))
+                               return -EINVAL;
+               }
+
                if (amdgpu_ras_mca2pa(adev, &bps[0], err_data)) {
                        if (nps == AMDGPU_NPS1_PARTITION_MODE)
                                memcpy(err_data->err_addr, bps,
-- 
2.34.1

Reply via email to