summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2018-02-21 01:09:49 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-03-07 15:36:52 +0300
commit185f15f407fc2ef5f66d5f60643a1722c6fe0610 (patch)
tree846da47f3c4b8cd3e211c80266c7a69d5ac57f00
parentb7e3d5ea200f793bdbc763d379224bca28268108 (diff)
downloadopenbmc-185f15f407fc2ef5f66d5f60643a1722c6fe0610.tar.xz
wspoon: MAX31785revA fan controller workaround
The MAX31785revA specification does not match how it functions. The MAX31785revA's functionality reports the rotor feedback speeds in a slow/fast relationship instead of rotor positions, therefore the fan*_0 object will always represent the slowest rotor. In combination with how the MAX31785revA latches its TACHSEL = 0 during a speed transition, it made it difficult to fault isolate the rear rotor of a fan. Using a combination of the fan monitor trust groups on all fan rotors and enabling a delay timer to determine when a fan rotor becomes functional, fan monitor is able to correctly reflect each fan rotor and fan enclosure's functional state in inventory. Fan faults are unable to be monitored on all fans when transitioning to a target speed. Tested: Each fan rotor's functional state is updated when blocked Correct amount of time to mark a fan nonfunctional is still honored A fan is functional after remaining in spec for 5 seconds Resolves openbmc/openbmc#2798 Change-Id: I834d63f6082eae4cb03ec501f0fb8272a9f5b673 Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml17
-rw-r--r--meta-phosphor/common/recipes-phosphor/fans/phosphor-fan.inc2
2 files changed, 17 insertions, 2 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
index 91a7e2903..feda64638 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
@@ -1,5 +1,6 @@
fans:
- inventory: /system/chassis/motherboard/fan0
+ functional_delay: 5
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
@@ -10,6 +11,7 @@ fans:
has_target: false
- inventory: /system/chassis/motherboard/fan1
+ functional_delay: 5
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
@@ -20,6 +22,7 @@ fans:
has_target: false
- inventory: /system/chassis/motherboard/fan2
+ functional_delay: 5
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
@@ -30,6 +33,7 @@ fans:
has_target: false
- inventory: /system/chassis/motherboard/fan3
+ functional_delay: 5
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
@@ -41,8 +45,19 @@ fans:
sensor_trust_groups:
- class: NonzeroSpeed
- sensors:
+ group:
+ # Include all _1 fans to determine trust
- name: fan0_1
- name: fan1_1
- name: fan2_1
- name: fan3_1
+ # Add all _0 fans to be included in trust result effects,
+ # but not in determining trust
+ - name: fan0_0
+ in_trust: false
+ - name: fan1_0
+ in_trust: false
+ - name: fan2_0
+ in_trust: false
+ - name: fan3_0
+ in_trust: false
diff --git a/meta-phosphor/common/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/common/recipes-phosphor/fans/phosphor-fan.inc
index e232bbb01..528755c76 100644
--- a/meta-phosphor/common/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/common/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-fan-presence"
-SRCREV = "069e4405a6926cdacc33c0826075356da2cd9dbd"
+SRCREV = "e11cbc605e79bbf6b2651c30ef8f64a9ae4167b0"