1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2 /* Copyright(c) 2014 - 2020 Intel Corporation */
3 #ifndef _ICP_QAT_FW_INIT_ADMIN_H_
4 #define _ICP_QAT_FW_INIT_ADMIN_H_
6 #include "icp_qat_fw.h"
8 #define RL_MAX_RP_IDS 16
10 enum icp_qat_fw_init_admin_cmd_id {
11 ICP_QAT_FW_INIT_AE = 0,
12 ICP_QAT_FW_TRNG_ENABLE = 1,
13 ICP_QAT_FW_TRNG_DISABLE = 2,
14 ICP_QAT_FW_CONSTANTS_CFG = 3,
15 ICP_QAT_FW_STATUS_GET = 4,
16 ICP_QAT_FW_COUNTERS_GET = 5,
17 ICP_QAT_FW_LOOPBACK = 6,
18 ICP_QAT_FW_HEARTBEAT_SYNC = 7,
19 ICP_QAT_FW_HEARTBEAT_GET = 8,
20 ICP_QAT_FW_COMP_CAPABILITY_GET = 9,
21 ICP_QAT_FW_CRYPTO_CAPABILITY_GET = 10,
22 ICP_QAT_FW_DC_CHAIN_INIT = 11,
23 ICP_QAT_FW_HEARTBEAT_TIMER_SET = 13,
24 ICP_QAT_FW_RL_INIT = 15,
25 ICP_QAT_FW_TIMER_GET = 19,
26 ICP_QAT_FW_CNV_STATS_GET = 20,
27 ICP_QAT_FW_PM_STATE_CONFIG = 128,
28 ICP_QAT_FW_PM_INFO = 129,
29 ICP_QAT_FW_RL_ADD = 134,
30 ICP_QAT_FW_RL_UPDATE = 135,
31 ICP_QAT_FW_RL_REMOVE = 136,
32 ICP_QAT_FW_TL_START = 137,
33 ICP_QAT_FW_TL_STOP = 138,
36 enum icp_qat_fw_init_admin_resp_status {
37 ICP_QAT_FW_INIT_RESP_STATUS_SUCCESS = 0,
38 ICP_QAT_FW_INIT_RESP_STATUS_FAIL
41 struct icp_qat_fw_init_admin_tl_rp_indexes {
48 struct icp_qat_fw_init_admin_slice_cnt {
60 struct icp_qat_fw_init_admin_sla_config_params {
69 __u16 rp_ids[RL_MAX_RP_IDS];
72 struct icp_qat_fw_init_admin_req {
82 __u16 ibuf_size_in_kb;
86 __u32 int_timer_ticks;
89 __u32 heartbeat_ticks;
99 struct icp_qat_fw_init_admin_tl_rp_indexes rp_indexes;
105 struct icp_qat_fw_init_admin_resp {
113 __u16 version_minor_num;
114 __u16 version_major_num;
116 __u32 extended_features;
124 __u32 resrvd3[ICP_QAT_FW_NUM_LONGWORDS_4];
126 __u32 version_patch_num;
134 __u64 resp_sent_count;
137 __u16 compression_algos;
138 __u16 checksum_algos;
139 __u32 deflate_capabilities;
141 __u32 lzs_capabilities;
148 __u16 public_key_algos;
156 __u32 successful_count;
157 __u32 unsuccessful_count;
160 struct icp_qat_fw_init_admin_slice_cnt slices;
161 __u16 fw_capabilities;
165 #define ICP_QAT_FW_SYNC ICP_QAT_FW_HEARTBEAT_SYNC
166 #define ICP_QAT_FW_CAPABILITIES_GET ICP_QAT_FW_CRYPTO_CAPABILITY_GET
168 #define ICP_QAT_NUMBER_OF_PM_EVENTS 8
170 struct icp_qat_fw_init_admin_pm_info {
177 struct_group(event_counters,
184 __u32 event_log[ICP_QAT_NUMBER_OF_PM_EVENTS];
194 __u32 pm_active_status;
195 __u32 pm_managed_status;
196 __u32 pm_domain_status;
197 __u32 active_constraint;