diff options
author | Prachi Gupta <pragupta@us.ibm.com> | 2016-04-25 16:06:43 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-06-29 00:18:11 -0400 |
commit | 198376ff3a3da01c5752a7196f774c690e77ee5f (patch) | |
tree | 0b4a7ff49bfa5ae93c826558657212a9801a7660 /src/import/chips/p9/procedures/hwp/initfiles/p9_npu_scom.C | |
parent | 4854eb8a32020d612ee6cc227d6c0a6cc7802ac5 (diff) | |
download | talos-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.C | 90 |
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) |