History log of /openbmc/openpower-occ-control/ (Results 126 – 150 of 259)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
36f9cded22-Nov-2021 Chris Cain <cjcain@us.ibm.com>

Add support for OEM Power Modes

- Allow mode to be set via PassThrough interface
- Allow non-customer OEM power modes to be persisted
- Persist any OEM power mode settings
- moved mode related code

Add support for OEM Power Modes

- Allow mode to be set via PassThrough interface
- Allow non-customer OEM power modes to be persisted
- Persist any OEM power mode settings
- moved mode related code from Status to PowerMode object
- merged PowerIPS into PowerMode object

Tested on Everest and Rainier.
Setting mode through PassThrough/ce-login:
busctl call org.open_power.OCC.Control /org/open_power/control/occ0 org.open_power.OCC.PassThrough SetMode yq 11 3600
Trace (via PassThrough interface)
openpower-occ-control[4440]: PassThrough::setMode() Setting Power Mode 11 (data: 3600)
openpower-occ-control[4440]: PowerMode::sendModeChange: SET_MODE(11,3600) command to OCC0 (9 bytes)
Trace (setting mode via GUI/Redfish):
openpower-occ-control[4440]: Power Mode Change Requested: xyz.openbmc_project.Control.Power.Mode.PowerMode.MaximumPerformance
openpower-occ-control[4440]: PowerMode::sendModeChange: SET_MODE(12,0) command to OCC0 (9 bytes)
Verified when system in any OEM mode that Redfish also reports OEM
Verified all modes are persisted across PM Complex resets and reboots

Change-Id: Idd0be05cb6fd74dbd0776145f212c49addd1c365
Signed-off-by: Chris Cain <cjcain@us.ibm.com>

show more ...

f3a4a69f27-Dec-2021 George Liu <liuxiwei@inspur.com>

Fix some warnings by cppcheck

Warning message:
../../../occ_events.hpp:16:9: warning: Value stored to 'event' is never read [deadcode.DeadStores]
event = sd_event_unref(event);
^

Fix some warnings by cppcheck

Warning message:
../../../occ_events.hpp:16:9: warning: Value stored to 'event' is never read [deadcode.DeadStores]
event = sd_event_unref(event);
^ ~~~~~~~~~~~~~~~~~~~~~
../../../occ_events.hpp:26:9: warning: Value stored to 'eventSource' is never read [deadcode.DeadStores]
eventSource = sd_event_source_unref(eventSource);

