From afaef2b234adfeee4bfd5cfc990d014eb81bb603 Mon Sep 17 00:00:00 2001 From: Daniel Enriquez Date: Tue, 5 Oct 2021 17:28:19 -0700 Subject: [PATCH] Fix Voltage Offset, signed value. Voltage Offset was incorrectly set as unsigned. Signed-off-by: Daniel Enriquez --- .../sysman/frequency/windows/os_frequency_imp.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp b/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp index be021bd15f..2d8d0b0060 100644 --- a/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp +++ b/level_zero/tools/source/sysman/frequency/windows/os_frequency_imp.cpp @@ -194,7 +194,8 @@ ze_result_t WddmFrequencyImp::setOcFrequencyTarget(double currentOcFrequency) { ze_result_t WddmFrequencyImp::getOcVoltageTarget(double *pCurrentVoltageTarget, double *pCurrentVoltageOffset) { ze_result_t status = ZE_RESULT_SUCCESS; - uint32_t value = 0; + uint32_t unsignedValue = 0; + int32_t signedValue = 0; KmdSysman::RequestProperty request; KmdSysman::ResponseProperty response; @@ -209,8 +210,8 @@ ze_result_t WddmFrequencyImp::getOcVoltageTarget(double *pCurrentVoltageTarget, return status; } - memcpy_s(&value, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t)); - *pCurrentVoltageTarget = currentVoltageTarget = static_cast(value); + memcpy_s(&unsignedValue, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t)); + *pCurrentVoltageTarget = currentVoltageTarget = static_cast(unsignedValue); request.requestId = KmdSysman::Requests::Frequency::CurrentVoltageOffset; @@ -220,8 +221,8 @@ ze_result_t WddmFrequencyImp::getOcVoltageTarget(double *pCurrentVoltageTarget, return status; } - memcpy_s(&value, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t)); - *pCurrentVoltageOffset = currentVoltageOffset = static_cast(value); + memcpy_s(&signedValue, sizeof(int32_t), response.dataBuffer, sizeof(int32_t)); + *pCurrentVoltageOffset = currentVoltageOffset = static_cast(signedValue); return status; }