diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2017-08-16 10:42:54 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-08-21 00:47:37 +0000 |
commit | c5359f4730d65da56c57074072dbe3ee6985ac00 (patch) | |
tree | 17cfc6b97f540bd9e2a64c02ab2f06e48932196f /meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml | |
parent | 2975bc4fa4349b632ac845666d0703cac404d374 (diff) | |
download | talos-openbmc-c5359f4730d65da56c57074072dbe3ee6985ac00.tar.gz talos-openbmc-c5359f4730d65da56c57074072dbe3ee6985ac00.zip |
witherspoon: Add fan speed inc/dec control based on core temps
Set speed events now support the use of preconditions, a speed increase
action, and a speed decrease action to allow OCC provided core temps to
adjust fan speeds. This enables automatic fan control based only on core
temps when both OCCs are active.
Resolves openbmc/openbmc#1792
Change-Id: Iad924773f8b71382032f237977185619ecb03ecd
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml')
-rw-r--r-- | meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml index f9e1e7fd1..f4c6fa3bf 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml @@ -19,6 +19,76 @@ groups: type: /xyz/openbmc_project/sensors members: - /temperature/ambient + - name: occ0_object + description: Dbus object containing OCC0 properties + type: /org/open_power/control + members: + - /occ0 + - name: occ1_object + description: Dbus object containing OCC1 properties + type: /org/open_power/control + members: + - /occ1 + - name: zone0_cores + description: Group of core temperature sensors for zone 0 + type: /xyz/openbmc_project/sensors + members: + - /temperature/p0_core0_temp + - /temperature/p0_core1_temp + - /temperature/p0_core2_temp + - /temperature/p0_core3_temp + - /temperature/p0_core4_temp + - /temperature/p0_core5_temp + - /temperature/p0_core6_temp + - /temperature/p0_core7_temp + - /temperature/p0_core8_temp + - /temperature/p0_core9_temp + - /temperature/p0_core10_temp + - /temperature/p0_core11_temp + - /temperature/p0_core12_temp + - /temperature/p0_core13_temp + - /temperature/p0_core14_temp + - /temperature/p0_core15_temp + - /temperature/p0_core16_temp + - /temperature/p0_core17_temp + - /temperature/p0_core18_temp + - /temperature/p0_core19_temp + - /temperature/p0_core20_temp + - /temperature/p0_core21_temp + - /temperature/p0_core22_temp + - /temperature/p0_core23_temp + - /temperature/p1_core0_temp + - /temperature/p1_core1_temp + - /temperature/p1_core2_temp + - /temperature/p1_core3_temp + - /temperature/p1_core4_temp + - /temperature/p1_core5_temp + - /temperature/p1_core6_temp + - /temperature/p1_core7_temp + - /temperature/p1_core8_temp + - /temperature/p1_core9_temp + - /temperature/p1_core10_temp + - /temperature/p1_core11_temp + - /temperature/p1_core12_temp + - /temperature/p1_core13_temp + - /temperature/p1_core14_temp + - /temperature/p1_core15_temp + - /temperature/p1_core16_temp + - /temperature/p1_core17_temp + - /temperature/p1_core18_temp + - /temperature/p1_core19_temp + - /temperature/p1_core20_temp + - /temperature/p1_core21_temp + - /temperature/p1_core22_temp + - /temperature/p1_core23_temp + +preconditions: + - name: property_states_match + description: > + All defined properties must match the values given to + enable a set speed event otherwise fan speeds are set to full + parameters: + - groups actions: - name: count_state_before_speed @@ -35,6 +105,24 @@ actions: description: Set ceiling speed based on key transition values with average parameters: - map + - name: set_net_increase_speed + description: > + Set the speed increase delta based on a factor applied to + the delta increase size times the given value and property's + value difference + parameters: + - property + - factor + - delta + - name: set_net_decrease_speed + description: > + Set the speed decrease delta based on a factor applied to + the delta decrease size times the given value and property's + value difference + parameters: + - property + - factor + - delta events: - name: missing_before_high_speed_air @@ -163,3 +251,79 @@ events: - 25000: 10500 - 27000: 10500 type: std::map<int64_t, uint64_t> + - name: speed_increase_changes_based_on_core_temps + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + - name: water_and_air_cooled_chassis + zones: + - 0 + precondition: + name: property_states_match + groups: + - name: occ0_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + - name: occ1_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + group: zone0_cores + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + action: + name: set_net_increase_speed + property: 73000 + factor: + value: 1000 + type: int64_t + delta: + value: 400 + type: uint64_t + - name: speed_decrease_changes_based_on_core_temps + zone_conditions: + - name: air_cooled_chassis + zones: + - 0 + - name: water_and_air_cooled_chassis + zones: + - 0 + precondition: + name: property_states_match + groups: + - name: occ0_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + - name: occ1_object + interface: org.open_power.OCC.Status + property: + name: OccActive + type: bool + value: true + group: zone0_cores + interface: xyz.openbmc_project.Sensor.Value + property: + name: Value + type: int64_t + action: + name: set_net_decrease_speed + property: 70000 + factor: + value: 1000 + type: int64_t + delta: + value: 10 + type: uint64_t + timer: + interval: 15 |