@@ -194,7 +194,8 @@ ze_result_t WddmFrequencyImp::setOcFrequencyTarget(double currentOcFrequency) {
194194
195195ze_result_t WddmFrequencyImp::getOcVoltageTarget (double *pCurrentVoltageTarget, double *pCurrentVoltageOffset) {
196196 ze_result_t status = ZE_RESULT_SUCCESS;
197- uint32_t value = 0 ;
197+ uint32_t unsignedValue = 0 ;
198+ int32_t signedValue = 0 ;
198199 KmdSysman::RequestProperty request;
199200 KmdSysman::ResponseProperty response;
200201
@@ -209,8 +210,8 @@ ze_result_t WddmFrequencyImp::getOcVoltageTarget(double *pCurrentVoltageTarget,
209210 return status;
210211 }
211212
212- memcpy_s (&value , sizeof (uint32_t ), response.dataBuffer , sizeof (uint32_t ));
213- *pCurrentVoltageTarget = currentVoltageTarget = static_cast <double >(value );
213+ memcpy_s (&unsignedValue , sizeof (uint32_t ), response.dataBuffer , sizeof (uint32_t ));
214+ *pCurrentVoltageTarget = currentVoltageTarget = static_cast <double >(unsignedValue );
214215
215216 request.requestId = KmdSysman::Requests::Frequency::CurrentVoltageOffset;
216217
@@ -220,8 +221,8 @@ ze_result_t WddmFrequencyImp::getOcVoltageTarget(double *pCurrentVoltageTarget,
220221 return status;
221222 }
222223
223- memcpy_s (&value , sizeof (uint32_t ), response.dataBuffer , sizeof (uint32_t ));
224- *pCurrentVoltageOffset = currentVoltageOffset = static_cast <double >(value );
224+ memcpy_s (&signedValue , sizeof (int32_t ), response.dataBuffer , sizeof (int32_t ));
225+ *pCurrentVoltageOffset = currentVoltageOffset = static_cast <double >(signedValue );
225226
226227 return status;
227228}
0 commit comments