diff --git a/src/import/chips/p9/initfiles/p9.mcs.scom.initfile b/src/import/chips/p9/initfiles/p9.mcs.scom.initfile index 38bfd8b9971..59aa6e5aba5 100644 --- a/src/import/chips/p9/initfiles/p9.mcs.scom.initfile +++ b/src/import/chips/p9/initfiles/p9.mcs.scom.initfile @@ -92,3 +92,9 @@ ispy MC01.PBI01.SCOMFIR.MCPERF1_ENABLE_PF_DROP_SRQ [when=S] { 0; } +# HW400075 Always set MDI to 1 for ttypes cp_me and cp_m +ispy MC01.PBI01.SCOMFIR.MCMODE2_DISABLE_MDI0 [when=S && ATTR_CHIP_EC_FEATURE_HW40075] { + spyv; + 0b0001100000000; +} + diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C index 2f1e7e1122b..1bf9e4bf279 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mcs_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,6 +31,7 @@ using namespace fapi2; constexpr uint64_t literal_0b0111 = 0b0111; constexpr uint64_t literal_0 = 0; +constexpr uint64_t literal_0b0001100000000 = 0b0001100000000; fapi2::ReturnCode p9_mcs_scom(const fapi2::Target& TGT0) { @@ -50,6 +51,12 @@ fapi2::ReturnCode p9_mcs_scom(const fapi2::Target& TGT0) l_scom_buffer.insert<10, 1, 63, uint64_t>(l_MC01_PBI01_SCOMFIR_MCMODE1_DISABLE_FP_M_BIT_ON ); FAPI_TRY(fapi2::putScom(TGT0, 0x5010812ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x5010813ull, l_scom_buffer )); + + l_scom_buffer.insert<1, 13, 51, uint64_t>(literal_0b0001100000000 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x5010813ull, l_scom_buffer)); + } }; fapi_try_exit: diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index 5257bd9692d..a1999d2296a 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -2008,6 +2008,23 @@ + + ATTR_CHIP_EC_FEATURE_HW40075 + TARGET_TYPE_PROC_CHIP + + Addresses issue where MDI bit was getting wrong values with threadmill and transactional data resulting in coherency issues. + + + + ENUM_ATTR_NAME_NIMBUS + + 0x20 + LESS_THAN + + + + + ATTR_CHIP_EC_FEATURE_MSS_TRAINING_BAD_BITS TARGET_TYPE_PROC_CHIP