| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Installs into bin instead of sbin per guidelines.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I452171c4661228d903fe0570342be630cb0dbbd9
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the removal of the custom timer implementation our libfan has
nothing but a single header file. Since we have no object code left we
do not need a library to contain this code since the header is directly
included where needed.
Tested:
Built and run through unit tests.
Change-Id: I139b83ab979ead88cfd4c180ba8847a29c6407e2
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
| |
This change is mostly focused around plumbing the sdeventplus::Event
object everywhere and using the member functions provided for the event.
No migration to the timer utility is performed yet.
Change-Id: I912ab82bc081239d3b7c3cf7c5caca6742ef9c87
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
|
|
|
|
|
|
|
|
| |
Per openbmc/openbmc#3364, adding -flto to CXX flags
in order to reduce overall library and binary sizes.
Ref: https://gcc.gnu.org/wiki/LinkTimeOptimization
Change-Id: I3ee31a15fc0ded4308aa9d00a11b41bc62eb9799
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the functional infrastructure to optionally attach a condition
function to a fan definition. When a condition is defined on a fan, it
must be true for a fan's associated functional properties to be created.
When the given condition fails, that fan's functional properties will
not be created by fan monitor. A fan without a defined condition will
have all of its associated functional properties created.
Example of generated condition (generation commit to follow):
make_condition(condition::propertiesMatch(
std::vector<PropertyState>{
PropertyState{
PropertyIdentity{
"/xyz/openbmc_project/inventory/system/chassis",
"xyz.openbmc_project.Inventory.Decorator.CoolingType",
"WaterCooled"
},
static_cast<bool>(false)
}
}
)),
Tested:
Fan functional properties are not created when a condition fails
Fan functional properties are created when condition passes
Fan functional properties are created when no condition exists
Change-Id: I9ced2e520d2f97e6655c9417970b3e976d78fef4
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each fan's tach sensor creates a child inventory object under the fan's
inventory path containing the sensor's functional state. This child
inventory object path is the fan's path plus the tach sensor's defined
id.
i.e.)
/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0
Change-Id: I0fe5000eadbe55d60b475ccad700b0264ed0ac75
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowing fan monitor to run in an init mode will set the fans to a
functional state at each poweron for fans that were non-functional at
poweroff. Then fan monitor can be started in monitor mode after the fans
have ramped up to full speed and can begin being monitored for faults.
This also allows for the removal of fan monitor doing a sd_notify prior
to fan control starting.
Change-Id: I634c9b4ec8bb30860dea54c8abd1cd6c56831d25
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
|
|
|
|
|
|
|
|
| |
Implemented elog exception for phosphor fan presence,
replacing runtime_errors.
Change-Id: I70465060838b2cbaeadccf84ed5924e222ac59e3
Signed-off-by: Dinesh Chinari <chinari@us.ibm.com>
|
|
|
|
|
|
|
| |
Run the python script to generate fan_zone_defs.cpp
Change-Id: I242aa4246a277509ddbcf1c62fec96782a48b37b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TachSensor will match on properties changed
signals for the Value and Target properties.
When these occur, it will load in those
properties and then tell the Fan class there
was a change.
Also, TachSensor will read in the Target property
during construction so it will have a valid value
to check against right away.
Change-Id: I2dc2cacf5804826c6b0e0ea91196cbdaa4d5b893
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A Fan object has one or more TachSensor objects.
The TachSensor class is used to keep track of the
the actual and expected speeds. It only tracks
expected speeds if the _hasTarget attribute is true.
Future commits will add more functionality.
Change-Id: I9bb5fac39f25c5c31c18457ebedf82838fcf6641
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit contains the data that will be used by
the monitor code.
The generated.cpp file will later be generated during
the build by a python script.
Change-Id: I4dc4552ae8e58cd27478416888dd3363e7c2bf3f
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|
|
This application will monitor the actual speeds of
fans (via their sensors) and compare them to their
expected speeds. If a fan is too slow for too long,
it will have its Functional property in the inventory
set to false. If it starts working again, the property
will be set back to true.
It will use configuration data to say which fans to check
and which values to use for various timeout and deviation
parameters.
Change-Id: Ic61613018a758727835b70f2df0ecd1bf12e8256
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
|