summaryrefslogtreecommitdiffstats
path: root/src/usr/i2c/i2c.C
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2017-08-24 23:17:23 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-26 22:03:30 -0400
commit28aadd302f7580333212a5b3c7c54c6b03b3761a (patch)
treeb9aef88a7fbc94bcd4da18e7b5c159c9ffe651df /src/usr/i2c/i2c.C
parentbc6c66c50ca468a5463d3e5232751c4382aa845f (diff)
downloadtalos-hostboot-28aadd302f7580333212a5b3c7c54c6b03b3761a.tar.gz
talos-hostboot-28aadd302f7580333212a5b3c7c54c6b03b3761a.zip
Secure Boot: Exempt all ports on i2c engine 2 from diagnostic reset
Change-Id: I8f6ce3000ca9e9626e1027fef6d790e6ecf088e9 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45146 Reviewed-by: Michael Baiocchi <mbaiocch@us.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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@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.C12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C
index 65c34535d..17f5d258d 100755
--- a/src/usr/i2c/i2c.C
+++ b/src/usr/i2c/i2c.C
@@ -2579,13 +2579,15 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target,
auto skipDiagMode = false;
// P9 engine 2 port 0 has a limitation where the diag mode
- // cannot be used. -- skip it if the attribute states it
- // should not be used
+ // cannot be used. Since diag mode restrictions are enforced at
+ // the engine level, generalize this restriction to all ports on
+ // that engine, skipping the diagnostic reset based on the
+ // value of the attribute.
const auto l_disable_diag_mode =
i_target->getAttr<
TARGETING::ATTR_DISABLE_I2C_ENGINE2_PORT0_DIAG_MODE>();
- if ( (l_disable_diag_mode)
- &&((0 == port) && (2 == i_args.engine))) // Host
+ if ( (l_disable_diag_mode)
+ && (2 == i_args.engine)) // Host
{
skipDiagMode = true;
}
@@ -2608,7 +2610,7 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target,
TRACFCOMP(g_trac_i2c,
INFO_MRK "Not doing i2cForceResetAndUnlock() for "
"target=0x%08X: e/p= %d/%d due to P9 diag mode "
- "limitations. Disable diag mode on e2/p0 = %d, "
+ "limitations. Disable diag mode on e2 = %d, "
"secure mode enabled = %d",
TARGETING::get_huid(i_target),
i_args.engine, port,l_disable_diag_mode,
OpenPOWER on IntegriCloud