Commit 0028b86b authored by Gangliang Xie's avatar Gangliang Xie Committed by Alex Deucher
Browse files

drm/amdgpu: mark invalid records with U64_MAX



set retired_page of invalid ras records to U64_MAX, and skip
them when reading ras records

Signed-off-by: default avatarGangliang Xie <ganglxie@amd.com>
Reviewed-by: default avatarTao Zhou <tao.zhou1@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9d03d404
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2784,6 +2784,10 @@ static int amdgpu_ras_badpages_read(struct amdgpu_device *adev,
			if (!data->bps[i].ts)
				continue;

			/* U64_MAX is used to mark the record as invalid */
			if (data->bps[i].retired_page == U64_MAX)
				continue;

			bps[r].bp = data->bps[i].retired_page;
			r++;
			if (r >= count)
@@ -3090,6 +3094,8 @@ static int __amdgpu_ras_restore_bad_pages(struct amdgpu_device *adev,

		if (amdgpu_ras_check_bad_page_unlock(con,
			bps[j].retired_page << AMDGPU_GPU_PAGE_SHIFT)) {
			/* set to U64_MAX to mark it as invalid */
			data->bps[data->count].retired_page = U64_MAX;
			data->count++;
			data->space_left--;
			continue;