/openbmc/openbmc-test-automation/openpower/ |
H A D | test_occ_power.robot | 2 Documentation Suite to test OCC power module. 18 Verify OCC Object Count 19 [Documentation] Verify that OCC and inventory entries match. 42 ... msg=OCC and inventory entry counts are mismatched. 45 Verify OCC State When Host Is Booted 46 [Documentation] Verify OCC state when host is booted. 49 Verify OCC State ${1} 52 Verify OCC State After Host Reboot 53 [Documentation] Verify OCC state and count after host reboot. 56 ${occ_count_before}= Count OCC Object Entry [all …]
|
/openbmc/openpower-debug-collector/dump/tools/bmcdump/plugins/ |
H A D | occ | 4 # @brief: Get the occ information. 10 if [ ! -e "/usr/bin/openpower-occ-control" ]; then 14 #fetch occ control data 15 file_name="occ.log" 17 desc="occ control" 19 org.open_power.OCC.Control \ 26 #fetch occ control host data 27 desc="occ control host" 29 org.open_power.OCC.Control \ 35 #fetch occ sensors data [all …]
|
/openbmc/openpower-occ-control/ |
H A D | occ_pass_through.hpp | 7 #include <org/open_power/OCC/PassThrough/server.hpp> 17 namespace occ namespace 21 sdbusplus::org::open_power::OCC::server::PassThrough>; 27 * @brief Implements org.open_power.OCC.PassThrough 44 std::unique_ptr<open_power::occ::powermode::PowerMode>& powerModeRef); 46 /** @brief Pass through command to OCC from dbus 48 * @returns OCC response as an array 52 /** @brief Pass through command to OCC from openpower-occ-control 54 * @returns OCC response as an array 68 /** @brief Pass-through occ path on the bus */ [all …]
|
H A D | occ_status.hpp | 12 #include <org/open_power/OCC/Status/server.hpp> 23 namespace occ namespace 27 namespace Base = sdbusplus::org::open_power::OCC::server; 39 // OCC status instance. Ex. for "occ0", the instance is 0 42 // IPMI sensor ID for a given OCC instance 48 // OCC sensors definitions in the map 51 // OCC sysfs name prefix 52 const std::string sysfsName = "occ-hwmon"; 61 * @brief Implementation of OCC Active Status 78 * @param[in] manager - OCC manager instance [all …]
|
H A D | README.md | 1 # OpenPOWER OCC Control Service 3 This service will handle communications to the On-Chip Controller (OCC) on Power 4 processors. The OCC provides processor and memory temperatures, power readings, 5 power cap support, system power mode support, and idle power saver support. OCC 6 Control will be interfacing with the OCC to collect the temperatures and power 21 Server status: `systemctl status org.open_power.OCC.Control.service` 23 To restart the service: `systemctl restart org.open_power.OCC.Control.service` 36 OCC Firmware Interface Spec for Power10: 37 <https://github.com/open-power/docs/blob/P10/occ/OCC_P10_FW_Interfaces_v1_17.pdf> 39 OCC Firmware: <https://github.com/open-power/occ/tree/master-p10> [all …]
|
H A D | occ_manager.hpp | 27 namespace occ namespace 42 /** @brief Default time, in seconds, between OCC poll commands */ 57 * @brief Builds and manages OCC objects 69 /** @brief Adds OCC pass-through and status objects on the bus 117 * @param[in] instance - the OCC instance id 134 * @brief Set all sensor values of this OCC to NaN. 135 * @param[in] id - Id of the OCC. 139 /** @brief Set all sensor values of this OCC to NaN and non functional. 141 * @param[in] id - Id of the OCC. 155 /** @brief Name of file to put the occ-control dump data */ [all …]
|
H A D | pldm.hpp | 29 using namespace open_power::occ; 36 using InstanceToEffecter = std::map<open_power::occ::instanceID, EffecterID>; 40 using SensorToInstance = std::map<SensorID, open_power::occ::instanceID>; 43 /** @brief OCC instance starts with 0 for example "occ0" */ 44 constexpr open_power::occ::instanceID start = 0; 54 * @brief Abstracts the PLDM details related to the OCC 66 /** @brief Constructs the PLDM Interface object for OCC functions 68 * @param[in] occActiveCallBack - callBack handler to invoke when the OCC 78 std::function<bool(open_power::occ::instanceID, bool)> in Interface() 80 std::function<void(open_power::occ::instanceID, bool)> sbeCallBack, in Interface() [all …]
|
H A D | occ-active.sh | 2 # set and unset occ active for all occ's in system 9 echo "Usage: occ-active.sh [argument]" 10 echo " enable - set occ's to active state" 11 echo " disable - set occ's to inactive state" 15 OCC_CONTROL_SERVICE="org.open_power.OCC.Control" 17 busctl tree $OCC_CONTROL_SERVICE --list | grep -i occ | xargs -r -n1 -I{} \ 18 busctl set-property $OCC_CONTROL_SERVICE {} org.open_power.OCC.Status \
|
H A D | occ_command.hpp | 6 #include <org/open_power/OCC/PassThrough/server.hpp> 16 namespace occ namespace 93 * @brief Send commands and process respsonses from the OCC 104 /** @brief Ctor to set up which OCC the command will go to 106 * @param[in] instance - OCC instance 117 /** @brief Send the command to the OCC and collect the response. 128 /** @brief Instance number of the target OCC */ 131 /** @brief OCC path on the bus */ 134 /** @brief OCC device path 143 /** @brief Indicates whether or not the OCC is currently active */ [all …]
|
H A D | occ_status.cpp | 14 namespace occ namespace 27 lg2::info("Status::occActive OCC{INST} changed to {STATE}", "INST", in occActive() 31 // OCC is active in occActive() 38 // Reset last OCC state in occActive() 51 "Status::occActive: Unable to add error watch(s) for OCC{INST} watch: {ERROR}", in occActive() 57 // Update the OCC active sensor in occActive() 62 // Update powercap bounds from OCC in occActive() 74 // OCC is no longer active in occActive() 105 // Clear throttles (OCC not active after disabling device) in occActive() 115 * In it's constructor, Status checks Device::bound() to see if OCC is in occActive() [all …]
|
H A D | occ_presence.cpp | 10 #include <org/open_power/OCC/Device/error.hpp> 18 namespace occ namespace 25 using namespace sdbusplus::org::open_power::OCC::Device::Error; in analyzeEvent() 33 phosphor::logging::org::open_power::OCC::Device::ConfigFailure:: in analyzeEvent() 35 phosphor::logging::org::open_power::OCC::Device::ConfigFailure:: in analyzeEvent() 49 lg2::error("OCC presence mismatch - BMC: {BNUM}, OCC: {ONUM}", "BNUM", in analyzeEvent() 58 } // namespace occ
|
H A D | powercap.hpp | 16 namespace occ namespace 43 * @brief Provides persistent container to store data for OCC 116 * @brief Monitors for changes to the power cap and notifies occ 118 * The customer power cap is provided to the OCC by host TMGT when the occ 120 * the power cap to the OCC if the cap is changed while the occ is active. 126 /** @brief PowerCap object to inform occ of changes to cap 129 * power cap enable properties. If a change is detected, and the occ 130 * is active, then this object will notify the OCC of the change. 132 * @param[in] occStatus - The occ status object 157 /** @brief Return the appropriate value to write to the OCC (output/DC [all …]
|
H A D | meson.build | 2 'openpower-occ-control', 17 conf_data.set_quoted('OCC_CONTROL_BUSNAME', 'org.open_power.OCC.Control') 21 conf_data.set_quoted('OCC_NAME', 'occ') 22 conf_data.set_quoted('OCC_MASTER_NAME', 'occ-hwmon.1') 23 conf_data.set_quoted('OCC_DEV_PATH', '/dev/occ') 30 '/var/lib/openpower-occ-control', 39 conf_data.set_quoted('OCC_HWMON_PATH', '/sys/bus/platform/drivers/occ-hwmon/') 57 'occ-active.sh', 134 # Generate occ-sensor.hpp. 136 'occ-sensor.hpp', [all …]
|
H A D | occ_manager.cpp | 22 namespace occ namespace 77 // - create the PowerMode object to control OCC modes 78 // - create statusObjects for each OCC device found 79 // - waits for OCC Active sensors PDRs to become available 120 "Manager::findAndCreateObjects(): Creating {QTY} OCC Status Objects", in findAndCreateObjects() 129 // Find/update the processor path associated with each OCC in findAndCreateObjects() 187 if (open_power::occ::utils::isHostRunning()) in checkAllActiveSensors() 208 "checkAllActiveSensors(): OCC{INST} is ACTIVE (queued)", in checkAllActiveSensors() 218 "checkAllActiveSensors(): Waiting on OCC{INST} Active sensor", in checkAllActiveSensors() 271 "checkAllActiveSensors(): OCC Active sensors are available"); in checkAllActiveSensors() [all …]
|
H A D | occ_sensor.mako.hpp | 14 namespace occ namespace 23 % for occ in occDict: 25 instance = occ.get("Instance") 26 id = occ.get("SensorID") 27 name = occ.get("SensorName") 35 } // namespace occ
|
H A D | occ_errors.cpp | 8 #include <org/open_power/OCC/Device/error.hpp> 17 namespace occ namespace 21 using namespace sdbusplus::org::open_power::OCC::Device::Error; 36 elog<OpenFailure>(phosphor::logging::org::open_power::OCC::Device:: in openFile() 38 phosphor::logging::org::open_power::OCC::Device:: in openFile() 118 phosphor::logging::org::open_power::OCC::Device::ConfigFailure:: in analyzeEvent() 120 phosphor::logging::org::open_power::OCC::Device::ConfigFailure:: in analyzeEvent() 143 // OCC / FSI have intermittent issues so retry all reads in readFile() 157 phosphor::logging::org::open_power::OCC::Device:: in readFile() 159 phosphor::logging::org::open_power::OCC::Device:: in readFile() [all …]
|
/openbmc/qemu/hw/ppc/ |
H A D | pnv_occ.c | 2 * QEMU PowerPC PowerNV Emulation of a few OCC related registers 40 /* OCC sensors */ 57 static void pnv_occ_set_misc(PnvOCC *occ, uint64_t val) in pnv_occ_set_misc() argument 61 occ->occmisc = val; in pnv_occ_set_misc() 68 qemu_set_irq(occ->psi_irq, !!(val & OCCMISC_PSI_IRQ)); in pnv_occ_set_misc() 71 static void pnv_occ_raise_msg_irq(PnvOCC *occ) in pnv_occ_raise_msg_irq() argument 73 pnv_occ_set_misc(occ, occ->occmisc | OCCMISC_PSI_IRQ | OCCMISC_IRQ_SHMEM); in pnv_occ_raise_msg_irq() 79 PnvOCC *occ = PNV_OCC(opaque); in pnv_occ_power8_xscom_read() local 85 val = occ->occmisc; in pnv_occ_power8_xscom_read() 88 qemu_log_mask(LOG_UNIMP, "OCC Unimplemented register: Ox%" in pnv_occ_power8_xscom_read() [all …]
|
/openbmc/docs/designs/oem/ibm/ |
H A D | system-power-mode.md | 19 to as the On Chip Controller or OCC. The OCC provides real time power and 21 an Active state. Anytime the OCC state changes to active, the BMC will need to 22 send a mode change and idle power saver (IPS) settings to the OCC. It will also 28 When a system is booted, the OCC will move to an ACTIVE state. In the ACTIVE 29 state, the OCC is managing the processor frequency, power consumption, and 31 necessary to reset the OCC. When this happens, the OCC will move out of ACTIVE 32 state. After recovery, the OCC will be put back into the ACTIVE state. Anytime 33 the OCC state changes to ACTIVE or the customer updates these new parameters at 35 the OCC. 61 The new code would be part of the openpower-occ-control repository. New code [all …]
|
/openbmc/openbmc-test-automation/lib/ |
H A D | open_power_utils.robot | 17 Get OCC Objects 18 [Documentation] Get the OCC objects and return as a list. 29 ${occ_list}= Get Endpoint Paths ${OPENPOWER_CONTROL} occ* 34 Get OCC Active State 35 [Documentation] Get the OCC "OccActive" and return the attribute value. 41 ${cmd}= Catenate busctl get-property org.open_power.OCC.Control 42 ... /org/open_power/control/occ${value} org.open_power.OCC.Status OccActive 60 # object_name Object name (e.g. "occ", "cpu" etc). 98 Get Active OCC State Count 99 [Documentation] Get active OCC state count. [all …]
|
/openbmc/phosphor-dbus-interfaces/yaml/org/open_power/OCC/ |
H A D | Device.errors.yaml | 1 # org.open_power.OCC.Device.OpenFailure 3 description: Opening OCC device failed. 5 # org.open_power.OCC.Device.ReadFailure 7 description: Reading from OCC failed. 9 # org.open_power.OCC.Device.WriteFailure 11 description: Writing to OCC failed. 13 # org.open_power.OCC.Device.ConfigFailure
|
/openbmc/phosphor-dbus-interfaces/gen/org/open_power/OCC/ |
H A D | meson.build | 6 sdbusplus_current_path = 'org/open_power/OCC' 9 'org/open_power/OCC/Device__markdown'.underscorify(), 10 input: ['../../../../yaml/org/open_power/OCC/Device.errors.yaml'], 23 'org/open_power/OCC/Device', 31 'org/open_power/OCC/PassThrough__markdown'.underscorify(), 32 input: ['../../../../yaml/org/open_power/OCC/PassThrough.interface.yaml'], 45 'org/open_power/OCC/PassThrough', 53 'org/open_power/OCC/Status__markdown'.underscorify(), 54 input: ['../../../../yaml/org/open_power/OCC/Status.interface.yaml'], 67 'org/open_power/OCC/Status',
|
/openbmc/openbmc/meta-openpower/recipes-phosphor/occ/ |
H A D | openpower-occ-control_git.bb | 1 SUMMARY = "OpenPOWER OCC controller" 3 HOMEPAGE = "https://github.com/openbmc/openpower-occ-control" 15 DBUS_SERVICE:${PN} += "org.open_power.OCC.Control.service" 16 SYSTEMD_SERVICE:${PN} += "op-occ-enable@.service" 17 SYSTEMD_SERVICE:${PN} += "op-occ-disable@.service" 47 # Ensure host-stop and host-startmin targets wants needed occ states 48 OCC_TMPL = "op-occ-{0}@.service" 50 OCC_INSTFMT = "op-occ-{0}@{2}.service" 55 # Set the occ disable service to be executed on host error 58 OCC_DISABLE_TMPL = "op-occ-disable@.service" [all …]
|
H A D | openpower-occ-control-config-example-native_git.bb | 1 SUMMARY = "OpenPower OCC Control with example occ sensor IDs" 5 require openpower-occ-control.inc 6 inherit openpower-occ-control 9 PROVIDES += "virtual/openpower-occ-control-config-native" 13 # Copies example occ sensor ID yaml file
|
/openbmc/phosphor-fan-presence/control/config_files/p10bmc/com.ibm.Hardware.Chassis.Model.Balcones/ |
H A D | groups.json | 24 "name": "occ objects", 25 "service": "org.open_power.OCC.Control", 33 "service": "org.open_power.OCC.Control", 71 "service": "org.open_power.OCC.Control", 78 "service": "org.open_power.OCC.Control", 88 "service": "org.open_power.OCC.Control", 95 "service": "org.open_power.OCC.Control", 105 "service": "org.open_power.OCC.Control", 112 "service": "org.open_power.OCC.Control", 122 "service": "org.open_power.OCC.Control", [all …]
|
/openbmc/openpower-occ-control/service_files/ |
H A D | op-occ-enable@.service | 2 Description=OpenPOWER OCC Active Enable for host %I 4 Conflicts=op-occ-disable@%i.service 5 Wants=org.open_power.OCC.Control.service 6 After=org.open_power.OCC.Control.service 12 ExecStart=/usr/bin/occ-active.sh enable
|