diff --git a/shared/source/xe_hpg_core/dg2/os_agnostic_hw_info_config_dg2.inl b/shared/source/xe_hpg_core/dg2/os_agnostic_hw_info_config_dg2.inl index 4e7a876a8b..22acf6c8c4 100644 --- a/shared/source/xe_hpg_core/dg2/os_agnostic_hw_info_config_dg2.inl +++ b/shared/source/xe_hpg_core/dg2/os_agnostic_hw_info_config_dg2.inl @@ -104,7 +104,7 @@ bool HwInfoConfigHw::isDefaultEngineTypeAdjustmentRequired(const Har template <> bool HwInfoConfigHw::isDisableOverdispatchAvailable(const HardwareInfo &hwInfo) const { - return getSteppingFromHwRevId(hwInfo) >= REVISION_B; + return getSteppingFromHwRevId(hwInfo) >= REVISION_B || DG2::isG11(hwInfo) || DG2::isG12(hwInfo); } template <> diff --git a/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp b/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp index 19265dce17..106186e804 100644 --- a/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp +++ b/shared/test/unit_test/xe_hpg_core/dg2/hw_info_config_tests_dg2.cpp @@ -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) {