feature(sysman): Add rev 3 punit PMT support for BMG Linux

Related-To: NEO-14989

Signed-off-by: Anvesh Bakwad <anvesh.bakwad@intel.com>
This commit is contained in:
Anvesh Bakwad 2025-05-19 06:15:44 +00:00 committed by Compute-Runtime-Automation
parent 29e013eb1a
commit ec7956c013
2 changed files with 30 additions and 0 deletions

View File

@ -36,6 +36,14 @@ static std::map<std::string, std::map<std::string, uint64_t>> guidToKeyOffsetMap
{"XTAL_COUNT", 1024},
{"VCCGT_ENERGY_ACCUMULATOR", 1628},
{"VCCDDR_ENERGY_ACCUMULATOR", 1640}}},
{"0x1e2f8202", // BMG PUNIT rev 3
{{"XTAL_CLK_FREQUENCY", 4},
{"ACCUM_PACKAGE_ENERGY", 48},
{"ACCUM_PSYS_ENERGY", 52},
{"VRAM_BANDWIDTH", 56},
{"XTAL_COUNT", 1024},
{"VCCGT_ENERGY_ACCUMULATOR", 1628},
{"VCCDDR_ENERGY_ACCUMULATOR", 1640}}},
{"0x5e2f8210", // BMG OOBMSM Rev 15
{{"PACKAGE_ENERGY_STATUS_SKU_0_0_0_PCU", 136},
{"PLATFORM_ENERGY_STATUS", 140},

View File

@ -67,6 +67,28 @@ HWTEST2_F(SysmanProductHelperPmtTest, GivenSysmanProductHelperInstanceWhenGetGui
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x5e2f8210").at("reg_PCIESS_tx_bytecount_msb"), (*pGuidToKeyOffsetMap).at("0x5e2f8210").at("reg_PCIESS_tx_bytecount_msb"));
}
HWTEST2_F(SysmanProductHelperPmtTest, GivenSysmanProductHelperInstanceWhenGetGuidToKeyOffsetMapIsCalledForRev3PunitThenValidMapIsReturned, IsBMG) {
const std::map<std::string, std::map<std::string, uint64_t>> mockBmgGuidToKeyOffsetMap = {{"0x1e2f8202",
{{"XTAL_CLK_FREQUENCY", 4},
{"ACCUM_PACKAGE_ENERGY", 48},
{"ACCUM_PSYS_ENERGY", 52},
{"VRAM_BANDWIDTH", 56},
{"XTAL_COUNT", 1024},
{"VCCGT_ENERGY_ACCUMULATOR", 1628},
{"VCCDDR_ENERGY_ACCUMULATOR", 1640}}}};
auto pSysmanProductHelper = L0::Sysman::SysmanProductHelper::create(defaultHwInfo->platform.eProductFamily);
auto pGuidToKeyOffsetMap = pSysmanProductHelper->getGuidToKeyOffsetMap();
EXPECT_NE(nullptr, pGuidToKeyOffsetMap);
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("XTAL_CLK_FREQUENCY"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("XTAL_CLK_FREQUENCY"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("ACCUM_PACKAGE_ENERGY"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("ACCUM_PACKAGE_ENERGY"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("ACCUM_PSYS_ENERGY"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("ACCUM_PSYS_ENERGY"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("VRAM_BANDWIDTH"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("VRAM_BANDWIDTH"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("XTAL_COUNT"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("XTAL_COUNT"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("VCCGT_ENERGY_ACCUMULATOR"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("VCCGT_ENERGY_ACCUMULATOR"));
EXPECT_EQ(mockBmgGuidToKeyOffsetMap.at("0x1e2f8202").at("VCCDDR_ENERGY_ACCUMULATOR"), (*pGuidToKeyOffsetMap).at("0x1e2f8202").at("VCCDDR_ENERGY_ACCUMULATOR"));
}
} // namespace ult
} // namespace Sysman
} // namespace L0