[PATCH] drm/amdgpu: Use unique CPER record id across devices
Zhou1, Tao
Tao.Zhou1 at amd.com
Thu Mar 6 07:37:21 UTC 2025
[AMD Official Use Only - AMD Internal Distribution Only]
> -----Original Message-----
> From: Liu, Xiang(Dean) <Xiang.Liu at amd.com>
> Sent: Thursday, March 6, 2025 3:25 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Zhang, Hawking <Hawking.Zhang at amd.com>; Zhou1, Tao
> <Tao.Zhou1 at amd.com>; Liu, Xiang(Dean) <Xiang.Liu at amd.com>
> Subject: [PATCH] drm/amdgpu: Use unique CPER record id across devices
>
> Encode socket id to CPER record id to be unique across devices.
>
> Signed-off-by: Xiang Liu <xiang.liu at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
> index d77da7ca9a87..6970a489d7c4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c
> @@ -57,6 +57,8 @@ void amdgpu_cper_entry_fill_hdr(struct amdgpu_device *adev,
> enum amdgpu_cper_type type,
> enum cper_error_severity sev)
> {
> + char record_id[16];
> +
> hdr->signature[0] = 'C';
> hdr->signature[1] = 'P';
> hdr->signature[2] = 'E';
> @@ -71,7 +73,9 @@ void amdgpu_cper_entry_fill_hdr(struct amdgpu_device *adev,
>
> amdgpu_cper_get_timestamp(&hdr->timestamp);
>
> - snprintf(hdr->record_id, 8, "%d", atomic_inc_return(&adev->cper.unique_id));
> + snprintf(record_id, 9, "%d:%X", adev->smuio.funcs->get_socket_id(adev),
> + atomic_inc_return(&adev->cper.unique_id));
[Tao] please add pointer check for adev->smuio.funcs->get_socket_id before use it, and we set the id to 0 if adev->smuio.funcs->get_socket_id is NULL.
> + memcpy(hdr->record_id, record_id, 8);
> snprintf(hdr->platform_id, 16, "0x%04X:0x%04X",
> adev->pdev->vendor, adev->pdev->device);
> /* pmfw version should be part of creator_id according to CPER spec */
> --
> 2.34.1
More information about the amd-gfx
mailing list