when an address is reserved already, no need to check if it is
in critical or not, to save time

Signed-off-by: Gangliang Xie <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index b1d1bc544998..0c84c7ab36d1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -1922,8 +1922,6 @@ static ssize_t amdgpu_ras_sysfs_badpages_read(struct file 
*f,
 
        for (i = 0; i < bps_count; i++) {
                address = ((uint64_t)bps[i].bp) << AMDGPU_GPU_PAGE_SHIFT;
-               if (amdgpu_ras_check_critical_address(adev, address))
-                       continue;
 
                bps[i].size = AMDGPU_GPU_PAGE_SIZE;
 
@@ -1936,6 +1934,10 @@ static ssize_t amdgpu_ras_sysfs_badpages_read(struct 
file *f,
                else
                        bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_RESERVED;
 
+               if ((bps[i].flags != AMDGPU_RAS_RETIRE_PAGE_RESERVED) &&
+                   amdgpu_ras_check_critical_address(adev, address))
+                       bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_RESERVED;
+
                s += scnprintf(&buf[s], element_size + 1,
                                "0x%08x : 0x%08x : %1s\n",
                                bps[i].bp,
-- 
2.34.1

Reply via email to