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_ 5 6 #include "icp_qat_fw.h" 7 8 enum icp_qat_fw_init_admin_cmd_id { 9 ICP_QAT_FW_INIT_AE = 0, 10 ICP_QAT_FW_TRNG_ENABLE = 1, 11 ICP_QAT_FW_TRNG_DISABLE = 2, 12 ICP_QAT_FW_CONSTANTS_CFG = 3, 13 ICP_QAT_FW_STATUS_GET = 4, 14 ICP_QAT_FW_COUNTERS_GET = 5, 15 ICP_QAT_FW_LOOPBACK = 6, 16 ICP_QAT_FW_HEARTBEAT_SYNC = 7, 17 ICP_QAT_FW_HEARTBEAT_GET = 8, 18 ICP_QAT_FW_COMP_CAPABILITY_GET = 9, 19 ICP_QAT_FW_HEARTBEAT_TIMER_SET = 13, 20 ICP_QAT_FW_TIMER_GET = 19, 21 ICP_QAT_FW_PM_STATE_CONFIG = 128, 22 }; 23 24 enum icp_qat_fw_init_admin_resp_status { 25 ICP_QAT_FW_INIT_RESP_STATUS_SUCCESS = 0, 26 ICP_QAT_FW_INIT_RESP_STATUS_FAIL 27 }; 28 29 struct icp_qat_fw_init_admin_req { 30 __u16 init_cfg_sz; 31 __u8 resrvd1; 32 __u8 cmd_id; 33 __u32 resrvd2; 34 __u64 opaque_data; 35 __u64 init_cfg_ptr; 36 37 union { 38 struct { 39 __u16 ibuf_size_in_kb; 40 __u16 resrvd3; 41 }; 42 struct { 43 __u32 int_timer_ticks; 44 }; 45 struct { 46 __u32 heartbeat_ticks; 47 }; 48 __u32 idle_filter; 49 }; 50 51 __u32 resrvd4; 52 } __packed; 53 54 struct icp_qat_fw_init_admin_resp { 55 __u8 flags; 56 __u8 resrvd1; 57 __u8 status; 58 __u8 cmd_id; 59 union { 60 __u32 resrvd2; 61 struct { 62 __u16 version_minor_num; 63 __u16 version_major_num; 64 }; 65 __u32 extended_features; 66 }; 67 __u64 opaque_data; 68 union { 69 __u32 resrvd3[ICP_QAT_FW_NUM_LONGWORDS_4]; 70 struct { 71 __u32 version_patch_num; 72 __u8 context_id; 73 __u8 ae_id; 74 __u16 resrvd4; 75 __u64 resrvd5; 76 }; 77 struct { 78 __u64 req_rec_count; 79 __u64 resp_sent_count; 80 }; 81 struct { 82 __u16 compression_algos; 83 __u16 checksum_algos; 84 __u32 deflate_capabilities; 85 __u32 resrvd6; 86 __u32 lzs_capabilities; 87 }; 88 struct { 89 __u32 cipher_algos; 90 __u32 hash_algos; 91 __u16 keygen_algos; 92 __u16 other; 93 __u16 public_key_algos; 94 __u16 prime_algos; 95 }; 96 struct { 97 __u64 timestamp; 98 __u64 resrvd7; 99 }; 100 struct { 101 __u32 successful_count; 102 __u32 unsuccessful_count; 103 __u64 resrvd8; 104 }; 105 }; 106 } __packed; 107 108 #define ICP_QAT_FW_SYNC ICP_QAT_FW_HEARTBEAT_SYNC 109 110 #endif 111