summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2016-04-25 16:06:43 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-06-29 00:18:11 -0400
commit198376ff3a3da01c5752a7196f774c690e77ee5f (patch)
tree0b4a7ff49bfa5ae93c826558657212a9801a7660 /src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C
parent4854eb8a32020d612ee6cc227d6c0a6cc7802ac5 (diff)
downloadtalos-hostboot-198376ff3a3da01c5752a7196f774c690e77ee5f.tar.gz
talos-hostboot-198376ff3a3da01c5752a7196f774c690e77ee5f.zip
initCompiler: fix problems with multiple instances of same scom address
Change-Id: I1070613e85abdee1ecadbcabf30a4ed9d4ceaa43 Original-Change-Id: Ic5bcb120b3bafbd5d8dffbc5550812e12e5472c6 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/23644 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: SHELTON LEUNG <sleung@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26364 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C90
1 files changed, 72 insertions, 18 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 653b3cab2..169f6e1bd 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
@@ -27,6 +27,7 @@ constexpr auto literal_2 = 2;
constexpr auto literal_3 = 3;
constexpr auto literal_1 = 1;
constexpr auto literal_0 = 0;
+constexpr auto literal_0x0 = 0x0;
constexpr auto literal_0x1111111111111111 = 0x1111111111111111;
constexpr auto literal_0x0000000000000000 = 0x0000000000000000;
@@ -56,10 +57,13 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == literal_2)
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_1] == literal_2))
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_2] == literal_2))
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)), 38, 1, 63 );
+ {
+ l_scom_buffer.insert<uint64_t> (((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == literal_2)
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_1] == literal_2))
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_2] == literal_2))
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)), 38, 1, 63 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011000ull, l_scom_buffer);
if (l_rc)
@@ -78,6 +82,15 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
+ fapi2::ATTR_PROC_EPS_WRITE_CYCLES_Type l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES;
+ l_rc = FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_WRITE_CYCLES, TGT1, l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES);
+
+ if (l_rc)
+ {
+ FAPI_ERR("ERROR executing: FAPI_ATTR_GET (ATTR_PROC_EPS_WRITE_CYCLES)");
+ break;
+ }
+
{
l_rc = fapi2::getScom( TGT0, 0x5011002ull, l_scom_buffer );
@@ -87,7 +100,30 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES[literal_0], 28, 12, 52 );
+ {
+ l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES[literal_0], 28, 12, 52 );
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES[literal_1], 40, 12, 52 );
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_READ_CYCLES[literal_2], 52, 12, 52 );
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0, 0, 4, 60 );
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES[literal_0], 4, 12, 52 );
+ }
+
+ {
+ l_scom_buffer.insert<uint64_t> (l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES[literal_1], 16, 12, 52 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011002ull, l_scom_buffer);
if (l_rc)
@@ -106,10 +142,13 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == literal_2)
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_1] == literal_2))
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_2] == literal_2))
- || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)), 51, 1, 63 );
+ {
+ l_scom_buffer.insert<uint64_t> (((((l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_0] == literal_2)
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_1] == literal_2))
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_2] == literal_2))
+ || (l_TGT0_ATTR_PROC_FABRIC_OPTICS_CONFIG_MODE[literal_3] == literal_2)), 51, 1, 63 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011008ull, l_scom_buffer);
if (l_rc)
@@ -128,7 +167,10 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (literal_0x1111111111111111, 0, 64, 0 );
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x1111111111111111, 0, 64, 0 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011403ull, l_scom_buffer);
if (l_rc)
@@ -147,8 +189,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011406ull, l_scom_buffer);
if (l_rc)
@@ -167,8 +212,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011407ull, l_scom_buffer);
if (l_rc)
@@ -187,8 +235,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011446ull, l_scom_buffer);
if (l_rc)
@@ -207,8 +258,11 @@ fapi2::ReturnCode p9_npu_scom(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&
break;
}
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
- l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ {
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ l_scom_buffer.insert<uint64_t> (literal_0x0000000000000000, 0, 64, 0 );
+ }
+
l_rc = fapi2::putScom(TGT0, 0x5011447ull, l_scom_buffer);
if (l_rc)
OpenPOWER on IntegriCloud