summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barth <msbarth@us.ibm.com>2019-01-29 16:10:44 -0600
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-02-13 23:47:37 -0500
commit89eac782cd76172ea626d56320e484cae45f2fbf (patch)
treeac52fedb265c2363f542448363ab23520a55e378
parent92d29dbcd46f4858502c5cb481fe4630dceec30c (diff)
downloadtalos-openbmc-89eac782cd76172ea626d56320e484cae45f2fbf.tar.gz
talos-openbmc-89eac782cd76172ea626d56320e484cae45f2fbf.zip
wspoon: Load alternate floor table on custom mode
When a user enables the "Custom" thermal control mode, an alternate set of floor speeds will be used. This alternate set of floor speeds raises the floor speeds at corresponding ambient temperatures to sufficiently cool certain hardware configurations. Tested: Alternate floor table is loaded when "Custom" mode enabled Requires: openbmc/phopshor-fan-presence f0e4ebd36d085700c8795c4d80b04d21355dc6d2 (From meta-ibm rev: ae9312165a1b6545d1c9466c91033a101137258d) Change-Id: I260cf8e351b27ee24c1926da9767516c3da0c1ac Signed-off-by: Matthew Barth <msbarth@us.ibm.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml98
1 files changed, 80 insertions, 18 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
index 106202344..e726f90f2 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
@@ -1,4 +1,10 @@
groups:
+ - name: zone0_control_mode
+ description: Thermal control mode for zone 0
+ service: xyz.openbmc_project.Control.Thermal
+ type: /xyz/openbmc_project/control/thermal
+ members:
+ - /0
- name: air_cooled_zone0_fans
description: Group of fan inventory objects for air cooled zone 0
type: /xyz/openbmc_project/inventory
@@ -276,6 +282,14 @@ actions:
- property
- factor
- delta
+ - name: use_alternate_events_on_state
+ description: >
+ Replaces a set of default events with an alternate set of events
+ when all the group properties are at a given state
+ parameters:
+ - property
+ - defevents
+ - altevents
events:
- name: default_fan_floor_on_service_fail
@@ -427,32 +441,80 @@ events:
type: uint64_t
- name: set_air_cooled_speed_boundaries_based_on_ambient
groups:
- - name: zone0_ambient
+ - name: zone0_control_mode
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
- interface: xyz.openbmc_project.Sensor.Value
+ interface: xyz.openbmc_project.Control.ThermalMode
property:
- name: Value
- type: int64_t
+ name: Current
+ type: std::string
matches:
- name: propertiesChanged
actions:
- - name: set_floor_from_average_sensor_value
- map:
- value:
- - 27000: 3500
- - 32000: 4600
- - 37000: 5200
- - 40000: 5800
- type: std::map<int64_t, uint64_t>
- - name: set_ceiling_from_average_sensor_value
- map:
- value:
- - 25000: 7200
- - 27000: 10500
- type: std::map<int64_t, uint64_t>
+ - name: use_alternate_events_on_state
+ property:
+ value: Custom
+ type: std::string
+ defevents:
+ - name: default_floor_boundary
+ groups:
+ - name: zone0_ambient
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ matches:
+ - name: propertiesChanged
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 3500
+ - 32000: 4600
+ - 37000: 5200
+ - 40000: 5800
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>
+ altevents:
+ - name: alternate_floor_boundary
+ groups:
+ - name: zone0_ambient
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ matches:
+ - name: propertiesChanged
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 4600
+ - 32000: 5000
+ - 37000: 5400
+ - 40000: 5800
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>
- name: set_water_cooled_speed_boundaries_based_on_ambient
groups:
- name: zone0_ambient
OpenPOWER on IntegriCloud