diff options
author | Yue Du <daviddu@us.ibm.com> | 2017-11-29 13:10:48 -0600 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-12-01 00:50:49 -0500 |
commit | 7bd8c25ffc52f362557853c4467e47fcb7320657 (patch) | |
tree | 7aa54f07ee5ff2fcc029971b6a51daefd5a4f5bb | |
parent | 0a78e28c88a13d17e19a1825a89341965f78efda (diff) | |
download | talos-sbe-7bd8c25ffc52f362557853c4467e47fcb7320657.tar.gz talos-sbe-7bd8c25ffc52f362557853c4467e47fcb7320657.zip |
STOP: EX deconfigure masking for EQ chiplet FIR
Key_Cronus_Test=PM_REGRESS
Change-Id: Ib5ec8e5b201631f264e4dba42f4bd387164664fa
CQ: SW408926
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50147
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50151
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C b/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C index 370a69e9..2087439c 100644 --- a/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C +++ b/src/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_scominit.C @@ -75,11 +75,17 @@ p9_hcd_cache_scominit( uint8_t l_excount = 0; uint8_t l_attr_chip_unit_pos = 0; uint8_t l_attr_sys_force_all_cores = 0; + fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_sys; fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_chip = i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); - fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_sys; + fapi2::Target<fapi2::TARGET_TYPE_PERV> l_eq_perv = + i_target.getParent<fapi2::TARGET_TYPE_PERV>(); auto l_ex_targets = i_target.getChildren<fapi2::TARGET_TYPE_EX>(); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, l_eq_perv, + l_attr_chip_unit_pos)); + l_attr_chip_unit_pos = l_attr_chip_unit_pos - p9hcd::PERV_TO_EQ_POS_OFFSET; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SYS_FORCE_ALL_CORES, l_sys, l_attr_sys_force_all_cores)); @@ -95,6 +101,18 @@ p9_hcd_cache_scominit( } } + for (l_exloop = 0; l_exloop < 2; l_exloop++) + { + if (!(l_exlist & BIT16((l_exloop + (l_attr_chip_unit_pos << 1))))) + { + FAPI_DBG("Apply EQ_FIR_MASK to Deconfigured EQ[%x]EX[%x]", + l_attr_chip_unit_pos, l_exloop); + FAPI_TRY(getScom(i_target, EQ_FIR_MASK, l_data64)); + l_data64 |= ((BIT64(4) | BIT64(6) | BIT64(8) | BIT64(11)) >> l_exloop); + FAPI_TRY(putScom(i_target, EQ_FIR_MASK, l_data64)); + } + } + // EX0 or only one configured EX target given: l_exloop = 0; // possible EX1 when two EX targets are given: l_exloop = 1; // (If you had to ask why not put l_exloop = 0 in the for loop syntax, |