d0345ae0 | 10-Sep-2021 |
George Liu <liuxiwei@inspur.com> |
Comment unused parameters
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Id5448711b5a6910514264ff9c008b7d32c26a8f8 |
bcef3b48 | 09-Sep-2021 |
George Liu <liuxiwei@inspur.com> |
Replace std::experimental::filesystem with std::filesystem
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I91d2f1b7a8858ba8c676b68693863bb35b56dffc |
b5ca1015 | 09-Sep-2021 |
George Liu <liuxiwei@inspur.com> |
Update clang-format
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format
Tested: built openpower-occ-control successfully.
Signed-off-by: George Liu <liuxiwei@inspur.com> Cha
Update clang-format
refer: https://github.com/openbmc/docs/blob/master/style/cpp/.clang-format
Tested: built openpower-occ-control successfully.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I136870023229ff906d471dd4d8debfd404812ff1
show more ...
|
d267cec2 | 01-Sep-2021 |
Matt Spinler <spinler@us.ibm.com> |
Find P10 OCCs by looking in /dev
Find the exact OCCs present in the system by looking for the OCC devices in /dev. They look like /dev/occ1, /dev/occ2, etc. The /dev/occ1 entry will translate to S
Find P10 OCCs by looking in /dev
Find the exact OCCs present in the system by looking for the OCC devices in /dev. They look like /dev/occ1, /dev/occ2, etc. The /dev/occ1 entry will translate to Status object /org/open_power/control/occ0.
In order to handle the case where the application starts before all devices show up, keep checking until at least 10 seconds have gone by without a new device showing up (with at least one device present).
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I42289d55a6266d710b313af0a49070eeacccd725
show more ...
|
25613624 | 02-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-
exception: switch to public sdbus exception
SdBusError was intended to be a private error type inside sdbusplus. Switch all catch locations to use the general sdbusplus::exception type.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I03198711b6d148e82106ca6ff809c25d814ad201
show more ...
|
05e95596 | 02-Sep-2021 |
Patrick Williams <patrick@stwcx.xyz> |
dos2unix conversion
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie0fd9e423bd832eea6b31e9fbd683cbf7d1c4567 |
a26f1527 | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Check for read failures during sensor monitoring
Put in some minimal error handling for read failures on sysfs files used for sensor monitoring.
This adds a common readFile function that will wrap
Check for read failures during sensor monitoring
Put in some minimal error handling for read failures on sysfs files used for sensor monitoring.
This adds a common readFile function that will wrap opening and reading a file. It will throw an exception on a failure, which would happen if the driver had a problem talking to the OCC.
It still just skips that sensor if there are any errors. It still needs to be figured out what to actually do in this case, but it will at least detect an error during a read, which the previous code didn't do yet.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I06196470d5fd264ecb8bceda52701e3e6af048c1
show more ...
|
53f68148 | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Set sensors to NaN when polling is stopped
Do this so that on a power off, all the temp and power sensors won't just contain their last known value.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Set sensors to NaN when polling is stopped
Do this so that on a power off, all the temp and power sensors won't just contain their last known value.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I74cf28c89e8ac07ea098759e1484e34a48644972
show more ...
|
14d1402d | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
The label field for temperature sensors is decimal
It turns out that the OCC driver displays the value of the tempX_label file as a decimal as opposed to the hex format we just speculated it would b
The label field for temperature sensors is decimal
It turns out that the OCC driver displays the value of the tempX_label file as a decimal as opposed to the hex format we just speculated it would be.
For example, a 0xC0000001 value will read as 3221225473.
Change the code to read that as a uint32_t and then extract that type and instance fields directly from it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I64db4670cf8a48030cca041fad8892de6188f89e
show more ...
|
abbcfc5e | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Temporarily remove label vs frutype mismatch trace
The OCC will report the IO Ring temperature with a label type of 0xC0, which indicates processor core, and a unique fru_type (0x09).
In order to a
Temporarily remove label vs frutype mismatch trace
The OCC will report the IO Ring temperature with a label type of 0xC0, which indicates processor core, and a unique fru_type (0x09).
In order to avoid spamming the journal with an error message before the IO ring temperature support is added, remove the trace that complains when the fru_type for a 0xC0 sensor isn't 0x00 (processor core).
It wasn't just changed to debug since it would fill the journal if anyone ever turned on debug traces.
A future commit will add IO ring temperature support, and then maybe this check can be put back in.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I68300087a5cd27b3b549ac097b6b73176a87a216
show more ...
|
8b8abeed | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Support 0xFF fru_type values
The OCC may put a value of 0xFF as the FRU type for some temperature sensors to indicate they aren't available on the platform. In this case, the OCC device driver won'
Support 0xFF fru_type values
The OCC may put a value of 0xFF as the FRU type for some temperature sensors to indicate they aren't available on the platform. In this case, the OCC device driver won't even make a tempX_input file for them.
Check for this case and just continue on.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I27dbc63270bfc60eed9d93eeb844625572839e38
show more ...
|
1339ab60 | 25-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Support new PDR layout in PLDM sensor handling
The OCC active PLDM sensors are changing from each having a unique PDR instance ID to having different container IDs based on the DCM they are present
Support new PDR layout in PLDM sensor handling
The OCC active PLDM sensors are changing from each having a unique PDR instance ID to having different container IDs based on the DCM they are present on and then the same instance IDs across the DCMs.
For example: OCC containerID instanceID 0 20 0 1 20 1 2 21 0 3 21 1
There is some code that was relying on unique instance IDs to sort the sensor IDs. Instead, use ((containerID << 16) | instanceID) to give a unique key.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ieda7732f3af94427f8392cab6060d3ca16f86fbe
show more ...
|
72ab7f9b | 24-Aug-2021 |
Matt Spinler <spinler@us.ibm.com> |
Update PLDM entity ID used for OCC active
New PLDM and hostboot code model the processor DCM separately from the processor itself. The previous entity ID value used in this code now represents the
Update PLDM entity ID used for OCC active
New PLDM and hostboot code model the processor DCM separately from the processor itself. The previous entity ID value used in this code now represents the DCM, so change to using the one that represents the processor within the DCM since that is where the OCC resides.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: If71c18e323af8f1df89de082f323beedfa29cb54
show more ...
|
bb895cb8 | 18-Jun-2021 |
Chicago Duan <duanzhijia01@inspur.com> |
Read proc temps and dimm temps
This commit uses openpower-occ-control to monitor the temperature and power sensors, and create sensors on D-BUS. In the loop, read the sensor values every 1 seconds.
Read proc temps and dimm temps
This commit uses openpower-occ-control to monitor the temperature and power sensors, and create sensors on D-BUS. In the loop, read the sensor values every 1 seconds.
Tested: I use virtual data to get sensor values: busctl tree org.open_power.OCC.Control |-/org | `-/org/open_power | `-/org/open_power/control | |-/org/open_power/control/occ0 | `-/org/open_power/control/occ1 `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/sensors |-/xyz/openbmc_project/sensors/power | |-/xyz/openbmc_project/sensors/power/p0_mem_2_power | |-/xyz/openbmc_project/sensors/power/p0_mem_power | |-/xyz/openbmc_project/sensors/power/p0_power | |-/xyz/openbmc_project/sensors/power/p1_mem_power | |-/xyz/openbmc_project/sensors/power/p1_power | |-/xyz/openbmc_project/sensors/power/p2_mem_power | |-/xyz/openbmc_project/sensors/power/p2_power | |-/xyz/openbmc_project/sensors/power/p3_mem_power | |-/xyz/openbmc_project/sensors/power/p3_power | `-/xyz/openbmc_project/sensors/power/total_power `-/xyz/openbmc_project/sensors/temperature |-/xyz/openbmc_project/sensors/temperature/dimm5_dram_temp |-/xyz/openbmc_project/sensors/temperature/dimm9_dram_temp |-/xyz/openbmc_project/sensors/temperature/proc0_core2_temp |-/xyz/openbmc_project/sensors/temperature/proc0_core3_temp |-/xyz/openbmc_project/sensors/temperature/proc1_core2_temp |-/xyz/openbmc_project/sensors/temperature/proc1_core3_temp |-/xyz/openbmc_project/sensors/temperature/vrm_vdd0_temp `-/xyz/openbmc_project/sensors/temperature/vrm_vdd1_temp
busctl introspect org.open_power.OCC.Control /xyz/openbmc_project/sensors/temperature/proc0_core3_temp NAME TYPE SIGNATURE RESULT/VALUE org.freedesktop.DBus.Introspectable interface - - .Introspect method - s org.freedesktop.DBus.Peer interface - - .GetMachineId method - s .Ping method - - org.freedesktop.DBus.Properties interface - - .Get method ss v .GetAll method s a{sv} .Set method ssv - .PropertiesChanged signal sa{sv}as - xyz.openbmc_project.Sensor.Value interface - - .MaxValue property d 0 .MinValue property d 0 .Unit property s "xyz.openbmc... .Value property d 49 xyz.openbmc_project.State.Decorator.OperationalStatus interface - - .Functional property b true
busctl introspect org.open_power.OCC.Control /xyz/openbmc_project/sensors/power/total_power NAME TYPE SIGNATURE RESULT/VALUE org.freedesktop.DBus.Introspectable interface - - .Introspect method - s org.freedesktop.DBus.Peer interface - - .GetMachineId method - s .Ping method - - org.freedesktop.DBus.Properties interface - - .Get method ss v .GetAll method s a .Set method ssv - .PropertiesChanged signal sa{sv}as - xyz.openbmc_project.Sensor.Value interface - - .MaxValue property d 0 .MinValue property d 0 .Unit property s "xyz.openbmc... .Value property d 83 xyz.openbmc_project.State.Decorator.OperationalStatus interface - - .Functional property b true
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: Iff30ab51745dab500fa19aa4c35b07e0052ac665
show more ...
|
eeb95bad | 29-Jun-2021 |
Chris Cain <cjcain@us.ibm.com> |
Disable Idle Power Saver by default
Since the IPS parameters are currently hardcoded and no way to override them, this commit will disabling IPS by default. This will prevent IPS from impacting perf
Disable Idle Power Saver by default
Since the IPS parameters are currently hardcoded and no way to override them, this commit will disabling IPS by default. This will prevent IPS from impacting performance testing.
Tested manually on Rainier
Signed-off-by: Chris Cain <cjcain@us.ibm.com> Change-Id: Idbf3e0699f7cd3fffe2fbb3116fb91a502e90d44
show more ...
|
45034b49 | 29-Jun-2021 |
Chris Cain <cjcain@us.ibm.com> |
Fixed ENABLE argument required to enable P10 support
ENABLE arguments are expected to begin with --enable or --disable
Tested manually to ensure correct behavior
Change-Id: Ibfe766f9388eb74a49ec72
Fixed ENABLE argument required to enable P10 support
ENABLE arguments are expected to begin with --enable or --disable
Tested manually to ensure correct behavior
Change-Id: Ibfe766f9388eb74a49ec72f4e140c41f46013f45 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
48330578 | 22-Jun-2021 |
Chris Cain <cjcain@us.ibm.com> |
Fix getBus namespaces in pldm Interface object
Compile was failing when '--with-host-communication-protocol=pldm' was specified.
Change-Id: If15a583584b761cc42c34154a2c5c4194b84d2a1 Signed-off-by:
Fix getBus namespaces in pldm Interface object
Compile was failing when '--with-host-communication-protocol=pldm' was specified.
Change-Id: If15a583584b761cc42c34154a2c5c4194b84d2a1 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
78e86012 | 04-Mar-2021 |
Chris Cain <cjcain@us.ibm.com> |
Send OCC mode change and IPS parms after reaching active state
Change is only applicable for POWER10 PowerVM systems. Send mode change requests to OCC when PowerMode is changed. Retry OCC command on
Send OCC mode change and IPS parms after reaching active state
Change is only applicable for POWER10 PowerVM systems. Send mode change requests to OCC when PowerMode is changed. Retry OCC command once, if a valid response is not received.
Tested: built openpower-occ-control successfully and verified functionality on hardware.
Change-Id: If375f8abfdb2ad82937b8744096c2ccc471263d2 Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
0ad9dd87 | 22-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Verify object path is empty
This commit is verify object path is empty when calling the set method of the occ dbus, and when the object path is empty, return directly.
Signed-off-by: George Liu <li
Verify object path is empty
This commit is verify object path is empty when calling the set method of the occ dbus, and when the object path is empty, return directly.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I0d0b01659e43b8ebf7e00bd455dddafebea4a5f0
show more ...
|
13901597 | 03-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Verify the value of the tempX_label file
- The intent behind this commit is to verify the value of the tempX_label file.
- In the future, the value of this file will be changed to `D0000002` (O
Verify the value of the tempX_label file
- The intent behind this commit is to verify the value of the tempX_label file.
- In the future, the value of this file will be changed to `D0000002` (OCC sensor ID). - OCC Sensor Ids(D0000002) - First byte is type - D0 - Second byte is reserved - 00 - Third+Fourth bytes are instance id - 0002
Tested: built openpower-occ-control successfully and unit test worked
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I5e89ce9592898f79b9fe926dd7bbe5691bf535a5
show more ...
|
6f777cda | 09-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Add occ-dbus object
- The intent behind this commit is to add APIs for dynamically createing D-Bus objects.
- When temperature values such as DIMM or Core are monitored, D-Bus objects need to b
Add occ-dbus object
- The intent behind this commit is to add APIs for dynamically createing D-Bus objects.
- When temperature values such as DIMM or Core are monitored, D-Bus objects need to be dynamically created and the corresponding attribute values updated. If the object path exists, only the attribute value needs to be updated.
- Currently supports Sensor and OperationalStatus interfaces.
- Also, added Unit Test to occ_dbus file.
Tested: built openpower-occ-control successfully and UTest pass.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I1eac918d6a7a04d6b72b4e68fff868b04dde9c28
show more ...
|
f3b7514e | 09-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Refactor D-Bus object
- The intent behind this commit is to refactor D-Bus, and abstract the bus, getService, getProperty and other methods into the utils file, and other file operations D-Bus o
Refactor D-Bus object
- The intent behind this commit is to refactor D-Bus, and abstract the bus, getService, getProperty and other methods into the utils file, and other file operations D-Bus only need to include uitls.hpp.
- We can also continue to add other general methods such as setPropery, getSubTree in the utils file in the future.
- Also, removed redundant files(occ_finder.hpp and occ_finder.cpp).
Tested: built openpower-occ-control successfully and worked.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I53e61e30a76173c154a9f47fc122936468abbc4b
show more ...
|
9b073ac0 | 03-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Remove redundant code
Since the `CPU_PATH` property is not used, it is redundant code, need to remove it.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I623549d8ae2846bfac90d207647aab3
Remove redundant code
Since the `CPU_PATH` property is not used, it is redundant code, need to remove it.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I623549d8ae2846bfac90d207647aab366038f0a4
show more ...
|
4c1079e7 | 13-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
bootstrap: fix shellcheck warnings
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I86ef079c9632e5563a1a56d6a2e23aad59ecbc57 |
a8857c50 | 27-Jan-2021 |
Chris Cain <cjcain@us.ibm.com> |
Trigger periodic OCC POLL commands when the OCCs are running
The OCC control app will periodically trigger kernel poll commands to the OCC when the OCCs are active. Code change also adds an interfac
Trigger periodic OCC POLL commands when the OCCs are running
The OCC control app will periodically trigger kernel poll commands to the OCC when the OCCs are active. Code change also adds an interface to allow any OCC command to be sent to an OCC. The pass-through interface was also updated to use the new command object.
Tested: I did several IPLs on multiple Rainier systems to verify the changes. I forced OCC resets to ensure polling stopped when OCCs were disabled and restarted after it came out of reset.
Change-Id: I56970e781a988bb94f17ac38173ace8a68bb5fad Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|