commit | 30040d9dc1d7bbd0a69f221f49edc24cf748dae6 | [log] [tgz] |
---|---|---|
author | Chris Cain <cjcain@us.ibm.com> | Wed Jun 19 16:50:34 2024 -0500 |
committer | Chris Cain <cjcain@us.ibm.com> | Tue Jul 16 20:42:43 2024 +0000 |
tree | 047e0c51d18ca9ff274f66f9dfad40058bea806b | |
parent | db38e91a2afac435c2a1e1b17ae3379eae9f737f [diff] |
Read mode support from entity manager and update dbus 1. Attempt to read several power mode properties from entity-manager. Reject any mode change requests that are not in the CustomerModes list. If the CustomerModes list is empty, all supported mode changes will be allowed. CustomerModes: List of power modes that are settable from a customer user interface. OemModes: List of OEM power modes that are supported on the system. EcoModeSupport: Flag to indicate if the system supports a set of efficiency based settings. If any of these are not found, occ-control will use the default supported modes. Use default if persisted power mode is not supported 2. If previous (persisted) power mode is not supported, the default power mode for the system will be used. If that default is not found MaximumPerformance will be used. Tested on Rainier ''' xyz.openbmc_project.Control.Power.Mode interface - - - .AllowedPowerModes property as 3 "xyz.openbmc_project.Control.Power.Mode.PowerMode.MaximumPerformance" "xyz.openbmc_project.Control.Power.Mode.PowerMode.PowerSaving" "xyz.openbmc_project.Control.Power.Mode.PowerMode.Static" const .PowerMode property s "xyz.openbmc_project.Control.Power.Mode.PowerMode.PowerSaving" emits-change writable .SafeMode property b false emits-change ''' Change-Id: Id9b2b493e420fc60b3c29d581d63e9ed0f71c4fc Signed-off-by: Chris Cain <cjcain@us.ibm.com>
This service will handle communications to the On-Chip Controller (OCC) on Power processors. The OCC provides processor and memory temperatures, power readings, power cap support, system power mode support, and idle power saver support. OCC Control will be interfacing with the OCC to collect the temperatures and power readings, updating the system power mode, setting power caps, and idle power save parameters.
The service is started automatically when the BMC is started.
This project can be built with meson. The typical meson workflow is: meson builddir && ninja -C builddir.
The server will start automatically after BMC is powered on.
Server status: systemctl status org.open_power.OCC.Control.service
To restart the service: systemctl restart org.open_power.OCC.Control.service
Service files are located in service_files subdirectory.
IBM EnergyScale for Power10 Processor-Based Systems whitepaper: https://www.ibm.com/downloads/cas/E7RL9N4E
OCC Firmware Interface Spec for Power10: https://github.com/open-power/docs/blob/P10/occ/OCC_P10_FW_Interfaces_v1_17.pdf
OCC Firmware: https://github.com/open-power/occ/tree/master-p10
IBM EnergyScale for POWER9 Processor-Based Systems: https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=49019149USEN&
OCC Firmware Interface Spec for POWER9: https://github.com/open-power/docs/blob/P9/occ/OCC_P9_FW_Interfaces.pdf