summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaptor Engineering Development Team <support@raptorengineering.com>2018-01-23 21:32:55 -0600
committerRaptor Engineering Development Team <support@raptorengineering.com>2018-01-23 21:32:55 -0600
commitfb04bec6888b2ee197ab61f0f7624ef81e937238 (patch)
tree1d355083c0ba8eca1bec55d5b42c47d7f29c334a
parent2ab16679425aa1017e1e465f8856892a3fb9de23 (diff)
downloadtalos-openbmc-fb04bec6888b2ee197ab61f0f7624ef81e937238.tar.gz
talos-openbmc-fb04bec6888b2ee197ab61f0f7624ef81e937238.zip
Split fan control zones for CPU0 and CPU1
This allows fan control to function when only one CPU is installed
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml62
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml9
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/talos-fan-policy/fan-errors.yaml44
3 files changed, 93 insertions, 22 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
index 33ff0bb8e..b040ee948 100644
--- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml
@@ -605,7 +605,7 @@ events:
type: uint64_t
timer:
interval: 5
- - name: occ_active_speed_changes
+ - name: occ_active_speed_changes_zone0
precondition:
name: property_states_match
groups:
@@ -615,12 +615,6 @@ events:
name: OccActive
type: bool
value: true
- - name: occ1_object
- interface: org.open_power.OCC.Status
- property:
- name: OccActive
- type: bool
- value: true
matches:
- name: interfacesAdded
- name: propertiesChanged
@@ -657,12 +651,15 @@ events:
type: uint64_t
timer:
interval: 5
- - name: speed_changes_based_on_core_temps_zone1
+ - name: speed_changes_based_on_dimm_temps_zone0
zone_conditions:
- name: air_cooled_chassis
zones:
- - 1
- group: zone1_cores
+ - 0
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ group: zone0_dimms
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
@@ -672,7 +669,7 @@ events:
- name: propertiesChanged
actions:
- name: set_net_increase_speed
- property: 53000
+ property: 64000
factor:
value: 1000
type: int64_t
@@ -680,7 +677,7 @@ events:
value: 4
type: uint64_t
- name: set_net_decrease_speed
- property: 50000
+ property: 61000
factor:
value: 1000
type: int64_t
@@ -689,15 +686,26 @@ events:
type: uint64_t
timer:
interval: 5
- - name: speed_changes_based_on_dimm_temps_zone0
+ - name: occ_active_speed_changes_zone1
+ precondition:
+ name: property_states_match
+ groups:
+ - name: occ1_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ value: true
+ matches:
+ - name: interfacesAdded
+ - name: propertiesChanged
+ events:
+ - name: speed_changes_based_on_core_temps_zone1
zone_conditions:
- name: air_cooled_chassis
zones:
- - 0
- - name: water_and_air_cooled_chassis
- zones:
- - 0
- group: zone0_dimms
+ - 1
+ group: zone1_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
@@ -707,7 +715,7 @@ events:
- name: propertiesChanged
actions:
- name: set_net_increase_speed
- property: 64000
+ property: 53000
factor:
value: 1000
type: int64_t
@@ -715,7 +723,7 @@ events:
value: 4
type: uint64_t
- name: set_net_decrease_speed
- property: 61000
+ property: 50000
factor:
value: 1000
type: int64_t
@@ -759,6 +767,20 @@ events:
type: uint64_t
timer:
interval: 5
+ - name: occ_active_speed_changes_zone2
+ precondition:
+ name: property_states_match
+ groups:
+ - name: occ0_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ value: true
+ matches:
+ - name: interfacesAdded
+ - name: propertiesChanged
+ events:
- name: speed_changes_based_on_gpu_core_temps
zone_conditions:
- name: air_cooled_chassis
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml
index 0c8b3c5ff..244b6b16b 100644
--- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml
@@ -16,3 +16,12 @@ conditions:
path: /xyz/openbmc_project/inventory/system/chassis
type: bool
value: true
+
+ - name: second_cpu_controlled
+ type: getProperty
+ properties:
+ - property: OccActive
+ interface: org.open_power.OCC.Status
+ path: /org/open_power/control/occ1
+ type: bool
+ value: true \ No newline at end of file
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/talos-fan-policy/fan-errors.yaml b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/talos-fan-policy/fan-errors.yaml
index 486e536ad..40d022109 100644
--- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/talos-fan-policy/fan-errors.yaml
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/fans/talos-fan-policy/fan-errors.yaml
@@ -116,6 +116,18 @@
meta: COOLING_TYPE
property: WaterCooled
+- name: second cpu controlled
+ description: >
+ 'Whether or not the second CPU is installed and under thermal control.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: org.open_power.OCC.Status
+ path: /org/open_power/control/occ1
+ meta: SECOND_CPU_CONTROLLED
+ property: OccActive
+
- name: watch chassis state
description: >
'Trigger logic on chassis power state changes.'
@@ -588,7 +600,7 @@
paths: fan5
properties: fan present
defer: 20000000us
- callback: check cooling type notpresent error
+ callback: check second cpu controlled notpresent error
countop: '<'
countbound: 1
op: '=='
@@ -603,7 +615,7 @@
condition: count
paths: fan5
properties: fan functional
- callback: check cooling type nonfunctional error
+ callback: check second cpu controlled nonfunctional error
countop: '>'
countbound: 0
op: '=='
@@ -637,6 +649,34 @@
op: '=='
bound: true
+- name: check second cpu controlled nonfunctional error
+ description: >
+ 'If this condition passes the second CPU is controlled and will create a
+ nonfunctional error for fan 6 in air cooled mode.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: second cpu controlled
+ callback: check cooling type nonfunctional error
+ countop: '=='
+ countbound: 0
+ op: '=='
+ bound: true
+
+- name: check second cpu controlled notpresent error
+ description: >
+ 'If this condition passes the second CPU is controlled and will create a
+ notpresent error for fan 6 in air cooled mode.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: second cpu controlled
+ callback: check cooling type notpresent error
+ countop: '=='
+ countbound: 0
+ op: '=='
+ bound: true
+
- name: notpresent fan0 error
class: callback
callback: elog
OpenPOWER on IntegriCloud