diff options
author | nagurram-in <nagendra.g@in.ibm.com> | 2017-06-13 04:17:53 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-28 23:43:51 -0400 |
commit | 5017bcab5ac55f1d03c19d26c742f7d11d2c3ebe (patch) | |
tree | b77f658884fccefd2631ef9e1828529fef17adb8 /src/usr/hdat/hdatipmi.C | |
parent | 8a37f9c0378f5a3e91f7c23dcdde2bdc68530403 (diff) | |
download | talos-hostboot-5017bcab5ac55f1d03c19d26c742f7d11d2c3ebe.tar.gz talos-hostboot-5017bcab5ac55f1d03c19d26c742f7d11d2c3ebe.zip |
IPMI HDAT reenablement change and soft sensor additions
Change-Id: I4932fffcdc705db6789f53c08f5f513a223a2489
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41737
Reviewed-by: VENKATESH SAINATH <venkatesh.sainath@in.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+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/usr/hdat/hdatipmi.C')
-rw-r--r-- | src/usr/hdat/hdatipmi.C | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/usr/hdat/hdatipmi.C b/src/usr/hdat/hdatipmi.C index 56bfab7bc..9ee508880 100644 --- a/src/usr/hdat/hdatipmi.C +++ b/src/usr/hdat/hdatipmi.C @@ -42,10 +42,6 @@ extern trace_desc_t *g_trac_hdat; uint32_t HdatIpmi::cv_actualCnt = 0; - - - - /******************************************************************************* * IPMI Constructor * IPMI sensor data structure is pretty simple with only 2 internal data pointers. @@ -91,30 +87,26 @@ HdatIpmi::HdatIpmi(errlHndl_t &o_errlHndl, const hdatMsAddr_t &i_msAddr): l_targetService.begin(), l_targetService.end(), &l_presentTargExpr); - + + TARGETING::ATTR_IPMI_SENSORS_type sensors = {{0}}; for(; l_targFilter; ++l_targFilter) { -#if 0 // Create a new array entry and push it to FRU/LED sensor vector hdatIPMIFRUSensorMapEntry_t l_fruEntry; - uint8_t l_sensorType = 0; - uint8_t l_eventReadingType = 0; l_fruEntry.SLCAIndex = (*l_targFilter)->getAttr<ATTR_SLCA_INDEX>(); - l_fruEntry.IPMISensorID = getFaultSensorNumber(*l_targFilter); - l_errl = SensorBase::getSensorType(l_fruEntry.IPMISensorID, - l_sensorType, l_eventReadingType); - if(l_errl == NULL) + assert((*l_targFilter)->tryGetAttr<TARGETING::ATTR_IPMI_SENSORS>(sensors)); + for(auto & l_sensor : sensors) { - l_fruEntry.IPMISensorType = l_sensorType; + l_fruEntry.IPMISensorID = l_sensor[1]; + l_fruEntry.IPMISensorType = (uint8_t)(l_sensor[0] >> 8); + // OPAL doesn't like sensor types of 0xFF, so filter them out. + if( l_fruEntry.IPMISensorType != 0xFF ) + { + iv_ipmiFruEntry.push_back(l_fruEntry); + } } - else - { - HDAT_ERR(" Error in getsensor type"); - break; - } - iv_ipmiFruEntry.push_back(l_fruEntry); -#endif } + iv_ipmiDataSize = sizeof(hdatHDIF_t)+ HDAT_IPMI_PADDING + ( sizeof(hdatHDIFDataHdr_t) * HDAT_IPMI_NUM_DATA_PTRS)+ |