diff options
10 files changed, 154 insertions, 78 deletions
diff --git a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_mss_freq.C b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_mss_freq.C index 08317cb8a..a75af9024 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_mss_freq.C +++ b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_mss_freq.C @@ -292,10 +292,12 @@ fapi2::ReturnCode check_freq_support_vpd<mss::proc_type::AXONE>( const fapi2::Ta fapi2::VPDInfo<TT::VPD_TARGET_TYPE> l_vpd_info(TT::VPD_BLOB); const auto& l_vpd_target = mss::find_target<TT::VPD_TARGET_TYPE>(i_target); + uint32_t l_omi_freq = 0; l_vpd_info.iv_is_config_ffdc_enabled = false; - FAPI_TRY(convert_ddr_freq_to_omi_freq(i_target, i_proposed_freq, l_vpd_info.iv_omi_freq_mhz)); + FAPI_TRY(convert_ddr_freq_to_omi_freq(i_target, i_proposed_freq, l_omi_freq)); + l_vpd_info.iv_omi_freq_mhz = l_omi_freq; FAPI_INF("Setting VPD info OMI frequency: %d Gbps, for DDR frequency %d MT/s", l_vpd_info.iv_omi_freq_mhz, i_proposed_freq); diff --git a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.C b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.C index 8fd3c679b..97f95c7b8 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.C +++ b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.C @@ -156,7 +156,7 @@ fapi_try_exit: /// bool deconfigure(const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, const uint64_t i_dimm_speed, - const uint32_t i_max_freq) + const uint64_t i_max_freq) { bool l_is_hw_deconfigured = (i_dimm_speed != i_max_freq); @@ -174,44 +174,44 @@ bool deconfigure(const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, } /// -/// @brief Selects synchronous mode and performs requirements enforced by selected port frequency +/// @brief Selects OMI frequency based on selected port frequencies /// @param[in] i_freq_map dimm speed mapping /// @param[in] i_equal_dimm_speed tracks whether map has equal dimm speeds /// @param[in] i_omi_freq OMI frequency -/// @param[out] o_selected_sync_mode final synchronous mode -/// @param[out] o_selected_omi_freq final freq selected, only valid if final sync mode is in-sync +/// @param[out] o_selected_omi_freq final freq selected /// @return FAPI2_RC_SUCCESS iff successful /// -fapi2::ReturnCode select_sync_mode(const std::map< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t >& i_freq_map, - const speed_equality i_equal_dimm_speed, - const uint32_t i_omi_freq, - uint8_t& o_selected_sync_mode, - uint64_t& o_selected_omi_freq) +fapi2::ReturnCode select_omi_freq(const std::map< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t >& i_freq_map, + const speed_equality i_equal_dimm_speed, + const uint32_t i_omi_freq, + uint32_t& o_selected_omi_freq) { - FAPI_INF("---- In select_sync_mode ----"); + FAPI_INF("---- In select_omi_freq ----"); switch(i_equal_dimm_speed) { - // If we have a port which has resolved to equal speeds ... + // If we resolved to equal speeds ... case speed_equality::EQUAL_DIMM_SPEEDS: { // Return back the resulting speed. It doesn't matter which we select from the map as they're all equal // If we end up not in sync in the conditional below, thats ok - this parameter is ignored by the // caller if we're not in sync mode const auto l_ddr_freq = i_freq_map.begin()->second; - FAPI_TRY(convert_ddr_freq_to_omi_freq(i_freq_map.begin()->first, l_ddr_freq, o_selected_omi_freq)); + FAPI_TRY(convert_ddr_freq_to_omi_freq(i_freq_map.begin()->first, + l_ddr_freq, + o_selected_omi_freq)); // When we selected ATTR_MSS_FREQ, we made sure that we didn't // select a DIMM freq the OMI couldn't support. - o_selected_sync_mode = fapi2::ENUM_ATTR_MC_SYNC_MODE_IN_SYNC; + +#ifndef __HOSTBOOT_MODULE // On Cronus if the o_selected_omi_freq != i_omi_freq we've got a mismatch. Note that p9a_mss_freq ensures // we don't select an invalid freq, but doesn't ensure we select the current OMI freq. -#ifndef __HOSTBOOT_MODULE FAPI_ASSERT(o_selected_omi_freq == i_omi_freq, fapi2::P9A_MSS_FAILED_SYNC_MODE() .set_OMI_FREQ(i_omi_freq) .set_MEM_FREQ(o_selected_omi_freq), - "The DIMM freq (%d) and the OMI freq (%d) don't align", + "The OMI freq selected by DIMM speed (%d) and the currently selected OMI freq (%d) don't align", o_selected_omi_freq, i_omi_freq); #endif return fapi2::FAPI2_RC_SUCCESS; @@ -223,13 +223,14 @@ fapi2::ReturnCode select_sync_mode(const std::map< fapi2::Target<fapi2::TARGET_T // When we selected ATTR_MSS_FREQ, we made sure that we didn't // select a DIMM freq the OMI couldn't support. That means that the fastest of the ports // is the one that rules the roost (the OMI can support it too.) So find that, and set it to - // the selected frequency. Then deconfigure the slower port (unless we're in Cronus in which + // the selected frequency. Then deconfigure the slower ports (unless we're in Cronus in which // case we just bomb out.) #ifdef __HOSTBOOT_MODULE uint64_t l_max_dimm_speed = 0; fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT> l_fastest_port_target = i_freq_map.begin()->first; std::for_each(i_freq_map.begin(), i_freq_map.end(), - [&l_max_dimm_speed, &l_fastest_port_target](const std::pair<fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t>& m) + [&l_max_dimm_speed, &l_fastest_port_target] + (const std::pair<fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t>& m) { l_max_dimm_speed = std::max(l_max_dimm_speed, m.second); l_fastest_port_target = m.first; @@ -241,15 +242,16 @@ fapi2::ReturnCode select_sync_mode(const std::map< fapi2::Target<fapi2::TARGET_T deconfigure(m.first, m.second, l_max_dimm_speed); }); - o_selected_sync_mode = fapi2::ENUM_ATTR_MC_SYNC_MODE_IN_SYNC; - FAPI_TRY(convert_ddr_freq_to_omi_freq(l_fastest_port_target, l_max_dimm_speed, o_selected_omi_freq)); + FAPI_TRY(convert_ddr_freq_to_omi_freq(l_fastest_port_target, + l_max_dimm_speed, + o_selected_omi_freq)); return fapi2::FAPI2_RC_SUCCESS; #else // Cronus only FAPI_ASSERT(false, fapi2::P9A_MSS_FAILED_SYNC_MODE() .set_OMI_FREQ(i_omi_freq), - "DIMM speeds differ from OMI speed %d", i_omi_freq); + "Some DIMM speeds are incompatible with OMI speed %d", i_omi_freq); #endif break; } diff --git a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.H b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.H index 06345713c..e05415523 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.H +++ b/src/import/chips/p9a/procedures/hwp/memory/lib/freq/axone_sync.H @@ -43,6 +43,7 @@ #include <mss_generic_attribute_getters.H> #include <generic/memory/lib/utils/shared/mss_generic_consts.H> #include <lib/shared/axone_consts.H> +#include <lib/freq/axone_freq_traits.H> #include <generic/memory/lib/utils/freq/mss_freq_scoreboard.H> #include <generic/memory/lib/utils/c_str.H> #include <generic/memory/lib/utils/mss_math.H> @@ -99,18 +100,19 @@ fapi_try_exit: /// inline fapi2::ReturnCode convert_ddr_freq_to_omi_freq(const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, const uint64_t i_ddr_freq, - uint64_t& o_omi_freq) + uint32_t& o_omi_freq) { using TT = mss::frequency_traits<mss::proc_type::AXONE>; constexpr uint64_t ROUND_UNITS = 10; + uint64_t l_omi_freq = 0; // Get the OMI to DDR freq ratio uint8_t l_ratio[TT::MAX_DIMM_PER_PORT] = {0}; FAPI_TRY(mss::attr::get_host_to_ddr_speed_ratio(i_target, l_ratio)); // Multiply by the ratio and round to the nearest 10GBPS - FAPI_TRY(mss::divide_and_round((i_ddr_freq * l_ratio[0]), ROUND_UNITS, o_omi_freq)); - o_omi_freq *= ROUND_UNITS; + FAPI_TRY(mss::divide_and_round((i_ddr_freq * l_ratio[0]), ROUND_UNITS, l_omi_freq)); + o_omi_freq = ROUND_UNITS * l_omi_freq; FAPI_DBG("For ratio %d and DDR freq %d, corresponding OMI freq is %d", l_ratio[0], i_ddr_freq, o_omi_freq); fapi_try_exit: @@ -125,7 +127,7 @@ fapi_try_exit: /// @return FAPI2_RC_SUCCESS iff successful /// inline fapi2::ReturnCode convert_omi_freq_to_ddr_freq(const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, - const uint64_t i_omi_freq, + const uint32_t i_omi_freq, uint64_t& o_ddr_freq) { using TT = mss::frequency_traits<mss::proc_type::AXONE>; @@ -134,7 +136,7 @@ inline fapi2::ReturnCode convert_omi_freq_to_ddr_freq(const fapi2::Target<fapi2: uint8_t l_ratio[TT::MAX_DIMM_PER_PORT] = {0}; FAPI_TRY(mss::attr::get_host_to_ddr_speed_ratio(i_target, l_ratio)); - FAPI_TRY(mss::divide_and_round(i_omi_freq, static_cast<uint64_t>(l_ratio[0]), o_ddr_freq), + FAPI_TRY(mss::divide_and_round(static_cast<uint64_t>(i_omi_freq), static_cast<uint64_t>(l_ratio[0]), o_ddr_freq), "%s freq system saw a zero Host (OMI) to DDR frequency ratio", mss::c_str(i_target)); FAPI_DBG( "For ratio %d and OMI freq %d, corresponding DDR freq is %d", l_ratio[0], i_omi_freq, o_ddr_freq); @@ -143,26 +145,6 @@ fapi_try_exit: } /// -/// @brief Checks to see if a passed in value could be a valid OMI frequency -/// @param[in] i_target the port target -/// @param[in] i_proposed_freq a frequency value that is to be checked -/// @param[out] o_valid boolean whether the value is a valid OMI frequency -/// @return FAPI2_RC_SUCCESS iff successful -/// -inline fapi2::ReturnCode is_omi_freq_valid (const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, - const uint64_t i_proposed_freq, - uint64_t& o_valid) -{ - uint64_t l_proposed_omi_freq = 0; - FAPI_TRY(convert_ddr_freq_to_omi_freq(i_target, i_proposed_freq, l_proposed_omi_freq)); - - o_valid = std::binary_search(AXONE_OMI_FREQS.begin(), AXONE_OMI_FREQS.end(), l_proposed_omi_freq); - -fapi_try_exit: - return fapi2::current_err; -} - -/// /// @brief Retrieves a mapping of MSS frequency values per port target /// @param[in] i_targets vector of port targets /// @param[out] o_freq_map dimm speed map <key, value> = (port target, frequency) @@ -182,22 +164,20 @@ fapi2::ReturnCode dimm_speed_map(const std::vector< fapi2::Target<fapi2::TARGET_ /// bool deconfigure(const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& i_target, const uint64_t i_dimm_speed, - const uint32_t i_omi_freq); + const uint64_t i_omi_freq); /// -/// @brief Selects synchronous mode and performs requirements enforced by selected port frequency +/// @brief Selects OMI frequency based on selected port frequencies /// @param[in] i_freq_map dimm speed mapping /// @param[in] i_equal_dimm_speed tracks whether map has equal dimm speeds /// @param[in] i_omi_freq OMI frequency -/// @param[out] o_selected_sync_mode final synchronous mode -/// @param[out] o_selected_omi_freq final freq selected, only valid if final sync mode is in-sync +/// @param[out] o_selected_omi_freq final freq selected /// @return FAPI2_RC_SUCCESS iff successful /// -fapi2::ReturnCode select_sync_mode(const std::map< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t >& i_freq_map, - const speed_equality i_equal_dimm_speed, - const uint32_t i_omi_freq, - uint8_t& o_selected_sync_mode, - uint64_t& o_selected_omi_freq); +fapi2::ReturnCode select_omi_freq(const std::map< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t >& i_freq_map, + const speed_equality i_equal_dimm_speed, + const uint32_t i_omi_freq, + uint32_t& o_selected_omi_freq); }// mss diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C index 49c7c4e56..3bbf0ea9f 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C +++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C @@ -64,7 +64,7 @@ fapi2::ReturnCode p9a_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MEM { uint8_t l_dimm_index = 0; uint64_t l_freq = 0; - uint64_t l_omi_freq = 0; + uint32_t l_omi_freq = 0; FAPI_TRY( mss::attr::get_freq(mss::find_target<fapi2::TARGET_TYPE_MEM_PORT>(dimm), l_freq) ); FAPI_TRY( mss::convert_ddr_freq_to_omi_freq(mss::find_target<fapi2::TARGET_TYPE_MEM_PORT>(dimm), l_freq, l_omi_freq)); diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.C b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.C index cc23976d8..adddd1ca2 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.C +++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -35,13 +35,59 @@ // fapi2 #include <p9a_mss_freq_system.H> +#include <lib/freq/axone_sync.H> +#include <generic/memory/lib/utils/find.H> +#include <generic/memory/lib/utils/count_dimm.H> +extern "C" +{ /// /// @brief Matches OMI freq with DDR freq -/// @param[in] i_target controller (e.g. MC) +/// @param[in] i_target PROC_CHIP target /// @return FAPI2_RC_SUCCESS iff ok /// -fapi2::ReturnCode p9a_mss_freq_system( const fapi2::Target<fapi2::TARGET_TYPE_MC>& i_target ) -{ - return fapi2::FAPI2_RC_SUCCESS; -} + fapi2::ReturnCode p9a_mss_freq_system( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target ) + { + const auto& l_ports = mss::find_targets<fapi2::TARGET_TYPE_MEM_PORT>(i_target); + + // If there are no DIMM we don't need to bother. In fact, we can't as we didn't setup + // attributes for the PHY, etc. If there is even one DIMM on this proc, + // we do the right thing. + if (mss::count_dimm(l_ports) == 0) + { + FAPI_INF("... skipping freq_system - no DIMM ..."); + return fapi2::FAPI2_RC_SUCCESS; + } + + std::map< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>, uint64_t > l_freq_map; + uint32_t l_omi_freq = 0; + uint32_t l_selected_omi_freq = 0; + mss::speed_equality l_equal_dimm_speed; + + // Get OMI freq + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_FREQ_OMI_MHZ, i_target, l_omi_freq) ); + + FAPI_INF("Retrieved omi freq %d", l_omi_freq); + + // Populate dimm speed map + FAPI_TRY( mss::dimm_speed_map(l_ports, l_freq_map, l_equal_dimm_speed), + "Failed to get dimm speed mapping" ); + + FAPI_INF("Dimm speed for all OCMBs are the same : %s", + uint8_t(l_equal_dimm_speed) ? "true" : "false"); + + // Select OMI freq, or check in the case of Cronus + FAPI_TRY( mss::select_omi_freq(l_freq_map, + l_equal_dimm_speed, + l_omi_freq, + l_selected_omi_freq) ); + + // Set attributes. + FAPI_INF("%s: Setting recommended OMI frequency in ATTR_FREQ_OMI_MHZ to %d", mss::c_str(i_target), l_selected_omi_freq); + FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_FREQ_OMI_MHZ, i_target, l_selected_omi_freq) ); + + fapi_try_exit: + return fapi2::current_err; + } + +} //extern "C" diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.H b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.H index cbf2d718c..31389feff 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.H +++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -39,17 +39,17 @@ #include <fapi2.H> #include <vector> -typedef fapi2::ReturnCode (*p9a_mss_freq_system_FP_t) (const fapi2::Target<fapi2::TARGET_TYPE_MC>&); +typedef fapi2::ReturnCode (*p9a_mss_freq_system_FP_t) (const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); extern "C" { /// /// @brief Matches OMI freq with DDR freq - /// @param[in] i_target controller (e.g. MC) + /// @param[in] i_target PROC_CHIP target /// @return FAPI2_RC_SUCCESS iff ok /// - fapi2::ReturnCode p9a_mss_freq_system(const fapi2::Target<fapi2::TARGET_TYPE_MC>& i_target); + fapi2::ReturnCode p9a_mss_freq_system(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); } #endif diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.mk b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.mk index 2e399418e..baacd38d6 100644 --- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.mk +++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq_system.mk @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2018 +# Contributors Listed Below - COPYRIGHT 2018,2019 # [+] International Business Machines Corp. # # @@ -27,5 +27,5 @@ -include 00p9a_common.mk PROCEDURE=p9a_mss_freq_system -$(eval $(call ADD_MEMORY_INCDIRS,$(PROCEDURE))) +$(eval $(call ADD_P9A_MEMORY_INCDIRS,$(PROCEDURE))) $(call BUILD_PROCEDURE) diff --git a/src/import/generic/memory/lib/utils/count_dimm.H b/src/import/generic/memory/lib/utils/count_dimm.H index 87f54fb40..8f75b984b 100644 --- a/src/import/generic/memory/lib/utils/count_dimm.H +++ b/src/import/generic/memory/lib/utils/count_dimm.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -71,5 +71,24 @@ inline size_t count_dimm(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target) return 1; } +/// +/// @brief Return the count of the number of DIMM attached to a vector of targets +/// @tparam T the fapi2::TargetType +/// @param[in] i_target a vector of targets +/// @return size_t the count of DIMM attached +/// +template< fapi2::TargetType T > +inline size_t count_dimm(const std::vector<fapi2::Target<T>>& i_targets) +{ + size_t l_dimm_count = 0; + + for (const auto& l_target : i_targets) + { + l_dimm_count += count_dimm(l_target); + } + + return l_dimm_count; +} + } #endif diff --git a/src/import/generic/memory/lib/utils/find.H b/src/import/generic/memory/lib/utils/find.H index 1d5744cbe..bfae8a1c5 100644 --- a/src/import/generic/memory/lib/utils/find.H +++ b/src/import/generic/memory/lib/utils/find.H @@ -231,6 +231,33 @@ find_targets( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, } /// +/// @brief find all the MEM_PORTs connected to a PROC_CHIP +/// @param[in] i_target a fapi2::Target PROC_CHIP +/// @return a vector of fapi2::TARGET_TYPE_MEM_PORT +/// +template<> +inline std::vector< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT> > +find_targets( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + fapi2::TargetState i_state ) +{ + std::vector< fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT> > l_ports; + + for (const auto& l_mc : i_target.getChildren<fapi2::TARGET_TYPE_MC>(i_state)) + { + for (const auto& l_omi : l_mc.getChildren<fapi2::TARGET_TYPE_OMI>(i_state)) + { + for (const auto& l_ocmb : l_omi.getChildren<fapi2::TARGET_TYPE_OCMB_CHIP>(i_state)) + { + auto l_these_ports( l_ocmb.getChildren<fapi2::TARGET_TYPE_MEM_PORT>(i_state) ); + l_ports.insert(l_ports.end(), l_these_ports.begin(), l_these_ports.end()); + } + } + } + + return l_ports; +} + +/// /// @brief find all the MBA connected to an DMI /// @param[in] i_target a fapi2::Target DMI /// @return a vector of fapi2::TARGET_TYPE_MBA diff --git a/src/usr/isteps/istep07/call_mss_freq.C b/src/usr/isteps/istep07/call_mss_freq.C index c6e6ac038..f6b35e688 100644 --- a/src/usr/isteps/istep07/call_mss_freq.C +++ b/src/usr/isteps/istep07/call_mss_freq.C @@ -318,23 +318,23 @@ void* call_mss_freq( void *io_pArgs ) #ifdef CONFIG_AXONE else if(l_procModel == TARGETING::MODEL_AXONE) { - TARGETING::TargetHandleList l_mcTargetList; - getAllChiplets(l_mcTargetList, TYPE_MC); - for (const auto & l_mc_target : l_mcTargetList) + TARGETING::TargetHandleList l_procTargetList; + getAllChips(l_procTargetList, TYPE_PROC); + for (const auto & l_proc_target : l_procTargetList) { // call the HWP with each target ( if parallel, spin off a task ) - fapi2::Target <fapi2::TARGET_TYPE_MC> l_fapi_mc_target(l_mc_target); + fapi2::Target <fapi2::TARGET_TYPE_PROC_CHIP> l_fapi_proc_target(l_proc_target); TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "START : running p9a_mss_freq_system HWP on target 0x%.08X", TARGETING::get_huid(l_mc_target));; + "START : running p9a_mss_freq_system HWP on target 0x%.08X", TARGETING::get_huid(l_proc_target));; - FAPI_INVOKE_HWP(l_err, p9a_mss_freq_system, l_fapi_mc_target); + FAPI_INVOKE_HWP(l_err, p9a_mss_freq_system, l_proc_target); // process return code. if ( l_err ) { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR: p9a_mss_freq_system HWP while running on mc target 0x%.08X", TARGETING::get_huid(l_mc_target));; + "ERROR: p9a_mss_freq_system HWP while running on mc target 0x%.08X", TARGETING::get_huid(l_proc_target));; - ERRORLOG::ErrlUserDetailsTarget(l_mc_target).addToLog(l_err); + ERRORLOG::ErrlUserDetailsTarget(l_proc_target).addToLog(l_err); // Create IStep error log and cross reference to error that occurred l_StepError.addErrorDetails( l_err ); @@ -345,7 +345,7 @@ void* call_mss_freq( void *io_pArgs ) else { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS : p9a_mss_freq_system HWP on target 0x%.08X", TARGETING::get_huid(l_mc_target));; + "SUCCESS : p9a_mss_freq_system HWP on target 0x%.08X", TARGETING::get_huid(l_proc_target));; } } } |