diff options
author | Ryan Black <rblack@us.ibm.com> | 2017-09-25 17:14:15 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2017-10-19 16:45:12 -0400 |
commit | f473840bd9de3c418bda915123794da7b7d7d209 (patch) | |
tree | 0580b3f00f952a65a05e4ddf24811efe3241efe7 | |
parent | 6c15678d720cc3b68b52c6552c5abe30445e7bdc (diff) | |
download | talos-hostboot-f473840bd9de3c418bda915123794da7b7d7d209.tar.gz talos-hostboot-f473840bd9de3c418bda915123794da7b7d7d209.zip |
CQ: HW421976
Change-Id: I92cc250533c208ef7c52923555098f87a9b904af
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46709
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46714
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
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: Christian R. Geddes <crgeddes@us.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C | 131 |
1 files changed, 129 insertions, 2 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 acaaa4b68..22154f291 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 @@ -29,11 +29,11 @@ using namespace fapi2; -constexpr uint64_t literal_0b0 = 0b0; constexpr uint64_t literal_1 = 1; -constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_0 = 0; +constexpr uint64_t literal_0b0 = 0b0; +constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_0x1 = 0x1; constexpr uint64_t literal_0xF = 0xF; constexpr uint64_t literal_0b001000 = 0b001000; @@ -76,6 +76,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& fapi2::ATTR_NAME_Type l_chip_id; FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT0, l_chip_id)); FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT0, l_chip_ec)); + fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG_Type l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG, TGT0, + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG)); + uint64_t l_def_NUM_X_LINKS_CFG = ((l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_0] + + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_1]) + l_TGT0_ATTR_PROC_FABRIC_X_ATTACHED_CHIP_CNFG[literal_2]); fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE_Type l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE, TGT0, l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE)); uint64_t l_def_NVLINK_ACTIVE = ((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == @@ -107,6 +112,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011000ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -227,6 +237,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011020ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -340,6 +355,15 @@ 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)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + 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_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -494,6 +518,14 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -667,6 +699,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011060ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -828,6 +865,15 @@ 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)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + 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_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -1091,6 +1137,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011100ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1230,6 +1281,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011120ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1369,6 +1425,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011140ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1508,6 +1569,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011160ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -1713,6 +1779,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011200ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) @@ -1896,6 +1967,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011220ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -2009,6 +2085,15 @@ 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)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + 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_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -2163,6 +2248,14 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -2336,6 +2429,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011260ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) || ((l_chip_id == 0x5) && (l_chip_ec == 0x21)) || ((l_chip_id == 0x5) @@ -2560,6 +2658,15 @@ 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)) ) { + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + } + + 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_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); } @@ -2930,6 +3037,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011400ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -3126,6 +3238,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011430ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -3327,6 +3444,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011460ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) @@ -3473,6 +3595,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& { FAPI_TRY(fapi2::getScom( TGT0, 0x5011490ull, l_scom_buffer )); + if ((l_def_NUM_X_LINKS_CFG == literal_1)) + { + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_1 ); + } + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_0b0 ); if ((l_def_NVLINK_ACTIVE == literal_1)) |