diff options
author | Adam Hale <adam.samuel.hale@ibm.com> | 2019-10-03 17:50:11 -0400 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-10-08 11:13:49 -0500 |
commit | 23d883c6dcb8002cc301adcad89f2a294338bcde (patch) | |
tree | daffd51c6050671f027201c7e68fcb1963f84ad3 | |
parent | 8ad37b962def84a761c3354dbaa146e6c1afa4c8 (diff) | |
download | talos-hostboot-23d883c6dcb8002cc301adcad89f2a294338bcde.tar.gz talos-hostboot-23d883c6dcb8002cc301adcad89f2a294338bcde.zip |
HW508066 - interleave granularity not setup for group of 3/6 in Axone
Change-Id: I14e82293d1526f35652c08412fc6be32f8a0e37a
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84769
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: SHELTON LEUNG <sleung@us.ibm.com>
Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84795
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: Daniel M Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/nest/p9_mss_setup_bars.C | 38 |
1 files changed, 6 insertions, 32 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_mss_setup_bars.C b/src/import/chips/p9/procedures/hwp/nest/p9_mss_setup_bars.C index d7364938c..26a6f12ab 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_mss_setup_bars.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_mss_setup_bars.C @@ -1681,7 +1681,6 @@ fapi2::ReturnCode writeMCBarData( FAPI_DBG("Entering"); fapi2::buffer<uint64_t> l_scomData(0); - fapi2::ATTR_MSS_INTERLEAVE_GRANULARITY_Type l_interleave_granule_size; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_INTERLEAVE_GRANULARITY, fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>(), @@ -1724,11 +1723,13 @@ fapi2::ReturnCode writeMCBarData( MCS_MCFGP_GROUP_BASE_ADDRESS_LEN>( (l_data.MCFGP_groupBaseAddr >> 2)); + // configure interleave granularity if 2/4/8 MC per group only - if ((l_data.MCFGP_chan_per_group == 0b0100) || // 2 MC/group - (l_data.MCFGP_chan_per_group == 0b0101) || - (l_data.MCFGP_chan_per_group == 0b0110) || // 4 MC/group - (l_data.MCFGP_chan_per_group == 0b1000)) // 8 MC/group + if ( (l_data.MCFGP_chan_per_group == 0b0100) || // 2 MC/group + (l_data.MCFGP_chan_per_group == 0b0101) || + (l_data.MCFGP_chan_per_group == 0b0110) || // 4 MC/group + (l_data.MCFGP_chan_per_group == 0b1000) // 8 MC/group + ) { fapi2::buffer<uint64_t> l_mcmode0_scom_data; FAPI_TRY(fapi2::getScom(l_target, MCS_MCMODE0, l_mcmode0_scom_data), @@ -1988,33 +1989,6 @@ fapi2::ReturnCode writeMCCInterleaveGranularity( if (l_data.MCFGP_valid == true) { fapi2::Target<fapi2::TARGET_TYPE_MI> l_mi_target = l_target.getParent<fapi2::TARGET_TYPE_MI>(); - - // configure interleave granularity if 1/2/4/8 MC per group only - if ((l_data.MCFGP_chan_per_group == 0) || // 8 MC/group - (l_data.MCFGP_chan_per_group == 1) || // 1 MC/group - (l_data.MCFGP_chan_per_group == 2) || // 2 MC/group - (l_data.MCFGP_chan_per_group == 4)) // 4 MC/group - { - //Only set to true if the value for the target is not set yet - if (l_granule_supported.find(l_mi_target) == l_granule_supported.end()) - { - l_granule_supported[l_mi_target] = true; - } - } - else - { - //Always set to false if we find one channel that cannot support it. - l_granule_supported[l_mi_target] = false; - } - } - } - - for ( auto l_it = l_granule_supported.begin(); l_it != l_granule_supported.end(); l_it++ ) - { - if (l_it->second) - { - auto l_mi_target = l_it->first; - fapi2::buffer<uint64_t> l_mcmode0_scom_data; FAPI_TRY(fapi2::getScom(l_mi_target, P9A_MI_MCMODE0, l_mcmode0_scom_data), "Error reading from MCS_MCMODE0 reg"); |