net/octeontx: support fast mbuf free
[dpdk.git] / lib / librte_power / channel_commands.h
index e7b93a7..adc8e5c 100644 (file)
@@ -12,8 +12,7 @@ extern "C" {
 #include <stdint.h>
 #include <stdbool.h>
 
-/* Maximum number of channels per VM */
-#define CHANNEL_CMDS_MAX_VM_CHANNELS 64
+/* --- Incoming messages --- */
 
 /* Valid Commands */
 #define CPU_POWER               1
@@ -28,6 +27,23 @@ extern "C" {
 #define CPU_POWER_SCALE_MIN     4
 #define CPU_POWER_ENABLE_TURBO  5
 #define CPU_POWER_DISABLE_TURBO 6
+
+/* CPU Power Queries */
+#define CPU_POWER_QUERY_FREQ_LIST  7
+#define CPU_POWER_QUERY_FREQ       8
+#define CPU_POWER_QUERY_CAPS_LIST  9
+#define CPU_POWER_QUERY_CAPS       10
+
+/* --- Outgoing messages --- */
+
+/* Generic Power Command Response */
+#define CPU_POWER_CMD_ACK       1
+#define CPU_POWER_CMD_NACK      2
+
+/* CPU Power Query Responses */
+#define CPU_POWER_FREQ_LIST     3
+#define CPU_POWER_CAPS_LIST     4
+
 #define HOURS 24
 
 #define MAX_VFS 10
@@ -80,6 +96,27 @@ struct channel_packet {
        struct t_boost_status t_boost_status;
 };
 
+struct channel_packet_freq_list {
+       uint64_t resource_id; /**< core_num, device */
+       uint32_t unit;        /**< scale down/up/min/max */
+       uint32_t command;     /**< Power, IO, etc */
+       char vm_name[VM_MAX_NAME_SZ];
+
+       uint32_t freq_list[MAX_VCPU_PER_VM];
+       uint8_t num_vcpu;
+};
+
+struct channel_packet_caps_list {
+       uint64_t resource_id; /**< core_num, device */
+       uint32_t unit;        /**< scale down/up/min/max */
+       uint32_t command;     /**< Power, IO, etc */
+       char vm_name[VM_MAX_NAME_SZ];
+
+       uint64_t turbo[MAX_VCPU_PER_VM];
+       uint64_t priority[MAX_VCPU_PER_VM];
+       uint8_t num_vcpu;
+};
+
 
 #ifdef __cplusplus
 }