Removing support for Fixed mode, won't be supported anymore.

With this change, if user tried to set that mode
then UNSUPPORTED would be returned.

Signed-off-by: Daniel Enriquez <daniel.enriquez.montanez@intel.com>
This commit is contained in:
Daniel Enriquez
2021-06-29 23:53:12 -07:00
committed by Compute-Runtime-Automation
parent ad3855ceb3
commit b04118128a
3 changed files with 17 additions and 30 deletions

View File

@@ -245,19 +245,8 @@ ze_result_t WddmFrequencyImp::getOcMode(zes_oc_mode_t *pCurrentOcMode) {
request.commandId = KmdSysman::Command::Get;
request.componentId = KmdSysman::Component::FrequencyComponent;
request.requestId = KmdSysman::Requests::Frequency::CurrentFixedMode;
request.paramInfo = static_cast<uint32_t>(this->frequencyDomainNumber);
status = pKmdSysManager->requestSingle(request, response);
if (status != ZE_RESULT_SUCCESS) {
return status;
}
memcpy_s(&value, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t));
currentFixedMode = value ? ZES_OC_MODE_FIXED : ZES_OC_MODE_OFF;
request.requestId = KmdSysman::Requests::Frequency::CurrentVoltageMode;
request.paramInfo = static_cast<uint32_t>(this->frequencyDomainNumber);
status = pKmdSysManager->requestSingle(request, response);
@@ -268,14 +257,19 @@ ze_result_t WddmFrequencyImp::getOcMode(zes_oc_mode_t *pCurrentOcMode) {
memcpy_s(&value, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t));
currentVoltageMode = value ? ZES_OC_MODE_OVERRIDE : ZES_OC_MODE_INTERPOLATIVE;
*pCurrentOcMode = static_cast<zes_oc_mode_t>(currentVoltageMode + currentFixedMode);
*pCurrentOcMode = currentVoltageMode;
return status;
}
ze_result_t WddmFrequencyImp::setOcMode(zes_oc_mode_t currentOcMode) {
if (currentOcMode == ZES_OC_MODE_OFF || currentOcMode == ZES_OC_MODE_FIXED) {
this->currentFixedMode = currentOcMode;
if (currentOcMode == ZES_OC_MODE_FIXED) {
this->currentVoltageMode = ZES_OC_MODE_INTERPOLATIVE;
return ze_result_t::ZE_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
}
if (currentOcMode == ZES_OC_MODE_OFF) {
this->currentVoltageMode = ZES_OC_MODE_INTERPOLATIVE;
return applyOcSettings();
}
@@ -423,7 +417,8 @@ ze_result_t WddmFrequencyImp::applyOcSettings() {
request.paramInfo = static_cast<uint32_t>(this->frequencyDomainNumber);
request.dataSize = sizeof(int32_t);
value = (currentFixedMode == ZES_OC_MODE_FIXED) ? 1 : 0;
// Fixed mode not supported.
value = 0;
memcpy_s(request.dataBuffer, sizeof(int32_t), &value, sizeof(int32_t));
status = pKmdSysManager->requestSingle(request, response);
@@ -558,13 +553,6 @@ void WddmFrequencyImp::readOverclockingInfo() {
ocCapabilities.maxOcVoltage = static_cast<double>(value);
}
request.requestId = KmdSysman::Requests::Frequency::CurrentFixedMode;
if (pKmdSysManager->requestSingle(request, response) == ZE_RESULT_SUCCESS) {
memcpy_s(&value, sizeof(uint32_t), response.dataBuffer, sizeof(uint32_t));
currentFixedMode = value ? ZES_OC_MODE_FIXED : ZES_OC_MODE_OFF;
}
request.requestId = KmdSysman::Requests::Frequency::CurrentFrequencyTarget;
if (pKmdSysManager->requestSingle(request, response) == ZE_RESULT_SUCCESS) {

View File

@@ -65,7 +65,6 @@ class WddmFrequencyImp : public OsFrequency, NEO::NonCopyableOrMovableClass {
double minRangeFreq = -1.0;
double maxRangeFreq = -1.0;
zes_oc_capabilities_t ocCapabilities = {};
zes_oc_mode_t currentFixedMode = ZES_OC_MODE_OFF;
zes_oc_mode_t currentVoltageMode = ZES_OC_MODE_OFF;
double currentFrequencyTarget = -1.0;
double currentVoltageTarget = -1.0;

View File

@@ -455,27 +455,27 @@ TEST_F(SysmanDeviceFrequencyFixture, GivenValidFrequencyHandleAllowSetCallsToTru
zes_oc_mode_t newmode;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcGetMode(handle, &newmode));
EXPECT_EQ(mode, ZES_OC_MODE_INTERPOLATIVE);
EXPECT_EQ(newmode, ZES_OC_MODE_INTERPOLATIVE);
mode = ZES_OC_MODE_OFF;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcGetMode(handle, &newmode));
EXPECT_EQ(mode, ZES_OC_MODE_OFF);
EXPECT_EQ(newmode, ZES_OC_MODE_INTERPOLATIVE);
mode = ZES_OC_MODE_FIXED;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_ERROR_UNSUPPORTED_ENUMERATION, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcGetMode(handle, &newmode));
EXPECT_EQ(mode, ZES_OC_MODE_FIXED);
EXPECT_EQ(newmode, ZES_OC_MODE_INTERPOLATIVE);
mode = ZES_OC_MODE_OFF;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcGetMode(handle, &newmode));
EXPECT_EQ(mode, ZES_OC_MODE_OFF);
EXPECT_EQ(newmode, ZES_OC_MODE_INTERPOLATIVE);
mode = ZES_OC_MODE_OVERRIDE;
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcSetMode(handle, mode));
EXPECT_EQ(ZE_RESULT_SUCCESS, zesFrequencyOcGetMode(handle, &newmode));
EXPECT_EQ(mode, ZES_OC_MODE_OVERRIDE);
EXPECT_EQ(newmode, ZES_OC_MODE_OVERRIDE);
domainIndex++;
}