drm/amdgpu: Only overwrite serial if field is empty
authorKent Russell <kent.russell@amd.com>
Mon, 13 Dec 2021 18:58:40 +0000 (13:58 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Dec 2021 13:54:43 +0000 (08:54 -0500)
On Aldebaran, the serial may be obtained from the FRU. Only overwrite
the serial with the unique_id if the serial is empty. This will support
printing serial numbers for mGPU devices where there are 2 unique_ids
for the 2 GPUs, but only one serial number for the board

Signed-off-by: Kent Russell <kent.russell@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c

index 0e60d63..380811b 100644 (file)
@@ -1606,7 +1606,8 @@ out_unlock:
        mutex_unlock(&smu->metrics_lock);
 
        adev->unique_id = ((uint64_t)upper32 << 32) | lower32;
-       sprintf(adev->serial, "%016llx", adev->unique_id);
+       if (adev->serial[0] == '\0')
+               sprintf(adev->serial, "%016llx", adev->unique_id);
 }
 
 static bool aldebaran_is_baco_supported(struct smu_context *smu)