From bf390fb845e8b725db86a44f7f79d33234c8ef7b Mon Sep 17 00:00:00 2001 From: Ben Gass Date: Wed, 22 Mar 2017 15:57:25 -0500 Subject: Build p9n 10 and 20 by default. Enabling 20 caused generated initfile procedures to change. Chip target needed to be added to p9.fbc.ioo_dl.scom.initfile Change-Id: Id24aa67f8d2c3f07ef85ed3bf8a555c85b4a0d72 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38324 Tested-by: PPE CI Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: CHRISTINA L. GRAVES Reviewed-by: Richard J. Knight Reviewed-by: Benjamin Gass Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38328 Reviewed-by: Hostboot Team Tested-by: FSP CI Jenkins Reviewed-by: Sachin Gupta --- .../p9/procedures/hwp/initfiles/p9_mmu_scom.C | 60 ++++++++++++++++++---- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C index 61e33cfa..b4933141 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_mmu_scom.C @@ -108,10 +108,21 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target& { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c52ull, l_scom_buffer )); - constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; - l_scom_buffer.insert<20, 1, 57, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); - l_scom_buffer.insert<24, 1, 62, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); - l_scom_buffer.insert<26, 1, 63, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; + l_scom_buffer.insert<20, 1, 57, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<24, 1, 62, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<26, 1, 63, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + else if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0xe00; + l_scom_buffer.insert<20, 1, 52, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<24, 1, 57, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<26, 1, 58, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + l_scom_buffer.insert<30, 1, 59, uint64_t>(literal_0b11111 ); l_scom_buffer.insert<60, 4, 60, uint64_t>(literal_0b11111 ); l_scom_buffer.insert<0, 12, 52, uint64_t>(literal_0x00E ); @@ -120,23 +131,52 @@ fapi2::ReturnCode p9_mmu_scom(const fapi2::Target& { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c53ull, l_scom_buffer )); - constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; - l_scom_buffer.insert<2, 2, 60, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; + l_scom_buffer.insert<2, 2, 60, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + else if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0xe00; + l_scom_buffer.insert<2, 2, 55, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + l_scom_buffer.insert<32, 16, 48, uint64_t>(literal_0x0258 ); FAPI_TRY(fapi2::putScom(TGT0, 0x5012c53ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c54ull, l_scom_buffer )); - constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; - l_scom_buffer.insert<16, 1, 58, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; + l_scom_buffer.insert<16, 1, 58, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + else if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0xe00; + l_scom_buffer.insert<16, 1, 53, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<58, 2, 59, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x5012c54ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x5012c55ull, l_scom_buffer )); - constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; - l_scom_buffer.insert<16, 1, 59, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + if (((l_chip_id == 0x5) && (l_chip_ec == 0x10)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0x70; + l_scom_buffer.insert<16, 1, 59, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + else if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) ) + { + constexpr auto l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV = 0xe00; + l_scom_buffer.insert<16, 1, 54, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + l_scom_buffer.insert<58, 2, 61, uint64_t>(l_NMMU_MM_PIPE_THREAD_MODE_SINGLE_THREAD_MODE_ST_INV ); + } + constexpr auto l_NMMU_MM_CFG_NMMU_CTL_TLB_HASH_PID_DIS_ON = 0x1; l_scom_buffer.insert<21, 1, 63, uint64_t>(l_NMMU_MM_CFG_NMMU_CTL_TLB_HASH_PID_DIS_ON ); constexpr auto l_NMMU_MM_CFG_NMMU_CTL_TLB_ISS543B_FIX_EN_ON = 0x1; -- cgit v1.2.1