summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/prdfPlatServices_common.C')
-rw-r--r--src/usr/diag/prdf/common/plat/prdfPlatServices_common.C38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C b/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C
index 044bbf12b..cf2e0462d 100644
--- a/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C
+++ b/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C
@@ -39,6 +39,10 @@
#include <prdfTrace.H>
#include <prdfErrlUtil.H>
+#ifdef __HOSTBOOT_MODULE // TODO SW431530
+#include <p9c_query_channel_failure.H>
+#endif
+
#ifdef __HOSTBOOT_MODULE
#include <dimmBadDqBitmapFuncs.H>
#include <p9_io_xbus_read_erepair.H>
@@ -678,6 +682,40 @@ void getDimmDqAttr<TYPE_DIMM>( TargetHandle_t i_target,
} // end function getDimmDqAttr
//------------------------------------------------------------------------------
+
+template<>
+uint32_t queryChnlFail<TYPE_DMI>( ExtensibleChip * i_chip, bool & o_chnlFail )
+{
+ #define PRDF_FUNC "[PlatServices::queryChnlFail] "
+
+ PRDF_ASSERT( nullptr != i_chip );
+ PRDF_ASSERT( TYPE_DMI == i_chip->getType() );
+
+ uint32_t o_rc = SUCCESS;
+
+#ifdef __HOSTBOOT_MODULE // TODO SW431530
+ errlHndl_t errl = nullptr;
+
+ fapi2::Target<fapi2::TARGET_TYPE_DMI> fapiTrgt ( i_chip->getTrgt() );
+
+ FAPI_INVOKE_HWP( errl, p9c_query_channel_failure, fapiTrgt, o_chnlFail );
+ if ( nullptr != errl )
+ {
+ PRDF_ERR( PRDF_FUNC "p9c_query_channel_failure(0x%08x) failed",
+ i_chip->getHuid() );
+ PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT );
+ o_rc = FAIL;
+ }
+#else
+ PRDF_ERR( PRDF_FUNC "p9c_query_channel_failure() not supported yet" );
+#endif
+
+ return o_rc;
+
+ #undef PRDF_FUNC
+}
+
+//------------------------------------------------------------------------------
// Constants defined from Serial Presence Detect (SPD) specs
//---------------------------------------------------------------------
const uint8_t SPD_IDX_MODSPEC_COM_REF_BASIC_MEMORY_TYPE = 0x02;
OpenPOWER on IntegriCloud