diff options
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C | 252 |
1 files changed, 126 insertions, 126 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C index 4d43c83f3..5a12f1e4f 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C @@ -28,9 +28,9 @@ /// @brief Command and Control for the memory subsystem - populate attributes /// // *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> -// *HWP HWP Backup: Brian Silver <bsilver@us.ibm.com> +// *HWP HWP Backup: Jacob Harvey <jlharvey@us.ibm.com> // *HWP Team: Memory -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: FSP:HB #include <p9_mss_eff_config.H> @@ -70,12 +70,12 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS> fapi2::ReturnCode l_rc; std::vector< std::shared_ptr<mss::spd::decoder> > l_factory_caches; // Caches - FAPI_TRY( mss::spd::populate_decoder_caches(i_target, l_factory_caches) ); + FAPI_TRY( mss::spd::populate_decoder_caches(i_target, l_factory_caches), "Error from p9_mss_eff_config"); // Need to check dead load before we get the VPD. - // MR and MT VPD depends on DIMM ranks and freaks out if it recieves 0 ranks from DIMM 0 and 1 or more ranks for DIMM 1 - FAPI_TRY( mss::plug_rule::check_dead_load (i_target) ); - FAPI_TRY( mss::plug_rule::empty_slot_zero (i_target) ); + // MR and MT VPD depends on DIMM ranks and freaks out if it receives 0 ranks from DIMM 0 and 1 or more ranks for DIMM 1 + FAPI_TRY( mss::plug_rule::check_dead_load (i_target), "Error from p9_mss_eff_config" ); + FAPI_TRY( mss::plug_rule::empty_slot_zero (i_target), "Error from p9_mss_eff_config" ); // We need to decode the VPD. We don't do this in the ctor as we need // the rank information and for that we need the SPD caches (which we get when we populate the cache.) @@ -93,135 +93,135 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS> { std::shared_ptr<mss::eff_dimm> l_eff_dimm; - FAPI_TRY( mss::eff_dimm::eff_dimm_factory( l_cache, l_eff_dimm)); + FAPI_TRY( mss::eff_dimm::eff_dimm_factory( l_cache, l_eff_dimm), "Error from p9_mss_eff_config"); FAPI_INF("%s Running eff_config", mss::c_str(l_cache->iv_target) ); - FAPI_TRY( l_eff_dimm->rcd_mfg_id() ); - FAPI_TRY( l_eff_dimm->register_type() ); - FAPI_TRY( l_eff_dimm->register_rev() ); - FAPI_TRY( l_eff_dimm->dram_mfg_id() ); - FAPI_TRY( l_eff_dimm->dram_width() ); - FAPI_TRY( l_eff_dimm->dram_density() ); - FAPI_TRY( l_eff_dimm->ranks_per_dimm() ); - FAPI_TRY( l_eff_dimm->prim_die_count() ); - FAPI_TRY( l_eff_dimm->primary_stack_type() ); - FAPI_TRY( l_eff_dimm->dimm_size() ); - FAPI_TRY( l_eff_dimm->hybrid_memory_type() ); - FAPI_TRY( l_eff_dimm->dram_trefi() ); - FAPI_TRY( l_eff_dimm->dram_trfc() ); - FAPI_TRY( l_eff_dimm->dram_trfc_dlr() ); - FAPI_TRY( l_eff_dimm->rcd_mirror_mode() ); - FAPI_TRY( l_eff_dimm->dram_bank_bits() ); - FAPI_TRY( l_eff_dimm->dram_row_bits() ); - FAPI_TRY( l_eff_dimm->dram_dqs_time() ); - FAPI_TRY( l_eff_dimm->dram_tccd_l() ); - FAPI_TRY( l_eff_dimm->dimm_rc00() ); - FAPI_TRY( l_eff_dimm->dimm_rc01() ); - FAPI_TRY( l_eff_dimm->dimm_rc02() ); - FAPI_TRY( l_eff_dimm->dimm_rc03() ); - FAPI_TRY( l_eff_dimm->dimm_rc04() ); - FAPI_TRY( l_eff_dimm->dimm_rc05() ); - FAPI_TRY( l_eff_dimm->dimm_rc06_07() ); - FAPI_TRY( l_eff_dimm->dimm_rc08() ); - FAPI_TRY( l_eff_dimm->dimm_rc09() ); - FAPI_TRY( l_eff_dimm->dimm_rc0a() ); - FAPI_TRY( l_eff_dimm->dimm_rc0b() ); - FAPI_TRY( l_eff_dimm->dimm_rc0c() ); - FAPI_TRY( l_eff_dimm->dimm_rc0d() ); - FAPI_TRY( l_eff_dimm->dimm_rc0e() ); - FAPI_TRY( l_eff_dimm->dimm_rc0f() ); - FAPI_TRY( l_eff_dimm->dimm_rc1x() ); - FAPI_TRY( l_eff_dimm->dimm_rc2x() ); - FAPI_TRY( l_eff_dimm->dimm_rc3x() ); - FAPI_TRY( l_eff_dimm->dimm_rc4x() ); - FAPI_TRY( l_eff_dimm->dimm_rc5x() ); - FAPI_TRY( l_eff_dimm->dimm_rc6x() ); - FAPI_TRY( l_eff_dimm->dimm_rc7x() ); - FAPI_TRY( l_eff_dimm->dimm_rc8x() ); - FAPI_TRY( l_eff_dimm->dimm_rc9x() ); - FAPI_TRY( l_eff_dimm->dimm_rcax() ); - FAPI_TRY( l_eff_dimm->dimm_rcbx() ); - FAPI_TRY( l_eff_dimm->dram_twr() ); - FAPI_TRY( l_eff_dimm->read_burst_type() ); - FAPI_TRY( l_eff_dimm->dram_tm() ); - FAPI_TRY( l_eff_dimm->dram_cwl() ); - FAPI_TRY( l_eff_dimm->dram_lpasr() ); - FAPI_TRY( l_eff_dimm->dll_enable() ); - FAPI_TRY( l_eff_dimm->dll_reset() ); - FAPI_TRY( l_eff_dimm->write_level_enable() ); - FAPI_TRY( l_eff_dimm->output_buffer() ); - FAPI_TRY( l_eff_dimm->vref_dq_train_value() ); - FAPI_TRY( l_eff_dimm->vref_dq_train_range() ); - FAPI_TRY( l_eff_dimm->vref_dq_train_enable() ); - FAPI_TRY( l_eff_dimm->ca_parity_latency() ); - FAPI_TRY( l_eff_dimm->ca_parity_error_status() ); - FAPI_TRY( l_eff_dimm->ca_parity() ); - FAPI_TRY( l_eff_dimm->crc_error_clear() ); - FAPI_TRY( l_eff_dimm->odt_input_buffer() ); - FAPI_TRY( l_eff_dimm->post_package_repair() ); - FAPI_TRY( l_eff_dimm->read_preamble_train() ); - FAPI_TRY( l_eff_dimm->read_preamble() ); - FAPI_TRY( l_eff_dimm->write_preamble() ); - FAPI_TRY( l_eff_dimm->self_refresh_abort() ); - FAPI_TRY( l_eff_dimm->cs_to_cmd_addr_latency() ); - FAPI_TRY( l_eff_dimm->internal_vref_monitor() ); - FAPI_TRY( l_eff_dimm->max_powerdown_mode() ); - FAPI_TRY( l_eff_dimm->mpr_read_format() ); - FAPI_TRY( l_eff_dimm->temp_readout() ); - FAPI_TRY( l_eff_dimm->crc_wr_latency() ); - FAPI_TRY( l_eff_dimm->per_dram_addressability() ); - FAPI_TRY( l_eff_dimm->geardown_mode() ); - FAPI_TRY( l_eff_dimm->mpr_page() ); - FAPI_TRY( l_eff_dimm->mpr_mode() ); - FAPI_TRY( l_eff_dimm->write_crc() ); - FAPI_TRY( l_eff_dimm->zqcal_interval() ); - FAPI_TRY( l_eff_dimm->memcal_interval() ); - FAPI_TRY( l_eff_dimm->dram_trp() ); - FAPI_TRY( l_eff_dimm->dram_trcd() ); - FAPI_TRY( l_eff_dimm->dram_trc() ); - FAPI_TRY( l_eff_dimm->dram_twtr_l() ); - FAPI_TRY( l_eff_dimm->dram_twtr_s() ); - FAPI_TRY( l_eff_dimm->dram_trrd_s() ); - FAPI_TRY( l_eff_dimm->dram_trrd_l() ); - FAPI_TRY( l_eff_dimm->dram_trrd_dlr() ); - FAPI_TRY( l_eff_dimm->dram_tfaw() ); - FAPI_TRY( l_eff_dimm->dram_tfaw_dlr() ); - FAPI_TRY( l_eff_dimm->dram_tras() ); - FAPI_TRY( l_eff_dimm->dram_trtp() ); - FAPI_TRY( l_eff_dimm->read_dbi() ); - FAPI_TRY( l_eff_dimm->write_dbi() ); - FAPI_TRY( l_eff_dimm->additive_latency() ); - FAPI_TRY( l_eff_dimm->data_mask() ); - FAPI_TRY( l_eff_dimm->dimm_bc00()); - FAPI_TRY( l_eff_dimm->dimm_bc01()); - FAPI_TRY( l_eff_dimm->dimm_bc02()); - FAPI_TRY( l_eff_dimm->dimm_bc03()); - FAPI_TRY( l_eff_dimm->dimm_bc04()); - FAPI_TRY( l_eff_dimm->dimm_bc05()); - FAPI_TRY( l_eff_dimm->dimm_bc07()); - FAPI_TRY( l_eff_dimm->dimm_bc08()); - FAPI_TRY( l_eff_dimm->dimm_bc09()); - FAPI_TRY( l_eff_dimm->dimm_bc0a()); - FAPI_TRY( l_eff_dimm->dimm_bc0b()); - FAPI_TRY( l_eff_dimm->dimm_bc0c()); - FAPI_TRY( l_eff_dimm->dimm_bc0d()); - FAPI_TRY( l_eff_dimm->dimm_bc0e()); - FAPI_TRY( l_eff_dimm->dimm_bc0f()); - FAPI_TRY( l_eff_dimm->dram_rtt_nom () ); - FAPI_TRY( l_eff_dimm->dram_rtt_wr () ); - FAPI_TRY( l_eff_dimm->dram_rtt_park() ); - FAPI_TRY( l_eff_dimm->phy_seq_refresh() ); + FAPI_TRY( l_eff_dimm->rcd_mfg_id(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->register_type(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->register_rev(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_mfg_id(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_width(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_density(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->ranks_per_dimm(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->prim_die_count(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->primary_stack_type(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_size(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->hybrid_memory_type(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trefi(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trfc(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trfc_dlr(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->rcd_mirror_mode(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_bank_bits(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_row_bits(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_dqs_time(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_tccd_l(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc00(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc01(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc02(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc03(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc04(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc05(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc06_07(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc08(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc09(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0a(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0b(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0c(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0d(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0e(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc0f(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc1x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc2x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc3x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc4x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc5x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc6x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc7x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc8x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rc9x(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rcax(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_rcbx(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_twr(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->read_burst_type(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_tm(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_cwl(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_lpasr(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dll_enable(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dll_reset(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->write_level_enable(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->output_buffer(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->vref_dq_train_value(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->vref_dq_train_range(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->vref_dq_train_enable(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->ca_parity_latency(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->ca_parity_error_status(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->ca_parity(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->crc_error_clear(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->odt_input_buffer(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->post_package_repair(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->read_preamble_train(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->read_preamble(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->write_preamble(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->self_refresh_abort(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->cs_to_cmd_addr_latency(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->internal_vref_monitor(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->max_powerdown_mode(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->mpr_read_format(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->temp_readout(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->crc_wr_latency(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->per_dram_addressability(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->geardown_mode(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->mpr_page(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->mpr_mode(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->write_crc(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->zqcal_interval(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->memcal_interval(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trp(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trcd(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trc(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_twtr_l(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_twtr_s(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trrd_s(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trrd_l(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trrd_dlr(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_tfaw(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_tfaw_dlr(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_tras(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_trtp(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->read_dbi(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->write_dbi(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->additive_latency(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->data_mask(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc00(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc01(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc02(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc03(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc04(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc05(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc07(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc08(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc09(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0a(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0b(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0c(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0d(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0e(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dimm_bc0f(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_rtt_nom (), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_rtt_wr (), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->dram_rtt_park(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->phy_seq_refresh(), "Error from p9_mss_eff_config"); // Sets up the calibration steps - FAPI_TRY( l_eff_dimm->cal_step_enable() ); - FAPI_TRY( l_eff_dimm->rdvref_enable_bit() ); + FAPI_TRY( l_eff_dimm->cal_step_enable(), "Error from p9_mss_eff_config"); + FAPI_TRY( l_eff_dimm->rdvref_enable_bit(), "Error from p9_mss_eff_config"); //Let's do some checking - FAPI_TRY( mss::check::temp_refresh_mode()); + FAPI_TRY( mss::check::temp_refresh_mode(), "Error from p9_mss_eff_config"); }// dimm // Check plug rules. We check the MCS, and this will iterate down to children as needed. - FAPI_TRY( mss::plug_rule::enforce_plug_rules(i_target) ); + FAPI_TRY( mss::plug_rule::enforce_plug_rules(i_target), "Error from p9_mss_eff_config"); fapi_try_exit: return fapi2::current_err; |