diff --git a/opencl/test/unit_test/aub/aub_center_tests.cpp b/opencl/test/unit_test/aub/aub_center_tests.cpp index 702ca4a6be..7930ffdc40 100644 --- a/opencl/test/unit_test/aub/aub_center_tests.cpp +++ b/opencl/test/unit_test/aub/aub_center_tests.cpp @@ -77,6 +77,18 @@ TEST(AubCenter, GivenCsrHwAndNotEmptyAubFileNameWhenGettingAubStreamModeThenMode } TEST(AubCenter, WhenAubManagerIsCreatedThenCorrectSteppingIsSet) { + struct { + __REVID stepping; + uint32_t expectedAubStreamStepping; + } steppingPairsToTest[] = { + {REVISION_A0, AubMemDump::SteppingValues::A}, + {REVISION_A1, AubMemDump::SteppingValues::A}, + {REVISION_A3, AubMemDump::SteppingValues::A}, + {REVISION_B, AubMemDump::SteppingValues::B}, + {REVISION_C, AubMemDump::SteppingValues::C}, + {REVISION_D, AubMemDump::SteppingValues::D}, + {REVISION_K, AubMemDump::SteppingValues::K}}; + DebugManagerStateRestore restorer; DebugManager.flags.UseAubStream.set(true); @@ -90,7 +102,7 @@ TEST(AubCenter, WhenAubManagerIsCreatedThenCorrectSteppingIsSet) { hwInfo.platform.usRevId = hwRevId; MockAubCenter aubCenter(&hwInfo, false, "", CommandStreamReceiverType::CSR_AUB); - EXPECT_EQ(steppingPair.aubStreamStepping, aubCenter.stepping); + EXPECT_EQ(steppingPair.expectedAubStreamStepping, aubCenter.stepping); } } diff --git a/opencl/test/unit_test/helpers/hw_helper_tests.cpp b/opencl/test/unit_test/helpers/hw_helper_tests.cpp index c7f367c638..1100438b5a 100644 --- a/opencl/test/unit_test/helpers/hw_helper_tests.cpp +++ b/opencl/test/unit_test/helpers/hw_helper_tests.cpp @@ -882,16 +882,6 @@ HWTEST_F(HwHelperTest, givenVariousValuesWhenConvertingHwRevIdAndSteppingThenCon auto steppingFromHwRevId = helper.getSteppingFromHwRevId(hardwareInfo); if (steppingFromHwRevId != CommonConstants::invalidStepping) { EXPECT_EQ(testValue, helper.getHwRevIdFromStepping(steppingFromHwRevId, hardwareInfo)); - } else { - EXPECT_EQ(AubMemDump::SteppingValues::A, helper.getAubStreamSteppingFromHwRevId(hardwareInfo)); - } - } - - for (auto &steppingPair : steppingPairsToTest) { - auto hwRevIdFromStepping = helper.getHwRevIdFromStepping(steppingPair.stepping, hardwareInfo); - if (hwRevIdFromStepping != CommonConstants::invalidStepping) { - hardwareInfo.platform.usRevId = hwRevIdFromStepping; - EXPECT_EQ(steppingPair.aubStreamStepping, helper.getAubStreamSteppingFromHwRevId(hardwareInfo)); } } } @@ -903,10 +893,35 @@ HWTEST_F(HwHelperTest, givenInvalidProductFamilyWhenConvertingHwRevIdAndStepping EXPECT_EQ(CommonConstants::invalidStepping, helper.getHwRevIdFromStepping(testValue, hardwareInfo)); hardwareInfo.platform.usRevId = testValue; EXPECT_EQ(CommonConstants::invalidStepping, helper.getSteppingFromHwRevId(hardwareInfo)); - EXPECT_EQ(AubMemDump::SteppingValues::A, helper.getAubStreamSteppingFromHwRevId(hardwareInfo)); } } +HWTEST_F(HwHelperTest, givenVariousValuesWhenGettingAubStreamSteppingFromHwRevIdThenReturnValuesAreCorrect) { + struct MockHwHelper : HwHelperHw { + uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const override { + return returnedStepping; + } + uint32_t returnedStepping = 0; + }; + MockHwHelper mockHwHelper; + mockHwHelper.returnedStepping = REVISION_A0; + EXPECT_EQ(AubMemDump::SteppingValues::A, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_A1; + EXPECT_EQ(AubMemDump::SteppingValues::A, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_A3; + EXPECT_EQ(AubMemDump::SteppingValues::A, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_B; + EXPECT_EQ(AubMemDump::SteppingValues::B, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_C; + EXPECT_EQ(AubMemDump::SteppingValues::C, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_D; + EXPECT_EQ(AubMemDump::SteppingValues::D, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = REVISION_K; + EXPECT_EQ(AubMemDump::SteppingValues::K, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); + mockHwHelper.returnedStepping = CommonConstants::invalidStepping; + EXPECT_EQ(AubMemDump::SteppingValues::A, mockHwHelper.getAubStreamSteppingFromHwRevId(hardwareInfo)); +} + HWTEST_F(HwHelperTest, givenDefaultHwHelperHwWhenIsForceEmuInt32DivRemSPWARequiredCalledThenFalseIsReturned) { if (hardwareInfo.platform.eRenderCoreFamily == IGFX_GEN12LP_CORE) { GTEST_SKIP(); diff --git a/opencl/test/unit_test/helpers/hw_helper_tests.h b/opencl/test/unit_test/helpers/hw_helper_tests.h index c71654787c..02b7c035af 100644 --- a/opencl/test/unit_test/helpers/hw_helper_tests.h +++ b/opencl/test/unit_test/helpers/hw_helper_tests.h @@ -18,15 +18,3 @@ using namespace NEO; using HwHelperTest = Test; void testDefaultImplementationOfSetupHardwareCapabilities(HwHelper &hwHelper, const HardwareInfo &hwInfo); - -constexpr struct { - __REVID stepping; - uint32_t aubStreamStepping; -} steppingPairsToTest[] = { - {REVISION_A0, AubMemDump::SteppingValues::A}, - {REVISION_A1, AubMemDump::SteppingValues::A}, - {REVISION_A3, AubMemDump::SteppingValues::A}, - {REVISION_B, AubMemDump::SteppingValues::B}, - {REVISION_C, AubMemDump::SteppingValues::C}, - {REVISION_D, AubMemDump::SteppingValues::D}, - {REVISION_K, AubMemDump::SteppingValues::K}}; diff --git a/shared/source/gen12lp/helpers_gen12lp.cpp b/shared/source/gen12lp/helpers_gen12lp.cpp index 23478fef7a..581fcec93b 100644 --- a/shared/source/gen12lp/helpers_gen12lp.cpp +++ b/shared/source/gen12lp/helpers_gen12lp.cpp @@ -27,10 +27,6 @@ uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) { return CommonConstants::invalidStepping; } -uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) { - return AubMemDump::SteppingValues::A; -} - bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily) { return (productFamily == PRODUCT_FAMILY::IGFX_TIGERLAKE_LP); } diff --git a/shared/source/gen12lp/helpers_gen12lp.h b/shared/source/gen12lp/helpers_gen12lp.h index 5f740dcb0b..f1fdc16d43 100644 --- a/shared/source/gen12lp/helpers_gen12lp.h +++ b/shared/source/gen12lp/helpers_gen12lp.h @@ -26,7 +26,6 @@ namespace Gen12LPHelpers { bool pipeControlWaRequired(PRODUCT_FAMILY productFamily); uint32_t getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo); uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo); -uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo); bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily); void adjustCoherencyFlag(PRODUCT_FAMILY productFamily, bool &coherencyFlag); bool isLocalMemoryEnabled(const HardwareInfo &hwInfo); diff --git a/shared/source/gen12lp/helpers_gen12lp_dg1.cpp b/shared/source/gen12lp/helpers_gen12lp_dg1.cpp index 6a6703e778..5c945b529f 100644 --- a/shared/source/gen12lp/helpers_gen12lp_dg1.cpp +++ b/shared/source/gen12lp/helpers_gen12lp_dg1.cpp @@ -43,18 +43,6 @@ uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) { return CommonConstants::invalidStepping; } -uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) { - if (hwInfo.platform.eProductFamily == PRODUCT_FAMILY::IGFX_DG1) { - switch (hwInfo.platform.usRevId) { - case 0x0: - return AubMemDump::SteppingValues::A; - case 0x1: - return AubMemDump::SteppingValues::B; - } - } - return AubMemDump::SteppingValues::A; -} - bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily) { return (productFamily == IGFX_TIGERLAKE_LP) || (productFamily == IGFX_DG1); } diff --git a/shared/source/gen12lp/hw_helper_gen12lp.cpp b/shared/source/gen12lp/hw_helper_gen12lp.cpp index bb734b0cd9..d8ab3fe066 100644 --- a/shared/source/gen12lp/hw_helper_gen12lp.cpp +++ b/shared/source/gen12lp/hw_helper_gen12lp.cpp @@ -136,37 +136,6 @@ uint32_t HwHelperHw::getSteppingFromHwRevId(const HardwareInfo &hwInfo) return Gen12LPHelpers::getSteppingFromHwRevId(hwInfo); } -template <> -uint32_t HwHelperHw::getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) const { - if (hwInfo.platform.eProductFamily == PRODUCT_FAMILY::IGFX_TIGERLAKE_LP) { - switch (hwInfo.platform.usRevId) { - case 0x0: - return AubMemDump::SteppingValues::A; - case 0x1: - return AubMemDump::SteppingValues::B; - case 0x3: - return AubMemDump::SteppingValues::C; - } - } else if (hwInfo.platform.eProductFamily == PRODUCT_FAMILY::IGFX_ROCKETLAKE) { - switch (hwInfo.platform.usRevId) { - case 0x0: - return AubMemDump::SteppingValues::A; - case 0x1: - return AubMemDump::SteppingValues::B; - case 0x4: - return AubMemDump::SteppingValues::C; - } - } else if (hwInfo.platform.eProductFamily == PRODUCT_FAMILY::IGFX_ALDERLAKE_S) { - switch (hwInfo.platform.usRevId) { - case 0x0: - return AubMemDump::SteppingValues::A; - case 0x4: - return AubMemDump::SteppingValues::B; - } - } - return Gen12LPHelpers::getAubStreamSteppingFromHwRevId(hwInfo); -} - template <> bool HwHelperHw::isBufferSizeSuitableForRenderCompression(const size_t size) const { return false; diff --git a/shared/source/helpers/hw_helper_base.inl b/shared/source/helpers/hw_helper_base.inl index a980ed436d..e82b80d855 100644 --- a/shared/source/helpers/hw_helper_base.inl +++ b/shared/source/helpers/hw_helper_base.inl @@ -357,7 +357,21 @@ uint32_t HwHelperHw::getSteppingFromHwRevId(const HardwareInfo &hwInf template uint32_t HwHelperHw::getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) const { - return AubMemDump::SteppingValues::A; + switch (getSteppingFromHwRevId(hwInfo)) { + default: + case REVISION_A0: + case REVISION_A1: + case REVISION_A3: + return AubMemDump::SteppingValues::A; + case REVISION_B: + return AubMemDump::SteppingValues::B; + case REVISION_C: + return AubMemDump::SteppingValues::C; + case REVISION_D: + return AubMemDump::SteppingValues::D; + case REVISION_K: + return AubMemDump::SteppingValues::K; + } } template