dcmi: Implement activate/deactivate power limit
Resolves openbmc/openbmc#1955
Change-Id: I4f97e3f22e9a36879dba56a06ae3c6bb5d34e34c
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
diff --git a/dcmihandler.hpp b/dcmihandler.hpp
index e318294..cb46d5c 100644
--- a/dcmihandler.hpp
+++ b/dcmihandler.hpp
@@ -12,6 +12,7 @@
// Get capability bits
IPMI_CMD_DCMI_GET_POWER_LIMIT = 0x03,
IPMI_CMD_DCMI_SET_POWER_LIMIT = 0x04,
+ IPMI_CMD_DCMI_APPLY_POWER_LIMIT = 0x05,
IPMI_CMD_DCMI_GET_ASSET_TAG = 0x06,
IPMI_CMD_DCMI_SET_ASSET_TAG = 0x08,
};
@@ -178,6 +179,33 @@
uint8_t groupID; //!< Group extension identification.
} __attribute__((packed));
+/** @brief Enable or disable the power capping
+ *
+ * @param[in] bus - dbus connection
+ * @param[in] enabled - enable/disable
+ */
+void setPcapEnable(sdbusplus::bus::bus& bus, bool enabled);
+
+/** @struct ApplyPowerLimitRequest
+ *
+ * DCMI payload for Activate/Deactivate Power Limit command request.
+ */
+struct ApplyPowerLimitRequest
+{
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t powerLimitAction; //!< Power limit activation
+ uint16_t reserved; //!< Reserved
+} __attribute__((packed));
+
+/** @struct ApplyPowerLimitResponse
+ *
+ * DCMI payload for Acticate/Deactivate Power Limit command response.
+ */
+struct ApplyPowerLimitResponse
+{
+ uint8_t groupID; //!< Group extension identification.
+} __attribute__((packed));
+
} // namespace dcmi
#endif