diff options
Diffstat (limited to 'import/chips/p9/procedures/hwp/cache')
-rw-r--r-- | import/chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_reset.C | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_reset.C b/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_reset.C index 668c84a2..070b556a 100644 --- a/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_reset.C +++ b/import/chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_reset.C @@ -95,31 +95,32 @@ p9_hcd_cache_chiplet_reset( FAPI_TRY(putScom(i_target, EQ_HANG_PULSE_1_REG, l_data64)); #ifndef P9_HCD_STOP_SKIP_FLUSH - - /// @todo Drop the core2cache and cache2core fences to allow for L2 scanning - - //-------------------------------------------- - // Perform scan0 module for pervasive chiplet - //-------------------------------------------- - // Each scan0 will rotate the ring 8191 latches (2**13 - 1) and the longest - // ring is defined by P9_HCD_SCAN_FUNC_REPEAT. When the design ALWAYS has - // all stumps less than 8191, the repeat can be removed. - uint32_t l_loop; - fapi2::Target<fapi2::TARGET_TYPE_PERV> l_target; - FAPI_DBG("Scan0 the GPTR/TIME/REPR rings"); - - for(l_loop = 0; l_loop < P9_HCD_SCAN_GPTR_REPEAT; l_loop++) - FAPI_TRY(p9_perv_sbe_cmn_scan0_module(l_target, - p9hcd::SCAN0_REGION_ALL, - p9hcd::SCAN0_TYPE_GPTR_REPR_TIME)); - - FAPI_DBG("Scan0 all but the GPTR/TIME/REPR rings"); - - for(l_loop = 0; l_loop < P9_HCD_SCAN_FUNC_REPEAT; l_loop++) - FAPI_TRY(p9_perv_sbe_cmn_scan0_module(l_target, - p9hcd::SCAN0_REGION_ALL, - p9hcd::SCAN0_TYPE_ALL_BUT_GPTR_REPR_TIME)); - + // Putting in block to avoid c++ crosses initialization compile error + { + /// @todo Drop the core2cache and cache2core fences to allow for L2 scanning + + //-------------------------------------------- + // Perform scan0 module for pervasive chiplet + //-------------------------------------------- + // Each scan0 will rotate the ring 8191 latches (2**13 - 1) and the longest + // ring is defined by P9_HCD_SCAN_FUNC_REPEAT. When the design ALWAYS has + // all stumps less than 8191, the repeat can be removed. + uint32_t l_loop; + fapi2::Target<fapi2::TARGET_TYPE_PERV> l_target; + FAPI_DBG("Scan0 the GPTR/TIME/REPR rings"); + + for(l_loop = 0; l_loop < P9_HCD_SCAN_GPTR_REPEAT; l_loop++) + FAPI_TRY(p9_perv_sbe_cmn_scan0_module(l_target, + p9hcd::SCAN0_REGION_ALL, + p9hcd::SCAN0_TYPE_GPTR_REPR_TIME)); + + FAPI_DBG("Scan0 all but the GPTR/TIME/REPR rings"); + + for(l_loop = 0; l_loop < P9_HCD_SCAN_FUNC_REPEAT; l_loop++) + FAPI_TRY(p9_perv_sbe_cmn_scan0_module(l_target, + p9hcd::SCAN0_REGION_ALL, + p9hcd::SCAN0_TYPE_ALL_BUT_GPTR_REPR_TIME)); + } #endif fapi_try_exit: |