summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/pm/swsmu/smu11
diff options
context:
space:
mode:
authorKent Russell <kent.russell@amd.com>2022-03-30 09:27:41 -0400
committerAlex Deucher <alexander.deucher@amd.com>2022-03-31 23:05:54 -0400
commit5e9c445172fde2ee761af91ad302e41041de6be8 (patch)
tree1b01132c2d86a3aa801ffdd9774b4560389aa8fa /drivers/gpu/drm/amd/pm/swsmu/smu11
parent9696679bf7ac40a8fb6a488a75bd66d4414cd3c3 (diff)
drm/amdgpu: Fix unique_id references for Sienna Cichlid
Since unique_id is only supported in PMFW 0x3A5300 and higher, we will only be able to use it inside Smu_Metrics_V3_t, which requires PMFW 0x3A4900 and higher. Remove the unique_id/serial_number references from the v1 and v2 tables to avoid any confusion, and return 0 if metrics_v1 or metrics_v2 are used to try to get the unique_id/serial_number. Signed-off-by: Kent Russell <kent.russell@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/pm/swsmu/smu11')
-rw-r--r--drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
index b2f3d80e5945..ab3e9d8b831e 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
@@ -716,14 +716,12 @@ static int sienna_cichlid_get_smu_metrics_data(struct smu_context *smu,
use_metrics_v2 ? metrics_v2->CurrFanSpeed : metrics->CurrFanSpeed;
break;
case METRICS_UNIQUE_ID_UPPER32:
- *value = use_metrics_v3 ? metrics_v3->PublicSerialNumUpper32 :
- use_metrics_v2 ? metrics_v2->PublicSerialNumUpper32 :
- metrics->PublicSerialNumUpper32;
+ /* Only supported in 0x3A5300+, metrics_v3 requires 0x3A4900+ */
+ *value = use_metrics_v3 ? metrics_v3->PublicSerialNumUpper32 : 0;
break;
case METRICS_UNIQUE_ID_LOWER32:
- *value = use_metrics_v3 ? metrics_v3->PublicSerialNumLower32 :
- use_metrics_v2 ? metrics_v2->PublicSerialNumLower32 :
- metrics->PublicSerialNumLower32;
+ /* Only supported in 0x3A5300+, metrics_v3 requires 0x3A4900+ */
+ *value = use_metrics_v3 ? metrics_v3->PublicSerialNumLower32 : 0;
break;
default:
*value = UINT_MAX;