Disable overdispatch for specific Arc devices

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
Maciej Plewka
2022-08-30 14:44:04 +00:00
committed by Compute-Runtime-Automation
parent f42e012bd8
commit fe73c06b59
2 changed files with 31 additions and 6 deletions

View File

@@ -104,7 +104,7 @@ bool HwInfoConfigHw<gfxProduct>::isDefaultEngineTypeAdjustmentRequired(const Har
template <>
bool HwInfoConfigHw<gfxProduct>::isDisableOverdispatchAvailable(const HardwareInfo &hwInfo) const {
return getSteppingFromHwRevId(hwInfo) >= REVISION_B;
return getSteppingFromHwRevId(hwInfo) >= REVISION_B || DG2::isG11(hwInfo) || DG2::isG12(hwInfo);
}
template <>

View File

@@ -54,13 +54,38 @@ DG2TEST_F(HwInfoConfigTestDg2, givenDg2ConfigWhenSetupHardwareInfoThenGtSystemIn
EXPECT_FALSE(gtSystemInfo.IsDynamicallyPopulated);
}
DG2TEST_F(HwInfoConfigTestDg2, givenHwInfoConfigWhenAdditionalKernelExecInfoSupportCheckedThenCorrectValueIsReturned) {
DG2TEST_F(HwInfoConfigTestDg2, givenG10DevIdWhenAdditionalKernelExecInfoSupportCheckedThenCorrectValueIsReturned) {
const auto &hwInfoConfig = *HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
auto hwInfo = *defaultHwInfo;
EXPECT_FALSE(hwInfoConfig.isDisableOverdispatchAvailable(hwInfo));
HardwareInfo myHwInfo = *defaultHwInfo;
myHwInfo.platform.usDeviceID = dg2G10DeviceIds[0];
EXPECT_FALSE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
hwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_B, hwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(hwInfo));
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_B, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
}
DG2TEST_F(HwInfoConfigTestDg2, givenG11DevIdWhenIsDisableOverdispatchAvailableCalledThenTrueReturnedForAllSteppings) {
const auto &hwInfoConfig = *HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
HardwareInfo myHwInfo = *defaultHwInfo;
myHwInfo.platform.usDeviceID = dg2G11DeviceIds[0];
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A0, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_B, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_C, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
}
DG2TEST_F(HwInfoConfigTestDg2, givenG12DevIdWhenIsDisableOverdispatchAvailableCalledThenTrueReturnedForAllSteppings) {
const auto &hwInfoConfig = *HwInfoConfig::get(defaultHwInfo->platform.eProductFamily);
HardwareInfo myHwInfo = *defaultHwInfo;
myHwInfo.platform.usDeviceID = dg2G12DeviceIds[0];
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A0, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_B, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
myHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_C, myHwInfo);
EXPECT_TRUE(hwInfoConfig.isDisableOverdispatchAvailable(myHwInfo));
}
DG2TEST_F(HwInfoConfigTestDg2, whenAdjustingDefaultEngineTypeThenSelectEngineTypeBasedOnRevisionId) {