From a0c95e855b2eccc9fb5f833c267a4cf657a6e34a Mon Sep 17 00:00:00 2001 From: Deepak Mewar Date: Mon, 8 Jan 2024 03:30:54 -0500 Subject: [PATCH] amdsmi library updated for metric table structure Change-Id: Ie8a9840a9020282599dd413e964d86bfb8850f6a --- include/amd_smi/amdsmi.h | 2 +- src/amd_smi/amd_smi.cc | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/amd_smi/amdsmi.h b/include/amd_smi/amdsmi.h index b2ed9bbf39..da340d5704 100644 --- a/include/amd_smi/amdsmi.h +++ b/include/amd_smi/amdsmi.h @@ -1506,7 +1506,7 @@ typedef struct { /** * @brief Metrics table (supported only with hsmp proto version 6). */ -typedef struct { +typedef struct __attribute__((__packed__)){ uint32_t accumulation_counter; /* TEMPERATURE */ diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index 283496badb..fec0101bdd 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -3653,6 +3653,9 @@ amdsmi_status_t amdsmi_get_metrics_table(amdsmi_processor_handle processor_handl if (processor_handle == nullptr) return AMDSMI_STATUS_INVAL; + if(sizeof(amdsmi_hsmp_metric_table_t) != sizeof(struct hsmp_metric_table)) + return AMDSMI_STATUS_UNEXPECTED_SIZE; + amdsmi_status_t r = amdsmi_get_processor_info(processor_handle, SIZE, proc_id); if (r != AMDSMI_STATUS_SUCCESS) return r;