summaryrefslogtreecommitdiffstats
path: root/src/usr/i2c/i2c.C
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2018-04-19 06:34:23 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-05-07 09:54:48 -0400
commit22b6130039608d9cb68cd023130b17706a31d1aa (patch)
treec78d8fcb459f1868ac340df1e9ebdc20b9d828dc /src/usr/i2c/i2c.C
parentfbea67f16d58a24d78797e1a080f21020e63b4a9 (diff)
downloadtalos-hostboot-22b6130039608d9cb68cd023130b17706a31d1aa.tar.gz
talos-hostboot-22b6130039608d9cb68cd023130b17706a31d1aa.zip
Rediscover I2C Targets after Host I2C Reset
It's possible that some targets that use I2C to detect if they are present might not be present after a system re-IPLs and performs a FSI I2C Reset. Therefore, later in the IPL, after a Host I2C Reset sequence an attempt to rediscover any of these targets is made. If any new targets are found, the system will re-IPL. Currently only supporting looking for DIMMs now on OpenPower systems with securemode enabled. Change-Id: I010135231f2f74869529a3dbc3344413b6d19dc9 RTC:178973 Backport:release-op920 CQ:SW427365 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57744 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/i2c/i2c.C')
-rwxr-xr-xsrc/usr/i2c/i2c.C15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C
index 950f7bbff..5749ba115 100755
--- a/src/usr/i2c/i2c.C
+++ b/src/usr/i2c/i2c.C
@@ -1120,10 +1120,11 @@ bool i2cPresence( TARGETING::Target * i_target,
uint64_t i_engine,
uint64_t i_devAddr )
{
- TRACUCOMP(g_trac_i2c, ENTER_MRK"i2cPresence(): tgt=0x%X: e/p/devAddr="
- "%d/%d/0x%X", TARGETING::get_huid(i_target), i_engine,
+ TRACUCOMP(g_trac_i2c, ENTER_MRK"i2cPresence(): tgt=0x%X: e%d/p%d/"
+ "devAddr=0x%X", TARGETING::get_huid(i_target), i_engine,
i_port, i_devAddr );
+
errlHndl_t err = NULL;
bool l_mutex_success = false;
bool l_present = false;
@@ -1324,9 +1325,9 @@ bool i2cPresence( TARGETING::Target * i_target,
if( err )
{
TRACFCOMP( g_trac_i2c,
- ERR_MRK"i2cPresence() Error!"
- "tgt=0x%X",
- TARGETING::get_huid(i_target));
+ ERR_MRK"i2cPresence() Error! "
+ "tgt=0x%X: e%d/p%d/devAddr=0x%X",
+ TARGETING::get_huid(i_target), i_engine, i_port, i_devAddr);
errlCommit(err,
I2C_COMP_ID);
@@ -1342,8 +1343,8 @@ bool i2cPresence( TARGETING::Target * i_target,
args.engine );
}
- TRACUCOMP(g_trac_i2c, EXIT_MRK"i2cPresence(): tgt=0x%X: e/p/devAddr="
- "%d/%d/0x%X: l_present=%d",
+ TRACUCOMP(g_trac_i2c, EXIT_MRK"i2cPresence(): tgt=0x%X: e%d/p%d/"
+ "devAddr=0x%X: l_present=%d",
TARGETING::get_huid(i_target), i_engine, i_port, i_devAddr,
l_present );
OpenPOWER on IntegriCloud