summaryrefslogtreecommitdiffstats
path: root/src/usr/vpd/dimmPres.C
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2014-06-18 16:09:55 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-07-01 13:34:57 -0500
commit2cc1c594ad2b05919d1742625de0da83ffd7f01d (patch)
tree57bbbe923325245e809ea51a96c60ffe79b18600 /src/usr/vpd/dimmPres.C
parent3bcf5b7982bb8a2d9227dbff7be4ff2ce5fec05c (diff)
downloadtalos-hostboot-2cc1c594ad2b05919d1742625de0da83ffd7f01d.tar.gz
talos-hostboot-2cc1c594ad2b05919d1742625de0da83ffd7f01d.zip
Merge VPD commits from Stradale
Change-Id: I95aa2bb30299c9d22563068741ffbeda48d2d84b RTC: 97488 Origin: Google Shared Technology Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11661 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/vpd/dimmPres.C')
-rwxr-xr-xsrc/usr/vpd/dimmPres.C24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/usr/vpd/dimmPres.C b/src/usr/vpd/dimmPres.C
index fa7fdc63f..32042fe6b 100755
--- a/src/usr/vpd/dimmPres.C
+++ b/src/usr/vpd/dimmPres.C
@@ -5,7 +5,10 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
+/* [+] Google Inc. */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -37,6 +40,7 @@
#include <devicefw/driverif.H>
#include <vpd/vpdreasoncodes.H>
#include <vpd/spdenums.H>
+#include <config.h>
#include "spd.H"
@@ -118,6 +122,24 @@ errlHndl_t dimmPresenceDetect( DeviceFW::OperationType i_opType,
}
// Is the target present
+#ifdef CONFIG_DJVPD_READ_FROM_HW
+ // Check if the parent MBA is functional.
+ // If it is non-functional then no reason to check the DIMM which
+ // would otherwise generate tons of FSI errors.
+ TARGETING::TargetHandleList membuf_parent;
+ TARGETING::PredicateIsFunctional isFunctional;
+ TARGETING::targetService().getAssociated(
+ membuf_parent,
+ i_target,
+ TARGETING::TargetService::PARENT_BY_AFFINITY,
+ TARGETING::TargetService::IMMEDIATE,
+ &isFunctional);
+ if ( membuf_parent.size() != 1 )
+ {
+ present = false;
+ break;
+ }
+#endif
present = spdPresent( i_target );
if( present == false )
OpenPOWER on IntegriCloud