diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C index dce2a87e7..b2ca05281 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_scom.C @@ -35,8 +35,9 @@ constexpr uint64_t literal_12 = 12; constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_0b0100 = 0b0100; constexpr uint64_t literal_28 = 28; -constexpr uint64_t literal_0b01010 = 0b01010; constexpr uint64_t literal_0 = 0; +constexpr uint64_t literal_0b01010 = 0b01010; +constexpr uint64_t literal_0b11111 = 0b11111; constexpr uint64_t literal_8 = 8; constexpr uint64_t literal_0x1 = 0x1; constexpr uint64_t literal_0x3 = 0x3; @@ -69,6 +70,9 @@ fapi2::ReturnCode p9c_dmi_scom(const fapi2::Target<fapi2::TARGET_TYPE_DMI>& TGT0 FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT3, l_chip_ec)); uint64_t l_def_ENABLE_AMO_CACHING = literal_1; uint64_t l_def_ENABLE_AMO_CLEAN_LINES = literal_1; + fapi2::ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13_Type l_TGT3_ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13, TGT3, + l_TGT3_ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13)); uint64_t l_def_ENABLE_DYNAMIC_64_128B_READS = literal_0; uint64_t l_def_ENABLE_PREFETCH_DROP_PROMOTE_BASIC = literal_1; uint64_t l_def_ENABLE_RMW_IN_PROC = literal_1; @@ -127,7 +131,15 @@ fapi2::ReturnCode p9c_dmi_scom(const fapi2::Target<fapi2::TARGET_TYPE_DMI>& TGT0 constexpr auto l_MC01_CHAN0_ATCL_CL_CLSCOM_MCPERF2_ENABLE_REFRESH_BLOCK_DISP_OFF = 0x0; l_scom_buffer.insert<18, 1, 63, uint64_t>(l_MC01_CHAN0_ATCL_CL_CLSCOM_MCPERF2_ENABLE_REFRESH_BLOCK_DISP_OFF ); l_scom_buffer.insert<50, 5, 59, uint64_t>(literal_28 ); - l_scom_buffer.insert<55, 5, 59, uint64_t>(literal_0b01010 ); + + if ((l_TGT3_ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13 == literal_0)) + { + l_scom_buffer.insert<55, 5, 59, uint64_t>(literal_0b01010 ); + } + else if ((l_TGT3_ATTR_CHIP_EC_FEATURE_HW439321_FIXED_IN_P9UDD13 == literal_1)) + { + l_scom_buffer.insert<55, 5, 59, uint64_t>(literal_0b11111 ); + } if ((l_def_ENABLE_DYNAMIC_64_128B_READS == literal_1)) { |