occ_dbus.cpp:34:47: performance: Searching before insertion is not necessary. [stlFindInsert]
path, std::make_unique<SensorIntf>(utils::getBus(), path.c_str()));
^
occ_dbus.cpp:61:47: performance: Searching before insertion is not necessary. [stlFindInsert]
path, std::make_unique<SensorIntf>(utils::getBus(), path.c_str()));
^
occ_dbus.cpp:88:47: performance: Searching before insertion is not necessary. [stlFindInsert]
path, std::make_unique<SensorIntf>(utils::getBus(), path.c_str()));
^
occ_dbus.cpp:115:47: performance: Searching before insertion is not necessary. [stlFindInsert]
path, std::make_unique<SensorIntf>(utils::getBus(), path.c_str()));
^
occ_dbus.cpp:158:80: performance: Searching before insertion is not necessary. [stlFindInsert]
operationalStatus.emplace(path, std::make_unique<OperationalStatusIntf>(
^
occ_pass_through.hpp:42:5: style: Class 'PassThrough' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
PassThrough(const char* path);
^
powercap.hpp:41:5: style: Class 'PowerCap' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
PowerCap(Status& occStatus,
^
occ_manager.hpp:77:5: style: Struct 'Manager' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
Manager(EventPtr& event) :
^
occ_status.hpp:307:26: style: Local variable 'path' shadows outer variable [shadowVariable]
auto path = fs::path(estimatedPath);
^
occ_status.hpp:207:17: note: Shadowed declaration
std::string path;
^
occ_status.hpp:307:26: note: Shadow variable
auto path = fs::path(estimatedPath);
^
pldm.hpp:55:14: warning: Member variable 'Interface::OCCSensorOffset' is not initialized in the constructor. [uninitMemberVar]
explicit Interface(
^
pldm.hpp:55:14: warning: Member variable 'Interface::SBESensorOffset' is not initialized in the constructor. [uninitMemberVar]
explicit Interface(
^
powermode.hpp:60:5: style: Class 'PowerMode' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
PowerMode(Status& occStatus) :
^
powermode.hpp:96:5: style: Class 'PowerIPS' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
PowerIPS(Status& occStatus) :
^
occ_manager.cpp:321:24: style: The scope of the variable 'path' can be reduced. [variableScope]
constexpr auto path = "/org/openpower/dump";
^
occ_manager.cpp:322:24: style: The scope of the variable 'interface' can be reduced. [variableScope]
constexpr auto interface = "xyz.openbmc_project.Dump.Create";
^
occ_manager.cpp:323:24: style: The scope of the variable 'function' can be reduced. [variableScope]
constexpr auto function = "CreateDump";
^
pldm.cpp:78:16: style: Local variable 'pdr' shadows outer variable [shadowVariable]
for (auto& pdr : pdrs)
^
pldm.cpp:48:10: note: Shadowed declaration
auto pdr =
^
pldm.cpp:78:16: note: Shadow variable
for (auto& pdr : pdrs)
^
pldm.cpp:248:16: style: Local variable 'pdr' shadows outer variable [shadowVariable]
for (auto& pdr : pdrs)
^
pldm.cpp:221:10: note: Shadowed declaration
auto pdr =
^
pldm.cpp:248:16: note: Shadow variable
for (auto& pdr : pdrs)
^
powermode.cpp:28:22: style: Variable 'pmode' is assigned a value that is never used. [unreadVariable]
SysPwrMode pmode = SysPwrMode::NO_CHANGE;

Tested: Use cppcheck to build successfully and eliminate the above
warning message.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I72751dc94db684fc558b4bb57b1924be64ce6760

show more ...

e98faec225-Dec-2021 George Liu <liuxiwei@inspur.com>

Remove redundant variables

CPU_SUBPATH is defined in meson.build but not used, remove it.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I3d009a650f2b70c6180733af4a4531c4d4e92f60

432dc48619-Nov-2021 Eddie James <eajames@linux.ibm.com>

pldm: Fix HRESET handling and incorrect entity ID

The HRESET state signal wasn't being handled, since the message
sensor offsets are the same for OCC and SBE; both maps need to be
checked and action

pldm: Fix HRESET handling and incorrect entity ID

The HRESET state signal wasn't being handled, since the message
sensor offsets are the same for OCC and SBE; both maps need to be
checked and action taken if the sensor ID is found.
In addition, the OCC reset effecter was incorrectly using the
processor module entity ID, rather than the processor.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: I9e601560e1144101ce6515809a265fdd7db01b06

show more ...

36313c7118-Nov-2021 Eddie James <eajames@linux.ibm.com>

Fix PLDM effector state set IDs

Now that the PLDM OEM state set headers are available, use those instead
of hardcoding the (now outdated) values.

Signed-off-by: Eddie James <eajames@linux.ibm.com>

Fix PLDM effector state set IDs

Now that the PLDM OEM state set headers are available, use those instead
of hardcoding the (now outdated) values.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Iaa526e9a2acc61743c533845472d4294082a5c6c

show more ...

a7b74dc310-Nov-2021 Chris Cain <cjcain@us.ibm.com>

Clean up error cases on boot or when app restarted

- Detect when no or duplicate masters are found (force reset)
- Prevent sending commands to OCC when OCC is disabled
- Detect OCC state changes to

Clean up error cases on boot or when app restarted

- Detect when no or duplicate masters are found (force reset)
- Prevent sending commands to OCC when OCC is disabled
- Detect OCC state changes to SAFE (after 60 sec force reset)

Tested on Everest and Rainier hardware

Signed-off-by: Chris Cain <cjcain@us.ibm.com>
Change-Id: I490f182405e11da207b42a0607a532566479bfd9

show more ...

1725767322-Oct-2021 Chris Cain <cjcain@us.ibm.com>

Send ambient and altitude to OCC

After the OCCs go active or anytime the ambient temperature changes the
ambient temperature and alititude will get sent to each OCC.
The altitude is only read once.

Send ambient and altitude to OCC

After the OCCs go active or anytime the ambient temperature changes the
ambient temperature and alititude will get sent to each OCC.
The altitude is only read once. If the altitude was not valid,
another attempt to read it will be done when the ambient temperature
is going to be re-sent.

Tested on Everest and Rainier systems

Change-Id: Icd64c50c05469bc985cfcaa3fcc74c3db5b41429
Signed-off-by: Chris Cain <cjcain@us.ibm.com>

show more ...

ace67d8518-Oct-2021 Matt Spinler <spinler@us.ibm.com>

Add proc IO Ring and core/IO ring DVFS sensors

Add support for the processor IO ring temperature sensor which the OCC
uses fru type 9 for. There is one per OCC.

Add support for reading the process

Add proc IO Ring and core/IO ring DVFS sensors

Add support for the processor IO ring temperature sensor which the OCC
uses fru type 9 for. There is one per OCC.

Add support for reading the processor core and IO ring DVFS (Dynamic
Voltage and Frequency Slewing) temperature values out of the tempN_max
files and putting them on D-Bus. These values are the temperatures at
which the OCC starts using DVFS to cool the chip and are being put on
D-Bus so that fan control can read them and increase fan speeds before
then so the OCC doesn't have to do the DVFS.

Even though there is a value in the tempN_max file for every core, there
only needs to be one value on D-Bus per OCC. These are put in the
sensors namespace using the xyz.openbmc_project.Sensor.Value interface.
They do not need associations to the chassis, and they don't need to be
set to NaN when the OCCs aren't active, since the values can never
change.

There are values in the tempN_max files for most, if not all, other
temperature types as well, but the IO ring and core DVFS temps are the
only ones that aren't known ahead of time because they come from the
processor EEPROM.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3e3f7a2a5db4053ea055e7baa16f0b0bf6eddbca

show more ...

338748ba29-Oct-2021 Eddie James <eajames@linux.ibm.com>

ffdc: Only proceed with PEL creation if there is an error

Sometimes the listening application is woken up to read the FFDC file
even if there is no error. Catch this case before trying to create a
P

ffdc: Only proceed with PEL creation if there is an error

Sometimes the listening application is woken up to read the FFDC file
even if there is no error. Catch this case before trying to create a
PEL. Also, make sure the app doesn't crash trying to get the PEL
service.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: I84f3f6d56054c08507473ecf8908ecc3901aaeaa

show more ...

8a3b860125-Oct-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Add OWNERS file

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Ibf9578dc2c90723d6d347920d08b825046265f7b

ea4ba17921-Oct-2021 George Liu <liuxiwei@inspur.com>

build: Remove autotools support

Since we use meson everywhere now, Clean up the autotools support.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8f294e5d7f1bea3386b35ffb45c9d6b2752b21

build: Remove autotools support

Since we use meson everywhere now, Clean up the autotools support.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8f294e5d7f1bea3386b35ffb45c9d6b2752b2194

show more ...

cbad219e07-Oct-2021 Eddie James <eajames@linux.ibm.com>

Add SBE timeout handling

Add an Error instance to detect SBE timeouts in the driver.
Refactor the PLDM code to handle another requeset type (the HRESET) and
another type of sensor event (success or

Add SBE timeout handling

Add an Error instance to detect SBE timeouts in the driver.
Refactor the PLDM code to handle another requeset type (the HRESET) and
another type of sensor event (success or failure of the HRESET).
Handle the timeout and the PLDM event state change in the Manager by
changing the SBE state and requesting an SBE dump if necessary.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: I30d8f9de1914d9808ddb7b547cc57085a5e5779e

show more ...

2f9f9bba20-Sep-2021 Eddie James <eajames@linux.ibm.com>

Add FFDC collection

Add a class to watch for the presence of SBEFIFO FFDC reported up
through the OCC hwmon driver.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ia8bf6eddb037aec547

Add FFDC collection

Add a class to watch for the presence of SBEFIFO FFDC reported up
through the OCC hwmon driver.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ia8bf6eddb037aec547b72ecce39c1a977d9374bc

show more ...

6b234c1520-Oct-2021 Eddie James <eajames@linux.ibm.com>

Change yamldir to refer to a directory

To maintain the behavior of the autotools build, the "yamldir"
configuration option should refer to the directory in which to find
the occ_sensor.yaml file. Dr

Change yamldir to refer to a directory

To maintain the behavior of the autotools build, the "yamldir"
configuration option should refer to the directory in which to find
the occ_sensor.yaml file. Drop the -f argument to the sensor
generation python script and change the default yamldir argument.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: I7a93a0c403c4ce473ea2d7350f3ee441bc55c4be

show more ...

3f710bd820-Oct-2021 Eddie James <eajames@linux.ibm.com>

Add power supply derating factor to meson options

Add the option to specify the power supply derating factor.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ibfbb52f64c5b9133fbbc8cbb

Add power supply derating factor to meson options

Add the option to specify the power supply derating factor.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ibfbb52f64c5b9133fbbc8cbb267aa9618c079cc6

show more ...

1d51da2921-Sep-2021 Chris Cain <cjcain@us.ibm.com>

Use Idle Power Saver parameters from DBus

Allows users to enable and update the IPS parameters instead of
using hardcoded values.

Change-Id: I9010c4b4d3dbdf130a4a778f71c87279681a9f1a
Signed-off-by:

Use Idle Power Saver parameters from DBus

Allows users to enable and update the IPS parameters instead of
using hardcoded values.

Change-Id: I9010c4b4d3dbdf130a4a778f71c87279681a9f1a
Signed-off-by: Chris Cain <cjcain@us.ibm.com>

show more ...

ad6eca4b24-Sep-2021 George Liu <liuxiwei@inspur.com>

Handle D-Bus exceptions

Remove the usage of is_method_error()[1].

[1]https://github.com/openbmc/sdbusplus/blob/master/include/sdbusplus/bus.hpp#L287-L291

Signed-off-by: George Liu <liuxiwei@inspur

Handle D-Bus exceptions

Remove the usage of is_method_error()[1].

[1]https://github.com/openbmc/sdbusplus/blob/master/include/sdbusplus/bus.hpp#L287-L291

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I3aa1ed3131f6b4ed6f2f2510c4f73dbf2c637d22

show more ...

064fc15b24-Sep-2021 George Liu <liuxiwei@inspur.com>

Remove compilation using autotools

The intent behind this commit is build openpower-occ-control with
meson, so need to remove files related to autotools.

Tested: built openpower-occ-control success

Remove compilation using autotools

The intent behind this commit is build openpower-occ-control with
meson, so need to remove files related to autotools.

Tested: built openpower-occ-control successfully and worked.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I46e87cca03eb84631cb34ad7bab33e973b1fc95e

show more ...


9ed399d910-Sep-2021 George Liu <liuxiwei@inspur.com>

Add subprojects

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I1f9a13a8113ed632fa82d61acbf7c160d355cce8

bddcf85307-Sep-2021 George Liu <liuxiwei@inspur.com>

Add meson build

This commit is to add meson build.
and later, we will remove Autotools and replace it with meson build.

Tested: built openpower-occ-control successfully and Unit test passes.

Signe

Add meson build

This commit is to add meson build.
and later, we will remove Autotools and replace it with meson build.

Tested: built openpower-occ-control successfully and Unit test passes.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I7f5fbc7150194a78f9b36bb256613fc70b834130

show more ...

3792346424-Sep-2021 Matt Spinler <spinler@us.ibm.com>

Change P10 poll rate to 5s

It was decided that for Power 10 systems polls only need to be done
every 5 seconds.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ibce75ffa916da7a0a04c444a

Change P10 poll rate to 5s

It was decided that for Power 10 systems polls only need to be done
every 5 seconds.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ibce75ffa916da7a0a04c444ac0607c590b0c1804

show more ...

5901abda23-Sep-2021 Matt Spinler <spinler@us.ibm.com>

Add chassis association to sensors

Add an association to the chassis for each sensor so that the Redfish
code can find them. The forward association is 'chassis', and the
reverse association is 'al

Add chassis association to sensors

Add an association to the chassis for each sensor so that the Redfish
code can find them. The forward association is 'chassis', and the
reverse association is 'all_sensors'. This matches what other sensor
applications do and is documented in sensors-architecture.md in the docs
repository.

Tested: Checked the associations were present in the mapper and that the
sensors now show up on the sensors page in the web UI.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Iefb6d4dc2e5c9399d919e9e1b7c8dd04f20e7a3e

show more ...

ff7afd9817-Sep-2021 Matt Spinler <spinler@us.ibm.com>

Use big core numbering for P10 cores

A 'big core' on P10 consists of 2 'small cores'. P10 systems are, as of
this time, always configured in big core mode, but the OCC only reports
small cores.

Th

Use big core numbering for P10 cores

A 'big core' on P10 consists of 2 'small cores'. P10 systems are, as of
this time, always configured in big core mode, but the OCC only reports
small cores.

This commit updates the core sensor names to big core numbering, where
there are now two temperatures per core.

For example:

New numbering:
proc0_core0_0_temp
proc0_core0_1_temp
proc0_core2_0_temp
proc0_core2_1_temp
proc0_core4_0_temp
proc0_core4_1_temp
proc0_core6_0_temp
proc0_core6_1_temp
proc0_core8_0_temp
proc0_core8_1_temp
proc0_core10_0_temp
proc0_core10_1_temp
proc0_core12_0_temp
proc0_core12_1_temp
proc0_core14_0_temp
proc0_core14_1_temp

Original Numbering;
proc0_core0_temp
proc0_core1_temp
proc0_core4_temp
proc0_core5_temp
proc0_core8_temp
proc0_core9_temp
proc0_core12_temp
proc0_core13_temp
proc0_core16_temp
proc0_core17_temp
proc0_core20_temp
proc0_core21_temp
proc0_core24_temp
proc0_core25_temp
proc0_core28_temp
proc0_core29_temp

Big core PLDM objects that match the new numbering:
dcm0/cpu0/core0
dcm0/cpu0/core2
dcm0/cpu0/core4
dcm0/cpu0/core6
dcm0/cpu0/core8
dcm0/cpu0/core10
dcm0/cpu0/core12
dcm0/cpu0/core14

Change-Id: Ia997b58d75ccde65df7e337dd823a3f79c1601f5
Signed-off-by: Matt Spinler <spinler@us.ibm.com>

show more ...

2cd3e61510-Sep-2021 George Liu <liuxiwei@inspur.com>

Replace IRC with Discord

Discord has more users, and IRC traffic has ground to a halt.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I18dfc03d4338741be0bae66637bafad8065ef140

d0345ae010-Sep-2021 George Liu <liuxiwei@inspur.com>

Comment unused parameters

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Id5448711b5a6910514264ff9c008b7d32c26a8f8

1234567891011