diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2016-10-18 15:02:44 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-10-24 16:34:07 -0400 |
commit | 0fdeb11ca84ce14a1069a2bbd0a186a11e6b2dcd (patch) | |
tree | 207db036c135d4f802b3bd1f563aaf8b1b20662d /src/import/chips | |
parent | b0bebe12a162430afab285c18df9265831798f69 (diff) | |
download | talos-hostboot-0fdeb11ca84ce14a1069a2bbd0a186a11e6b2dcd.tar.gz talos-hostboot-0fdeb11ca84ce14a1069a2bbd0a186a11e6b2dcd.zip |
Improve error data for frequency mismatch from #V
Add missing PB Frequency value
Add callout for target EQ
Add specific LRP record being read
Add PB freq value for all buckets
Change-Id: I1443e9d85070788a8397c3ae704d3354f995b3ce
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31470
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31478
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C | 27 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml | 18 |
2 files changed, 38 insertions, 7 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C index 57bb161bd..d370f8e51 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C @@ -57,7 +57,6 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_procParent = i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); - //Need to determine which LRP record to read from depending on which //bucket we are getting the power management data from. FapiPos will //tell us which LRP record to use. @@ -169,6 +168,9 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( // Set the size of the bucket l_bucketSize = VERSION_3_BUCKET_SIZE; + //Save off some FFDC data about the #V data itself + uint16_t l_bucketNestFreqs[NUM_BUCKETS] = { 0, 0, 0, 0, 0, 0 }; + // Version 3 uses the nest frequency to choose the bucket Id // get the system target to find the NEST_FREQ_MHZ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_sysParent; @@ -192,10 +194,11 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( { FAPI_ERR("p9_pm_get_poundv_bucket_attr::" " Multiple buckets (%d) reporting the same nest frequency" - " Bucket Nest = %d Bucket ID = %d", + " Bucket Nest = %d Bucket ID = %d, First Bucket = %d", l_numMatches, l_buckets[i].pbFreq, - (i + 1)); + (i + 1), + l_currentBucket); } else @@ -203,6 +206,9 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( l_currentBucket = &l_buckets[i]; } } + + //save FFDC in case we fail + l_bucketNestFreqs[i] = l_buckets[i].pbFreq; } if(l_numMatches == 1) @@ -212,11 +218,20 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( else { - FAPI_ERR("p9_pm_get_poundv_bucket_attr::Invalid number of matching nest freqs found. Matches found = %d", - l_numMatches ); + FAPI_ERR("p9_pm_get_poundv_bucket_attr::Invalid number of matching nest freqs found for PBFreq=%d. Matches found = %d", + l_sysNestFreq, l_numMatches ); FAPI_ASSERT(false, fapi2::INVALID_MATCHING_FREQ_NUMBER(). - set_MATCHES_FOUND(l_numMatches), + set_MATCHES_FOUND(l_numMatches). + set_DESIRED_FREQPB(l_sysNestFreq). + set_LRPREC(lrpRecord). + set_BUCKETA_FREQPB(l_bucketNestFreqs[0]). + set_BUCKETB_FREQPB(l_bucketNestFreqs[1]). + set_BUCKETC_FREQPB(l_bucketNestFreqs[2]). + set_BUCKETD_FREQPB(l_bucketNestFreqs[3]). + set_BUCKETE_FREQPB(l_bucketNestFreqs[4]). + set_BUCKETF_FREQPB(l_bucketNestFreqs[5]). + set_EQ(i_target), "Matches found is NOT 1" ); } } diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml index 82c38dd09..3d67361f5 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml @@ -44,9 +44,25 @@ <hwpError> <rc>RC_INVALID_MATCHING_FREQ_NUMBER</rc> <description> - Number of buckets with matching pbFreq is not equal to one + Found either zero or multiple buckets for the desired powerbus frequency </description> <ffdc>MATCHES_FOUND</ffdc> + <ffdc>DESIRED_FREQPB</ffdc> + <ffdc>LRPREC</ffdc> + <ffdc>BUCKETA_FREQPB</ffdc> + <ffdc>BUCKETB_FREQPB</ffdc> + <ffdc>BUCKETC_FREQPB</ffdc> + <ffdc>BUCKETD_FREQPB</ffdc> + <ffdc>BUCKETE_FREQPB</ffdc> + <ffdc>BUCKETF_FREQPB</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <callout> + <target>EQ</target> + <priority>LOW</priority> + </callout> </hwpError> <!-- ******************************************************************** --> <hwpError> |