diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2018-02-08 13:19:35 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-02-18 13:06:37 -0500 |
commit | f28cb333bfe398ac9fd6bb89243d62766c0a279f (patch) | |
tree | fb07d2b22acfba7844fd32e526f96159426e524a | |
parent | 43736aca31cfaad074bcab81a88486c0915fd462 (diff) | |
download | talos-hostboot-f28cb333bfe398ac9fd6bb89243d62766c0a279f.tar.gz talos-hostboot-f28cb333bfe398ac9fd6bb89243d62766c0a279f.zip |
p9.npu.scom.initfile -- limit DCP0 credits for HW437173
Change-Id: Id1dca730debe012d706fb9eb2fa236c7fb92fab8
CQ: HW437173
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53649
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: RYAN BLACK <rblack@us.ibm.com>
Reviewed-by: Jenny Huynh <jhuynh@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53672
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C | 58 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml | 18 |
2 files changed, 73 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C index c3ed131ab..9d53f9c13 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C @@ -50,6 +50,7 @@ constexpr uint64_t literal_0x100 = 0x100; constexpr uint64_t literal_0x200 = 0x200; constexpr uint64_t literal_0x300 = 0x300; constexpr uint64_t literal_0x8 = 0x8; +constexpr uint64_t literal_0x7E = 0x7E; constexpr uint64_t literal_0xFFF = 0xFFF; constexpr uint64_t literal_0xE000000000000000 = 0xE000000000000000; constexpr uint64_t literal_0x0000000000000000 = 0x0000000000000000; @@ -3383,6 +3384,20 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) + && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501135aull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0x7E ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x501135aull, l_scom_buffer)); + } + } + { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { FAPI_TRY(fapi2::getScom( TGT0, 0x5011382ull, l_scom_buffer )); @@ -3436,17 +3451,26 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& } } { + FAPI_TRY(fapi2::getScom( TGT0, 0x501138aull, l_scom_buffer )); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { - FAPI_TRY(fapi2::getScom( TGT0, 0x501138aull, l_scom_buffer )); - if ((l_def_NVLINK_ACTIVE == literal_1)) { l_scom_buffer.insert<0, 64, 0, uint64_t>(literal_0x7F60B04500AC0000 ); } + } - FAPI_TRY(fapi2::putScom(TGT0, 0x501138aull, l_scom_buffer)); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) + && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) + { + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0x7E ); + } } + + FAPI_TRY(fapi2::putScom(TGT0, 0x501138aull, l_scom_buffer)); } { if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) @@ -4353,6 +4377,34 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) { + FAPI_TRY(fapi2::getScom( TGT0, 0x501155aull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0x7E ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x501155aull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) + && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) + { + FAPI_TRY(fapi2::getScom( TGT0, 0x501158aull, l_scom_buffer )); + + if ((l_def_NVLINK_ACTIVE == literal_1)) + { + l_scom_buffer.insert<32, 8, 56, uint64_t>(literal_0x7E ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x501158aull, l_scom_buffer)); + } + } + { + if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) + && (l_chip_ec == 0x22)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x10)) || ((l_chip_id == 0x6) && (l_chip_ec == 0x11)) ) + { FAPI_TRY(fapi2::getScom( TGT0, 0x5011645ull, l_scom_buffer )); if ((l_def_NVLINK_ACTIVE == literal_1)) 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 17edf3e59..520df0bbe 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 @@ -6422,6 +6422,24 @@ </chip> </chipEcFeature> </attribute> + <!-- ******************************************************************** --> + <attribute> + <id>ATTR_CHIP_EC_FEATURE_HW437173</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <description> + Limit NPU DCP0 credits advertised to an OpenCAPI AFU to 126. + </description> + <chipEcFeature> + <falseIfMatch/> + <chip> + <name>ENUM_ATTR_NAME_NIMBUS</name> + <ec> + <value>0x20</value> + <test>LESS_THAN</test> + </ec> + </chip> + </chipEcFeature> + </attribute> <!-- ******************************************************************** --> <attribute> <id>ATTR_CHIP_EC_FEATURE_HW419021</id>> |