diff options
author | Josh Rispoli <jprispol@us.ibm.com> | 2014-10-24 12:05:55 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-11-06 17:18:02 -0600 |
commit | 1864a05ed1b11c302364a4befde57f5adbe231ed (patch) | |
tree | 7f7514b76a19f7a039c0cbd6d96a7862ef6d301b | |
parent | ac55612db96fb249f3f2813fc4b0fb256ec829c0 (diff) | |
download | talos-hostboot-1864a05ed1b11c302364a4befde57f5adbe231ed.tar.gz talos-hostboot-1864a05ed1b11c302364a4befde57f5adbe231ed.zip |
SW284202: Remove FAPI_ATTR_GET_PRIVILEGED from mss_get_cen_ecid.C
CQ:SW284202
Change-Id: I822cfa12db7b251f6ef2a434ab9257767b60c1a6
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14179
Tested-by: Jenkins Server
Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/usr/hwpf/hwp/centaur_ec_attributes.xml | 25 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.C | 49 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.H | 6 |
3 files changed, 56 insertions, 24 deletions
diff --git a/src/usr/hwpf/hwp/centaur_ec_attributes.xml b/src/usr/hwpf/hwp/centaur_ec_attributes.xml index 53f1bba96..52e7acdc0 100644 --- a/src/usr/hwpf/hwp/centaur_ec_attributes.xml +++ b/src/usr/hwpf/hwp/centaur_ec_attributes.xml @@ -1,7 +1,7 @@ <!-- IBM_PROLOG_BEGIN_TAG --> <!-- This is an automatically generated prolog. --> <!-- --> -<!-- $Source: src/usr/hwpf/hwp/centaur_ec_attributes.xml $ --> +<!-- $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/xml/attribute_info/centaur_ec_attributes.xml,v $ --> <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> @@ -24,7 +24,7 @@ <!-- IBM_PROLOG_END_TAG --> <attributes> <!-- ********************************************************************* --> - <!-- $Id: centaur_ec_attributes.xml,v 1.27 2014/06/11 17:42:04 yctschan Exp $ --> + <!-- $Id: centaur_ec_attributes.xml,v 1.30 2014/10/30 14:50:22 jprispol Exp $ --> <attribute> <id>ATTR_CENTAUR_EC_ENABLE_TRACE_ARRAY_CLKSTOP_ON_XSTOP_FW624741</id> <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType> @@ -163,6 +163,24 @@ </chipEcFeature> </attribute> + + <attribute> + <id>ATTR_CENTAUR_BLUEWATERFALL_NWELL_BROKEN_CHECK_FLAG</id> + <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType> + <description> + Set by the platform depending on DD1.0 (TRUE), otherwise FALSE. If true, subversion will be checked in mss_get_cen_ecid.C to determine if changes need to be made to the transistor misplaced in the nwell. + </description> + <chipEcFeature> + <chip> + <name>ENUM_ATTR_NAME_CENTAUR</name> + <ec> + <value>0x10</value> + <test>EQUAL</test> + </ec> + </chip> + </chipEcFeature> + </attribute> + <attribute> <id>ATTR_CENTAUR_EC_MSS_CONTINUE_ON_DP18_PLL_LOCK_FAIL</id> <targetType>TARGET_TYPE_MEMBUF_CHIP</targetType> @@ -442,7 +460,4 @@ The getMBvpdSlopeInterceptData Attribute Accessor, if it does not find a matchin </chipEcFeature> </attribute> - - - </attributes> diff --git a/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.C b/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.C index 24ff7d87e..dd699ab2e 100644 --- a/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.C +++ b/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.C @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: mss_get_cen_ecid.C,v 1.32 2014/05/08 18:52:38 lapietra Exp $ +// $Id: mss_get_cen_ecid.C,v 1.37 2014/11/03 17:40:02 jprispol Exp $ //------------------------------------------------------------------------------ // *| // *! (C) Copyright International Business Machines Corp. 2012 @@ -41,6 +41,9 @@ //------------------------------------------------------------------------------ // Version:| Author: | Date: | Comment: //---------|----------|---------|----------------------------------------------- +// 1.37 | jprispol |03-NOV-14| Moved bluewaterfall/nwell variable declarations +// 1.36 | jprispol |28-OCT-14| Updated bluewaterfall/nwell broken attribute name +// 1.34 | jprispol |24-OCT-14| Replaced privileged fapi attribute call // 1.32 | sglancy |08-MAY-14| Changed location of the setting ATTR_MSS_INIT_STATE to track IPL states // 1.31 | sglancy |25-MAR-14| RAS review updates // 1.30 | bellows |11-NOV-13| Gerrit review updates @@ -109,20 +112,30 @@ using namespace fapi; rc = FAPI_ATTR_SET(ATTR_MSS_INIT_STATE, &i_target, l_attr_mss_init_state); if(rc) return rc; + uint8_t l_bluewaterfall_nwell_broken; + rc = FAPI_ATTR_GET(ATTR_CENTAUR_BLUEWATERFALL_NWELL_BROKEN_CHECK_FLAG, + &i_target, l_bluewaterfall_nwell_broken); + // For certain Centaur DD1.0* subversions, adjustments need to be made to + // the bluewaterfall and the transistor misplaced in the nwell. + // l_bluewaterfall_nwell_broken will be 1 if needing changes and 0 if not + if (!rc.ok()) { + FAPI_ERR("mss_get_cen_ecid: could not GET ATTR_CENTAUR_BLUEWATERFALL_NWELL_BROKEN_CHECK_FLAG" ); + return rc; + } if(ecid_struct.valid) { rc = mss_parse_ecid(ecid_struct.io_ecid, ecid_struct.i_checkL4CacheEnableUnknown, ecid_struct.i_ecidContainsPortLogicBadIndication, - ecid_struct.io_ec, + l_bluewaterfall_nwell_broken, o_ddr_port_status, o_cache_enable, o_centaur_sub_revision, ecid_struct.o_psro, ecid_struct.o_bluewaterfall_broken, ecid_struct.o_nwell_misplacement ); - + // procedure is done. return rc; } @@ -191,17 +204,19 @@ using namespace fapi; return rc; } - uint8_t l_ec; - uint8_t l_nwell_misplacement; uint8_t l_bluewaterfall_broken; - rc = FAPI_ATTR_GET_PRIVILEGED(ATTR_EC, &i_target, l_ec); - if (!rc.ok()) { - FAPI_ERR("mss_get_cen_ecid: could not GET PRIVILEGED ATTR_EC" ); - return rc; - } - ecid_struct.io_ec=l_ec; + uint8_t l_nwell_misplacement; + rc = mss_parse_ecid(ecid, + l_checkL4CacheEnableUnknown, + l_ecidContainsPortLogicBadIndication, + l_bluewaterfall_nwell_broken, + o_ddr_port_status, + o_cache_enable, + o_centaur_sub_revision, + l_psro, + l_bluewaterfall_broken, + l_nwell_misplacement ); - rc = mss_parse_ecid(ecid, l_checkL4CacheEnableUnknown, l_ecidContainsPortLogicBadIndication, l_ec, o_ddr_port_status, o_cache_enable, o_centaur_sub_revision, l_psro, l_bluewaterfall_broken, l_nwell_misplacement ); ecid_struct.o_psro=l_psro; ecid_struct.o_bluewaterfall_broken=l_bluewaterfall_broken; ecid_struct.o_nwell_misplacement=l_nwell_misplacement; @@ -241,7 +256,7 @@ using namespace fapi; fapi::ReturnCode mss_parse_ecid(uint64_t ecid[2], const uint8_t i_checkL4CacheEnableUnknown, const uint8_t i_ecidContainsPortLogicBadIndication, - const uint8_t ec, + const uint8_t i_bluewaterfall_nwell_broken, uint8_t & o_ddr_port_status, uint8_t & o_cache_enable, uint8_t & o_centaur_sub_revision, @@ -249,7 +264,7 @@ using namespace fapi; uint8_t & o_bluewaterfall_broken, uint8_t & o_nwell_misplacement ){ //get bit128 - uint8_t bit128=0; + uint8_t bit128 = 0; uint32_t rc_ecmd = 0; fapi::ReturnCode rc; ecmdDataBufferBase scom(64); @@ -379,7 +394,7 @@ using namespace fapi; // The ecid contains the chip's subrevision, changes in the subrevision should not // change firmware behavior but for the exceptions, update attributes to indicate // those behaviors - if ((ec == 0x10) && (o_centaur_sub_revision < 1)) + if (i_bluewaterfall_nwell_broken && (o_centaur_sub_revision < 1)) { // For DD1.00, the transistor misplaced in the nwell needs some setting adjustments to get it to function // after DD1.00, we no longer need to make that adjustment @@ -396,7 +411,7 @@ using namespace fapi; } // we have to look at both the bluewaterfall and the n-well misplacement to determine the proper values of the n-well - if (ec == 0x10) { + if (i_bluewaterfall_nwell_broken) { if(bit126 == 0) { // on and after DD1.03, we no longer need to make adjustments due to the bluewaterfall - this is before @@ -419,7 +434,7 @@ using namespace fapi; return mss_parse_ecid(ecid_struct.io_ecid, ecid_struct.i_checkL4CacheEnableUnknown, ecid_struct.i_ecidContainsPortLogicBadIndication, - ecid_struct.io_ec, + ecid_struct.i_bluewaterfall_nwell_broken, o_ddr_port_status, o_cache_enable, o_centaur_sub_revision, diff --git a/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.H b/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.H index 67fe34c3e..b6e9ef23d 100644 --- a/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.H +++ b/src/usr/hwpf/hwp/dmi_training/mss_getecid/mss_get_cen_ecid.H @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: mss_get_cen_ecid.H,v 1.12 2014/03/25 21:09:09 uid157495 Exp $ +// $Id: mss_get_cen_ecid.H,v 1.14 2014/10/24 16:44:40 jprispol Exp $ //------------------------------------------------------------------------------ // *| // *! (C) Copyright International Business Machines Corp. 2012 @@ -43,6 +43,7 @@ //------------------------------------------------------------------------------ // Version:| Author: | Date: | Comment: //---------|----------|---------|----------------------------------------------- +// 1.14 | jprispol |24-OCT-14| Replaced privileged fapi attr call in mss_get_cen_ecid.c // 1.11 | sglancy |25-MAR-14| Minor Review Comments addressed // 1.10 | bellows |02-OCT-13| Minor Review Comments addressed // 1.9 | bellows |17-SEP-13| Allow for external wrapper parsing @@ -80,6 +81,7 @@ public: uint8_t valid; uint8_t i_checkL4CacheEnableUnknown; uint8_t i_ecidContainsPortLogicBadIndication; + uint8_t i_bluewaterfall_nwell_broken; uint8_t i_user_defined; uint8_t io_ec; uint64_t io_ecid[2]; @@ -130,7 +132,7 @@ extern "C" uint64_t ecid[2], // input ECID in bit order const uint8_t l_checkL4CacheEnableUnknown, // input L4CacheEnableUnknown is possible const uint8_t l_ecidContainsPortLogicBadIndication, // input logic can be bad - const uint8_t ec, // input ec of chip + const uint8_t l_bluewaterfall_nwell_broken, // adjustments possibly needed for bluewaterfall and transistor misplaced in the nwell uint8_t & ddr_port, //output ddr ports are non functional uint8_t & cache_enable_o, // output cache is functional or not uint8_t & centaur_sub_revision_o, // output sub revsion number |