From 405d718bbe742aebb3bd220aee4088a13c334f66 Mon Sep 17 00:00:00 2001 From: Kamil Kopryk Date: Sun, 20 Nov 2022 00:53:58 +0000 Subject: [PATCH] ProductHelper ults cleanup - gen9 Related-To: NEO-6853 Signed-off-by: Kamil Kopryk Don't use DeviceFixture if not needed Use RootDeviceEnvironment getHelper --- .../bxt/linux/hw_info_config_tests_bxt.cpp | 47 +++++----- .../gen9/bxt/test_hw_info_config_bxt.cpp | 79 +++++++--------- .../cfl/linux/hw_info_config_tests_cfl.cpp | 34 +++---- .../gen9/cfl/test_hw_info_config_cfl.cpp | 93 +++++++++---------- .../glk/linux/hw_info_config_tests_glk.cpp | 55 +++++------ .../gen9/glk/test_hw_info_config_glk.cpp | 79 +++++++--------- .../kbl/linux/hw_info_config_tests_kbl.cpp | 46 +++++---- .../gen9/kbl/test_hw_info_config_kbl.cpp | 89 ++++++++---------- .../skl/linux/hw_info_config_tests_skl.cpp | 53 +++++------ .../gen9/skl/test_hw_info_config_skl.cpp | 77 +++++++-------- 10 files changed, 300 insertions(+), 352 deletions(-) diff --git a/shared/test/unit_test/gen9/bxt/linux/hw_info_config_tests_bxt.cpp b/shared/test/unit_test/gen9/bxt/linux/hw_info_config_tests_bxt.cpp index 3277de4e4b..1177909af6 100644 --- a/shared/test/unit_test/gen9/bxt/linux/hw_info_config_tests_bxt.cpp +++ b/shared/test/unit_test/gen9/bxt/linux/hw_info_config_tests_bxt.cpp @@ -11,7 +11,7 @@ using namespace NEO; -struct HwInfoConfigTestLinuxBxt : HwInfoConfigTestLinux { +struct BxtProductHelperLinux : HwInfoConfigTestLinux { void SetUp() override { HwInfoConfigTestLinux::SetUp(); @@ -21,9 +21,8 @@ struct HwInfoConfigTestLinuxBxt : HwInfoConfigTestLinux { } }; -BXTTEST_F(HwInfoConfigTestLinuxBxt, WhenConfiguringHwInfoThenConfigIsCorrect) { - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +BXTTEST_F(BxtProductHelperLinux, WhenConfiguringHwInfoThenConfigIsCorrect) { + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -37,7 +36,7 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, WhenConfiguringHwInfoThenConfigIsCorrect) { pInHwInfo.platform.usDeviceID = 0x5A85; drm->storedMinEUinPool = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -48,7 +47,7 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, WhenConfiguringHwInfoThenConfigIsCorrect) { pInHwInfo.platform.usDeviceID = 0x5A85; drm->storedMinEUinPool = 9; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -66,19 +65,19 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, WhenConfiguringHwInfoThenConfigIsCorrect) { EXPECT_EQ(200000, outKmdNotifyProperties.delayQuickKmdSleepForSporadicWaitsMicroseconds); } -BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { +BXTTEST_F(BxtProductHelperLinux, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->failRetTopology = true; drm->storedRetValForEUVal = -4; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-4, ret); } -BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailingEnabledPoolWhenConfiguringHwInfoThenZeroIsReturned) { +BXTTEST_F(BxtProductHelperLinux, GivenFailingEnabledPoolWhenConfiguringHwInfoThenZeroIsReturned) { drm->storedRetValForPooledEU = -1; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -86,10 +85,10 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailingEnabledPoolWhenConfiguringHwInfo EXPECT_EQ(0u, outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenDisabledEnabledPoolWhenConfiguringHwInfoThenZeroIsReturned) { +BXTTEST_F(BxtProductHelperLinux, GivenDisabledEnabledPoolWhenConfiguringHwInfoThenZeroIsReturned) { drm->storedHasPooledEU = 0; - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -97,12 +96,11 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenDisabledEnabledPoolWhenConfiguringHwInf EXPECT_EQ(0u, outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailingMinEuInPoolWhenConfiguringHwInfoThenZeroIsReturned) { +BXTTEST_F(BxtProductHelperLinux, GivenFailingMinEuInPoolWhenConfiguringHwInfoThenZeroIsReturned) { drm->storedRetValForMinEUinPool = -1; - drm->storedSSVal = 3; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -110,7 +108,7 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailingMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); drm->storedSSVal = 2; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -118,12 +116,11 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenFailingMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenInvalidMinEuInPoolWhenConfiguringHwInfoThenZeroIsReturned) { +BXTTEST_F(BxtProductHelperLinux, GivenInvalidMinEuInPoolWhenConfiguringHwInfoThenZeroIsReturned) { drm->storedMinEUinPool = 4; - drm->storedSSVal = 3; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -132,7 +129,7 @@ BXTTEST_F(HwInfoConfigTestLinuxBxt, GivenInvalidMinEuInPoolWhenConfiguringHwInfo drm->storedSSVal = 2; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); diff --git a/shared/test/unit_test/gen9/bxt/test_hw_info_config_bxt.cpp b/shared/test/unit_test/gen9/bxt/test_hw_info_config_bxt.cpp index e8a9a2b09f..d20625f647 100644 --- a/shared/test/unit_test/gen9/bxt/test_hw_info_config_bxt.cpp +++ b/shared/test/unit_test/gen9/bxt/test_hw_info_config_bxt.cpp @@ -17,29 +17,26 @@ using namespace NEO; -TEST(BxtHwInfoConfig, givenInvalidSystemInfoWhenSettingHardwareInfoThenExpectThrow) { - if (IGFX_BROXTON != productFamily) { - return; - } - HardwareInfo hwInfo = *defaultHwInfo; - GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo; +using BxtProductHelper = HwInfoConfigTest; + +BXTTEST_F(BxtProductHelper, givenInvalidSystemInfoWhenSettingHardwareInfoThenExpectThrow) { + + GT_SYSTEM_INFO >SystemInfo = pInHwInfo.gtSystemInfo; uint64_t config = 0xdeadbeef; gtSystemInfo = {0}; - EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&hwInfo, false, config)); + EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&pInHwInfo, false, config)); EXPECT_EQ(0u, gtSystemInfo.SliceCount); EXPECT_EQ(0u, gtSystemInfo.SubSliceCount); EXPECT_EQ(0u, gtSystemInfo.DualSubSliceCount); EXPECT_EQ(0u, gtSystemInfo.EUCount); } -using BxtHwInfo = HwInfoConfigTest; - -BXTTEST_F(BxtHwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { +BXTTEST_F(BxtProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { EXPECT_EQ(aub_stream::ProductFamily::Bxt, productHelper->getAubStreamProductFamily()); } -BXTTEST_F(BxtHwInfo, givenBoolWhenCallBxtHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { +BXTTEST_F(BxtProductHelper, givenBoolWhenCallBxtHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { uint64_t configs[] = { 0x100020006, 0x100030006}; @@ -84,46 +81,42 @@ BXTTEST_F(BxtHwInfo, givenBoolWhenCallBxtHardwareInfoSetupThenFeatureTableAndWor } } -BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGetProductConfigThenCorrectMatchIsFound) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::APL); +BXTTEST_F(BxtProductHelper, givenProductHelperWhenGetProductConfigThenCorrectMatchIsFound) { + + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::APL); } -BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported()); +BXTTEST_F(BxtProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { + + EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported()); } -BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +BXTTEST_F(BxtProductHelper, givenProductHelperWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationPolicySupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencyRequiredSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport()); + EXPECT_TRUE(productHelper->getScmPropertyThreadArbitrationPolicySupport()); + EXPECT_FALSE(productHelper->getScmPropertyCoherencyRequiredSupport()); + EXPECT_FALSE(productHelper->getScmPropertyZPassAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyPixelAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyLargeGrfModeSupport()); + EXPECT_FALSE(productHelper->getScmPropertyDevicePreemptionModeSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport()); - EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyGlobalAtomicsSupport()); + EXPECT_TRUE(productHelper->getStateBaseAddressPropertyStatelessMocsSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); - EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport()); + EXPECT_TRUE(productHelper->getFrontEndPropertyScratchSizeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyPrivateScratchSizeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyPreemptionModeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyStateSipSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyCsrSurfaceSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyComputeDispatchAllWalkerSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyComputeDispatchAllWalkerSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableEuFusionSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableOverDispatchSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); - EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyModeSelectedSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); + EXPECT_FALSE(productHelper->getPipelineSelectPropertySystolicModeSupport()); } diff --git a/shared/test/unit_test/gen9/cfl/linux/hw_info_config_tests_cfl.cpp b/shared/test/unit_test/gen9/cfl/linux/hw_info_config_tests_cfl.cpp index ab63bf144c..0eeb314797 100644 --- a/shared/test/unit_test/gen9/cfl/linux/hw_info_config_tests_cfl.cpp +++ b/shared/test/unit_test/gen9/cfl/linux/hw_info_config_tests_cfl.cpp @@ -11,15 +11,15 @@ using namespace NEO; -struct HwInfoConfigTestLinuxCfl : HwInfoConfigTestLinux { +struct CflProductHelperLinux : HwInfoConfigTestLinux { void SetUp() override { HwInfoConfigTestLinux::SetUp(); } }; -CFLTEST_F(HwInfoConfigTestLinuxCfl, WhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +CFLTEST_F(CflProductHelperLinux, WhenConfiguringHwInfoThenInformationIsCorrect) { + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -32,7 +32,7 @@ CFLTEST_F(HwInfoConfigTestLinuxCfl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x3E90; drm->storedSSVal = 3; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -42,7 +42,7 @@ CFLTEST_F(HwInfoConfigTestLinuxCfl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x3EA5; drm->storedSSVal = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -60,38 +60,38 @@ CFLTEST_F(HwInfoConfigTestLinuxCfl, WhenConfiguringHwInfoThenInformationIsCorrec EXPECT_EQ(0, outKmdNotifyProperties.delayQuickKmdSleepForDirectSubmissionMicroseconds); } -CFLTEST_F(HwInfoConfigTestLinuxCfl, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { +CFLTEST_F(CflProductHelperLinux, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->storedRetValForEUVal = -4; drm->failRetTopology = true; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-4, ret); } -CFLTEST_F(HwInfoConfigTestLinuxCfl, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { +CFLTEST_F(CflProductHelperLinux, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->storedRetValForSSVal = -5; drm->failRetTopology = true; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-5, ret); } -CFLTEST_F(HwInfoConfigTestLinuxCfl, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +CFLTEST_F(CflProductHelperLinux, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL(0u, outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x3EA8; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x3EA6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); diff --git a/shared/test/unit_test/gen9/cfl/test_hw_info_config_cfl.cpp b/shared/test/unit_test/gen9/cfl/test_hw_info_config_cfl.cpp index 0f8a26dee2..f9fbcb38c7 100644 --- a/shared/test/unit_test/gen9/cfl/test_hw_info_config_cfl.cpp +++ b/shared/test/unit_test/gen9/cfl/test_hw_info_config_cfl.cpp @@ -18,29 +18,26 @@ using namespace NEO; -TEST(CflHwInfoConfig, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { - if (IGFX_COFFEELAKE != productFamily) { - return; - } - HardwareInfo hwInfo = *defaultHwInfo; - GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo; +using CflProductHelper = HwInfoConfigTest; + +CFLTEST_F(CflProductHelper, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { + + GT_SYSTEM_INFO >SystemInfo = pInHwInfo.gtSystemInfo; uint64_t config = 0xdeadbeef; gtSystemInfo = {0}; - EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&hwInfo, false, config)); + EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&pInHwInfo, false, config)); EXPECT_EQ(0u, gtSystemInfo.SliceCount); EXPECT_EQ(0u, gtSystemInfo.SubSliceCount); EXPECT_EQ(0u, gtSystemInfo.DualSubSliceCount); EXPECT_EQ(0u, gtSystemInfo.EUCount); } -using CflHwInfo = HwInfoConfigTest; - -CFLTEST_F(CflHwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { +CFLTEST_F(CflProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { EXPECT_EQ(aub_stream::ProductFamily::Cfl, productHelper->getAubStreamProductFamily()); } -CFLTEST_F(CflHwInfo, givenBoolWhenCallCflHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { +CFLTEST_F(CflProductHelper, givenBoolWhenCallCflHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { uint64_t configs[] = { 0x100030008, 0x200030008, @@ -85,60 +82,56 @@ CFLTEST_F(CflHwInfo, givenBoolWhenCallCflHardwareInfoSetupThenFeatureTableAndWor } } -CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGetProductConfigThenCorrectMatchIsFound) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +CFLTEST_F(CflProductHelper, givenProductHelperWhenGetProductConfigThenCorrectMatchIsFound) { + for (const auto &deviceId : cflDeviceIds) { - hwInfo.platform.usDeviceID = deviceId; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::CFL); + pInHwInfo.platform.usDeviceID = deviceId; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::CFL); } for (const auto &deviceId : cmlDeviceIds) { - hwInfo.platform.usDeviceID = deviceId; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::CML); + pInHwInfo.platform.usDeviceID = deviceId; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::CML); } for (const auto &deviceId : whlDeviceIds) { - hwInfo.platform.usDeviceID = deviceId; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::WHL); + pInHwInfo.platform.usDeviceID = deviceId; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::WHL); } - hwInfo.platform.usDeviceID = 0u; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::UNKNOWN_ISA); + pInHwInfo.platform.usDeviceID = 0u; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::UNKNOWN_ISA); } -CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported()); +CFLTEST_F(CflProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { + + EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported()); } -CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +CFLTEST_F(CflProductHelper, givenProductHelperWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationPolicySupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencyRequiredSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport()); + EXPECT_TRUE(productHelper->getScmPropertyThreadArbitrationPolicySupport()); + EXPECT_FALSE(productHelper->getScmPropertyCoherencyRequiredSupport()); + EXPECT_FALSE(productHelper->getScmPropertyZPassAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyPixelAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyLargeGrfModeSupport()); + EXPECT_FALSE(productHelper->getScmPropertyDevicePreemptionModeSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport()); - EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyGlobalAtomicsSupport()); + EXPECT_TRUE(productHelper->getStateBaseAddressPropertyStatelessMocsSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); - EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport()); + EXPECT_TRUE(productHelper->getFrontEndPropertyScratchSizeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyPrivateScratchSizeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyPreemptionModeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyStateSipSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyCsrSurfaceSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyComputeDispatchAllWalkerSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyComputeDispatchAllWalkerSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableEuFusionSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableOverDispatchSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); - EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyModeSelectedSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); + EXPECT_FALSE(productHelper->getPipelineSelectPropertySystolicModeSupport()); } diff --git a/shared/test/unit_test/gen9/glk/linux/hw_info_config_tests_glk.cpp b/shared/test/unit_test/gen9/glk/linux/hw_info_config_tests_glk.cpp index 62d55724d0..96f9f6fec6 100644 --- a/shared/test/unit_test/gen9/glk/linux/hw_info_config_tests_glk.cpp +++ b/shared/test/unit_test/gen9/glk/linux/hw_info_config_tests_glk.cpp @@ -10,7 +10,7 @@ using namespace NEO; -struct HwInfoConfigTestLinuxGlk : HwInfoConfigTestLinux { +struct GlkProductHelperLinux : HwInfoConfigTestLinux { void SetUp() override { HwInfoConfigTestLinux::SetUp(); @@ -20,9 +20,8 @@ struct HwInfoConfigTestLinuxGlk : HwInfoConfigTestLinux { } }; -GLKTEST_F(HwInfoConfigTestLinuxGlk, WhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +GLKTEST_F(GlkProductHelperLinux, WhenConfiguringHwInfoThenInformationIsCorrect) { + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); @@ -36,7 +35,7 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x3184; drm->storedMinEUinPool = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -48,7 +47,7 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x3185; drm->storedMinEUinPool = 9; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -68,24 +67,24 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, WhenConfiguringHwInfoThenInformationIsCorrec EXPECT_EQ(0, outKmdNotifyProperties.delayQuickKmdSleepForDirectSubmissionMicroseconds); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenInvalidInputWhenConfiguringHwInfoThenErrorIsReturned) { +GLKTEST_F(GlkProductHelperLinux, GivenInvalidInputWhenConfiguringHwInfoThenErrorIsReturned) { drm->failRetTopology = true; drm->storedRetValForEUVal = -1; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-1, ret); drm->storedRetValForEUVal = 0; drm->storedRetValForSSVal = -1; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-1, ret); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenFailingEnabledPoolWhenConfiguringHwInfoThenZeroIsSet) { +GLKTEST_F(GlkProductHelperLinux, GivenFailingEnabledPoolWhenConfiguringHwInfoThenZeroIsSet) { drm->storedRetValForPooledEU = -1; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -93,10 +92,10 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenFailingEnabledPoolWhenConfiguringHwInfo EXPECT_EQ(0u, outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenDisabledEnabledPoolWhenConfiguringHwInfoThenZeroIsSet) { +GLKTEST_F(GlkProductHelperLinux, GivenDisabledEnabledPoolWhenConfiguringHwInfoThenZeroIsSet) { drm->storedHasPooledEU = 0; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -104,12 +103,11 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenDisabledEnabledPoolWhenConfiguringHwInf EXPECT_EQ(0u, outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenFailingMinEuInPoolWhenConfiguringHwInfoThenCorrectValueSet) { +GLKTEST_F(GlkProductHelperLinux, GivenFailingMinEuInPoolWhenConfiguringHwInfoThenCorrectValueSet) { drm->storedRetValForMinEUinPool = -1; - drm->storedSSVal = 3; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -117,7 +115,7 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenFailingMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); drm->storedSSVal = 2; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -125,12 +123,11 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenFailingMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenInvalidMinEuInPoolWhenConfiguringHwInfoThenCorrectValueSet) { +GLKTEST_F(GlkProductHelperLinux, GivenInvalidMinEuInPoolWhenConfiguringHwInfoThenCorrectValueSet) { drm->storedMinEUinPool = 4; - drm->storedSSVal = 3; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -138,7 +135,7 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenInvalidMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); drm->storedSSVal = 2; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrPooledEuEnabled); @@ -146,11 +143,9 @@ GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenInvalidMinEuInPoolWhenConfiguringHwInfo EXPECT_EQ((outHwInfo.gtSystemInfo.EUCount - outHwInfo.gtSystemInfo.EuCountPerPoolMin), outHwInfo.gtSystemInfo.EuCountPerPoolMax); } -GLKTEST_F(HwInfoConfigTestLinuxGlk, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { - +GLKTEST_F(GlkProductHelperLinux, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { pInHwInfo.platform.usRevId = 0; - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); } diff --git a/shared/test/unit_test/gen9/glk/test_hw_info_config_glk.cpp b/shared/test/unit_test/gen9/glk/test_hw_info_config_glk.cpp index e7ee10e527..87fb1864c9 100644 --- a/shared/test/unit_test/gen9/glk/test_hw_info_config_glk.cpp +++ b/shared/test/unit_test/gen9/glk/test_hw_info_config_glk.cpp @@ -17,30 +17,27 @@ using namespace NEO; -TEST(GlkHwInfoConfig, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { - if (IGFX_GEMINILAKE != productFamily) { - return; - } - HardwareInfo hwInfo = *defaultHwInfo; - GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo; +using GlkProductHelper = HwInfoConfigTest; + +GLKTEST_F(GlkProductHelper, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { + + GT_SYSTEM_INFO >SystemInfo = pInHwInfo.gtSystemInfo; gtSystemInfo = {0}; uint64_t config = 0xdeadbeef; gtSystemInfo = {0}; - EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&hwInfo, false, config)); + EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&pInHwInfo, false, config)); EXPECT_EQ(0u, gtSystemInfo.SliceCount); EXPECT_EQ(0u, gtSystemInfo.SubSliceCount); EXPECT_EQ(0u, gtSystemInfo.DualSubSliceCount); EXPECT_EQ(0u, gtSystemInfo.EUCount); } -using GlkHwInfo = HwInfoConfigTest; - -GLKTEST_F(GlkHwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { +GLKTEST_F(GlkProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { EXPECT_EQ(aub_stream::ProductFamily::Glk, productHelper->getAubStreamProductFamily()); } -GLKTEST_F(GlkHwInfo, givenBoolWhenCallGlkHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { +GLKTEST_F(GlkProductHelper, givenBoolWhenCallGlkHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { uint64_t configs[] = { 0x100020006, 0x100030006}; @@ -84,46 +81,42 @@ GLKTEST_F(GlkHwInfo, givenBoolWhenCallGlkHardwareInfoSetupThenFeatureTableAndWor } } -GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGetProductConfigThenCorrectMatchIsFound) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::GLK); +GLKTEST_F(GlkProductHelper, givenProductHelperWhenGetProductConfigThenCorrectMatchIsFound) { + + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::GLK); } -GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported()); +GLKTEST_F(GlkProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { + + EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported()); } -GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +GLKTEST_F(GlkProductHelper, givenProductHelperWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationPolicySupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencyRequiredSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport()); + EXPECT_TRUE(productHelper->getScmPropertyThreadArbitrationPolicySupport()); + EXPECT_FALSE(productHelper->getScmPropertyCoherencyRequiredSupport()); + EXPECT_FALSE(productHelper->getScmPropertyZPassAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyPixelAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyLargeGrfModeSupport()); + EXPECT_FALSE(productHelper->getScmPropertyDevicePreemptionModeSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport()); - EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyGlobalAtomicsSupport()); + EXPECT_TRUE(productHelper->getStateBaseAddressPropertyStatelessMocsSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); - EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport()); + EXPECT_TRUE(productHelper->getFrontEndPropertyScratchSizeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyPrivateScratchSizeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyPreemptionModeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyStateSipSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyCsrSurfaceSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyComputeDispatchAllWalkerSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyComputeDispatchAllWalkerSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableEuFusionSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableOverDispatchSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); - EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyModeSelectedSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); + EXPECT_FALSE(productHelper->getPipelineSelectPropertySystolicModeSupport()); } diff --git a/shared/test/unit_test/gen9/kbl/linux/hw_info_config_tests_kbl.cpp b/shared/test/unit_test/gen9/kbl/linux/hw_info_config_tests_kbl.cpp index c526906241..e4e031ebd9 100644 --- a/shared/test/unit_test/gen9/kbl/linux/hw_info_config_tests_kbl.cpp +++ b/shared/test/unit_test/gen9/kbl/linux/hw_info_config_tests_kbl.cpp @@ -11,15 +11,15 @@ using namespace NEO; -struct HwInfoConfigTestLinuxKbl : HwInfoConfigTestLinux { +struct KblProductHelperLinux : HwInfoConfigTestLinux { void SetUp() override { HwInfoConfigTestLinux::SetUp(); } }; -KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); - auto ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +KBLTEST_F(KblProductHelperLinux, WhenConfiguringHwInfoThenInformationIsCorrect) { + + auto ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -31,14 +31,14 @@ KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenInformationIsCorrec drm->storedSSVal = 3; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); EXPECT_EQ(1u, outHwInfo.gtSystemInfo.SliceCount); EXPECT_EQ(aub_stream::ENGINE_RCS, outHwInfo.capabilityTable.defaultEngineType); - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -46,7 +46,7 @@ KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenInformationIsCorrec drm->storedSSVal = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -55,7 +55,7 @@ KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenInformationIsCorrec drm->storedSSVal = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -73,59 +73,57 @@ KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenInformationIsCorrec EXPECT_EQ(0, outKmdNotifyProperties.delayQuickKmdSleepForDirectSubmissionMicroseconds); } -KBLTEST_F(HwInfoConfigTestLinuxKbl, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { +KBLTEST_F(KblProductHelperLinux, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->failRetTopology = true; drm->storedRetValForEUVal = -4; - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-4, ret); } -KBLTEST_F(HwInfoConfigTestLinuxKbl, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { +KBLTEST_F(KblProductHelperLinux, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->failRetTopology = true; drm->storedRetValForSSVal = -5; - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-5, ret); } -KBLTEST_F(HwInfoConfigTestLinuxKbl, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); +KBLTEST_F(KblProductHelperLinux, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { outHwInfo.platform.usRevId = 0; - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); pInHwInfo.platform.usRevId = 7; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waDisableLSQCROPERFforOCL); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waEncryptedEdramOnlyPartials); pInHwInfo.platform.usRevId = 9; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waDisableLSQCROPERFforOCL); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waEncryptedEdramOnlyPartials); } -KBLTEST_F(HwInfoConfigTestLinuxKbl, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { - auto &productHelper = getHelper(); +KBLTEST_F(KblProductHelperLinux, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL(0u, outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x5927; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x5926; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); diff --git a/shared/test/unit_test/gen9/kbl/test_hw_info_config_kbl.cpp b/shared/test/unit_test/gen9/kbl/test_hw_info_config_kbl.cpp index 5ab04a222d..a253664f1e 100644 --- a/shared/test/unit_test/gen9/kbl/test_hw_info_config_kbl.cpp +++ b/shared/test/unit_test/gen9/kbl/test_hw_info_config_kbl.cpp @@ -16,29 +16,26 @@ using namespace NEO; -TEST(KblHwInfoConfig, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { - if (IGFX_KABYLAKE != productFamily) { - return; - } - HardwareInfo hwInfo = *defaultHwInfo; - GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo; +using KblProductHelper = HwInfoConfigTest; + +KBLTEST_F(KblProductHelper, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { + + GT_SYSTEM_INFO >SystemInfo = pInHwInfo.gtSystemInfo; uint64_t config = 0xdeadbeef; gtSystemInfo = {0}; - EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&hwInfo, false, config)); + EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&pInHwInfo, false, config)); EXPECT_EQ(0u, gtSystemInfo.SliceCount); EXPECT_EQ(0u, gtSystemInfo.SubSliceCount); EXPECT_EQ(0u, gtSystemInfo.DualSubSliceCount); EXPECT_EQ(0u, gtSystemInfo.EUCount); } -using KblHwInfo = HwInfoConfigTest; - -KBLTEST_F(KblHwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { +KBLTEST_F(KblProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { EXPECT_EQ(aub_stream::ProductFamily::Kbl, productHelper->getAubStreamProductFamily()); } -KBLTEST_F(KblHwInfo, givenBoolWhenCallKblHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { +KBLTEST_F(KblProductHelper, givenBoolWhenCallKblHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { uint64_t configs[] = { 0x100030008, 0x200030008, @@ -94,56 +91,52 @@ KBLTEST_F(KblHwInfo, givenBoolWhenCallKblHardwareInfoSetupThenFeatureTableAndWor } } -KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGetProductConfigThenCorrectMatchIsFound) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +KBLTEST_F(KblProductHelper, givenProductHelperWhenGetProductConfigThenCorrectMatchIsFound) { + for (const auto &deviceId : amlDeviceIds) { - hwInfo.platform.usDeviceID = deviceId; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::AML); + pInHwInfo.platform.usDeviceID = deviceId; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::AML); } for (const auto &deviceId : kblDeviceIds) { - hwInfo.platform.usDeviceID = deviceId; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::KBL); + pInHwInfo.platform.usDeviceID = deviceId; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::KBL); } - hwInfo.platform.usDeviceID = 0u; - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::UNKNOWN_ISA); + pInHwInfo.platform.usDeviceID = 0u; + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::UNKNOWN_ISA); } -KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported()); +KBLTEST_F(KblProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { + + EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported()); } -KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +KBLTEST_F(KblProductHelper, givenProductHelperWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationPolicySupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencyRequiredSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport()); + EXPECT_TRUE(productHelper->getScmPropertyThreadArbitrationPolicySupport()); + EXPECT_FALSE(productHelper->getScmPropertyCoherencyRequiredSupport()); + EXPECT_FALSE(productHelper->getScmPropertyZPassAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyPixelAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyLargeGrfModeSupport()); + EXPECT_FALSE(productHelper->getScmPropertyDevicePreemptionModeSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport()); - EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyGlobalAtomicsSupport()); + EXPECT_TRUE(productHelper->getStateBaseAddressPropertyStatelessMocsSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); - EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport()); + EXPECT_TRUE(productHelper->getFrontEndPropertyScratchSizeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyPrivateScratchSizeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyPreemptionModeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyStateSipSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyCsrSurfaceSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyComputeDispatchAllWalkerSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyComputeDispatchAllWalkerSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableEuFusionSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableOverDispatchSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); - EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyModeSelectedSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); + EXPECT_FALSE(productHelper->getPipelineSelectPropertySystolicModeSupport()); } diff --git a/shared/test/unit_test/gen9/skl/linux/hw_info_config_tests_skl.cpp b/shared/test/unit_test/gen9/skl/linux/hw_info_config_tests_skl.cpp index c64d28007e..210be03e4d 100644 --- a/shared/test/unit_test/gen9/skl/linux/hw_info_config_tests_skl.cpp +++ b/shared/test/unit_test/gen9/skl/linux/hw_info_config_tests_skl.cpp @@ -10,15 +10,14 @@ using namespace NEO; -struct HwInfoConfigTestLinuxSkl : HwInfoConfigTestLinux { +struct SklProductHelperLinux : HwInfoConfigTestLinux { void SetUp() override { HwInfoConfigTestLinux::SetUp(); } }; -SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); +SKLTEST_F(SklProductHelperLinux, WhenConfiguringHwInfoThenInformationIsCorrect) { + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -33,7 +32,7 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x1902; drm->storedSSVal = 3; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -42,7 +41,7 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x1917; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -50,7 +49,7 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x0903; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -59,7 +58,7 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrec pInHwInfo.platform.usDeviceID = 0x0903; drm->storedSSVal = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ((uint32_t)drm->storedEUVal, outHwInfo.gtSystemInfo.EUCount); EXPECT_EQ((uint32_t)drm->storedSSVal, outHwInfo.gtSystemInfo.SubSliceCount); @@ -77,43 +76,42 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenInformationIsCorrec EXPECT_EQ(0, outKmdNotifyProperties.delayQuickKmdSleepForDirectSubmissionMicroseconds); } -SKLTEST_F(HwInfoConfigTestLinuxSkl, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { +SKLTEST_F(SklProductHelperLinux, GivenFailedIoctlEuCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->storedRetValForEUVal = -4; drm->failRetTopology = true; - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-4, ret); } -SKLTEST_F(HwInfoConfigTestLinuxSkl, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { +SKLTEST_F(SklProductHelperLinux, GivenFailedIoctlSsCountWhenConfiguringHwInfoThenErrorIsReturned) { drm->storedRetValForSSVal = -5; drm->failRetTopology = true; - auto &productHelper = getHelper(); - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(-5, ret); } -SKLTEST_F(HwInfoConfigTestLinuxSkl, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { - auto &productHelper = getHelper(); +SKLTEST_F(SklProductHelperLinux, GivenWaFlagsWhenConfiguringHwInfoThenInformationIsCorrect) { pInHwInfo.platform.usRevId = 1; - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); pInHwInfo.platform.usRevId = 0; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waCompressedResourceRequiresConstVA21); pInHwInfo.platform.usRevId = 5; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waCompressedResourceRequiresConstVA21); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waModifyVFEStateAfterGPGPUPreemption); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waDisablePerCtxtPreemptionGranularityControl); pInHwInfo.platform.usRevId = 6; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waCompressedResourceRequiresConstVA21); EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waModifyVFEStateAfterGPGPUPreemption); @@ -121,42 +119,41 @@ SKLTEST_F(HwInfoConfigTestLinuxSkl, GivenWaFlagsWhenConfiguringHwInfoThenInforma EXPECT_EQ(0u, outHwInfo.workaroundTable.flags.waCSRUncachable); } -SKLTEST_F(HwInfoConfigTestLinuxSkl, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { - auto &productHelper = getHelper(); +SKLTEST_F(SklProductHelperLinux, WhenConfiguringHwInfoThenEdramInformationIsCorrect) { - int ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + int ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL(0u, outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(0u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x1926; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x1927; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x192D; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((64u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x193B; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((128u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); pInHwInfo.platform.usDeviceID = 0x193D; - ret = productHelper.configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); + ret = productHelper->configureHwInfoDrm(&pInHwInfo, &outHwInfo, getRootDeviceEnvironment()); EXPECT_EQ(0, ret); EXPECT_EQ_VAL((128u * 1024u), outHwInfo.gtSystemInfo.EdramSizeInKb); EXPECT_EQ(1u, outHwInfo.featureTable.flags.ftrEDram); diff --git a/shared/test/unit_test/gen9/skl/test_hw_info_config_skl.cpp b/shared/test/unit_test/gen9/skl/test_hw_info_config_skl.cpp index e69967bbd8..e8f47197aa 100644 --- a/shared/test/unit_test/gen9/skl/test_hw_info_config_skl.cpp +++ b/shared/test/unit_test/gen9/skl/test_hw_info_config_skl.cpp @@ -16,26 +16,22 @@ #include "platforms.h" using namespace NEO; +using SklProductHelper = HwInfoConfigTest; -TEST(SklHwInfoConfig, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { - if (IGFX_SKYLAKE != productFamily) { - return; - } - HardwareInfo hwInfo = *defaultHwInfo; - GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo; +SKLTEST_F(SklProductHelper, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsReturned) { + + GT_SYSTEM_INFO >SystemInfo = pInHwInfo.gtSystemInfo; gtSystemInfo = {0}; uint64_t config = 0xdeadbeef; - EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&hwInfo, false, config)); + EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&pInHwInfo, false, config)); EXPECT_EQ(0u, gtSystemInfo.SliceCount); EXPECT_EQ(0u, gtSystemInfo.SubSliceCount); EXPECT_EQ(0u, gtSystemInfo.DualSubSliceCount); EXPECT_EQ(0u, gtSystemInfo.EUCount); } -using SklHwInfo = HwInfoConfigTest; - -SKLTEST_F(SklHwInfo, givenBoolWhenCallSklHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { +SKLTEST_F(SklProductHelper, givenBoolWhenCallSklHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) { uint64_t configs[] = { 0x100030008, 0x200030008, @@ -101,50 +97,43 @@ SKLTEST_F(SklHwInfo, givenBoolWhenCallSklHardwareInfoSetupThenFeatureTableAndWor } } -SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGetProductConfigThenCorrectMatchIsFound) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_EQ(hwInfoConfig.getProductConfigFromHwInfo(hwInfo), AOT::SKL); +SKLTEST_F(SklProductHelper, givenProductHelperWhenGetProductConfigThenCorrectMatchIsFound) { + EXPECT_EQ(productHelper->getProductConfigFromHwInfo(pInHwInfo), AOT::SKL); } -SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); - EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported()); +SKLTEST_F(SklProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) { + EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported()); } -SKLTEST_F(SklHwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { +SKLTEST_F(SklProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) { EXPECT_EQ(aub_stream::ProductFamily::Skl, productHelper->getAubStreamProductFamily()); } -SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { - HardwareInfo hwInfo = *defaultHwInfo; - const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily); +SKLTEST_F(SklProductHelper, givenProductHelperWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) { + EXPECT_TRUE(productHelper->getScmPropertyThreadArbitrationPolicySupport()); + EXPECT_FALSE(productHelper->getScmPropertyCoherencyRequiredSupport()); + EXPECT_FALSE(productHelper->getScmPropertyZPassAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyPixelAsyncComputeThreadLimitSupport()); + EXPECT_FALSE(productHelper->getScmPropertyLargeGrfModeSupport()); + EXPECT_FALSE(productHelper->getScmPropertyDevicePreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationPolicySupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencyRequiredSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncComputeThreadLimitSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfModeSupport()); - EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionModeSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyGlobalAtomicsSupport()); + EXPECT_TRUE(productHelper->getStateBaseAddressPropertyStatelessMocsSupport()); + EXPECT_FALSE(productHelper->getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyGlobalAtomicsSupport()); - EXPECT_TRUE(hwInfoConfig.getStateBaseAddressPropertyStatelessMocsSupport()); - EXPECT_FALSE(hwInfoConfig.getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport()); + EXPECT_TRUE(productHelper->getFrontEndPropertyScratchSizeSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyPrivateScratchSizeSupport()); - EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyPreemptionModeSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyStateSipSupport()); + EXPECT_TRUE(productHelper->getPreemptionDbgPropertyCsrSurfaceSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport()); - EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyComputeDispatchAllWalkerSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableEuFusionSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertyDisableOverDispatchSupport()); + EXPECT_FALSE(productHelper->getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyComputeDispatchAllWalkerSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableEuFusionSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyDisableOverDispatchSupport()); - EXPECT_FALSE(hwInfoConfig.getFrontEndPropertySingleSliceDispatchCcsModeSupport()); - - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyModeSelectedSupport()); - EXPECT_TRUE(hwInfoConfig.getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); - EXPECT_FALSE(hwInfoConfig.getPipelineSelectPropertySystolicModeSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyModeSelectedSupport()); + EXPECT_TRUE(productHelper->getPipelineSelectPropertyMediaSamplerDopClockGateSupport()); + EXPECT_FALSE(productHelper->getPipelineSelectPropertySystolicModeSupport()); }