diff options
author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2018-04-19 06:34:23 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-05-07 09:54:48 -0400 |
commit | 22b6130039608d9cb68cd023130b17706a31d1aa (patch) | |
tree | c78d8fcb459f1868ac340df1e9ebdc20b9d828dc /src/usr/i2c/i2c.C | |
parent | fbea67f16d58a24d78797e1a080f21020e63b4a9 (diff) | |
download | talos-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-x | src/usr/i2c/i2c.C | 15 |
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 ); |