summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Black <rblack@us.ibm.com>2017-09-25 17:14:15 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-10-19 16:45:12 -0400
commitf473840bd9de3c418bda915123794da7b7d7d209 (patch)
tree0580b3f00f952a65a05e4ddf24811efe3241efe7
parent6c15678d720cc3b68b52c6552c5abe30445e7bdc (diff)
downloadtalos-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.C131
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))
OpenPOWER on IntegriCloud