summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorEddie James <eajames@us.ibm.com>2018-05-02 15:57:23 -0500
committerEdward A. James <eajames@us.ibm.com>2018-05-09 15:12:28 +0000
commitb5508d7a0fd9202c37cc02aea045f189e991dd09 (patch)
treef592a56e0f5347aaf3fe77d54037988a4bf50570 /configure.ac
parent85e6520e0c431498e57b10a68b38f3cc4b1d8d88 (diff)
downloadopenpower-occ-control-b5508d7a0fd9202c37cc02aea045f189e991dd09.tar.gz
openpower-occ-control-b5508d7a0fd9202c37cc02aea045f189e991dd09.zip
Add Bus class to reset OCC bus driver
For some systems, the OCC is accessed over the SBEFIFO, acting as a bus. If the SBE experiences a failure, the SBEFIFO driver is unable to recover. Therefore, the OCC control application must force a reset of the SBEFIFO driver when the OCC goes active. Add a Bus class and reset method to unbind and bind the appropriate SBEFIFO devices when the OCC devices are bound. Testing: Powered on the system successfully. Injected SBE error through a putscom. Without this fix, I intermittently saw SBEFIFO errors on the BMC after the injection. With the fix, I saw no errors despite ~20 iterations. Resolves openbmc/openbmc#3156 Change-Id: I0f9a230c57d0a3a7b59a874f62cdb1d93c6dcdfb Signed-off-by: Eddie James <eajames@us.ibm.com>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac3
1 files changed, 3 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 149e0d0..7ac868c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,6 +105,7 @@ AC_ARG_VAR(OCC_MASTER_NAME, [The OCC master object name])
AS_IF([test "x$OCC_MASTER_NAME" == "x"], [OCC_MASTER_NAME="occ-hwmon.1"])
AC_DEFINE_UNQUOTED([OCC_MASTER_NAME], ["$OCC_MASTER_NAME"], [The OCC master object name])
+AC_ARG_VAR(OCC_BUS_PATH, [The OCC bus device path])
AC_ARG_VAR(OCC_HWMON_PATH, [The OCC hwmon path])
AC_ARG_VAR(DEV_PATH, [The device path])
AC_ARG_VAR(I2C_OCC_DEVICE_NAME, [The device name of i2c occ hwmon])
@@ -115,9 +116,11 @@ AS_IF([test "x$enable_i2c_occ" == "xyes"],
AS_IF([test "x$I2C_OCC_DEVICE_NAME" == "x"], [I2C_OCC_DEVICE_NAME="p8-occ-hwmon"]),
# Else, define occ hwmon path for FSI
+ AS_IF([test "x$OCC_BUS_PATH" == "x"], [OCC_BUS_PATH="/sys/bus/fsi/drivers/sbefifo/"])
AS_IF([test "x$OCC_HWMON_PATH" == "x"], [OCC_HWMON_PATH="/sys/bus/platform/drivers/occ-hwmon/"])
AS_IF([test "x$DEV_PATH" == "x"], [DEV_PATH="/sys/bus/platform/devices/"]),
)
+AC_DEFINE_UNQUOTED([OCC_BUS_PATH], ["$OCC_BUS_PATH"], [The OCC bus device path])
AC_DEFINE_UNQUOTED([OCC_HWMON_PATH], ["$OCC_HWMON_PATH"], [The OCC hwmon path])
AC_DEFINE_UNQUOTED([DEV_PATH], ["$DEV_PATH"], [The device path])
AC_DEFINE_UNQUOTED([I2C_OCC_DEVICE_NAME], ["$I2C_OCC_DEVICE_NAME"], [The device name of i2c occ hwmon])
OpenPOWER on IntegriCloud