diff options
author | Michael Chan <michael.chan@broadcom.com> | 2018-01-17 03:21:03 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-17 14:48:25 -0500 |
commit | 894aa69a90932907f3de9d849ab9970884151d0e (patch) | |
tree | b08990996d49e1f651319476063b0fe2c42004c1 | |
parent | ee81098efe0de33d1dbddcb293c6a3a6a126f9e0 (diff) |
bnxt_en: Update firmware interface to 1.9.0.
The version has new firmware APIs to allocate PF/VF resources more
flexibly.
New toolchains were used to generate this file, resulting in a one-time
large diffstat.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 19 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.h | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 11936 |
3 files changed, 5854 insertions, 6107 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 6b2a7fe0dbde..3015d863bc8c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2016 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * Copyright (c) 2016-2017 Broadcom Limited | 4 | * Copyright (c) 2016-2018 Broadcom Limited |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
@@ -4938,23 +4938,24 @@ static int bnxt_hwrm_ver_get(struct bnxt *bp) | |||
4938 | 4938 | ||
4939 | memcpy(&bp->ver_resp, resp, sizeof(struct hwrm_ver_get_output)); | 4939 | memcpy(&bp->ver_resp, resp, sizeof(struct hwrm_ver_get_output)); |
4940 | 4940 | ||
4941 | bp->hwrm_spec_code = resp->hwrm_intf_maj << 16 | | 4941 | bp->hwrm_spec_code = resp->hwrm_intf_maj_8b << 16 | |
4942 | resp->hwrm_intf_min << 8 | resp->hwrm_intf_upd; | 4942 | resp->hwrm_intf_min_8b << 8 | |
4943 | if (resp->hwrm_intf_maj < 1) { | 4943 | resp->hwrm_intf_upd_8b; |
4944 | if (resp->hwrm_intf_maj_8b < 1) { | ||
4944 | netdev_warn(bp->dev, "HWRM interface %d.%d.%d is older than 1.0.0.\n", | 4945 | netdev_warn(bp->dev, "HWRM interface %d.%d.%d is older than 1.0.0.\n", |
4945 | resp->hwrm_intf_maj, resp->hwrm_intf_min, | 4946 | resp->hwrm_intf_maj_8b, resp->hwrm_intf_min_8b, |
4946 | resp->hwrm_intf_upd); | 4947 | resp->hwrm_intf_upd_8b); |
4947 | netdev_warn(bp->dev, "Please update firmware with HWRM interface 1.0.0 or newer.\n"); | 4948 | netdev_warn(bp->dev, "Please update firmware with HWRM interface 1.0.0 or newer.\n"); |
4948 | } | 4949 | } |
4949 | snprintf(bp->fw_ver_str, BC_HWRM_STR_LEN, "%d.%d.%d.%d", | 4950 | snprintf(bp->fw_ver_str, BC_HWRM_STR_LEN, "%d.%d.%d.%d", |
4950 | resp->hwrm_fw_maj, resp->hwrm_fw_min, resp->hwrm_fw_bld, | 4951 | resp->hwrm_fw_maj_8b, resp->hwrm_fw_min_8b, |
4951 | resp->hwrm_fw_rsvd); | 4952 | resp->hwrm_fw_bld_8b, resp->hwrm_fw_rsvd_8b); |
4952 | 4953 | ||
4953 | bp->hwrm_cmd_timeout = le16_to_cpu(resp->def_req_timeout); | 4954 | bp->hwrm_cmd_timeout = le16_to_cpu(resp->def_req_timeout); |
4954 | if (!bp->hwrm_cmd_timeout) | 4955 | if (!bp->hwrm_cmd_timeout) |
4955 | bp->hwrm_cmd_timeout = DFLT_HWRM_CMD_TIMEOUT; | 4956 | bp->hwrm_cmd_timeout = DFLT_HWRM_CMD_TIMEOUT; |
4956 | 4957 | ||
4957 | if (resp->hwrm_intf_maj >= 1) | 4958 | if (resp->hwrm_intf_maj_8b >= 1) |
4958 | bp->hwrm_max_req_len = le16_to_cpu(resp->max_req_win_len); | 4959 | bp->hwrm_max_req_len = le16_to_cpu(resp->max_req_win_len); |
4959 | 4960 | ||
4960 | bp->chip_num = le16_to_cpu(resp->chip_num); | 4961 | bp->chip_num = le16_to_cpu(resp->chip_num); |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index 89887a88b1bd..6ef222b7fa71 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2016 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * Copyright (c) 2016-2017 Broadcom Limited | 4 | * Copyright (c) 2016-2018 Broadcom Limited |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
@@ -12,10 +12,10 @@ | |||
12 | #define BNXT_H | 12 | #define BNXT_H |
13 | 13 | ||
14 | #define DRV_MODULE_NAME "bnxt_en" | 14 | #define DRV_MODULE_NAME "bnxt_en" |
15 | #define DRV_MODULE_VERSION "1.8.0" | 15 | #define DRV_MODULE_VERSION "1.9.0" |
16 | 16 | ||
17 | #define DRV_VER_MAJ 1 | 17 | #define DRV_VER_MAJ 1 |
18 | #define DRV_VER_MIN 8 | 18 | #define DRV_VER_MIN 9 |
19 | #define DRV_VER_UPD 0 | 19 | #define DRV_VER_UPD 0 |
20 | 20 | ||
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h index c99f4d0880e4..82d17f8cc0db 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | |||
@@ -1,2437 +1,2700 @@ | |||
1 | /* Broadcom NetXtreme-C/E network driver. | 1 | /* Broadcom NetXtreme-C/E network driver. |
2 | * | 2 | * |
3 | * Copyright (c) 2014-2016 Broadcom Corporation | 3 | * Copyright (c) 2014-2016 Broadcom Corporation |
4 | * Copyright (c) 2016-2017 Broadcom Limited | 4 | * Copyright (c) 2016-2018 Broadcom Limited |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation. | 8 | * the Free Software Foundation. |
9 | * | ||
10 | * DO NOT MODIFY!!! This file is automatically generated. | ||
9 | */ | 11 | */ |
10 | 12 | ||
11 | #ifndef BNXT_HSI_H | 13 | #ifndef _BNXT_HSI_H_ |
12 | #define BNXT_HSI_H | 14 | #define _BNXT_HSI_H_ |
15 | |||
16 | /* hwrm_cmd_hdr (size:128b/16B) */ | ||
17 | struct hwrm_cmd_hdr { | ||
18 | __le16 req_type; | ||
19 | __le16 cmpl_ring; | ||
20 | __le16 seq_id; | ||
21 | __le16 target_id; | ||
22 | __le64 resp_addr; | ||
23 | }; | ||
24 | |||
25 | /* hwrm_resp_hdr (size:64b/8B) */ | ||
26 | struct hwrm_resp_hdr { | ||
27 | __le16 error_code; | ||
28 | __le16 req_type; | ||
29 | __le16 seq_id; | ||
30 | __le16 resp_len; | ||
31 | }; | ||
32 | |||
33 | #define CMD_DISCR_TLV_ENCAP 0x8000UL | ||
34 | #define CMD_DISCR_LAST CMD_DISCR_TLV_ENCAP | ||
35 | |||
36 | |||
37 | #define TLV_TYPE_HWRM_REQUEST 0x1UL | ||
38 | #define TLV_TYPE_HWRM_RESPONSE 0x2UL | ||
39 | #define TLV_TYPE_ROCE_SP_COMMAND 0x3UL | ||
40 | #define TLV_TYPE_ENGINE_CKV_DEVICE_SERIAL_NUMBER 0x8001UL | ||
41 | #define TLV_TYPE_ENGINE_CKV_NONCE 0x8002UL | ||
42 | #define TLV_TYPE_ENGINE_CKV_IV 0x8003UL | ||
43 | #define TLV_TYPE_ENGINE_CKV_AUTH_TAG 0x8004UL | ||
44 | #define TLV_TYPE_ENGINE_CKV_CIPHERTEXT 0x8005UL | ||
45 | #define TLV_TYPE_ENGINE_CKV_ALGORITHMS 0x8006UL | ||
46 | #define TLV_TYPE_ENGINE_CKV_ECC_PUBLIC_KEY 0x8007UL | ||
47 | #define TLV_TYPE_ENGINE_CKV_ECDSA_SIGNATURE 0x8008UL | ||
48 | #define TLV_TYPE_LAST TLV_TYPE_ENGINE_CKV_ECDSA_SIGNATURE | ||
49 | |||
50 | |||
51 | /* tlv (size:64b/8B) */ | ||
52 | struct tlv { | ||
53 | __le16 cmd_discr; | ||
54 | u8 reserved_8b; | ||
55 | u8 flags; | ||
56 | #define TLV_FLAGS_MORE 0x1UL | ||
57 | #define TLV_FLAGS_MORE_LAST 0x0UL | ||
58 | #define TLV_FLAGS_MORE_NOT_LAST 0x1UL | ||
59 | #define TLV_FLAGS_REQUIRED 0x2UL | ||
60 | #define TLV_FLAGS_REQUIRED_NO (0x0UL << 1) | ||
61 | #define TLV_FLAGS_REQUIRED_YES (0x1UL << 1) | ||
62 | #define TLV_FLAGS_REQUIRED_LAST TLV_FLAGS_REQUIRED_YES | ||
63 | __le16 tlv_type; | ||
64 | __le16 length; | ||
65 | }; | ||
66 | |||
67 | /* input (size:128b/16B) */ | ||
68 | struct input { | ||
69 | __le16 req_type; | ||
70 | __le16 cmpl_ring; | ||
71 | __le16 seq_id; | ||
72 | __le16 target_id; | ||
73 | __le64 resp_addr; | ||
74 | }; | ||
13 | 75 | ||
14 | /* HSI and HWRM Specification 1.8.3 */ | 76 | /* output (size:64b/8B) */ |
15 | #define HWRM_VERSION_MAJOR 1 | 77 | struct output { |
16 | #define HWRM_VERSION_MINOR 8 | 78 | __le16 error_code; |
17 | #define HWRM_VERSION_UPDATE 3 | 79 | __le16 req_type; |
80 | __le16 seq_id; | ||
81 | __le16 resp_len; | ||
82 | }; | ||
18 | 83 | ||
19 | #define HWRM_VERSION_RSVD 1 /* non-zero means beta version */ | 84 | /* hwrm_short_input (size:128b/16B) */ |
85 | struct hwrm_short_input { | ||
86 | __le16 req_type; | ||
87 | __le16 signature; | ||
88 | #define SHORT_REQ_SIGNATURE_SHORT_CMD 0x4321UL | ||
89 | #define SHORT_REQ_SIGNATURE_LAST SHORT_REQ_SIGNATURE_SHORT_CMD | ||
90 | __le16 unused_0; | ||
91 | __le16 size; | ||
92 | __le64 req_addr; | ||
93 | }; | ||
20 | 94 | ||
21 | #define HWRM_VERSION_STR "1.8.3.1" | 95 | /* cmd_nums (size:64b/8B) */ |
22 | /* | 96 | struct cmd_nums { |
23 | * Following is the signature for HWRM message field that indicates not | 97 | __le16 req_type; |
24 | * applicable (All F's). Need to cast it the size of the field if needed. | 98 | #define HWRM_VER_GET 0x0UL |
25 | */ | 99 | #define HWRM_FUNC_BUF_UNRGTR 0xeUL |
26 | #define HWRM_NA_SIGNATURE ((__le32)(-1)) | 100 | #define HWRM_FUNC_VF_CFG 0xfUL |
27 | #define HWRM_MAX_REQ_LEN (128) /* hwrm_func_buf_rgtr */ | 101 | #define HWRM_RESERVED1 0x10UL |
28 | #define HWRM_MAX_RESP_LEN (280) /* hwrm_selftest_qlist */ | 102 | #define HWRM_FUNC_RESET 0x11UL |
29 | #define HW_HASH_INDEX_SIZE 0x80 /* 7 bit indirection table index. */ | 103 | #define HWRM_FUNC_GETFID 0x12UL |
30 | #define HW_HASH_KEY_SIZE 40 | 104 | #define HWRM_FUNC_VF_ALLOC 0x13UL |
31 | #define HWRM_RESP_VALID_KEY 1 /* valid key for HWRM response */ | 105 | #define HWRM_FUNC_VF_FREE 0x14UL |
32 | 106 | #define HWRM_FUNC_QCAPS 0x15UL | |
33 | /* Statistics Ejection Buffer Completion Record (16 bytes) */ | 107 | #define HWRM_FUNC_QCFG 0x16UL |
108 | #define HWRM_FUNC_CFG 0x17UL | ||
109 | #define HWRM_FUNC_QSTATS 0x18UL | ||
110 | #define HWRM_FUNC_CLR_STATS 0x19UL | ||
111 | #define HWRM_FUNC_DRV_UNRGTR 0x1aUL | ||
112 | #define HWRM_FUNC_VF_RESC_FREE 0x1bUL | ||
113 | #define HWRM_FUNC_VF_VNIC_IDS_QUERY 0x1cUL | ||
114 | #define HWRM_FUNC_DRV_RGTR 0x1dUL | ||
115 | #define HWRM_FUNC_DRV_QVER 0x1eUL | ||
116 | #define HWRM_FUNC_BUF_RGTR 0x1fUL | ||
117 | #define HWRM_PORT_PHY_CFG 0x20UL | ||
118 | #define HWRM_PORT_MAC_CFG 0x21UL | ||
119 | #define HWRM_PORT_TS_QUERY 0x22UL | ||
120 | #define HWRM_PORT_QSTATS 0x23UL | ||
121 | #define HWRM_PORT_LPBK_QSTATS 0x24UL | ||
122 | #define HWRM_PORT_CLR_STATS 0x25UL | ||
123 | #define HWRM_PORT_LPBK_CLR_STATS 0x26UL | ||
124 | #define HWRM_PORT_PHY_QCFG 0x27UL | ||
125 | #define HWRM_PORT_MAC_QCFG 0x28UL | ||
126 | #define HWRM_PORT_MAC_PTP_QCFG 0x29UL | ||
127 | #define HWRM_PORT_PHY_QCAPS 0x2aUL | ||
128 | #define HWRM_PORT_PHY_I2C_WRITE 0x2bUL | ||
129 | #define HWRM_PORT_PHY_I2C_READ 0x2cUL | ||
130 | #define HWRM_PORT_LED_CFG 0x2dUL | ||
131 | #define HWRM_PORT_LED_QCFG 0x2eUL | ||
132 | #define HWRM_PORT_LED_QCAPS 0x2fUL | ||
133 | #define HWRM_QUEUE_QPORTCFG 0x30UL | ||
134 | #define HWRM_QUEUE_QCFG 0x31UL | ||
135 | #define HWRM_QUEUE_CFG 0x32UL | ||
136 | #define HWRM_FUNC_VLAN_CFG 0x33UL | ||
137 | #define HWRM_FUNC_VLAN_QCFG 0x34UL | ||
138 | #define HWRM_QUEUE_PFCENABLE_QCFG 0x35UL | ||
139 | #define HWRM_QUEUE_PFCENABLE_CFG 0x36UL | ||
140 | #define HWRM_QUEUE_PRI2COS_QCFG 0x37UL | ||
141 | #define HWRM_QUEUE_PRI2COS_CFG 0x38UL | ||
142 | #define HWRM_QUEUE_COS2BW_QCFG 0x39UL | ||
143 | #define HWRM_QUEUE_COS2BW_CFG 0x3aUL | ||
144 | #define HWRM_QUEUE_DSCP_QCAPS 0x3bUL | ||
145 | #define HWRM_QUEUE_DSCP2PRI_QCFG 0x3cUL | ||
146 | #define HWRM_QUEUE_DSCP2PRI_CFG 0x3dUL | ||
147 | #define HWRM_VNIC_ALLOC 0x40UL | ||
148 | #define HWRM_VNIC_FREE 0x41UL | ||
149 | #define HWRM_VNIC_CFG 0x42UL | ||
150 | #define HWRM_VNIC_QCFG 0x43UL | ||
151 | #define HWRM_VNIC_TPA_CFG 0x44UL | ||
152 | #define HWRM_VNIC_TPA_QCFG 0x45UL | ||
153 | #define HWRM_VNIC_RSS_CFG 0x46UL | ||
154 | #define HWRM_VNIC_RSS_QCFG 0x47UL | ||
155 | #define HWRM_VNIC_PLCMODES_CFG 0x48UL | ||
156 | #define HWRM_VNIC_PLCMODES_QCFG 0x49UL | ||
157 | #define HWRM_VNIC_QCAPS 0x4aUL | ||
158 | #define HWRM_RING_ALLOC 0x50UL | ||
159 | #define HWRM_RING_FREE 0x51UL | ||
160 | #define HWRM_RING_CMPL_RING_QAGGINT_PARAMS 0x52UL | ||
161 | #define HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS 0x53UL | ||
162 | #define HWRM_RING_RESET 0x5eUL | ||
163 | #define HWRM_RING_GRP_ALLOC 0x60UL | ||
164 | #define HWRM_RING_GRP_FREE 0x61UL | ||
165 | #define HWRM_RESERVED5 0x64UL | ||
166 | #define HWRM_RESERVED6 0x65UL | ||
167 | #define HWRM_VNIC_RSS_COS_LB_CTX_ALLOC 0x70UL | ||
168 | #define HWRM_VNIC_RSS_COS_LB_CTX_FREE 0x71UL | ||
169 | #define HWRM_CFA_L2_FILTER_ALLOC 0x90UL | ||
170 | #define HWRM_CFA_L2_FILTER_FREE 0x91UL | ||
171 | #define HWRM_CFA_L2_FILTER_CFG 0x92UL | ||
172 | #define HWRM_CFA_L2_SET_RX_MASK 0x93UL | ||
173 | #define HWRM_CFA_VLAN_ANTISPOOF_CFG 0x94UL | ||
174 | #define HWRM_CFA_TUNNEL_FILTER_ALLOC 0x95UL | ||
175 | #define HWRM_CFA_TUNNEL_FILTER_FREE 0x96UL | ||
176 | #define HWRM_CFA_ENCAP_RECORD_ALLOC 0x97UL | ||
177 | #define HWRM_CFA_ENCAP_RECORD_FREE 0x98UL | ||
178 | #define HWRM_CFA_NTUPLE_FILTER_ALLOC 0x99UL | ||
179 | #define HWRM_CFA_NTUPLE_FILTER_FREE 0x9aUL | ||
180 | #define HWRM_CFA_NTUPLE_FILTER_CFG 0x9bUL | ||
181 | #define HWRM_CFA_EM_FLOW_ALLOC 0x9cUL | ||
182 | #define HWRM_CFA_EM_FLOW_FREE 0x9dUL | ||
183 | #define HWRM_CFA_EM_FLOW_CFG 0x9eUL | ||
184 | #define HWRM_TUNNEL_DST_PORT_QUERY 0xa0UL | ||
185 | #define HWRM_TUNNEL_DST_PORT_ALLOC 0xa1UL | ||
186 | #define HWRM_TUNNEL_DST_PORT_FREE 0xa2UL | ||
187 | #define HWRM_STAT_CTX_ALLOC 0xb0UL | ||
188 | #define HWRM_STAT_CTX_FREE 0xb1UL | ||
189 | #define HWRM_STAT_CTX_QUERY 0xb2UL | ||
190 | #define HWRM_STAT_CTX_CLR_STATS 0xb3UL | ||
191 | #define HWRM_FW_RESET 0xc0UL | ||
192 | #define HWRM_FW_QSTATUS 0xc1UL | ||
193 | #define HWRM_FW_SET_TIME 0xc8UL | ||
194 | #define HWRM_FW_GET_TIME 0xc9UL | ||
195 | #define HWRM_FW_SET_STRUCTURED_DATA 0xcaUL | ||
196 | #define HWRM_FW_GET_STRUCTURED_DATA 0xcbUL | ||
197 | #define HWRM_FW_IPC_MAILBOX 0xccUL | ||
198 | #define HWRM_EXEC_FWD_RESP 0xd0UL | ||
199 | #define HWRM_REJECT_FWD_RESP 0xd1UL | ||
200 | #define HWRM_FWD_RESP 0xd2UL | ||
201 | #define HWRM_FWD_ASYNC_EVENT_CMPL 0xd3UL | ||
202 | #define HWRM_TEMP_MONITOR_QUERY 0xe0UL | ||
203 | #define HWRM_WOL_FILTER_ALLOC 0xf0UL | ||
204 | #define HWRM_WOL_FILTER_FREE 0xf1UL | ||
205 | #define HWRM_WOL_FILTER_QCFG 0xf2UL | ||
206 | #define HWRM_WOL_REASON_QCFG 0xf3UL | ||
207 | #define HWRM_CFA_METER_PROFILE_ALLOC 0xf5UL | ||
208 | #define HWRM_CFA_METER_PROFILE_FREE 0xf6UL | ||
209 | #define HWRM_CFA_METER_PROFILE_CFG 0xf7UL | ||
210 | #define HWRM_CFA_METER_INSTANCE_ALLOC 0xf8UL | ||
211 | #define HWRM_CFA_METER_INSTANCE_FREE 0xf9UL | ||
212 | #define HWRM_CFA_VFR_ALLOC 0xfdUL | ||
213 | #define HWRM_CFA_VFR_FREE 0xfeUL | ||
214 | #define HWRM_CFA_VF_PAIR_ALLOC 0x100UL | ||
215 | #define HWRM_CFA_VF_PAIR_FREE 0x101UL | ||
216 | #define HWRM_CFA_VF_PAIR_INFO 0x102UL | ||
217 | #define HWRM_CFA_FLOW_ALLOC 0x103UL | ||
218 | #define HWRM_CFA_FLOW_FREE 0x104UL | ||
219 | #define HWRM_CFA_FLOW_FLUSH 0x105UL | ||
220 | #define HWRM_CFA_FLOW_STATS 0x106UL | ||
221 | #define HWRM_CFA_FLOW_INFO 0x107UL | ||
222 | #define HWRM_CFA_DECAP_FILTER_ALLOC 0x108UL | ||
223 | #define HWRM_CFA_DECAP_FILTER_FREE 0x109UL | ||
224 | #define HWRM_CFA_VLAN_ANTISPOOF_QCFG 0x10aUL | ||
225 | #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_ALLOC 0x10bUL | ||
226 | #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE 0x10cUL | ||
227 | #define HWRM_CFA_PAIR_ALLOC 0x10dUL | ||
228 | #define HWRM_CFA_PAIR_FREE 0x10eUL | ||
229 | #define HWRM_CFA_PAIR_INFO 0x10fUL | ||
230 | #define HWRM_FW_IPC_MSG 0x110UL | ||
231 | #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_INFO 0x111UL | ||
232 | #define HWRM_ENGINE_CKV_HELLO 0x12dUL | ||
233 | #define HWRM_ENGINE_CKV_STATUS 0x12eUL | ||
234 | #define HWRM_ENGINE_CKV_CKEK_ADD 0x12fUL | ||
235 | #define HWRM_ENGINE_CKV_CKEK_DELETE 0x130UL | ||
236 | #define HWRM_ENGINE_CKV_KEY_ADD 0x131UL | ||
237 | #define HWRM_ENGINE_CKV_KEY_DELETE 0x132UL | ||
238 | #define HWRM_ENGINE_CKV_FLUSH 0x133UL | ||
239 | #define HWRM_ENGINE_CKV_RNG_GET 0x134UL | ||
240 | #define HWRM_ENGINE_CKV_KEY_GEN 0x135UL | ||
241 | #define HWRM_ENGINE_QG_CONFIG_QUERY 0x13cUL | ||
242 | #define HWRM_ENGINE_QG_QUERY 0x13dUL | ||
243 | #define HWRM_ENGINE_QG_METER_PROFILE_CONFIG_QUERY 0x13eUL | ||
244 | #define HWRM_ENGINE_QG_METER_PROFILE_QUERY 0x13fUL | ||
245 | #define HWRM_ENGINE_QG_METER_PROFILE_ALLOC 0x140UL | ||
246 | #define HWRM_ENGINE_QG_METER_PROFILE_FREE 0x141UL | ||
247 | #define HWRM_ENGINE_QG_METER_QUERY 0x142UL | ||
248 | #define HWRM_ENGINE_QG_METER_BIND 0x143UL | ||
249 | #define HWRM_ENGINE_QG_METER_UNBIND 0x144UL | ||
250 | #define HWRM_ENGINE_QG_FUNC_BIND 0x145UL | ||
251 | #define HWRM_ENGINE_SG_CONFIG_QUERY 0x146UL | ||
252 | #define HWRM_ENGINE_SG_QUERY 0x147UL | ||
253 | #define HWRM_ENGINE_SG_METER_QUERY 0x148UL | ||
254 | #define HWRM_ENGINE_SG_METER_CONFIG 0x149UL | ||
255 | #define HWRM_ENGINE_SG_QG_BIND 0x14aUL | ||
256 | #define HWRM_ENGINE_QG_SG_UNBIND 0x14bUL | ||
257 | #define HWRM_ENGINE_CONFIG_QUERY 0x154UL | ||
258 | #define HWRM_ENGINE_STATS_CONFIG 0x155UL | ||
259 | #define HWRM_ENGINE_STATS_CLEAR 0x156UL | ||
260 | #define HWRM_ENGINE_STATS_QUERY 0x157UL | ||
261 | #define HWRM_ENGINE_RQ_ALLOC 0x15eUL | ||
262 | #define HWRM_ENGINE_RQ_FREE 0x15fUL | ||
263 | #define HWRM_ENGINE_CQ_ALLOC 0x160UL | ||
264 | #define HWRM_ENGINE_CQ_FREE 0x161UL | ||
265 | #define HWRM_ENGINE_NQ_ALLOC 0x162UL | ||
266 | #define HWRM_ENGINE_NQ_FREE 0x163UL | ||
267 | #define HWRM_ENGINE_ON_DIE_RQE_CREDITS 0x164UL | ||
268 | #define HWRM_FUNC_RESOURCE_QCAPS 0x190UL | ||
269 | #define HWRM_FUNC_VF_RESOURCE_CFG 0x191UL | ||
270 | #define HWRM_SELFTEST_QLIST 0x200UL | ||
271 | #define HWRM_SELFTEST_EXEC 0x201UL | ||
272 | #define HWRM_SELFTEST_IRQ 0x202UL | ||
273 | #define HWRM_SELFTEST_RETRIEVE_SERDES_DATA 0x203UL | ||
274 | #define HWRM_DBG_READ_DIRECT 0xff10UL | ||
275 | #define HWRM_DBG_READ_INDIRECT 0xff11UL | ||
276 | #define HWRM_DBG_WRITE_DIRECT 0xff12UL | ||
277 | #define HWRM_DBG_WRITE_INDIRECT 0xff13UL | ||
278 | #define HWRM_DBG_DUMP 0xff14UL | ||
279 | #define HWRM_DBG_ERASE_NVM 0xff15UL | ||
280 | #define HWRM_DBG_CFG 0xff16UL | ||
281 | #define HWRM_DBG_COREDUMP_LIST 0xff17UL | ||
282 | #define HWRM_DBG_COREDUMP_INITIATE 0xff18UL | ||
283 | #define HWRM_DBG_COREDUMP_RETRIEVE 0xff19UL | ||
284 | #define HWRM_NVM_FACTORY_DEFAULTS 0xffeeUL | ||
285 | #define HWRM_NVM_VALIDATE_OPTION 0xffefUL | ||
286 | #define HWRM_NVM_FLUSH 0xfff0UL | ||
287 | #define HWRM_NVM_GET_VARIABLE 0xfff1UL | ||
288 | #define HWRM_NVM_SET_VARIABLE 0xfff2UL | ||
289 | #define HWRM_NVM_INSTALL_UPDATE 0xfff3UL | ||
290 | #define HWRM_NVM_MODIFY 0xfff4UL | ||
291 | #define HWRM_NVM_VERIFY_UPDATE 0xfff5UL | ||
292 | #define HWRM_NVM_GET_DEV_INFO 0xfff6UL | ||
293 | #define HWRM_NVM_ERASE_DIR_ENTRY 0xfff7UL | ||
294 | #define HWRM_NVM_MOD_DIR_ENTRY 0xfff8UL | ||
295 | #define HWRM_NVM_FIND_DIR_ENTRY 0xfff9UL | ||
296 | #define HWRM_NVM_GET_DIR_ENTRIES 0xfffaUL | ||
297 | #define HWRM_NVM_GET_DIR_INFO 0xfffbUL | ||
298 | #define HWRM_NVM_RAW_DUMP 0xfffcUL | ||
299 | #define HWRM_NVM_READ 0xfffdUL | ||
300 | #define HWRM_NVM_WRITE 0xfffeUL | ||
301 | #define HWRM_NVM_RAW_WRITE_BLK 0xffffUL | ||
302 | #define HWRM_LAST HWRM_NVM_RAW_WRITE_BLK | ||
303 | __le16 unused_0[3]; | ||
304 | }; | ||
305 | |||
306 | /* ret_codes (size:64b/8B) */ | ||
307 | struct ret_codes { | ||
308 | __le16 error_code; | ||
309 | #define HWRM_ERR_CODE_SUCCESS 0x0UL | ||
310 | #define HWRM_ERR_CODE_FAIL 0x1UL | ||
311 | #define HWRM_ERR_CODE_INVALID_PARAMS 0x2UL | ||
312 | #define HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED 0x3UL | ||
313 | #define HWRM_ERR_CODE_RESOURCE_ALLOC_ERROR 0x4UL | ||
314 | #define HWRM_ERR_CODE_INVALID_FLAGS 0x5UL | ||
315 | #define HWRM_ERR_CODE_INVALID_ENABLES 0x6UL | ||
316 | #define HWRM_ERR_CODE_UNSUPPORTED_TLV 0x7UL | ||
317 | #define HWRM_ERR_CODE_NO_BUFFER 0x8UL | ||
318 | #define HWRM_ERR_CODE_HWRM_ERROR 0xfUL | ||
319 | #define HWRM_ERR_CODE_UNKNOWN_ERR 0xfffeUL | ||
320 | #define HWRM_ERR_CODE_CMD_NOT_SUPPORTED 0xffffUL | ||
321 | #define HWRM_ERR_CODE_LAST HWRM_ERR_CODE_CMD_NOT_SUPPORTED | ||
322 | __le16 unused_0[3]; | ||
323 | }; | ||
324 | |||
325 | /* hwrm_err_output (size:128b/16B) */ | ||
326 | struct hwrm_err_output { | ||
327 | __le16 error_code; | ||
328 | __le16 req_type; | ||
329 | __le16 seq_id; | ||
330 | __le16 resp_len; | ||
331 | __le32 opaque_0; | ||
332 | __le16 opaque_1; | ||
333 | u8 cmd_err; | ||
334 | u8 valid; | ||
335 | }; | ||
336 | #define HWRM_NA_SIGNATURE ((__le32)(-1)) | ||
337 | #define HWRM_MAX_REQ_LEN 128 | ||
338 | #define HWRM_MAX_RESP_LEN 280 | ||
339 | #define HW_HASH_INDEX_SIZE 0x80 | ||
340 | #define HW_HASH_KEY_SIZE 40 | ||
341 | #define HWRM_RESP_VALID_KEY 1 | ||
342 | #define HWRM_VERSION_MAJOR 1 | ||
343 | #define HWRM_VERSION_MINOR 9 | ||
344 | #define HWRM_VERSION_UPDATE 0 | ||
345 | #define HWRM_VERSION_RSVD 0 | ||
346 | #define HWRM_VERSION_STR "1.9.0.0" | ||
347 | |||
348 | /* hwrm_ver_get_input (size:192b/24B) */ | ||
349 | struct hwrm_ver_get_input { | ||
350 | __le16 req_type; | ||
351 | __le16 cmpl_ring; | ||
352 | __le16 seq_id; | ||
353 | __le16 target_id; | ||
354 | __le64 resp_addr; | ||
355 | u8 hwrm_intf_maj; | ||
356 | u8 hwrm_intf_min; | ||
357 | u8 hwrm_intf_upd; | ||
358 | u8 unused_0[5]; | ||
359 | }; | ||
360 | |||
361 | /* hwrm_ver_get_output (size:1408b/176B) */ | ||
362 | struct hwrm_ver_get_output { | ||
363 | __le16 error_code; | ||
364 | __le16 req_type; | ||
365 | __le16 seq_id; | ||
366 | __le16 resp_len; | ||
367 | u8 hwrm_intf_maj_8b; | ||
368 | u8 hwrm_intf_min_8b; | ||
369 | u8 hwrm_intf_upd_8b; | ||
370 | u8 hwrm_intf_rsvd_8b; | ||
371 | u8 hwrm_fw_maj_8b; | ||
372 | u8 hwrm_fw_min_8b; | ||
373 | u8 hwrm_fw_bld_8b; | ||
374 | u8 hwrm_fw_rsvd_8b; | ||
375 | u8 mgmt_fw_maj_8b; | ||
376 | u8 mgmt_fw_min_8b; | ||
377 | u8 mgmt_fw_bld_8b; | ||
378 | u8 mgmt_fw_rsvd_8b; | ||
379 | u8 netctrl_fw_maj_8b; | ||
380 | u8 netctrl_fw_min_8b; | ||
381 | u8 netctrl_fw_bld_8b; | ||
382 | u8 netctrl_fw_rsvd_8b; | ||
383 | __le32 dev_caps_cfg; | ||
384 | #define VER_GET_RESP_DEV_CAPS_CFG_SECURE_FW_UPD_SUPPORTED 0x1UL | ||
385 | #define VER_GET_RESP_DEV_CAPS_CFG_FW_DCBX_AGENT_SUPPORTED 0x2UL | ||
386 | #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_SUPPORTED 0x4UL | ||
387 | #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_REQUIRED 0x8UL | ||
388 | u8 roce_fw_maj_8b; | ||
389 | u8 roce_fw_min_8b; | ||
390 | u8 roce_fw_bld_8b; | ||
391 | u8 roce_fw_rsvd_8b; | ||
392 | char hwrm_fw_name[16]; | ||
393 | char mgmt_fw_name[16]; | ||
394 | char netctrl_fw_name[16]; | ||
395 | u8 reserved2[16]; | ||
396 | char roce_fw_name[16]; | ||
397 | __le16 chip_num; | ||
398 | u8 chip_rev; | ||
399 | u8 chip_metal; | ||
400 | u8 chip_bond_id; | ||
401 | u8 chip_platform_type; | ||
402 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_ASIC 0x0UL | ||
403 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_FPGA 0x1UL | ||
404 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM 0x2UL | ||
405 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_LAST VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM | ||
406 | __le16 max_req_win_len; | ||
407 | __le16 max_resp_len; | ||
408 | __le16 def_req_timeout; | ||
409 | u8 flags; | ||
410 | #define VER_GET_RESP_FLAGS_DEV_NOT_RDY 0x1UL | ||
411 | #define VER_GET_RESP_FLAGS_EXT_VER_AVAIL 0x2UL | ||
412 | u8 unused_0[2]; | ||
413 | u8 always_1; | ||
414 | __le16 hwrm_intf_major; | ||
415 | __le16 hwrm_intf_minor; | ||
416 | __le16 hwrm_intf_build; | ||
417 | __le16 hwrm_intf_patch; | ||
418 | __le16 hwrm_fw_major; | ||
419 | __le16 hwrm_fw_minor; | ||
420 | __le16 hwrm_fw_build; | ||
421 | __le16 hwrm_fw_patch; | ||
422 | __le16 mgmt_fw_major; | ||
423 | __le16 mgmt_fw_minor; | ||
424 | __le16 mgmt_fw_build; | ||
425 | __le16 mgmt_fw_patch; | ||
426 | __le16 netctrl_fw_major; | ||
427 | __le16 netctrl_fw_minor; | ||
428 | __le16 netctrl_fw_build; | ||
429 | __le16 netctrl_fw_patch; | ||
430 | __le16 roce_fw_major; | ||
431 | __le16 roce_fw_minor; | ||
432 | __le16 roce_fw_build; | ||
433 | __le16 roce_fw_patch; | ||
434 | __le16 max_ext_req_len; | ||
435 | u8 unused_1[5]; | ||
436 | u8 valid; | ||
437 | }; | ||
438 | |||
439 | /* eject_cmpl (size:128b/16B) */ | ||
34 | struct eject_cmpl { | 440 | struct eject_cmpl { |
35 | __le16 type; | 441 | __le16 type; |
36 | #define EJECT_CMPL_TYPE_MASK 0x3fUL | 442 | #define EJECT_CMPL_TYPE_MASK 0x3fUL |
37 | #define EJECT_CMPL_TYPE_SFT 0 | 443 | #define EJECT_CMPL_TYPE_SFT 0 |
38 | #define EJECT_CMPL_TYPE_STAT_EJECT 0x1aUL | 444 | #define EJECT_CMPL_TYPE_STAT_EJECT 0x1aUL |
39 | __le16 len; | 445 | #define EJECT_CMPL_TYPE_LAST EJECT_CMPL_TYPE_STAT_EJECT |
40 | __le32 opaque; | 446 | __le16 len; |
41 | __le32 v; | 447 | __le32 opaque; |
42 | #define EJECT_CMPL_V 0x1UL | 448 | __le32 v; |
43 | __le32 unused_2; | 449 | #define EJECT_CMPL_V 0x1UL |
44 | }; | 450 | __le32 unused_2; |
45 | 451 | }; | |
46 | /* HWRM Completion Record (16 bytes) */ | 452 | |
453 | /* hwrm_cmpl (size:128b/16B) */ | ||
47 | struct hwrm_cmpl { | 454 | struct hwrm_cmpl { |
48 | __le16 type; | 455 | __le16 type; |
49 | #define CMPL_TYPE_MASK 0x3fUL | 456 | #define CMPL_TYPE_MASK 0x3fUL |
50 | #define CMPL_TYPE_SFT 0 | 457 | #define CMPL_TYPE_SFT 0 |
51 | #define CMPL_TYPE_HWRM_DONE 0x20UL | 458 | #define CMPL_TYPE_HWRM_DONE 0x20UL |
52 | __le16 sequence_id; | 459 | #define CMPL_TYPE_LAST CMPL_TYPE_HWRM_DONE |
53 | __le32 unused_1; | 460 | __le16 sequence_id; |
54 | __le32 v; | 461 | __le32 unused_1; |
55 | #define CMPL_V 0x1UL | 462 | __le32 v; |
56 | __le32 unused_3; | 463 | #define CMPL_V 0x1UL |
57 | }; | 464 | __le32 unused_3; |
58 | 465 | }; | |
59 | /* HWRM Forwarded Request (16 bytes) */ | 466 | |
467 | /* hwrm_fwd_req_cmpl (size:128b/16B) */ | ||
60 | struct hwrm_fwd_req_cmpl { | 468 | struct hwrm_fwd_req_cmpl { |
61 | __le16 req_len_type; | 469 | __le16 req_len_type; |
62 | #define FWD_REQ_CMPL_TYPE_MASK 0x3fUL | 470 | #define FWD_REQ_CMPL_TYPE_MASK 0x3fUL |
63 | #define FWD_REQ_CMPL_TYPE_SFT 0 | 471 | #define FWD_REQ_CMPL_TYPE_SFT 0 |
64 | #define FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ 0x22UL | 472 | #define FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ 0x22UL |
65 | #define FWD_REQ_CMPL_REQ_LEN_MASK 0xffc0UL | 473 | #define FWD_REQ_CMPL_TYPE_LAST FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ |
66 | #define FWD_REQ_CMPL_REQ_LEN_SFT 6 | 474 | #define FWD_REQ_CMPL_REQ_LEN_MASK 0xffc0UL |
67 | __le16 source_id; | 475 | #define FWD_REQ_CMPL_REQ_LEN_SFT 6 |
68 | __le32 unused_0; | 476 | __le16 source_id; |
69 | __le32 req_buf_addr_v[2]; | 477 | __le32 unused0; |
70 | #define FWD_REQ_CMPL_V 0x1UL | 478 | __le32 req_buf_addr_v[2]; |
71 | #define FWD_REQ_CMPL_REQ_BUF_ADDR_MASK 0xfffffffeUL | 479 | #define FWD_REQ_CMPL_V 0x1UL |
72 | #define FWD_REQ_CMPL_REQ_BUF_ADDR_SFT 1 | 480 | #define FWD_REQ_CMPL_REQ_BUF_ADDR_MASK 0xfffffffeUL |
73 | }; | 481 | #define FWD_REQ_CMPL_REQ_BUF_ADDR_SFT 1 |
74 | 482 | }; | |
75 | /* HWRM Forwarded Response (16 bytes) */ | 483 | |
484 | /* hwrm_fwd_resp_cmpl (size:128b/16B) */ | ||
76 | struct hwrm_fwd_resp_cmpl { | 485 | struct hwrm_fwd_resp_cmpl { |
77 | __le16 type; | 486 | __le16 type; |
78 | #define FWD_RESP_CMPL_TYPE_MASK 0x3fUL | 487 | #define FWD_RESP_CMPL_TYPE_MASK 0x3fUL |
79 | #define FWD_RESP_CMPL_TYPE_SFT 0 | 488 | #define FWD_RESP_CMPL_TYPE_SFT 0 |
80 | #define FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP 0x24UL | 489 | #define FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP 0x24UL |
81 | __le16 source_id; | 490 | #define FWD_RESP_CMPL_TYPE_LAST FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP |
82 | __le16 resp_len; | 491 | __le16 source_id; |
83 | __le16 unused_1; | 492 | __le16 resp_len; |
84 | __le32 resp_buf_addr_v[2]; | 493 | __le16 unused_1; |
85 | #define FWD_RESP_CMPL_V 0x1UL | 494 | __le32 resp_buf_addr_v[2]; |
86 | #define FWD_RESP_CMPL_RESP_BUF_ADDR_MASK 0xfffffffeUL | 495 | #define FWD_RESP_CMPL_V 0x1UL |
87 | #define FWD_RESP_CMPL_RESP_BUF_ADDR_SFT 1 | 496 | #define FWD_RESP_CMPL_RESP_BUF_ADDR_MASK 0xfffffffeUL |
88 | }; | 497 | #define FWD_RESP_CMPL_RESP_BUF_ADDR_SFT 1 |
89 | 498 | }; | |
90 | /* HWRM Asynchronous Event Completion Record (16 bytes) */ | 499 | |
500 | /* hwrm_async_event_cmpl (size:128b/16B) */ | ||
91 | struct hwrm_async_event_cmpl { | 501 | struct hwrm_async_event_cmpl { |
92 | __le16 type; | 502 | __le16 type; |
93 | #define ASYNC_EVENT_CMPL_TYPE_MASK 0x3fUL | 503 | #define ASYNC_EVENT_CMPL_TYPE_MASK 0x3fUL |
94 | #define ASYNC_EVENT_CMPL_TYPE_SFT 0 | 504 | #define ASYNC_EVENT_CMPL_TYPE_SFT 0 |
95 | #define ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 505 | #define ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
96 | __le16 event_id; | 506 | #define ASYNC_EVENT_CMPL_TYPE_LAST ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT |
97 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE 0x0UL | 507 | __le16 event_id; |
98 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_MTU_CHANGE 0x1UL | 508 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE 0x0UL |
99 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE 0x2UL | 509 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_MTU_CHANGE 0x1UL |
100 | #define ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE 0x3UL | 510 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE 0x2UL |
101 | #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL | 511 | #define ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE 0x3UL |
512 | #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL | ||
102 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED 0x5UL | 513 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED 0x5UL |
103 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL | 514 | #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL |
104 | #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_PHY_CFG_CHANGE 0x7UL | 515 | #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_PHY_CFG_CHANGE 0x7UL |
105 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD 0x10UL | 516 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD 0x10UL |
106 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD 0x11UL | 517 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD 0x11UL |
107 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_FLR_PROC_CMPLT 0x12UL | 518 | #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_FLR_PROC_CMPLT 0x12UL |
108 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD 0x20UL | 519 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD 0x20UL |
109 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_LOAD 0x21UL | 520 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_LOAD 0x21UL |
110 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR 0x30UL | 521 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR 0x30UL |
111 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE 0x31UL | 522 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE 0x31UL |
112 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE 0x32UL | 523 | #define ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE 0x32UL |
113 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE 0x33UL | 524 | #define ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE 0x33UL |
114 | #define ASYNC_EVENT_CMPL_EVENT_ID_LLFC_PFC_CHANGE 0x34UL | 525 | #define ASYNC_EVENT_CMPL_EVENT_ID_LLFC_PFC_CHANGE 0x34UL |
115 | #define ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR 0xffUL | 526 | #define ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR 0xffUL |
116 | __le32 event_data2; | 527 | #define ASYNC_EVENT_CMPL_EVENT_ID_LAST ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR |
117 | u8 opaque_v; | 528 | __le32 event_data2; |
118 | #define ASYNC_EVENT_CMPL_V 0x1UL | 529 | u8 opaque_v; |
119 | #define ASYNC_EVENT_CMPL_OPAQUE_MASK 0xfeUL | 530 | #define ASYNC_EVENT_CMPL_V 0x1UL |
120 | #define ASYNC_EVENT_CMPL_OPAQUE_SFT 1 | 531 | #define ASYNC_EVENT_CMPL_OPAQUE_MASK 0xfeUL |
121 | u8 timestamp_lo; | 532 | #define ASYNC_EVENT_CMPL_OPAQUE_SFT 1 |
122 | __le16 timestamp_hi; | 533 | u8 timestamp_lo; |
123 | __le32 event_data1; | 534 | __le16 timestamp_hi; |
124 | }; | 535 | __le32 event_data1; |
125 | 536 | }; | |
126 | /* HWRM Asynchronous Event Completion Record for link status change (16 bytes) */ | 537 | |
538 | /* hwrm_async_event_cmpl_link_status_change (size:128b/16B) */ | ||
127 | struct hwrm_async_event_cmpl_link_status_change { | 539 | struct hwrm_async_event_cmpl_link_status_change { |
128 | __le16 type; | 540 | __le16 type; |
129 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_MASK 0x3fUL | 541 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_MASK 0x3fUL |
130 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_SFT 0 | 542 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_SFT 0 |
131 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 543 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
132 | __le16 event_id; | 544 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT |
545 | __le16 event_id; | ||
133 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE 0x0UL | 546 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE 0x0UL |
134 | __le32 event_data2; | 547 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE |
135 | u8 opaque_v; | 548 | __le32 event_data2; |
136 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_V 0x1UL | 549 | u8 opaque_v; |
137 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_MASK 0xfeUL | 550 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_V 0x1UL |
138 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_SFT 1 | 551 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_MASK 0xfeUL |
139 | u8 timestamp_lo; | 552 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_SFT 1 |
140 | __le16 timestamp_hi; | 553 | u8 timestamp_lo; |
141 | __le32 event_data1; | 554 | __le16 timestamp_hi; |
142 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE 0x1UL | 555 | __le32 event_data1; |
143 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN (0x0UL << 0) | 556 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE 0x1UL |
144 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP (0x1UL << 0) | 557 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN 0x0UL |
145 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP | 558 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP 0x1UL |
146 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK 0xeUL | 559 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP |
147 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT 1 | 560 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK 0xeUL |
148 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0UL | 561 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT 1 |
149 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_SFT 4 | 562 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0UL |
150 | }; | 563 | #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_SFT 4 |
151 | 564 | }; | |
152 | /* HWRM Asynchronous Event Completion Record for link MTU change (16 bytes) */ | 565 | |
153 | struct hwrm_async_event_cmpl_link_mtu_change { | 566 | /* hwrm_async_event_cmpl_port_conn_not_allowed (size:128b/16B) */ |
154 | __le16 type; | ||
155 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_TYPE_MASK 0x3fUL | ||
156 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_TYPE_SFT 0 | ||
157 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
158 | __le16 event_id; | ||
159 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_EVENT_ID_LINK_MTU_CHANGE 0x1UL | ||
160 | __le32 event_data2; | ||
161 | u8 opaque_v; | ||
162 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_V 0x1UL | ||
163 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_OPAQUE_MASK 0xfeUL | ||
164 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_OPAQUE_SFT 1 | ||
165 | u8 timestamp_lo; | ||
166 | __le16 timestamp_hi; | ||
167 | __le32 event_data1; | ||
168 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_EVENT_DATA1_NEW_MTU_MASK 0xffffUL | ||
169 | #define ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_EVENT_DATA1_NEW_MTU_SFT 0 | ||
170 | }; | ||
171 | |||
172 | /* HWRM Asynchronous Event Completion Record for link speed change (16 bytes) */ | ||
173 | struct hwrm_async_event_cmpl_link_speed_change { | ||
174 | __le16 type; | ||
175 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_TYPE_MASK 0x3fUL | ||
176 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_TYPE_SFT 0 | ||
177 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
178 | __le16 event_id; | ||
179 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_ID_LINK_SPEED_CHANGE 0x2UL | ||
180 | __le32 event_data2; | ||
181 | u8 opaque_v; | ||
182 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_V 0x1UL | ||
183 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_OPAQUE_MASK 0xfeUL | ||
184 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_OPAQUE_SFT 1 | ||
185 | u8 timestamp_lo; | ||
186 | __le16 timestamp_hi; | ||
187 | __le32 event_data1; | ||
188 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_FORCE 0x1UL | ||
189 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_MASK 0xfffeUL | ||
190 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_SFT 1 | ||
191 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_100MB (0x1UL << 1) | ||
192 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_1GB (0xaUL << 1) | ||
193 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_2GB (0x14UL << 1) | ||
194 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_2_5GB (0x19UL << 1) | ||
195 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_10GB (0x64UL << 1) | ||
196 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_20GB (0xc8UL << 1) | ||
197 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_25GB (0xfaUL << 1) | ||
198 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_40GB (0x190UL << 1) | ||
199 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_50GB (0x1f4UL << 1) | ||
200 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_100GB (0x3e8UL << 1) | ||
201 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_LAST ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_NEW_LINK_SPEED_100MBPS_100GB | ||
202 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0000UL | ||
203 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_SFT 16 | ||
204 | }; | ||
205 | |||
206 | /* HWRM Asynchronous Event Completion Record for DCB Config change (16 bytes) */ | ||
207 | struct hwrm_async_event_cmpl_dcb_config_change { | ||
208 | __le16 type; | ||
209 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_TYPE_MASK 0x3fUL | ||
210 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_TYPE_SFT 0 | ||
211 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
212 | __le16 event_id; | ||
213 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_ID_DCB_CONFIG_CHANGE 0x3UL | ||
214 | __le32 event_data2; | ||
215 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA2_ETS 0x1UL | ||
216 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA2_PFC 0x2UL | ||
217 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA2_APP 0x4UL | ||
218 | u8 opaque_v; | ||
219 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_V 0x1UL | ||
220 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_OPAQUE_MASK 0xfeUL | ||
221 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_OPAQUE_SFT 1 | ||
222 | u8 timestamp_lo; | ||
223 | __le16 timestamp_hi; | ||
224 | __le32 event_data1; | ||
225 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffffUL | ||
226 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_PORT_ID_SFT 0 | ||
227 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_ROCE_PRIORITY_MASK 0xff0000UL | ||
228 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_ROCE_PRIORITY_SFT 16 | ||
229 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_ROCE_PRIORITY_NONE (0xffUL << 16) | ||
230 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_ROCE_PRIORITY_LAST ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_ROCE_PRIORITY_NONE | ||
231 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_MASK 0xff000000UL | ||
232 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_SFT 24 | ||
233 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_NONE (0xffUL << 24) | ||
234 | #define ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_LAST ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_NONE | ||
235 | }; | ||
236 | |||
237 | /* HWRM Asynchronous Event Completion Record for port connection not allowed (16 bytes) */ | ||
238 | struct hwrm_async_event_cmpl_port_conn_not_allowed { | 567 | struct hwrm_async_event_cmpl_port_conn_not_allowed { |
239 | __le16 type; | 568 | __le16 type; |
240 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_MASK 0x3fUL | 569 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_MASK 0x3fUL |
241 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_SFT 0 | 570 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_SFT 0 |
242 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 571 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
243 | __le16 event_id; | 572 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT |
573 | __le16 event_id; | ||
244 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL | 574 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL |
245 | __le32 event_data2; | 575 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED |
246 | u8 opaque_v; | 576 | __le32 event_data2; |
247 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_V 0x1UL | 577 | u8 opaque_v; |
578 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_V 0x1UL | ||
248 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_MASK 0xfeUL | 579 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_MASK 0xfeUL |
249 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_SFT 1 | 580 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_SFT 1 |
250 | u8 timestamp_lo; | 581 | u8 timestamp_lo; |
251 | __le16 timestamp_hi; | 582 | __le16 timestamp_hi; |
252 | __le32 event_data1; | 583 | __le32 event_data1; |
253 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL | 584 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL |
254 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 | 585 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 |
255 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_MASK 0xff0000UL | 586 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_MASK 0xff0000UL |
256 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_SFT 16 | 587 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_SFT 16 |
257 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_NONE (0x0UL << 16) | 588 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_NONE (0x0UL << 16) |
258 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_DISABLETX (0x1UL << 16) | 589 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_DISABLETX (0x1UL << 16) |
259 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_WARNINGMSG (0x2UL << 16) | 590 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_WARNINGMSG (0x2UL << 16) |
260 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN (0x3UL << 16) | 591 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN (0x3UL << 16) |
261 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN | 592 | #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN |
262 | }; | 593 | }; |
263 | 594 | ||
264 | /* HWRM Asynchronous Event Completion Record for link speed config not allowed (16 bytes) */ | 595 | /* hwrm_async_event_cmpl_link_speed_cfg_change (size:128b/16B) */ |
265 | struct hwrm_async_event_cmpl_link_speed_cfg_not_allowed { | ||
266 | __le16 type; | ||
267 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_MASK 0x3fUL | ||
268 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_SFT 0 | ||
269 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
270 | __le16 event_id; | ||
271 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED 0x5UL | ||
272 | __le32 event_data2; | ||
273 | u8 opaque_v; | ||
274 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_V 0x1UL | ||
275 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_OPAQUE_MASK 0xfeUL | ||
276 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_OPAQUE_SFT 1 | ||
277 | u8 timestamp_lo; | ||
278 | __le16 timestamp_hi; | ||
279 | __le32 event_data1; | ||
280 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL | ||
281 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0 | ||
282 | }; | ||
283 | |||
284 | /* HWRM Asynchronous Event Completion Record for link speed configuration change (16 bytes) */ | ||
285 | struct hwrm_async_event_cmpl_link_speed_cfg_change { | 596 | struct hwrm_async_event_cmpl_link_speed_cfg_change { |
286 | __le16 type; | 597 | __le16 type; |
287 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_MASK 0x3fUL | 598 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_MASK 0x3fUL |
288 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_SFT 0 | 599 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_SFT 0 |
289 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 600 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
290 | __le16 event_id; | 601 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT |
602 | __le16 event_id; | ||
291 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL | 603 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL |
292 | __le32 event_data2; | 604 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE |
293 | u8 opaque_v; | 605 | __le32 event_data2; |
294 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_V 0x1UL | 606 | u8 opaque_v; |
607 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_V 0x1UL | ||
295 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_MASK 0xfeUL | 608 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_MASK 0xfeUL |
296 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_SFT 1 | 609 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_SFT 1 |
297 | u8 timestamp_lo; | 610 | u8 timestamp_lo; |
298 | __le16 timestamp_hi; | 611 | __le16 timestamp_hi; |
299 | __le32 event_data1; | 612 | __le32 event_data1; |
300 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffffUL | 613 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffffUL |
301 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_SFT 0 | 614 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_SFT 0 |
302 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_SUPPORTED_LINK_SPEEDS_CHANGE 0x10000UL | 615 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_SUPPORTED_LINK_SPEEDS_CHANGE 0x10000UL |
303 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG 0x20000UL | 616 | #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG 0x20000UL |
304 | }; | 617 | }; |
305 | 618 | ||
306 | /* HWRM Asynchronous Event Completion Record for Function Driver Unload (16 bytes) */ | 619 | /* hwrm_async_event_cmpl_pf_drvr_unload (size:128b/16B) */ |
307 | struct hwrm_async_event_cmpl_func_drvr_unload { | ||
308 | __le16 type; | ||
309 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_TYPE_MASK 0x3fUL | ||
310 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_TYPE_SFT 0 | ||
311 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
312 | __le16 event_id; | ||
313 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_EVENT_ID_FUNC_DRVR_UNLOAD 0x10UL | ||
314 | __le32 event_data2; | ||
315 | u8 opaque_v; | ||
316 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_V 0x1UL | ||
317 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_OPAQUE_MASK 0xfeUL | ||
318 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_OPAQUE_SFT 1 | ||
319 | u8 timestamp_lo; | ||
320 | __le16 timestamp_hi; | ||
321 | __le32 event_data1; | ||
322 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_MASK 0xffffUL | ||
323 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_SFT 0 | ||
324 | }; | ||
325 | |||
326 | /* HWRM Asynchronous Event Completion Record for Function Driver load (16 bytes) */ | ||
327 | struct hwrm_async_event_cmpl_func_drvr_load { | ||
328 | __le16 type; | ||
329 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_TYPE_MASK 0x3fUL | ||
330 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_TYPE_SFT 0 | ||
331 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
332 | __le16 event_id; | ||
333 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_EVENT_ID_FUNC_DRVR_LOAD 0x11UL | ||
334 | __le32 event_data2; | ||
335 | u8 opaque_v; | ||
336 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_V 0x1UL | ||
337 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_OPAQUE_MASK 0xfeUL | ||
338 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_OPAQUE_SFT 1 | ||
339 | u8 timestamp_lo; | ||
340 | __le16 timestamp_hi; | ||
341 | __le32 event_data1; | ||
342 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_EVENT_DATA1_FUNC_ID_MASK 0xffffUL | ||
343 | #define ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_EVENT_DATA1_FUNC_ID_SFT 0 | ||
344 | }; | ||
345 | |||
346 | /* HWRM Asynchronous Event Completion Record to indicate completion of FLR related processing (16 bytes) */ | ||
347 | struct hwrm_async_event_cmpl_func_flr_proc_cmplt { | ||
348 | __le16 type; | ||
349 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_TYPE_MASK 0x3fUL | ||
350 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_TYPE_SFT 0 | ||
351 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
352 | __le16 event_id; | ||
353 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_EVENT_ID_FUNC_FLR_PROC_CMPLT 0x12UL | ||
354 | __le32 event_data2; | ||
355 | u8 opaque_v; | ||
356 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_V 0x1UL | ||
357 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_OPAQUE_MASK 0xfeUL | ||
358 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_OPAQUE_SFT 1 | ||
359 | u8 timestamp_lo; | ||
360 | __le16 timestamp_hi; | ||
361 | __le32 event_data1; | ||
362 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_EVENT_DATA1_FUNC_ID_MASK 0xffffUL | ||
363 | #define ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_EVENT_DATA1_FUNC_ID_SFT 0 | ||
364 | }; | ||
365 | |||
366 | /* HWRM Asynchronous Event Completion Record for PF Driver Unload (16 bytes) */ | ||
367 | struct hwrm_async_event_cmpl_pf_drvr_unload { | 620 | struct hwrm_async_event_cmpl_pf_drvr_unload { |
368 | __le16 type; | 621 | __le16 type; |
369 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_MASK 0x3fUL | 622 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_MASK 0x3fUL |
370 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_SFT 0 | 623 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_SFT 0 |
371 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 624 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
372 | __le16 event_id; | 625 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_LAST ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_TYPE_HWRM_ASYNC_EVENT |
626 | __le16 event_id; | ||
373 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_ID_PF_DRVR_UNLOAD 0x20UL | 627 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_ID_PF_DRVR_UNLOAD 0x20UL |
374 | __le32 event_data2; | 628 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_ID_LAST ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_ID_PF_DRVR_UNLOAD |
375 | u8 opaque_v; | 629 | __le32 event_data2; |
376 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_V 0x1UL | 630 | u8 opaque_v; |
377 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_OPAQUE_MASK 0xfeUL | 631 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_V 0x1UL |
378 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_OPAQUE_SFT 1 | 632 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_OPAQUE_MASK 0xfeUL |
379 | u8 timestamp_lo; | 633 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_OPAQUE_SFT 1 |
380 | __le16 timestamp_hi; | 634 | u8 timestamp_lo; |
381 | __le32 event_data1; | 635 | __le16 timestamp_hi; |
636 | __le32 event_data1; | ||
382 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_MASK 0xffffUL | 637 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_MASK 0xffffUL |
383 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_SFT 0 | 638 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_SFT 0 |
384 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_MASK 0x70000UL | 639 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_MASK 0x70000UL |
385 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_SFT 16 | 640 | #define ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_SFT 16 |
386 | }; | 641 | }; |
387 | 642 | ||
388 | /* HWRM Asynchronous Event Completion Record for PF Driver load (16 bytes) */ | 643 | /* hwrm_async_event_cmpl_vf_cfg_change (size:128b/16B) */ |
389 | struct hwrm_async_event_cmpl_pf_drvr_load { | ||
390 | __le16 type; | ||
391 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_TYPE_MASK 0x3fUL | ||
392 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_TYPE_SFT 0 | ||
393 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
394 | __le16 event_id; | ||
395 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_ID_PF_DRVR_LOAD 0x21UL | ||
396 | __le32 event_data2; | ||
397 | u8 opaque_v; | ||
398 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_V 0x1UL | ||
399 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_OPAQUE_MASK 0xfeUL | ||
400 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_OPAQUE_SFT 1 | ||
401 | u8 timestamp_lo; | ||
402 | __le16 timestamp_hi; | ||
403 | __le32 event_data1; | ||
404 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_FUNC_ID_MASK 0xffffUL | ||
405 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_FUNC_ID_SFT 0 | ||
406 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_PORT_MASK 0x70000UL | ||
407 | #define ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_PORT_SFT 16 | ||
408 | }; | ||
409 | |||
410 | /* HWRM Asynchronous Event Completion Record for VF FLR (16 bytes) */ | ||
411 | struct hwrm_async_event_cmpl_vf_flr { | ||
412 | __le16 type; | ||
413 | #define ASYNC_EVENT_CMPL_VF_FLR_TYPE_MASK 0x3fUL | ||
414 | #define ASYNC_EVENT_CMPL_VF_FLR_TYPE_SFT 0 | ||
415 | #define ASYNC_EVENT_CMPL_VF_FLR_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
416 | __le16 event_id; | ||
417 | #define ASYNC_EVENT_CMPL_VF_FLR_EVENT_ID_VF_FLR 0x30UL | ||
418 | __le32 event_data2; | ||
419 | u8 opaque_v; | ||
420 | #define ASYNC_EVENT_CMPL_VF_FLR_V 0x1UL | ||
421 | #define ASYNC_EVENT_CMPL_VF_FLR_OPAQUE_MASK 0xfeUL | ||
422 | #define ASYNC_EVENT_CMPL_VF_FLR_OPAQUE_SFT 1 | ||
423 | u8 timestamp_lo; | ||
424 | __le16 timestamp_hi; | ||
425 | __le32 event_data1; | ||
426 | #define ASYNC_EVENT_CMPL_VF_FLR_EVENT_DATA1_VF_ID_MASK 0xffffUL | ||
427 | #define ASYNC_EVENT_CMPL_VF_FLR_EVENT_DATA1_VF_ID_SFT 0 | ||
428 | }; | ||
429 | |||
430 | /* HWRM Asynchronous Event Completion Record for VF MAC Addr change (16 bytes) */ | ||
431 | struct hwrm_async_event_cmpl_vf_mac_addr_change { | ||
432 | __le16 type; | ||
433 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_TYPE_MASK 0x3fUL | ||
434 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_TYPE_SFT 0 | ||
435 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
436 | __le16 event_id; | ||
437 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_ID_VF_MAC_ADDR_CHANGE 0x31UL | ||
438 | __le32 event_data2; | ||
439 | u8 opaque_v; | ||
440 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_V 0x1UL | ||
441 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_OPAQUE_MASK 0xfeUL | ||
442 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_OPAQUE_SFT 1 | ||
443 | u8 timestamp_lo; | ||
444 | __le16 timestamp_hi; | ||
445 | __le32 event_data1; | ||
446 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_DATA1_VF_ID_MASK 0xffffUL | ||
447 | #define ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_DATA1_VF_ID_SFT 0 | ||
448 | }; | ||
449 | |||
450 | /* HWRM Asynchronous Event Completion Record for PF-VF communication status change (16 bytes) */ | ||
451 | struct hwrm_async_event_cmpl_pf_vf_comm_status_change { | ||
452 | __le16 type; | ||
453 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_MASK 0x3fUL | ||
454 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_SFT 0 | ||
455 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
456 | __le16 event_id; | ||
457 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_EVENT_ID_PF_VF_COMM_STATUS_CHANGE 0x32UL | ||
458 | __le32 event_data2; | ||
459 | u8 opaque_v; | ||
460 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_V 0x1UL | ||
461 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_OPAQUE_MASK 0xfeUL | ||
462 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_OPAQUE_SFT 1 | ||
463 | u8 timestamp_lo; | ||
464 | __le16 timestamp_hi; | ||
465 | __le32 event_data1; | ||
466 | #define ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_EVENT_DATA1_COMM_ESTABLISHED 0x1UL | ||
467 | }; | ||
468 | |||
469 | /* HWRM Asynchronous Event Completion Record for VF configuration change (16 bytes) */ | ||
470 | struct hwrm_async_event_cmpl_vf_cfg_change { | 644 | struct hwrm_async_event_cmpl_vf_cfg_change { |
471 | __le16 type; | 645 | __le16 type; |
472 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_MASK 0x3fUL | 646 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_MASK 0x3fUL |
473 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_SFT 0 | 647 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_SFT 0 |
474 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL | 648 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL |
475 | __le16 event_id; | 649 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT |
650 | __le16 event_id; | ||
476 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE 0x33UL | 651 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE 0x33UL |
477 | __le32 event_data2; | 652 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE |
478 | u8 opaque_v; | 653 | __le32 event_data2; |
479 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_V 0x1UL | 654 | u8 opaque_v; |
480 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_MASK 0xfeUL | 655 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_V 0x1UL |
481 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_SFT 1 | 656 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_MASK 0xfeUL |
482 | u8 timestamp_lo; | 657 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_SFT 1 |
483 | __le16 timestamp_hi; | 658 | u8 timestamp_lo; |
484 | __le32 event_data1; | 659 | __le16 timestamp_hi; |
485 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MTU_CHANGE 0x1UL | 660 | __le32 event_data1; |
486 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MRU_CHANGE 0x2UL | 661 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MTU_CHANGE 0x1UL |
487 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_MAC_ADDR_CHANGE 0x4UL | 662 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MRU_CHANGE 0x2UL |
488 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_VLAN_CHANGE 0x8UL | 663 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_MAC_ADDR_CHANGE 0x4UL |
489 | }; | 664 | #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_VLAN_CHANGE 0x8UL |
490 | 665 | }; | |
491 | /* HWRM Asynchronous Event Completion Record for HWRM Error (16 bytes) */ | 666 | |
492 | struct hwrm_async_event_cmpl_hwrm_error { | 667 | /* hwrm_func_reset_input (size:192b/24B) */ |
493 | __le16 type; | ||
494 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_MASK 0x3fUL | ||
495 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_SFT 0 | ||
496 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_TYPE_HWRM_ASYNC_EVENT 0x2eUL | ||
497 | __le16 event_id; | ||
498 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_ID_HWRM_ERROR 0xffUL | ||
499 | __le32 event_data2; | ||
500 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_MASK 0xffUL | ||
501 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_SFT 0 | ||
502 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_WARNING 0x0UL | ||
503 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_NONFATAL 0x1UL | ||
504 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL 0x2UL | ||
505 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_LAST ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA2_SEVERITY_FATAL | ||
506 | u8 opaque_v; | ||
507 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_V 0x1UL | ||
508 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_MASK 0xfeUL | ||
509 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_OPAQUE_SFT 1 | ||
510 | u8 timestamp_lo; | ||
511 | __le16 timestamp_hi; | ||
512 | __le32 event_data1; | ||
513 | #define ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA1_TIMESTAMP 0x1UL | ||
514 | }; | ||
515 | |||
516 | /* hwrm_ver_get */ | ||
517 | /* Input (24 bytes) */ | ||
518 | struct hwrm_ver_get_input { | ||
519 | __le16 req_type; | ||
520 | __le16 cmpl_ring; | ||
521 | __le16 seq_id; | ||
522 | __le16 target_id; | ||
523 | __le64 resp_addr; | ||
524 | u8 hwrm_intf_maj; | ||
525 | u8 hwrm_intf_min; | ||
526 | u8 hwrm_intf_upd; | ||
527 | u8 unused_0[5]; | ||
528 | }; | ||
529 | |||
530 | /* Output (128 bytes) */ | ||
531 | struct hwrm_ver_get_output { | ||
532 | __le16 error_code; | ||
533 | __le16 req_type; | ||
534 | __le16 seq_id; | ||
535 | __le16 resp_len; | ||
536 | u8 hwrm_intf_maj; | ||
537 | u8 hwrm_intf_min; | ||
538 | u8 hwrm_intf_upd; | ||
539 | u8 hwrm_intf_rsvd; | ||
540 | u8 hwrm_fw_maj; | ||
541 | u8 hwrm_fw_min; | ||
542 | u8 hwrm_fw_bld; | ||
543 | u8 hwrm_fw_rsvd; | ||
544 | u8 mgmt_fw_maj; | ||
545 | u8 mgmt_fw_min; | ||
546 | u8 mgmt_fw_bld; | ||
547 | u8 mgmt_fw_rsvd; | ||
548 | u8 netctrl_fw_maj; | ||
549 | u8 netctrl_fw_min; | ||
550 | u8 netctrl_fw_bld; | ||
551 | u8 netctrl_fw_rsvd; | ||
552 | __le32 dev_caps_cfg; | ||
553 | #define VER_GET_RESP_DEV_CAPS_CFG_SECURE_FW_UPD_SUPPORTED 0x1UL | ||
554 | #define VER_GET_RESP_DEV_CAPS_CFG_FW_DCBX_AGENT_SUPPORTED 0x2UL | ||
555 | #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_SUPPORTED 0x4UL | ||
556 | #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_REQUIRED 0x8UL | ||
557 | u8 roce_fw_maj; | ||
558 | u8 roce_fw_min; | ||
559 | u8 roce_fw_bld; | ||
560 | u8 roce_fw_rsvd; | ||
561 | char hwrm_fw_name[16]; | ||
562 | char mgmt_fw_name[16]; | ||
563 | char netctrl_fw_name[16]; | ||
564 | __le32 reserved2[4]; | ||
565 | char roce_fw_name[16]; | ||
566 | __le16 chip_num; | ||
567 | u8 chip_rev; | ||
568 | u8 chip_metal; | ||
569 | u8 chip_bond_id; | ||
570 | u8 chip_platform_type; | ||
571 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_ASIC 0x0UL | ||
572 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_FPGA 0x1UL | ||
573 | #define VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM 0x2UL | ||
574 | __le16 max_req_win_len; | ||
575 | __le16 max_resp_len; | ||
576 | __le16 def_req_timeout; | ||
577 | u8 init_pending; | ||
578 | #define VER_GET_RESP_INIT_PENDING_DEV_NOT_RDY 0x1UL | ||
579 | u8 unused_0; | ||
580 | u8 unused_1; | ||
581 | u8 valid; | ||
582 | }; | ||
583 | |||
584 | /* hwrm_func_reset */ | ||
585 | /* Input (24 bytes) */ | ||
586 | struct hwrm_func_reset_input { | 668 | struct hwrm_func_reset_input { |
587 | __le16 req_type; | 669 | __le16 req_type; |
588 | __le16 cmpl_ring; | 670 | __le16 cmpl_ring; |
589 | __le16 seq_id; | 671 | __le16 seq_id; |
590 | __le16 target_id; | 672 | __le16 target_id; |
591 | __le64 resp_addr; | 673 | __le64 resp_addr; |
592 | __le32 enables; | 674 | __le32 enables; |
593 | #define FUNC_RESET_REQ_ENABLES_VF_ID_VALID 0x1UL | 675 | #define FUNC_RESET_REQ_ENABLES_VF_ID_VALID 0x1UL |
594 | __le16 vf_id; | 676 | __le16 vf_id; |
595 | u8 func_reset_level; | 677 | u8 func_reset_level; |
596 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETALL 0x0UL | 678 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETALL 0x0UL |
597 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETME 0x1UL | 679 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETME 0x1UL |
598 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETCHILDREN 0x2UL | 680 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETCHILDREN 0x2UL |
599 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF 0x3UL | 681 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF 0x3UL |
600 | u8 unused_0; | 682 | #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_LAST FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF |
601 | }; | 683 | u8 unused_0; |
602 | 684 | }; | |
603 | /* Output (16 bytes) */ | 685 | |
686 | /* hwrm_func_reset_output (size:128b/16B) */ | ||
604 | struct hwrm_func_reset_output { | 687 | struct hwrm_func_reset_output { |
605 | __le16 error_code; | 688 | __le16 error_code; |
606 | __le16 req_type; | 689 | __le16 req_type; |
607 | __le16 seq_id; | 690 | __le16 seq_id; |
608 | __le16 resp_len; | 691 | __le16 resp_len; |
609 | __le32 unused_0; | 692 | u8 unused_0[7]; |
610 | u8 unused_1; | 693 | u8 valid; |
611 | u8 unused_2; | 694 | }; |
612 | u8 unused_3; | 695 | |
613 | u8 valid; | 696 | /* hwrm_func_getfid_input (size:192b/24B) */ |
614 | }; | ||
615 | |||
616 | /* hwrm_func_getfid */ | ||
617 | /* Input (24 bytes) */ | ||
618 | struct hwrm_func_getfid_input { | 697 | struct hwrm_func_getfid_input { |
619 | __le16 req_type; | 698 | __le16 req_type; |
620 | __le16 cmpl_ring; | 699 | __le16 cmpl_ring; |
621 | __le16 seq_id; | 700 | __le16 seq_id; |
622 | __le16 target_id; | 701 | __le16 target_id; |
623 | __le64 resp_addr; | 702 | __le64 resp_addr; |
624 | __le32 enables; | 703 | __le32 enables; |
625 | #define FUNC_GETFID_REQ_ENABLES_PCI_ID 0x1UL | 704 | #define FUNC_GETFID_REQ_ENABLES_PCI_ID 0x1UL |
626 | __le16 pci_id; | 705 | __le16 pci_id; |
627 | __le16 unused_0; | 706 | u8 unused_0[2]; |
628 | }; | 707 | }; |
629 | 708 | ||
630 | /* Output (16 bytes) */ | 709 | /* hwrm_func_getfid_output (size:128b/16B) */ |
631 | struct hwrm_func_getfid_output { | 710 | struct hwrm_func_getfid_output { |
632 | __le16 error_code; | 711 | __le16 error_code; |
633 | __le16 req_type; | 712 | __le16 req_type; |
634 | __le16 seq_id; | 713 | __le16 seq_id; |
635 | __le16 resp_len; | 714 | __le16 resp_len; |
636 | __le16 fid; | 715 | __le16 fid; |
637 | u8 unused_0; | 716 | u8 unused_0[5]; |
638 | u8 unused_1; | 717 | u8 valid; |
639 | u8 unused_2; | 718 | }; |
640 | u8 unused_3; | 719 | |
641 | u8 unused_4; | 720 | /* hwrm_func_vf_alloc_input (size:192b/24B) */ |
642 | u8 valid; | ||
643 | }; | ||
644 | |||
645 | /* hwrm_func_vf_alloc */ | ||
646 | /* Input (24 bytes) */ | ||
647 | struct hwrm_func_vf_alloc_input { | 721 | struct hwrm_func_vf_alloc_input { |
648 | __le16 req_type; | 722 | __le16 req_type; |
649 | __le16 cmpl_ring; | 723 | __le16 cmpl_ring; |
650 | __le16 seq_id; | 724 | __le16 seq_id; |
651 | __le16 target_id; | 725 | __le16 target_id; |
652 | __le64 resp_addr; | 726 | __le64 resp_addr; |
653 | __le32 enables; | 727 | __le32 enables; |
654 | #define FUNC_VF_ALLOC_REQ_ENABLES_FIRST_VF_ID 0x1UL | 728 | #define FUNC_VF_ALLOC_REQ_ENABLES_FIRST_VF_ID 0x1UL |
655 | __le16 first_vf_id; | 729 | __le16 first_vf_id; |
656 | __le16 num_vfs; | 730 | __le16 num_vfs; |
657 | }; | 731 | }; |
658 | 732 | ||
659 | /* Output (16 bytes) */ | 733 | /* hwrm_func_vf_alloc_output (size:128b/16B) */ |
660 | struct hwrm_func_vf_alloc_output { | 734 | struct hwrm_func_vf_alloc_output { |
661 | __le16 error_code; | 735 | __le16 error_code; |
662 | __le16 req_type; | 736 | __le16 req_type; |
663 | __le16 seq_id; | 737 | __le16 seq_id; |
664 | __le16 resp_len; | 738 | __le16 resp_len; |
665 | __le16 first_vf_id; | 739 | __le16 first_vf_id; |
666 | u8 unused_0; | 740 | u8 unused_0[5]; |
667 | u8 unused_1; | 741 | u8 valid; |
668 | u8 unused_2; | 742 | }; |
669 | u8 unused_3; | 743 | |
670 | u8 unused_4; | 744 | /* hwrm_func_vf_free_input (size:192b/24B) */ |
671 | u8 valid; | ||
672 | }; | ||
673 | |||
674 | /* hwrm_func_vf_free */ | ||
675 | /* Input (24 bytes) */ | ||
676 | struct hwrm_func_vf_free_input { | 745 | struct hwrm_func_vf_free_input { |
677 | __le16 req_type; | 746 | __le16 req_type; |
678 | __le16 cmpl_ring; | 747 | __le16 cmpl_ring; |
679 | __le16 seq_id; | 748 | __le16 seq_id; |
680 | __le16 target_id; | 749 | __le16 target_id; |
681 | __le64 resp_addr; | 750 | __le64 resp_addr; |
682 | __le32 enables; | 751 | __le32 enables; |
683 | #define FUNC_VF_FREE_REQ_ENABLES_FIRST_VF_ID 0x1UL | 752 | #define FUNC_VF_FREE_REQ_ENABLES_FIRST_VF_ID 0x1UL |
684 | __le16 first_vf_id; | 753 | __le16 first_vf_id; |
685 | __le16 num_vfs; | 754 | __le16 num_vfs; |
686 | }; | 755 | }; |
687 | 756 | ||
688 | /* Output (16 bytes) */ | 757 | /* hwrm_func_vf_free_output (size:128b/16B) */ |
689 | struct hwrm_func_vf_free_output { | 758 | struct hwrm_func_vf_free_output { |
690 | __le16 error_code; | 759 | __le16 error_code; |
691 | __le16 req_type; | 760 | __le16 req_type; |
692 | __le16 seq_id; | 761 | __le16 seq_id; |
693 | __le16 resp_len; | 762 | __le16 resp_len; |
694 | __le32 unused_0; | 763 | u8 unused_0[7]; |
695 | u8 unused_1; | 764 | u8 valid; |
696 | u8 unused_2; | 765 | }; |
697 | u8 unused_3; | 766 | |
698 | u8 valid; | 767 | /* hwrm_func_vf_cfg_input (size:448b/56B) */ |
699 | }; | ||
700 | |||
701 | /* hwrm_func_vf_cfg */ | ||
702 | /* Input (32 bytes) */ | ||
703 | struct hwrm_func_vf_cfg_input { | 768 | struct hwrm_func_vf_cfg_input { |
704 | __le16 req_type; | 769 | __le16 req_type; |
705 | __le16 cmpl_ring; | 770 | __le16 cmpl_ring; |
706 | __le16 seq_id; | 771 | __le16 seq_id; |
707 | __le16 target_id; | 772 | __le16 target_id; |
708 | __le64 resp_addr; | 773 | __le64 resp_addr; |
709 | __le32 enables; | 774 | __le32 enables; |
710 | #define FUNC_VF_CFG_REQ_ENABLES_MTU 0x1UL | 775 | #define FUNC_VF_CFG_REQ_ENABLES_MTU 0x1UL |
711 | #define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN 0x2UL | 776 | #define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN 0x2UL |
712 | #define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4UL | 777 | #define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4UL |
713 | #define FUNC_VF_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x8UL | 778 | #define FUNC_VF_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x8UL |
714 | __le16 mtu; | 779 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x10UL |
715 | __le16 guest_vlan; | 780 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x20UL |
716 | __le16 async_event_cr; | 781 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_TX_RINGS 0x40UL |
717 | u8 dflt_mac_addr[6]; | 782 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_RX_RINGS 0x80UL |
718 | }; | 783 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_L2_CTXS 0x100UL |
719 | 784 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_VNICS 0x200UL | |
720 | /* Output (16 bytes) */ | 785 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x400UL |
786 | #define FUNC_VF_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x800UL | ||
787 | __le16 mtu; | ||
788 | __le16 guest_vlan; | ||
789 | __le16 async_event_cr; | ||
790 | u8 dflt_mac_addr[6]; | ||
791 | __le32 flags; | ||
792 | #define FUNC_VF_CFG_REQ_FLAGS_TX_ASSETS_TEST 0x1UL | ||
793 | #define FUNC_VF_CFG_REQ_FLAGS_RX_ASSETS_TEST 0x2UL | ||
794 | #define FUNC_VF_CFG_REQ_FLAGS_CMPL_ASSETS_TEST 0x4UL | ||
795 | #define FUNC_VF_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST 0x8UL | ||
796 | #define FUNC_VF_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST 0x10UL | ||
797 | #define FUNC_VF_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST 0x20UL | ||
798 | #define FUNC_VF_CFG_REQ_FLAGS_VNIC_ASSETS_TEST 0x40UL | ||
799 | #define FUNC_VF_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST 0x80UL | ||
800 | __le16 num_rsscos_ctxs; | ||
801 | __le16 num_cmpl_rings; | ||
802 | __le16 num_tx_rings; | ||
803 | __le16 num_rx_rings; | ||
804 | __le16 num_l2_ctxs; | ||
805 | __le16 num_vnics; | ||
806 | __le16 num_stat_ctxs; | ||
807 | __le16 num_hw_ring_grps; | ||
808 | u8 unused_0[4]; | ||
809 | }; | ||
810 | |||
811 | /* hwrm_func_vf_cfg_output (size:128b/16B) */ | ||
721 | struct hwrm_func_vf_cfg_output { | 812 | struct hwrm_func_vf_cfg_output { |
722 | __le16 error_code; | 813 | __le16 error_code; |
723 | __le16 req_type; | 814 | __le16 req_type; |
724 | __le16 seq_id; | 815 | __le16 seq_id; |
725 | __le16 resp_len; | 816 | __le16 resp_len; |
726 | __le32 unused_0; | 817 | u8 unused_0[7]; |
727 | u8 unused_1; | 818 | u8 valid; |
728 | u8 unused_2; | 819 | }; |
729 | u8 unused_3; | 820 | |
730 | u8 valid; | 821 | /* hwrm_func_qcaps_input (size:192b/24B) */ |
731 | }; | ||
732 | |||
733 | /* hwrm_func_qcaps */ | ||
734 | /* Input (24 bytes) */ | ||
735 | struct hwrm_func_qcaps_input { | 822 | struct hwrm_func_qcaps_input { |
736 | __le16 req_type; | 823 | __le16 req_type; |
737 | __le16 cmpl_ring; | 824 | __le16 cmpl_ring; |
738 | __le16 seq_id; | 825 | __le16 seq_id; |
739 | __le16 target_id; | 826 | __le16 target_id; |
740 | __le64 resp_addr; | 827 | __le64 resp_addr; |
741 | __le16 fid; | 828 | __le16 fid; |
742 | __le16 unused_0[3]; | 829 | u8 unused_0[6]; |
743 | }; | 830 | }; |
744 | 831 | ||
745 | /* Output (80 bytes) */ | 832 | /* hwrm_func_qcaps_output (size:640b/80B) */ |
746 | struct hwrm_func_qcaps_output { | 833 | struct hwrm_func_qcaps_output { |
747 | __le16 error_code; | 834 | __le16 error_code; |
748 | __le16 req_type; | 835 | __le16 req_type; |
749 | __le16 seq_id; | 836 | __le16 seq_id; |
750 | __le16 resp_len; | 837 | __le16 resp_len; |
751 | __le16 fid; | 838 | __le16 fid; |
752 | __le16 port_id; | 839 | __le16 port_id; |
753 | __le32 flags; | 840 | __le32 flags; |
754 | #define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED 0x1UL | 841 | #define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED 0x1UL |
755 | #define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING 0x2UL | 842 | #define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING 0x2UL |
756 | #define FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED 0x4UL | 843 | #define FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED 0x4UL |
757 | #define FUNC_QCAPS_RESP_FLAGS_ROCE_V1_SUPPORTED 0x8UL | 844 | #define FUNC_QCAPS_RESP_FLAGS_ROCE_V1_SUPPORTED 0x8UL |
758 | #define FUNC_QCAPS_RESP_FLAGS_ROCE_V2_SUPPORTED 0x10UL | 845 | #define FUNC_QCAPS_RESP_FLAGS_ROCE_V2_SUPPORTED 0x10UL |
759 | #define FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED 0x20UL | 846 | #define FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED 0x20UL |
760 | #define FUNC_QCAPS_RESP_FLAGS_WOL_BMP_SUPPORTED 0x40UL | 847 | #define FUNC_QCAPS_RESP_FLAGS_WOL_BMP_SUPPORTED 0x40UL |
761 | #define FUNC_QCAPS_RESP_FLAGS_TX_RING_RL_SUPPORTED 0x80UL | 848 | #define FUNC_QCAPS_RESP_FLAGS_TX_RING_RL_SUPPORTED 0x80UL |
762 | #define FUNC_QCAPS_RESP_FLAGS_TX_BW_CFG_SUPPORTED 0x100UL | 849 | #define FUNC_QCAPS_RESP_FLAGS_TX_BW_CFG_SUPPORTED 0x100UL |
763 | #define FUNC_QCAPS_RESP_FLAGS_VF_TX_RING_RL_SUPPORTED 0x200UL | 850 | #define FUNC_QCAPS_RESP_FLAGS_VF_TX_RING_RL_SUPPORTED 0x200UL |
764 | #define FUNC_QCAPS_RESP_FLAGS_VF_BW_CFG_SUPPORTED 0x400UL | 851 | #define FUNC_QCAPS_RESP_FLAGS_VF_BW_CFG_SUPPORTED 0x400UL |
765 | #define FUNC_QCAPS_RESP_FLAGS_STD_TX_RING_MODE_SUPPORTED 0x800UL | 852 | #define FUNC_QCAPS_RESP_FLAGS_STD_TX_RING_MODE_SUPPORTED 0x800UL |
766 | u8 mac_address[6]; | 853 | #define FUNC_QCAPS_RESP_FLAGS_GENEVE_TUN_FLAGS_SUPPORTED 0x1000UL |
767 | __le16 max_rsscos_ctx; | 854 | #define FUNC_QCAPS_RESP_FLAGS_NVGRE_TUN_FLAGS_SUPPORTED 0x2000UL |
768 | __le16 max_cmpl_rings; | 855 | #define FUNC_QCAPS_RESP_FLAGS_GRE_TUN_FLAGS_SUPPORTED 0x4000UL |
769 | __le16 max_tx_rings; | 856 | #define FUNC_QCAPS_RESP_FLAGS_MPLS_TUN_FLAGS_SUPPORTED 0x8000UL |
770 | __le16 max_rx_rings; | 857 | u8 mac_address[6]; |
771 | __le16 max_l2_ctxs; | 858 | __le16 max_rsscos_ctx; |
772 | __le16 max_vnics; | 859 | __le16 max_cmpl_rings; |
773 | __le16 first_vf_id; | 860 | __le16 max_tx_rings; |
774 | __le16 max_vfs; | 861 | __le16 max_rx_rings; |
775 | __le16 max_stat_ctx; | 862 | __le16 max_l2_ctxs; |
776 | __le32 max_encap_records; | 863 | __le16 max_vnics; |
777 | __le32 max_decap_records; | 864 | __le16 first_vf_id; |
778 | __le32 max_tx_em_flows; | 865 | __le16 max_vfs; |
779 | __le32 max_tx_wm_flows; | 866 | __le16 max_stat_ctx; |
780 | __le32 max_rx_em_flows; | 867 | __le32 max_encap_records; |
781 | __le32 max_rx_wm_flows; | 868 | __le32 max_decap_records; |
782 | __le32 max_mcast_filters; | 869 | __le32 max_tx_em_flows; |
783 | __le32 max_flow_id; | 870 | __le32 max_tx_wm_flows; |
784 | __le32 max_hw_ring_grps; | 871 | __le32 max_rx_em_flows; |
785 | __le16 max_sp_tx_rings; | 872 | __le32 max_rx_wm_flows; |
786 | u8 unused_0; | 873 | __le32 max_mcast_filters; |
787 | u8 valid; | 874 | __le32 max_flow_id; |
788 | }; | 875 | __le32 max_hw_ring_grps; |
789 | 876 | __le16 max_sp_tx_rings; | |
790 | /* hwrm_func_qcfg */ | 877 | u8 unused_0; |
791 | /* Input (24 bytes) */ | 878 | u8 valid; |
879 | }; | ||
880 | |||
881 | /* hwrm_func_qcfg_input (size:192b/24B) */ | ||
792 | struct hwrm_func_qcfg_input { | 882 | struct hwrm_func_qcfg_input { |
793 | __le16 req_type; | 883 | __le16 req_type; |
794 | __le16 cmpl_ring; | 884 | __le16 cmpl_ring; |
795 | __le16 seq_id; | 885 | __le16 seq_id; |
796 | __le16 target_id; | 886 | __le16 target_id; |
797 | __le64 resp_addr; | 887 | __le64 resp_addr; |
798 | __le16 fid; | 888 | __le16 fid; |
799 | __le16 unused_0[3]; | 889 | u8 unused_0[6]; |
800 | }; | 890 | }; |
801 | 891 | ||
802 | /* Output (72 bytes) */ | 892 | /* hwrm_func_qcfg_output (size:640b/80B) */ |
803 | struct hwrm_func_qcfg_output { | 893 | struct hwrm_func_qcfg_output { |
804 | __le16 error_code; | 894 | __le16 error_code; |
805 | __le16 req_type; | 895 | __le16 req_type; |
806 | __le16 seq_id; | 896 | __le16 seq_id; |
807 | __le16 resp_len; | 897 | __le16 resp_len; |
808 | __le16 fid; | 898 | __le16 fid; |
809 | __le16 port_id; | 899 | __le16 port_id; |
810 | __le16 vlan; | 900 | __le16 vlan; |
811 | __le16 flags; | 901 | __le16 flags; |
812 | #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_MAGICPKT_ENABLED 0x1UL | 902 | #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_MAGICPKT_ENABLED 0x1UL |
813 | #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_BMP_ENABLED 0x2UL | 903 | #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_BMP_ENABLED 0x2UL |
814 | #define FUNC_QCFG_RESP_FLAGS_FW_DCBX_AGENT_ENABLED 0x4UL | 904 | #define FUNC_QCFG_RESP_FLAGS_FW_DCBX_AGENT_ENABLED 0x4UL |
815 | #define FUNC_QCFG_RESP_FLAGS_STD_TX_RING_MODE_ENABLED 0x8UL | 905 | #define FUNC_QCFG_RESP_FLAGS_STD_TX_RING_MODE_ENABLED 0x8UL |
816 | #define FUNC_QCFG_RESP_FLAGS_FW_LLDP_AGENT_ENABLED 0x10UL | 906 | #define FUNC_QCFG_RESP_FLAGS_FW_LLDP_AGENT_ENABLED 0x10UL |
817 | #define FUNC_QCFG_RESP_FLAGS_MULTI_HOST 0x20UL | 907 | #define FUNC_QCFG_RESP_FLAGS_MULTI_HOST 0x20UL |
818 | u8 mac_address[6]; | 908 | u8 mac_address[6]; |
819 | __le16 pci_id; | 909 | __le16 pci_id; |
820 | __le16 alloc_rsscos_ctx; | 910 | __le16 alloc_rsscos_ctx; |
821 | __le16 alloc_cmpl_rings; | 911 | __le16 alloc_cmpl_rings; |
822 | __le16 alloc_tx_rings; | 912 | __le16 alloc_tx_rings; |
823 | __le16 alloc_rx_rings; | 913 | __le16 alloc_rx_rings; |
824 | __le16 alloc_l2_ctx; | 914 | __le16 alloc_l2_ctx; |
825 | __le16 alloc_vnics; | 915 | __le16 alloc_vnics; |
826 | __le16 mtu; | 916 | __le16 mtu; |
827 | __le16 mru; | 917 | __le16 mru; |
828 | __le16 stat_ctx_id; | 918 | __le16 stat_ctx_id; |
829 | u8 port_partition_type; | 919 | u8 port_partition_type; |
830 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_SPF 0x0UL | 920 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_SPF 0x0UL |
831 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_MPFS 0x1UL | 921 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_MPFS 0x1UL |
832 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0 0x2UL | 922 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0 0x2UL |
833 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5 0x3UL | 923 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5 0x3UL |
834 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0 0x4UL | 924 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0 0x4UL |
835 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN 0xffUL | 925 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN 0xffUL |
836 | u8 port_pf_cnt; | 926 | #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_LAST FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN |
837 | #define FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL 0x0UL | 927 | u8 port_pf_cnt; |
838 | __le16 dflt_vnic_id; | 928 | #define FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL 0x0UL |
839 | __le16 max_mtu_configured; | 929 | #define FUNC_QCFG_RESP_PORT_PF_CNT_LAST FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL |
840 | __le32 min_bw; | 930 | __le16 dflt_vnic_id; |
841 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 931 | __le16 max_mtu_configured; |
842 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_SFT 0 | 932 | __le32 min_bw; |
843 | #define FUNC_QCFG_RESP_MIN_BW_SCALE 0x10000000UL | 933 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
844 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_BITS (0x0UL << 28) | 934 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_SFT 0 |
845 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES (0x1UL << 28) | 935 | #define FUNC_QCFG_RESP_MIN_BW_SCALE 0x10000000UL |
846 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_LAST FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES | 936 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_BITS (0x0UL << 28) |
847 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 937 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES (0x1UL << 28) |
848 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_SFT 29 | 938 | #define FUNC_QCFG_RESP_MIN_BW_SCALE_LAST FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES |
849 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 939 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
850 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 940 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_SFT 29 |
851 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 941 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
852 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 942 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
943 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | ||
944 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | ||
853 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 945 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
854 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 946 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
855 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID | 947 | #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID |
856 | __le32 max_bw; | 948 | __le32 max_bw; |
857 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 949 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
858 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_SFT 0 | 950 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_SFT 0 |
859 | #define FUNC_QCFG_RESP_MAX_BW_SCALE 0x10000000UL | 951 | #define FUNC_QCFG_RESP_MAX_BW_SCALE 0x10000000UL |
860 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_BITS (0x0UL << 28) | 952 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_BITS (0x0UL << 28) |
861 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES (0x1UL << 28) | 953 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES (0x1UL << 28) |
862 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_LAST FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES | 954 | #define FUNC_QCFG_RESP_MAX_BW_SCALE_LAST FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES |
863 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 955 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
864 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_SFT 29 | 956 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_SFT 29 |
865 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 957 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
866 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 958 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
867 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 959 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
868 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 960 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
869 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 961 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
870 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 962 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
871 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID | 963 | #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID |
872 | u8 evb_mode; | 964 | u8 evb_mode; |
873 | #define FUNC_QCFG_RESP_EVB_MODE_NO_EVB 0x0UL | 965 | #define FUNC_QCFG_RESP_EVB_MODE_NO_EVB 0x0UL |
874 | #define FUNC_QCFG_RESP_EVB_MODE_VEB 0x1UL | 966 | #define FUNC_QCFG_RESP_EVB_MODE_VEB 0x1UL |
875 | #define FUNC_QCFG_RESP_EVB_MODE_VEPA 0x2UL | 967 | #define FUNC_QCFG_RESP_EVB_MODE_VEPA 0x2UL |
876 | u8 unused_0; | 968 | #define FUNC_QCFG_RESP_EVB_MODE_LAST FUNC_QCFG_RESP_EVB_MODE_VEPA |
877 | __le16 alloc_vfs; | 969 | u8 cache_linesize; |
878 | __le32 alloc_mcast_filters; | 970 | #define FUNC_QCFG_RESP_CACHE_LINESIZE_CACHE_LINESIZE_64 0x0UL |
879 | __le32 alloc_hw_ring_grps; | 971 | #define FUNC_QCFG_RESP_CACHE_LINESIZE_CACHE_LINESIZE_128 0x1UL |
880 | __le16 alloc_sp_tx_rings; | 972 | #define FUNC_QCFG_RESP_CACHE_LINESIZE_LAST FUNC_QCFG_RESP_CACHE_LINESIZE_CACHE_LINESIZE_128 |
881 | u8 unused_1; | 973 | __le16 alloc_vfs; |
882 | u8 valid; | 974 | __le32 alloc_mcast_filters; |
883 | }; | 975 | __le32 alloc_hw_ring_grps; |
884 | 976 | __le16 alloc_sp_tx_rings; | |
885 | /* hwrm_func_vlan_cfg */ | 977 | __le16 alloc_stat_ctx; |
886 | /* Input (48 bytes) */ | 978 | u8 unused_2[7]; |
979 | u8 valid; | ||
980 | }; | ||
981 | |||
982 | /* hwrm_func_vlan_cfg_input (size:384b/48B) */ | ||
887 | struct hwrm_func_vlan_cfg_input { | 983 | struct hwrm_func_vlan_cfg_input { |
888 | __le16 req_type; | 984 | __le16 req_type; |
889 | __le16 cmpl_ring; | 985 | __le16 cmpl_ring; |
890 | __le16 seq_id; | 986 | __le16 seq_id; |
891 | __le16 target_id; | 987 | __le16 target_id; |
892 | __le64 resp_addr; | 988 | __le64 resp_addr; |
893 | __le16 fid; | 989 | __le16 fid; |
894 | u8 unused_0; | 990 | u8 unused_0[2]; |
895 | u8 unused_1; | 991 | __le32 enables; |
896 | __le32 enables; | 992 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_VID 0x1UL |
897 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_VID 0x1UL | 993 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_VID 0x2UL |
898 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_VID 0x2UL | 994 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_PCP 0x4UL |
899 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_PCP 0x4UL | 995 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_PCP 0x8UL |
900 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_PCP 0x8UL | 996 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_TPID 0x10UL |
901 | #define FUNC_VLAN_CFG_REQ_ENABLES_STAG_TPID 0x10UL | 997 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_TPID 0x20UL |
902 | #define FUNC_VLAN_CFG_REQ_ENABLES_CTAG_TPID 0x20UL | 998 | __le16 stag_vid; |
903 | __le16 stag_vid; | 999 | u8 stag_pcp; |
904 | u8 stag_pcp; | 1000 | u8 unused_1; |
905 | u8 unused_2; | 1001 | __be16 stag_tpid; |
906 | __be16 stag_tpid; | 1002 | __le16 ctag_vid; |
907 | __le16 ctag_vid; | 1003 | u8 ctag_pcp; |
908 | u8 ctag_pcp; | 1004 | u8 unused_2; |
909 | u8 unused_3; | 1005 | __be16 ctag_tpid; |
910 | __be16 ctag_tpid; | 1006 | __le32 rsvd1; |
911 | __le32 rsvd1; | 1007 | __le32 rsvd2; |
912 | __le32 rsvd2; | 1008 | u8 unused_3[4]; |
913 | __le32 unused_4; | 1009 | }; |
914 | }; | 1010 | |
915 | 1011 | /* hwrm_func_vlan_cfg_output (size:128b/16B) */ | |
916 | /* Output (16 bytes) */ | ||
917 | struct hwrm_func_vlan_cfg_output { | 1012 | struct hwrm_func_vlan_cfg_output { |
918 | __le16 error_code; | 1013 | __le16 error_code; |
919 | __le16 req_type; | 1014 | __le16 req_type; |
920 | __le16 seq_id; | 1015 | __le16 seq_id; |
921 | __le16 resp_len; | 1016 | __le16 resp_len; |
922 | __le32 unused_0; | 1017 | u8 unused_0[7]; |
923 | u8 unused_1; | 1018 | u8 valid; |
924 | u8 unused_2; | 1019 | }; |
925 | u8 unused_3; | 1020 | |
926 | u8 valid; | 1021 | /* hwrm_func_cfg_input (size:704b/88B) */ |
927 | }; | ||
928 | |||
929 | /* hwrm_func_cfg */ | ||
930 | /* Input (88 bytes) */ | ||
931 | struct hwrm_func_cfg_input { | 1022 | struct hwrm_func_cfg_input { |
932 | __le16 req_type; | 1023 | __le16 req_type; |
933 | __le16 cmpl_ring; | 1024 | __le16 cmpl_ring; |
934 | __le16 seq_id; | 1025 | __le16 seq_id; |
935 | __le16 target_id; | 1026 | __le16 target_id; |
936 | __le64 resp_addr; | 1027 | __le64 resp_addr; |
937 | __le16 fid; | 1028 | __le16 fid; |
938 | u8 unused_0; | 1029 | u8 unused_0[2]; |
939 | u8 unused_1; | 1030 | __le32 flags; |
940 | __le32 flags; | 1031 | #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_DISABLE 0x1UL |
941 | #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_DISABLE 0x1UL | 1032 | #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_ENABLE 0x2UL |
942 | #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_ENABLE 0x2UL | 1033 | #define FUNC_CFG_REQ_FLAGS_RSVD_MASK 0x1fcUL |
943 | #define FUNC_CFG_REQ_FLAGS_RSVD_MASK 0x1fcUL | 1034 | #define FUNC_CFG_REQ_FLAGS_RSVD_SFT 2 |
944 | #define FUNC_CFG_REQ_FLAGS_RSVD_SFT 2 | 1035 | #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_ENABLE 0x200UL |
945 | #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_ENABLE 0x200UL | 1036 | #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_DISABLE 0x400UL |
946 | #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_DISABLE 0x400UL | 1037 | #define FUNC_CFG_REQ_FLAGS_VIRT_MAC_PERSIST 0x800UL |
947 | #define FUNC_CFG_REQ_FLAGS_VIRT_MAC_PERSIST 0x800UL | 1038 | #define FUNC_CFG_REQ_FLAGS_NO_AUTOCLEAR_STATISTIC 0x1000UL |
948 | #define FUNC_CFG_REQ_FLAGS_NO_AUTOCLEAR_STATISTIC 0x1000UL | 1039 | #define FUNC_CFG_REQ_FLAGS_TX_ASSETS_TEST 0x2000UL |
949 | #define FUNC_CFG_REQ_FLAGS_TX_ASSETS_TEST 0x2000UL | 1040 | #define FUNC_CFG_REQ_FLAGS_RX_ASSETS_TEST 0x4000UL |
950 | __le32 enables; | 1041 | #define FUNC_CFG_REQ_FLAGS_CMPL_ASSETS_TEST 0x8000UL |
951 | #define FUNC_CFG_REQ_ENABLES_MTU 0x1UL | 1042 | #define FUNC_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST 0x10000UL |
952 | #define FUNC_CFG_REQ_ENABLES_MRU 0x2UL | 1043 | #define FUNC_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST 0x20000UL |
953 | #define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x4UL | 1044 | #define FUNC_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST 0x40000UL |
954 | #define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x8UL | 1045 | #define FUNC_CFG_REQ_FLAGS_VNIC_ASSETS_TEST 0x80000UL |
955 | #define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS 0x10UL | 1046 | #define FUNC_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST 0x100000UL |
956 | #define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS 0x20UL | 1047 | __le32 enables; |
957 | #define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS 0x40UL | 1048 | #define FUNC_CFG_REQ_ENABLES_MTU 0x1UL |
958 | #define FUNC_CFG_REQ_ENABLES_NUM_VNICS 0x80UL | 1049 | #define FUNC_CFG_REQ_ENABLES_MRU 0x2UL |
959 | #define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x100UL | 1050 | #define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x4UL |
960 | #define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x200UL | 1051 | #define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x8UL |
961 | #define FUNC_CFG_REQ_ENABLES_DFLT_VLAN 0x400UL | 1052 | #define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS 0x10UL |
962 | #define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR 0x800UL | 1053 | #define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS 0x20UL |
963 | #define FUNC_CFG_REQ_ENABLES_MIN_BW 0x1000UL | 1054 | #define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS 0x40UL |
964 | #define FUNC_CFG_REQ_ENABLES_MAX_BW 0x2000UL | 1055 | #define FUNC_CFG_REQ_ENABLES_NUM_VNICS 0x80UL |
965 | #define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4000UL | 1056 | #define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x100UL |
966 | #define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE 0x8000UL | 1057 | #define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x200UL |
967 | #define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS 0x10000UL | 1058 | #define FUNC_CFG_REQ_ENABLES_DFLT_VLAN 0x400UL |
968 | #define FUNC_CFG_REQ_ENABLES_EVB_MODE 0x20000UL | 1059 | #define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR 0x800UL |
969 | #define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS 0x40000UL | 1060 | #define FUNC_CFG_REQ_ENABLES_MIN_BW 0x1000UL |
970 | #define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x80000UL | 1061 | #define FUNC_CFG_REQ_ENABLES_MAX_BW 0x2000UL |
971 | __le16 mtu; | 1062 | #define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4000UL |
972 | __le16 mru; | 1063 | #define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE 0x8000UL |
973 | __le16 num_rsscos_ctxs; | 1064 | #define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS 0x10000UL |
974 | __le16 num_cmpl_rings; | 1065 | #define FUNC_CFG_REQ_ENABLES_EVB_MODE 0x20000UL |
975 | __le16 num_tx_rings; | 1066 | #define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS 0x40000UL |
976 | __le16 num_rx_rings; | 1067 | #define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x80000UL |
977 | __le16 num_l2_ctxs; | 1068 | #define FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE 0x100000UL |
978 | __le16 num_vnics; | 1069 | __le16 mtu; |
979 | __le16 num_stat_ctxs; | 1070 | __le16 mru; |
980 | __le16 num_hw_ring_grps; | 1071 | __le16 num_rsscos_ctxs; |
981 | u8 dflt_mac_addr[6]; | 1072 | __le16 num_cmpl_rings; |
982 | __le16 dflt_vlan; | 1073 | __le16 num_tx_rings; |
983 | __be32 dflt_ip_addr[4]; | 1074 | __le16 num_rx_rings; |
984 | __le32 min_bw; | 1075 | __le16 num_l2_ctxs; |
985 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 1076 | __le16 num_vnics; |
986 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_SFT 0 | 1077 | __le16 num_stat_ctxs; |
987 | #define FUNC_CFG_REQ_MIN_BW_SCALE 0x10000000UL | 1078 | __le16 num_hw_ring_grps; |
988 | #define FUNC_CFG_REQ_MIN_BW_SCALE_BITS (0x0UL << 28) | 1079 | u8 dflt_mac_addr[6]; |
989 | #define FUNC_CFG_REQ_MIN_BW_SCALE_BYTES (0x1UL << 28) | 1080 | __le16 dflt_vlan; |
990 | #define FUNC_CFG_REQ_MIN_BW_SCALE_LAST FUNC_CFG_REQ_MIN_BW_SCALE_BYTES | 1081 | __be32 dflt_ip_addr[4]; |
991 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 1082 | __le32 min_bw; |
992 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_SFT 29 | 1083 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
993 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 1084 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_SFT 0 |
994 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 1085 | #define FUNC_CFG_REQ_MIN_BW_SCALE 0x10000000UL |
995 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 1086 | #define FUNC_CFG_REQ_MIN_BW_SCALE_BITS (0x0UL << 28) |
996 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 1087 | #define FUNC_CFG_REQ_MIN_BW_SCALE_BYTES (0x1UL << 28) |
997 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 1088 | #define FUNC_CFG_REQ_MIN_BW_SCALE_LAST FUNC_CFG_REQ_MIN_BW_SCALE_BYTES |
998 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 1089 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
999 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID | 1090 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_SFT 29 |
1000 | __le32 max_bw; | 1091 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
1001 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 1092 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
1002 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_SFT 0 | 1093 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
1003 | #define FUNC_CFG_REQ_MAX_BW_SCALE 0x10000000UL | 1094 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
1004 | #define FUNC_CFG_REQ_MAX_BW_SCALE_BITS (0x0UL << 28) | 1095 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
1005 | #define FUNC_CFG_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28) | 1096 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
1006 | #define FUNC_CFG_REQ_MAX_BW_SCALE_LAST FUNC_CFG_REQ_MAX_BW_SCALE_BYTES | 1097 | #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID |
1007 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 1098 | __le32 max_bw; |
1008 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29 | 1099 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
1009 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 1100 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_SFT 0 |
1010 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 1101 | #define FUNC_CFG_REQ_MAX_BW_SCALE 0x10000000UL |
1011 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 1102 | #define FUNC_CFG_REQ_MAX_BW_SCALE_BITS (0x0UL << 28) |
1012 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 1103 | #define FUNC_CFG_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28) |
1013 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 1104 | #define FUNC_CFG_REQ_MAX_BW_SCALE_LAST FUNC_CFG_REQ_MAX_BW_SCALE_BYTES |
1014 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 1105 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
1015 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID | 1106 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29 |
1016 | __le16 async_event_cr; | 1107 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
1017 | u8 vlan_antispoof_mode; | 1108 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
1018 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_NOCHECK 0x0UL | 1109 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
1019 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_VALIDATE_VLAN 0x1UL | 1110 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
1020 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_IF_VLANDNE 0x2UL | 1111 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
1112 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | ||
1113 | #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID | ||
1114 | __le16 async_event_cr; | ||
1115 | u8 vlan_antispoof_mode; | ||
1116 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_NOCHECK 0x0UL | ||
1117 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_VALIDATE_VLAN 0x1UL | ||
1118 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_IF_VLANDNE 0x2UL | ||
1021 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN 0x3UL | 1119 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN 0x3UL |
1022 | u8 allowed_vlan_pris; | 1120 | #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_LAST FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN |
1023 | u8 evb_mode; | 1121 | u8 allowed_vlan_pris; |
1024 | #define FUNC_CFG_REQ_EVB_MODE_NO_EVB 0x0UL | 1122 | u8 evb_mode; |
1025 | #define FUNC_CFG_REQ_EVB_MODE_VEB 0x1UL | 1123 | #define FUNC_CFG_REQ_EVB_MODE_NO_EVB 0x0UL |
1026 | #define FUNC_CFG_REQ_EVB_MODE_VEPA 0x2UL | 1124 | #define FUNC_CFG_REQ_EVB_MODE_VEB 0x1UL |
1027 | u8 unused_2; | 1125 | #define FUNC_CFG_REQ_EVB_MODE_VEPA 0x2UL |
1028 | __le16 num_mcast_filters; | 1126 | #define FUNC_CFG_REQ_EVB_MODE_LAST FUNC_CFG_REQ_EVB_MODE_VEPA |
1127 | u8 cache_linesize; | ||
1128 | #define FUNC_CFG_REQ_CACHE_LINESIZE_CACHE_LINESIZE_64 0x0UL | ||
1129 | #define FUNC_CFG_REQ_CACHE_LINESIZE_CACHE_LINESIZE_128 0x1UL | ||
1130 | #define FUNC_CFG_REQ_CACHE_LINESIZE_LAST FUNC_CFG_REQ_CACHE_LINESIZE_CACHE_LINESIZE_128 | ||
1131 | __le16 num_mcast_filters; | ||
1132 | }; | ||
1133 | |||
1134 | /* hwrm_func_cfg_output (size:128b/16B) */ | ||
1135 | struct hwrm_func_cfg_output { | ||
1136 | __le16 error_code; | ||
1137 | __le16 req_type; | ||
1138 | __le16 seq_id; | ||
1139 | __le16 resp_len; | ||
1140 | u8 unused_0[7]; | ||
1141 | u8 valid; | ||
1029 | }; | 1142 | }; |
1030 | 1143 | ||
1031 | /* Output (16 bytes) */ | 1144 | /* hwrm_func_qstats_input (size:192b/24B) */ |
1032 | struct hwrm_func_cfg_output { | ||
1033 | __le16 error_code; | ||
1034 | __le16 req_type; | ||
1035 | __le16 seq_id; | ||
1036 | __le16 resp_len; | ||
1037 | __le32 unused_0; | ||
1038 | u8 unused_1; | ||
1039 | u8 unused_2; | ||
1040 | u8 unused_3; | ||
1041 | u8 valid; | ||
1042 | }; | ||
1043 | |||
1044 | /* hwrm_func_qstats */ | ||
1045 | /* Input (24 bytes) */ | ||
1046 | struct hwrm_func_qstats_input { | 1145 | struct hwrm_func_qstats_input { |
1047 | __le16 req_type; | 1146 | __le16 req_type; |
1048 | __le16 cmpl_ring; | 1147 | __le16 cmpl_ring; |
1049 | __le16 seq_id; | 1148 | __le16 seq_id; |
1050 | __le16 target_id; | 1149 | __le16 target_id; |
1051 | __le64 resp_addr; | 1150 | __le64 resp_addr; |
1052 | __le16 fid; | 1151 | __le16 fid; |
1053 | __le16 unused_0[3]; | 1152 | u8 unused_0[6]; |
1054 | }; | 1153 | }; |
1055 | 1154 | ||
1056 | /* Output (176 bytes) */ | 1155 | /* hwrm_func_qstats_output (size:1408b/176B) */ |
1057 | struct hwrm_func_qstats_output { | 1156 | struct hwrm_func_qstats_output { |
1058 | __le16 error_code; | 1157 | __le16 error_code; |
1059 | __le16 req_type; | 1158 | __le16 req_type; |
1060 | __le16 seq_id; | 1159 | __le16 seq_id; |
1061 | __le16 resp_len; | 1160 | __le16 resp_len; |
1062 | __le64 tx_ucast_pkts; | 1161 | __le64 tx_ucast_pkts; |
1063 | __le64 tx_mcast_pkts; | 1162 | __le64 tx_mcast_pkts; |
1064 | __le64 tx_bcast_pkts; | 1163 | __le64 tx_bcast_pkts; |
1065 | __le64 tx_discard_pkts; | 1164 | __le64 tx_discard_pkts; |
1066 | __le64 tx_drop_pkts; | 1165 | __le64 tx_drop_pkts; |
1067 | __le64 tx_ucast_bytes; | 1166 | __le64 tx_ucast_bytes; |
1068 | __le64 tx_mcast_bytes; | 1167 | __le64 tx_mcast_bytes; |
1069 | __le64 tx_bcast_bytes; | 1168 | __le64 tx_bcast_bytes; |
1070 | __le64 rx_ucast_pkts; | 1169 | __le64 rx_ucast_pkts; |
1071 | __le64 rx_mcast_pkts; | 1170 | __le64 rx_mcast_pkts; |
1072 | __le64 rx_bcast_pkts; | 1171 | __le64 rx_bcast_pkts; |
1073 | __le64 rx_discard_pkts; | 1172 | __le64 rx_discard_pkts; |
1074 | __le64 rx_drop_pkts; | 1173 | __le64 rx_drop_pkts; |
1075 | __le64 rx_ucast_bytes; | 1174 | __le64 rx_ucast_bytes; |
1076 | __le64 rx_mcast_bytes; | 1175 | __le64 rx_mcast_bytes; |
1077 | __le64 rx_bcast_bytes; | 1176 | __le64 rx_bcast_bytes; |
1078 | __le64 rx_agg_pkts; | 1177 | __le64 rx_agg_pkts; |
1079 | __le64 rx_agg_bytes; | 1178 | __le64 rx_agg_bytes; |
1080 | __le64 rx_agg_events; | 1179 | __le64 rx_agg_events; |
1081 | __le64 rx_agg_aborts; | 1180 | __le64 rx_agg_aborts; |
1082 | __le32 unused_0; | 1181 | u8 unused_0[7]; |
1083 | u8 unused_1; | 1182 | u8 valid; |
1084 | u8 unused_2; | 1183 | }; |
1085 | u8 unused_3; | 1184 | |
1086 | u8 valid; | 1185 | /* hwrm_func_clr_stats_input (size:192b/24B) */ |
1087 | }; | ||
1088 | |||
1089 | /* hwrm_func_clr_stats */ | ||
1090 | /* Input (24 bytes) */ | ||
1091 | struct hwrm_func_clr_stats_input { | 1186 | struct hwrm_func_clr_stats_input { |
1092 | __le16 req_type; | 1187 | __le16 req_type; |
1093 | __le16 cmpl_ring; | 1188 | __le16 cmpl_ring; |
1094 | __le16 seq_id; | 1189 | __le16 seq_id; |
1095 | __le16 target_id; | 1190 | __le16 target_id; |
1096 | __le64 resp_addr; | 1191 | __le64 resp_addr; |
1097 | __le16 fid; | 1192 | __le16 fid; |
1098 | __le16 unused_0[3]; | 1193 | u8 unused_0[6]; |
1099 | }; | 1194 | }; |
1100 | 1195 | ||
1101 | /* Output (16 bytes) */ | 1196 | /* hwrm_func_clr_stats_output (size:128b/16B) */ |
1102 | struct hwrm_func_clr_stats_output { | 1197 | struct hwrm_func_clr_stats_output { |
1103 | __le16 error_code; | 1198 | __le16 error_code; |
1104 | __le16 req_type; | 1199 | __le16 req_type; |
1105 | __le16 seq_id; | 1200 | __le16 seq_id; |
1106 | __le16 resp_len; | 1201 | __le16 resp_len; |
1107 | __le32 unused_0; | 1202 | u8 unused_0[7]; |
1108 | u8 unused_1; | 1203 | u8 valid; |
1109 | u8 unused_2; | 1204 | }; |
1110 | u8 unused_3; | 1205 | |
1111 | u8 valid; | 1206 | /* hwrm_func_vf_resc_free_input (size:192b/24B) */ |
1112 | }; | ||
1113 | |||
1114 | /* hwrm_func_vf_resc_free */ | ||
1115 | /* Input (24 bytes) */ | ||
1116 | struct hwrm_func_vf_resc_free_input { | 1207 | struct hwrm_func_vf_resc_free_input { |
1117 | __le16 req_type; | 1208 | __le16 req_type; |
1118 | __le16 cmpl_ring; | 1209 | __le16 cmpl_ring; |
1119 | __le16 seq_id; | 1210 | __le16 seq_id; |
1120 | __le16 target_id; | 1211 | __le16 target_id; |
1121 | __le64 resp_addr; | 1212 | __le64 resp_addr; |
1122 | __le16 vf_id; | 1213 | __le16 vf_id; |
1123 | __le16 unused_0[3]; | 1214 | u8 unused_0[6]; |
1124 | }; | 1215 | }; |
1125 | 1216 | ||
1126 | /* Output (16 bytes) */ | 1217 | /* hwrm_func_vf_resc_free_output (size:128b/16B) */ |
1127 | struct hwrm_func_vf_resc_free_output { | 1218 | struct hwrm_func_vf_resc_free_output { |
1128 | __le16 error_code; | 1219 | __le16 error_code; |
1129 | __le16 req_type; | 1220 | __le16 req_type; |
1130 | __le16 seq_id; | 1221 | __le16 seq_id; |
1131 | __le16 resp_len; | 1222 | __le16 resp_len; |
1132 | __le32 unused_0; | 1223 | u8 unused_0[7]; |
1133 | u8 unused_1; | 1224 | u8 valid; |
1134 | u8 unused_2; | 1225 | }; |
1135 | u8 unused_3; | 1226 | |
1136 | u8 valid; | 1227 | /* hwrm_func_vf_vnic_ids_query_input (size:256b/32B) */ |
1137 | }; | ||
1138 | |||
1139 | /* hwrm_func_vf_vnic_ids_query */ | ||
1140 | /* Input (32 bytes) */ | ||
1141 | struct hwrm_func_vf_vnic_ids_query_input { | 1228 | struct hwrm_func_vf_vnic_ids_query_input { |
1142 | __le16 req_type; | 1229 | __le16 req_type; |
1143 | __le16 cmpl_ring; | 1230 | __le16 cmpl_ring; |
1144 | __le16 seq_id; | 1231 | __le16 seq_id; |
1145 | __le16 target_id; | 1232 | __le16 target_id; |
1146 | __le64 resp_addr; | 1233 | __le64 resp_addr; |
1147 | __le16 vf_id; | 1234 | __le16 vf_id; |
1148 | u8 unused_0; | 1235 | u8 unused_0[2]; |
1149 | u8 unused_1; | 1236 | __le32 max_vnic_id_cnt; |
1150 | __le32 max_vnic_id_cnt; | 1237 | __le64 vnic_id_tbl_addr; |
1151 | __le64 vnic_id_tbl_addr; | 1238 | }; |
1152 | }; | 1239 | |
1153 | 1240 | /* hwrm_func_vf_vnic_ids_query_output (size:128b/16B) */ | |
1154 | /* Output (16 bytes) */ | ||
1155 | struct hwrm_func_vf_vnic_ids_query_output { | 1241 | struct hwrm_func_vf_vnic_ids_query_output { |
1156 | __le16 error_code; | 1242 | __le16 error_code; |
1157 | __le16 req_type; | 1243 | __le16 req_type; |
1158 | __le16 seq_id; | 1244 | __le16 seq_id; |
1159 | __le16 resp_len; | 1245 | __le16 resp_len; |
1160 | __le32 vnic_id_cnt; | 1246 | __le32 vnic_id_cnt; |
1161 | u8 unused_0; | 1247 | u8 unused_0[3]; |
1162 | u8 unused_1; | 1248 | u8 valid; |
1163 | u8 unused_2; | 1249 | }; |
1164 | u8 valid; | 1250 | |
1165 | }; | 1251 | /* hwrm_func_drv_rgtr_input (size:832b/104B) */ |
1166 | |||
1167 | /* hwrm_func_drv_rgtr */ | ||
1168 | /* Input (80 bytes) */ | ||
1169 | struct hwrm_func_drv_rgtr_input { | 1252 | struct hwrm_func_drv_rgtr_input { |
1170 | __le16 req_type; | 1253 | __le16 req_type; |
1171 | __le16 cmpl_ring; | 1254 | __le16 cmpl_ring; |
1172 | __le16 seq_id; | 1255 | __le16 seq_id; |
1173 | __le16 target_id; | 1256 | __le16 target_id; |
1174 | __le64 resp_addr; | 1257 | __le64 resp_addr; |
1175 | __le32 flags; | 1258 | __le32 flags; |
1176 | #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_ALL_MODE 0x1UL | 1259 | #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_ALL_MODE 0x1UL |
1177 | #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_NONE_MODE 0x2UL | 1260 | #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_NONE_MODE 0x2UL |
1178 | __le32 enables; | 1261 | __le32 enables; |
1179 | #define FUNC_DRV_RGTR_REQ_ENABLES_OS_TYPE 0x1UL | 1262 | #define FUNC_DRV_RGTR_REQ_ENABLES_OS_TYPE 0x1UL |
1180 | #define FUNC_DRV_RGTR_REQ_ENABLES_VER 0x2UL | 1263 | #define FUNC_DRV_RGTR_REQ_ENABLES_VER 0x2UL |
1181 | #define FUNC_DRV_RGTR_REQ_ENABLES_TIMESTAMP 0x4UL | 1264 | #define FUNC_DRV_RGTR_REQ_ENABLES_TIMESTAMP 0x4UL |
1182 | #define FUNC_DRV_RGTR_REQ_ENABLES_VF_REQ_FWD 0x8UL | 1265 | #define FUNC_DRV_RGTR_REQ_ENABLES_VF_REQ_FWD 0x8UL |
1183 | #define FUNC_DRV_RGTR_REQ_ENABLES_ASYNC_EVENT_FWD 0x10UL | 1266 | #define FUNC_DRV_RGTR_REQ_ENABLES_ASYNC_EVENT_FWD 0x10UL |
1184 | __le16 os_type; | 1267 | __le16 os_type; |
1185 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN 0x0UL | 1268 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN 0x0UL |
1186 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER 0x1UL | 1269 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER 0x1UL |
1187 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS 0xeUL | 1270 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS 0xeUL |
1188 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WINDOWS 0x12UL | 1271 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WINDOWS 0x12UL |
1189 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS 0x1dUL | 1272 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS 0x1dUL |
1190 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX 0x24UL | 1273 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX 0x24UL |
1191 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD 0x2aUL | 1274 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD 0x2aUL |
1192 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_ESXI 0x68UL | 1275 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_ESXI 0x68UL |
1193 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN864 0x73UL | 1276 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN864 0x73UL |
1194 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN2012R2 0x74UL | 1277 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN2012R2 0x74UL |
1195 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI 0x8000UL | 1278 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI 0x8000UL |
1196 | u8 ver_maj; | 1279 | #define FUNC_DRV_RGTR_REQ_OS_TYPE_LAST FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI |
1197 | u8 ver_min; | 1280 | u8 ver_maj; |
1198 | u8 ver_upd; | 1281 | u8 ver_min; |
1199 | u8 unused_0; | 1282 | u8 ver_upd; |
1200 | __le16 unused_1; | 1283 | u8 unused_0[3]; |
1201 | __le32 timestamp; | 1284 | __le32 timestamp; |
1202 | __le32 unused_2; | 1285 | u8 unused_1[4]; |
1203 | __le32 vf_req_fwd[8]; | 1286 | __le32 vf_req_fwd[8]; |
1204 | __le32 async_event_fwd[8]; | 1287 | __le32 async_event_fwd[8]; |
1205 | }; | 1288 | }; |
1206 | 1289 | ||
1207 | /* Output (16 bytes) */ | 1290 | /* hwrm_func_drv_rgtr_output (size:128b/16B) */ |
1208 | struct hwrm_func_drv_rgtr_output { | 1291 | struct hwrm_func_drv_rgtr_output { |
1209 | __le16 error_code; | 1292 | __le16 error_code; |
1210 | __le16 req_type; | 1293 | __le16 req_type; |
1211 | __le16 seq_id; | 1294 | __le16 seq_id; |
1212 | __le16 resp_len; | 1295 | __le16 resp_len; |
1213 | __le32 unused_0; | 1296 | u8 unused_0[7]; |
1214 | u8 unused_1; | 1297 | u8 valid; |
1215 | u8 unused_2; | 1298 | }; |
1216 | u8 unused_3; | 1299 | |
1217 | u8 valid; | 1300 | /* hwrm_func_drv_unrgtr_input (size:192b/24B) */ |
1218 | }; | ||
1219 | |||
1220 | /* hwrm_func_drv_unrgtr */ | ||
1221 | /* Input (24 bytes) */ | ||
1222 | struct hwrm_func_drv_unrgtr_input { | 1301 | struct hwrm_func_drv_unrgtr_input { |
1223 | __le16 req_type; | 1302 | __le16 req_type; |
1224 | __le16 cmpl_ring; | 1303 | __le16 cmpl_ring; |
1225 | __le16 seq_id; | 1304 | __le16 seq_id; |
1226 | __le16 target_id; | 1305 | __le16 target_id; |
1227 | __le64 resp_addr; | 1306 | __le64 resp_addr; |
1228 | __le32 flags; | 1307 | __le32 flags; |
1229 | #define FUNC_DRV_UNRGTR_REQ_FLAGS_PREPARE_FOR_SHUTDOWN 0x1UL | 1308 | #define FUNC_DRV_UNRGTR_REQ_FLAGS_PREPARE_FOR_SHUTDOWN 0x1UL |
1230 | __le32 unused_0; | 1309 | u8 unused_0[4]; |
1231 | }; | 1310 | }; |
1232 | 1311 | ||
1233 | /* Output (16 bytes) */ | 1312 | /* hwrm_func_drv_unrgtr_output (size:128b/16B) */ |
1234 | struct hwrm_func_drv_unrgtr_output { | 1313 | struct hwrm_func_drv_unrgtr_output { |
1235 | __le16 error_code; | 1314 | __le16 error_code; |
1236 | __le16 req_type; | 1315 | __le16 req_type; |
1237 | __le16 seq_id; | 1316 | __le16 seq_id; |
1238 | __le16 resp_len; | 1317 | __le16 resp_len; |
1239 | __le32 unused_0; | 1318 | u8 unused_0[7]; |
1240 | u8 unused_1; | 1319 | u8 valid; |
1241 | u8 unused_2; | 1320 | }; |
1242 | u8 unused_3; | 1321 | |
1243 | u8 valid; | 1322 | /* hwrm_func_buf_rgtr_input (size:1024b/128B) */ |
1244 | }; | ||
1245 | |||
1246 | /* hwrm_func_buf_rgtr */ | ||
1247 | /* Input (128 bytes) */ | ||
1248 | struct hwrm_func_buf_rgtr_input { | 1323 | struct hwrm_func_buf_rgtr_input { |
1249 | __le16 req_type; | 1324 | __le16 req_type; |
1250 | __le16 cmpl_ring; | 1325 | __le16 cmpl_ring; |
1251 | __le16 seq_id; | 1326 | __le16 seq_id; |
1252 | __le16 target_id; | 1327 | __le16 target_id; |
1253 | __le64 resp_addr; | 1328 | __le64 resp_addr; |
1254 | __le32 enables; | 1329 | __le32 enables; |
1255 | #define FUNC_BUF_RGTR_REQ_ENABLES_VF_ID 0x1UL | 1330 | #define FUNC_BUF_RGTR_REQ_ENABLES_VF_ID 0x1UL |
1256 | #define FUNC_BUF_RGTR_REQ_ENABLES_ERR_BUF_ADDR 0x2UL | 1331 | #define FUNC_BUF_RGTR_REQ_ENABLES_ERR_BUF_ADDR 0x2UL |
1257 | __le16 vf_id; | 1332 | __le16 vf_id; |
1258 | __le16 req_buf_num_pages; | 1333 | __le16 req_buf_num_pages; |
1259 | __le16 req_buf_page_size; | 1334 | __le16 req_buf_page_size; |
1260 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_16B 0x4UL | 1335 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_16B 0x4UL |
1261 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4K 0xcUL | 1336 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4K 0xcUL |
1262 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_8K 0xdUL | 1337 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_8K 0xdUL |
1263 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_64K 0x10UL | 1338 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_64K 0x10UL |
1264 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_2M 0x15UL | 1339 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_2M 0x15UL |
1265 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4M 0x16UL | 1340 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4M 0x16UL |
1266 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G 0x1eUL | 1341 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G 0x1eUL |
1267 | __le16 req_buf_len; | 1342 | #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_LAST FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G |
1268 | __le16 resp_buf_len; | 1343 | __le16 req_buf_len; |
1269 | u8 unused_0; | 1344 | __le16 resp_buf_len; |
1270 | u8 unused_1; | 1345 | u8 unused_0[2]; |
1271 | __le64 req_buf_page_addr0; | 1346 | __le64 req_buf_page_addr0; |
1272 | __le64 req_buf_page_addr1; | 1347 | __le64 req_buf_page_addr1; |
1273 | __le64 req_buf_page_addr2; | 1348 | __le64 req_buf_page_addr2; |
1274 | __le64 req_buf_page_addr3; | 1349 | __le64 req_buf_page_addr3; |
1275 | __le64 req_buf_page_addr4; | 1350 | __le64 req_buf_page_addr4; |
1276 | __le64 req_buf_page_addr5; | 1351 | __le64 req_buf_page_addr5; |
1277 | __le64 req_buf_page_addr6; | 1352 | __le64 req_buf_page_addr6; |
1278 | __le64 req_buf_page_addr7; | 1353 | __le64 req_buf_page_addr7; |
1279 | __le64 req_buf_page_addr8; | 1354 | __le64 req_buf_page_addr8; |
1280 | __le64 req_buf_page_addr9; | 1355 | __le64 req_buf_page_addr9; |
1281 | __le64 error_buf_addr; | 1356 | __le64 error_buf_addr; |
1282 | __le64 resp_buf_addr; | 1357 | __le64 resp_buf_addr; |
1283 | }; | 1358 | }; |
1284 | 1359 | ||
1285 | /* Output (16 bytes) */ | 1360 | /* hwrm_func_buf_rgtr_output (size:128b/16B) */ |
1286 | struct hwrm_func_buf_rgtr_output { | 1361 | struct hwrm_func_buf_rgtr_output { |
1287 | __le16 error_code; | 1362 | __le16 error_code; |
1288 | __le16 req_type; | 1363 | __le16 req_type; |
1289 | __le16 seq_id; | 1364 | __le16 seq_id; |
1290 | __le16 resp_len; | 1365 | __le16 resp_len; |
1291 | __le32 unused_0; | 1366 | u8 unused_0[7]; |
1292 | u8 unused_1; | 1367 | u8 valid; |
1293 | u8 unused_2; | 1368 | }; |
1294 | u8 unused_3; | 1369 | |
1295 | u8 valid; | 1370 | /* hwrm_func_drv_qver_input (size:192b/24B) */ |
1296 | }; | ||
1297 | |||
1298 | /* hwrm_func_drv_qver */ | ||
1299 | /* Input (24 bytes) */ | ||
1300 | struct hwrm_func_drv_qver_input { | 1371 | struct hwrm_func_drv_qver_input { |
1301 | __le16 req_type; | 1372 | __le16 req_type; |
1302 | __le16 cmpl_ring; | 1373 | __le16 cmpl_ring; |
1303 | __le16 seq_id; | 1374 | __le16 seq_id; |
1304 | __le16 target_id; | 1375 | __le16 target_id; |
1305 | __le64 resp_addr; | 1376 | __le64 resp_addr; |
1306 | __le32 reserved; | 1377 | __le32 reserved; |
1307 | __le16 fid; | 1378 | __le16 fid; |
1308 | __le16 unused_0; | 1379 | u8 unused_0[2]; |
1309 | }; | 1380 | }; |
1310 | 1381 | ||
1311 | /* Output (16 bytes) */ | 1382 | /* hwrm_func_drv_qver_output (size:128b/16B) */ |
1312 | struct hwrm_func_drv_qver_output { | 1383 | struct hwrm_func_drv_qver_output { |
1313 | __le16 error_code; | 1384 | __le16 error_code; |
1314 | __le16 req_type; | 1385 | __le16 req_type; |
1315 | __le16 seq_id; | 1386 | __le16 seq_id; |
1316 | __le16 resp_len; | 1387 | __le16 resp_len; |
1317 | __le16 os_type; | 1388 | __le16 os_type; |
1318 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN 0x0UL | 1389 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN 0x0UL |
1319 | #define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER 0x1UL | 1390 | #define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER 0x1UL |
1320 | #define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS 0xeUL | 1391 | #define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS 0xeUL |
1321 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WINDOWS 0x12UL | 1392 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WINDOWS 0x12UL |
1322 | #define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS 0x1dUL | 1393 | #define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS 0x1dUL |
1323 | #define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX 0x24UL | 1394 | #define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX 0x24UL |
1324 | #define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD 0x2aUL | 1395 | #define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD 0x2aUL |
1325 | #define FUNC_DRV_QVER_RESP_OS_TYPE_ESXI 0x68UL | 1396 | #define FUNC_DRV_QVER_RESP_OS_TYPE_ESXI 0x68UL |
1326 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN864 0x73UL | 1397 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN864 0x73UL |
1327 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN2012R2 0x74UL | 1398 | #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN2012R2 0x74UL |
1328 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UEFI 0x8000UL | 1399 | #define FUNC_DRV_QVER_RESP_OS_TYPE_UEFI 0x8000UL |
1329 | u8 ver_maj; | 1400 | #define FUNC_DRV_QVER_RESP_OS_TYPE_LAST FUNC_DRV_QVER_RESP_OS_TYPE_UEFI |
1330 | u8 ver_min; | 1401 | u8 ver_maj; |
1331 | u8 ver_upd; | 1402 | u8 ver_min; |
1332 | u8 unused_0; | 1403 | u8 ver_upd; |
1333 | u8 unused_1; | 1404 | u8 unused_0[2]; |
1334 | u8 valid; | 1405 | u8 valid; |
1335 | }; | 1406 | }; |
1336 | 1407 | ||
1337 | /* hwrm_port_phy_cfg */ | 1408 | /* hwrm_func_resource_qcaps_input (size:192b/24B) */ |
1338 | /* Input (56 bytes) */ | 1409 | struct hwrm_func_resource_qcaps_input { |
1410 | __le16 req_type; | ||
1411 | __le16 cmpl_ring; | ||
1412 | __le16 seq_id; | ||
1413 | __le16 target_id; | ||
1414 | __le64 resp_addr; | ||
1415 | __le16 fid; | ||
1416 | u8 unused_0[6]; | ||
1417 | }; | ||
1418 | |||
1419 | /* hwrm_func_resource_qcaps_output (size:384b/48B) */ | ||
1420 | struct hwrm_func_resource_qcaps_output { | ||
1421 | __le16 error_code; | ||
1422 | __le16 req_type; | ||
1423 | __le16 seq_id; | ||
1424 | __le16 resp_len; | ||
1425 | __le16 max_vfs; | ||
1426 | __le16 max_msix; | ||
1427 | __le16 vf_reservation_strategy; | ||
1428 | #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MAXIMAL 0x0UL | ||
1429 | #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL 0x1UL | ||
1430 | #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_LAST FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL | ||
1431 | __le16 min_rsscos_ctx; | ||
1432 | __le16 max_rsscos_ctx; | ||
1433 | __le16 min_cmpl_rings; | ||
1434 | __le16 max_cmpl_rings; | ||
1435 | __le16 min_tx_rings; | ||
1436 | __le16 max_tx_rings; | ||
1437 | __le16 min_rx_rings; | ||
1438 | __le16 max_rx_rings; | ||
1439 | __le16 min_l2_ctxs; | ||
1440 | __le16 max_l2_ctxs; | ||
1441 | __le16 min_vnics; | ||
1442 | __le16 max_vnics; | ||
1443 | __le16 min_stat_ctx; | ||
1444 | __le16 max_stat_ctx; | ||
1445 | __le16 min_hw_ring_grps; | ||
1446 | __le16 max_hw_ring_grps; | ||
1447 | u8 unused_0; | ||
1448 | u8 valid; | ||
1449 | }; | ||
1450 | |||
1451 | /* hwrm_func_vf_resource_cfg_input (size:448b/56B) */ | ||
1452 | struct hwrm_func_vf_resource_cfg_input { | ||
1453 | __le16 req_type; | ||
1454 | __le16 cmpl_ring; | ||
1455 | __le16 seq_id; | ||
1456 | __le16 target_id; | ||
1457 | __le64 resp_addr; | ||
1458 | __le16 vf_id; | ||
1459 | __le16 max_msix; | ||
1460 | __le16 min_rsscos_ctx; | ||
1461 | __le16 max_rsscos_ctx; | ||
1462 | __le16 min_cmpl_rings; | ||
1463 | __le16 max_cmpl_rings; | ||
1464 | __le16 min_tx_rings; | ||
1465 | __le16 max_tx_rings; | ||
1466 | __le16 min_rx_rings; | ||
1467 | __le16 max_rx_rings; | ||
1468 | __le16 min_l2_ctxs; | ||
1469 | __le16 max_l2_ctxs; | ||
1470 | __le16 min_vnics; | ||
1471 | __le16 max_vnics; | ||
1472 | __le16 min_stat_ctx; | ||
1473 | __le16 max_stat_ctx; | ||
1474 | __le16 min_hw_ring_grps; | ||
1475 | __le16 max_hw_ring_grps; | ||
1476 | u8 unused_0[4]; | ||
1477 | }; | ||
1478 | |||
1479 | /* hwrm_func_vf_resource_cfg_output (size:256b/32B) */ | ||
1480 | struct hwrm_func_vf_resource_cfg_output { | ||
1481 | __le16 error_code; | ||
1482 | __le16 req_type; | ||
1483 | __le16 seq_id; | ||
1484 | __le16 resp_len; | ||
1485 | __le16 reserved_rsscos_ctx; | ||
1486 | __le16 reserved_cmpl_rings; | ||
1487 | __le16 reserved_tx_rings; | ||
1488 | __le16 reserved_rx_rings; | ||
1489 | __le16 reserved_l2_ctxs; | ||
1490 | __le16 reserved_vnics; | ||
1491 | __le16 reserved_stat_ctx; | ||
1492 | __le16 reserved_hw_ring_grps; | ||
1493 | u8 unused_0[7]; | ||
1494 | u8 valid; | ||
1495 | }; | ||
1496 | |||
1497 | /* hwrm_port_phy_cfg_input (size:448b/56B) */ | ||
1339 | struct hwrm_port_phy_cfg_input { | 1498 | struct hwrm_port_phy_cfg_input { |
1340 | __le16 req_type; | 1499 | __le16 req_type; |
1341 | __le16 cmpl_ring; | 1500 | __le16 cmpl_ring; |
1342 | __le16 seq_id; | 1501 | __le16 seq_id; |
1343 | __le16 target_id; | 1502 | __le16 target_id; |
1344 | __le64 resp_addr; | 1503 | __le64 resp_addr; |
1345 | __le32 flags; | 1504 | __le32 flags; |
1346 | #define PORT_PHY_CFG_REQ_FLAGS_RESET_PHY 0x1UL | 1505 | #define PORT_PHY_CFG_REQ_FLAGS_RESET_PHY 0x1UL |
1347 | #define PORT_PHY_CFG_REQ_FLAGS_DEPRECATED 0x2UL | 1506 | #define PORT_PHY_CFG_REQ_FLAGS_DEPRECATED 0x2UL |
1348 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE 0x4UL | 1507 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE 0x4UL |
1349 | #define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG 0x8UL | 1508 | #define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG 0x8UL |
1350 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_ENABLE 0x10UL | 1509 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_ENABLE 0x10UL |
1351 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE 0x20UL | 1510 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE 0x20UL |
1352 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_ENABLE 0x40UL | 1511 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_ENABLE 0x40UL |
1353 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_DISABLE 0x80UL | 1512 | #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_DISABLE 0x80UL |
1354 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_ENABLE 0x100UL | 1513 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_ENABLE 0x100UL |
1355 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_DISABLE 0x200UL | 1514 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_DISABLE 0x200UL |
1356 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_ENABLE 0x400UL | 1515 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_ENABLE 0x400UL |
1357 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_DISABLE 0x800UL | 1516 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_DISABLE 0x800UL |
1358 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_ENABLE 0x1000UL | 1517 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_ENABLE 0x1000UL |
1359 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_DISABLE 0x2000UL | 1518 | #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_DISABLE 0x2000UL |
1360 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DWN 0x4000UL | 1519 | #define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DWN 0x4000UL |
1361 | __le32 enables; | 1520 | __le32 enables; |
1362 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE 0x1UL | 1521 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE 0x1UL |
1363 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX 0x2UL | 1522 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX 0x2UL |
1364 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAUSE 0x4UL | 1523 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAUSE 0x4UL |
1365 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED 0x8UL | 1524 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED 0x8UL |
1366 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK 0x10UL | 1525 | #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK 0x10UL |
1367 | #define PORT_PHY_CFG_REQ_ENABLES_WIRESPEED 0x20UL | 1526 | #define PORT_PHY_CFG_REQ_ENABLES_WIRESPEED 0x20UL |
1368 | #define PORT_PHY_CFG_REQ_ENABLES_LPBK 0x40UL | 1527 | #define PORT_PHY_CFG_REQ_ENABLES_LPBK 0x40UL |
1369 | #define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS 0x80UL | 1528 | #define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS 0x80UL |
1370 | #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE 0x100UL | 1529 | #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE 0x100UL |
1371 | #define PORT_PHY_CFG_REQ_ENABLES_EEE_LINK_SPEED_MASK 0x200UL | 1530 | #define PORT_PHY_CFG_REQ_ENABLES_EEE_LINK_SPEED_MASK 0x200UL |
1372 | #define PORT_PHY_CFG_REQ_ENABLES_TX_LPI_TIMER 0x400UL | 1531 | #define PORT_PHY_CFG_REQ_ENABLES_TX_LPI_TIMER 0x400UL |
1373 | __le16 port_id; | 1532 | __le16 port_id; |
1374 | __le16 force_link_speed; | 1533 | __le16 force_link_speed; |
1375 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB 0x1UL | 1534 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB 0x1UL |
1376 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB 0xaUL | 1535 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB 0xaUL |
1377 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2GB 0x14UL | 1536 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2GB 0x14UL |
1378 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2_5GB 0x19UL | 1537 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2_5GB 0x19UL |
1379 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10GB 0x64UL | 1538 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10GB 0x64UL |
1380 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_20GB 0xc8UL | 1539 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_20GB 0xc8UL |
1381 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB 0xfaUL | 1540 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB 0xfaUL |
1382 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB 0x190UL | 1541 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB 0x190UL |
1383 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB 0x1f4UL | 1542 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB 0x1f4UL |
1384 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100GB 0x3e8UL | 1543 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100GB 0x3e8UL |
1385 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB 0xffffUL | 1544 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB 0xffffUL |
1386 | u8 auto_mode; | 1545 | #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_LAST PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB |
1387 | #define PORT_PHY_CFG_REQ_AUTO_MODE_NONE 0x0UL | 1546 | u8 auto_mode; |
1388 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS 0x1UL | 1547 | #define PORT_PHY_CFG_REQ_AUTO_MODE_NONE 0x0UL |
1389 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED 0x2UL | 1548 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS 0x1UL |
1390 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW 0x3UL | 1549 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED 0x2UL |
1391 | #define PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK 0x4UL | 1550 | #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW 0x3UL |
1392 | u8 auto_duplex; | 1551 | #define PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK 0x4UL |
1393 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF 0x0UL | 1552 | #define PORT_PHY_CFG_REQ_AUTO_MODE_LAST PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK |
1394 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL 0x1UL | 1553 | u8 auto_duplex; |
1395 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH 0x2UL | 1554 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF 0x0UL |
1396 | u8 auto_pause; | 1555 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL 0x1UL |
1397 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX 0x1UL | 1556 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH 0x2UL |
1398 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX 0x2UL | 1557 | #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_LAST PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH |
1399 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL | 1558 | u8 auto_pause; |
1400 | u8 unused_0; | 1559 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX 0x1UL |
1401 | __le16 auto_link_speed; | 1560 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX 0x2UL |
1402 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB 0x1UL | 1561 | #define PORT_PHY_CFG_REQ_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL |
1403 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_1GB 0xaUL | 1562 | u8 unused_0; |
1404 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2GB 0x14UL | 1563 | __le16 auto_link_speed; |
1405 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2_5GB 0x19UL | 1564 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB 0x1UL |
1406 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10GB 0x64UL | 1565 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_1GB 0xaUL |
1407 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_20GB 0xc8UL | 1566 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2GB 0x14UL |
1408 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB 0xfaUL | 1567 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2_5GB 0x19UL |
1409 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB 0x190UL | 1568 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10GB 0x64UL |
1410 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB 0x1f4UL | 1569 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_20GB 0xc8UL |
1411 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100GB 0x3e8UL | 1570 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB 0xfaUL |
1412 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB 0xffffUL | 1571 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB 0x190UL |
1413 | __le16 auto_link_speed_mask; | 1572 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB 0x1f4UL |
1414 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL | 1573 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100GB 0x3e8UL |
1415 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB 0x2UL | 1574 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB 0xffffUL |
1416 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL | 1575 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_LAST PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB |
1417 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GB 0x8UL | 1576 | __le16 auto_link_speed_mask; |
1418 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2GB 0x10UL | 1577 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL |
1419 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL | 1578 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB 0x2UL |
1420 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10GB 0x40UL | 1579 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL |
1421 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_20GB 0x80UL | 1580 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GB 0x8UL |
1422 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB 0x100UL | 1581 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2GB 0x10UL |
1423 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB 0x200UL | 1582 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL |
1424 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB 0x400UL | 1583 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10GB 0x40UL |
1425 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100GB 0x800UL | 1584 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_20GB 0x80UL |
1426 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL | 1585 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB 0x100UL |
1427 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MB 0x2000UL | 1586 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB 0x200UL |
1428 | u8 wirespeed; | 1587 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB 0x400UL |
1429 | #define PORT_PHY_CFG_REQ_WIRESPEED_OFF 0x0UL | 1588 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100GB 0x800UL |
1430 | #define PORT_PHY_CFG_REQ_WIRESPEED_ON 0x1UL | 1589 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL |
1431 | u8 lpbk; | 1590 | #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MB 0x2000UL |
1432 | #define PORT_PHY_CFG_REQ_LPBK_NONE 0x0UL | 1591 | u8 wirespeed; |
1433 | #define PORT_PHY_CFG_REQ_LPBK_LOCAL 0x1UL | 1592 | #define PORT_PHY_CFG_REQ_WIRESPEED_OFF 0x0UL |
1434 | #define PORT_PHY_CFG_REQ_LPBK_REMOTE 0x2UL | 1593 | #define PORT_PHY_CFG_REQ_WIRESPEED_ON 0x1UL |
1435 | u8 force_pause; | 1594 | #define PORT_PHY_CFG_REQ_WIRESPEED_LAST PORT_PHY_CFG_REQ_WIRESPEED_ON |
1436 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_TX 0x1UL | 1595 | u8 lpbk; |
1437 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX 0x2UL | 1596 | #define PORT_PHY_CFG_REQ_LPBK_NONE 0x0UL |
1438 | u8 unused_1; | 1597 | #define PORT_PHY_CFG_REQ_LPBK_LOCAL 0x1UL |
1439 | __le32 preemphasis; | 1598 | #define PORT_PHY_CFG_REQ_LPBK_REMOTE 0x2UL |
1440 | __le16 eee_link_speed_mask; | 1599 | #define PORT_PHY_CFG_REQ_LPBK_LAST PORT_PHY_CFG_REQ_LPBK_REMOTE |
1441 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | 1600 | u8 force_pause; |
1442 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_100MB 0x2UL | 1601 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_TX 0x1UL |
1443 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | 1602 | #define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX 0x2UL |
1444 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_1GB 0x8UL | 1603 | u8 unused_1; |
1445 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | 1604 | __le32 preemphasis; |
1446 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | 1605 | __le16 eee_link_speed_mask; |
1447 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_10GB 0x40UL | 1606 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD1 0x1UL |
1448 | u8 unused_2; | 1607 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_100MB 0x2UL |
1449 | u8 unused_3; | 1608 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD2 0x4UL |
1450 | __le32 tx_lpi_timer; | 1609 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_1GB 0x8UL |
1451 | __le32 unused_4; | 1610 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD3 0x10UL |
1452 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_MASK 0xffffffUL | 1611 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD4 0x20UL |
1453 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_SFT 0 | 1612 | #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_10GB 0x40UL |
1454 | }; | 1613 | u8 unused_2[2]; |
1455 | 1614 | __le32 tx_lpi_timer; | |
1456 | /* Output (16 bytes) */ | 1615 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_MASK 0xffffffUL |
1616 | #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_SFT 0 | ||
1617 | __le32 unused_3; | ||
1618 | }; | ||
1619 | |||
1620 | /* hwrm_port_phy_cfg_output (size:128b/16B) */ | ||
1457 | struct hwrm_port_phy_cfg_output { | 1621 | struct hwrm_port_phy_cfg_output { |
1458 | __le16 error_code; | 1622 | __le16 error_code; |
1459 | __le16 req_type; | 1623 | __le16 req_type; |
1460 | __le16 seq_id; | 1624 | __le16 seq_id; |
1461 | __le16 resp_len; | 1625 | __le16 resp_len; |
1462 | __le32 unused_0; | 1626 | u8 unused_0[7]; |
1463 | u8 unused_1; | 1627 | u8 valid; |
1464 | u8 unused_2; | 1628 | }; |
1465 | u8 unused_3; | 1629 | |
1466 | u8 valid; | 1630 | /* hwrm_port_phy_qcfg_input (size:192b/24B) */ |
1467 | }; | ||
1468 | |||
1469 | /* hwrm_port_phy_qcfg */ | ||
1470 | /* Input (24 bytes) */ | ||
1471 | struct hwrm_port_phy_qcfg_input { | 1631 | struct hwrm_port_phy_qcfg_input { |
1472 | __le16 req_type; | 1632 | __le16 req_type; |
1473 | __le16 cmpl_ring; | 1633 | __le16 cmpl_ring; |
1474 | __le16 seq_id; | 1634 | __le16 seq_id; |
1475 | __le16 target_id; | 1635 | __le16 target_id; |
1476 | __le64 resp_addr; | 1636 | __le64 resp_addr; |
1477 | __le16 port_id; | 1637 | __le16 port_id; |
1478 | __le16 unused_0[3]; | 1638 | u8 unused_0[6]; |
1479 | }; | 1639 | }; |
1480 | 1640 | ||
1481 | /* Output (96 bytes) */ | 1641 | /* hwrm_port_phy_qcfg_output (size:768b/96B) */ |
1482 | struct hwrm_port_phy_qcfg_output { | 1642 | struct hwrm_port_phy_qcfg_output { |
1483 | __le16 error_code; | 1643 | __le16 error_code; |
1484 | __le16 req_type; | 1644 | __le16 req_type; |
1485 | __le16 seq_id; | 1645 | __le16 seq_id; |
1486 | __le16 resp_len; | 1646 | __le16 resp_len; |
1487 | u8 link; | 1647 | u8 link; |
1488 | #define PORT_PHY_QCFG_RESP_LINK_NO_LINK 0x0UL | 1648 | #define PORT_PHY_QCFG_RESP_LINK_NO_LINK 0x0UL |
1489 | #define PORT_PHY_QCFG_RESP_LINK_SIGNAL 0x1UL | 1649 | #define PORT_PHY_QCFG_RESP_LINK_SIGNAL 0x1UL |
1490 | #define PORT_PHY_QCFG_RESP_LINK_LINK 0x2UL | 1650 | #define PORT_PHY_QCFG_RESP_LINK_LINK 0x2UL |
1491 | u8 unused_0; | 1651 | #define PORT_PHY_QCFG_RESP_LINK_LAST PORT_PHY_QCFG_RESP_LINK_LINK |
1492 | __le16 link_speed; | 1652 | u8 unused_0; |
1493 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_100MB 0x1UL | 1653 | __le16 link_speed; |
1494 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_1GB 0xaUL | 1654 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_100MB 0x1UL |
1495 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_2GB 0x14UL | 1655 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_1GB 0xaUL |
1496 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_2_5GB 0x19UL | 1656 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_2GB 0x14UL |
1497 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_10GB 0x64UL | 1657 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_2_5GB 0x19UL |
1498 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_20GB 0xc8UL | 1658 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_10GB 0x64UL |
1499 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB 0xfaUL | 1659 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_20GB 0xc8UL |
1500 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB 0x190UL | 1660 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB 0xfaUL |
1501 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB 0x1f4UL | 1661 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB 0x190UL |
1502 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_100GB 0x3e8UL | 1662 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB 0x1f4UL |
1503 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_10MB 0xffffUL | 1663 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_100GB 0x3e8UL |
1504 | u8 duplex_cfg; | 1664 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_10MB 0xffffUL |
1505 | #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_HALF 0x0UL | 1665 | #define PORT_PHY_QCFG_RESP_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_LINK_SPEED_10MB |
1506 | #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL 0x1UL | 1666 | u8 duplex_cfg; |
1507 | u8 pause; | 1667 | #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_HALF 0x0UL |
1508 | #define PORT_PHY_QCFG_RESP_PAUSE_TX 0x1UL | 1668 | #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL 0x1UL |
1509 | #define PORT_PHY_QCFG_RESP_PAUSE_RX 0x2UL | 1669 | #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_LAST PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL |
1510 | __le16 support_speeds; | 1670 | u8 pause; |
1511 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MBHD 0x1UL | 1671 | #define PORT_PHY_QCFG_RESP_PAUSE_TX 0x1UL |
1512 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MB 0x2UL | 1672 | #define PORT_PHY_QCFG_RESP_PAUSE_RX 0x2UL |
1513 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GBHD 0x4UL | 1673 | __le16 support_speeds; |
1514 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GB 0x8UL | 1674 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MBHD 0x1UL |
1515 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2GB 0x10UL | 1675 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MB 0x2UL |
1516 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2_5GB 0x20UL | 1676 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GBHD 0x4UL |
1517 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10GB 0x40UL | 1677 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GB 0x8UL |
1518 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_20GB 0x80UL | 1678 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2GB 0x10UL |
1519 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB 0x100UL | 1679 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2_5GB 0x20UL |
1520 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB 0x200UL | 1680 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10GB 0x40UL |
1521 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB 0x400UL | 1681 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_20GB 0x80UL |
1522 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100GB 0x800UL | 1682 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB 0x100UL |
1523 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MBHD 0x1000UL | 1683 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB 0x200UL |
1524 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MB 0x2000UL | 1684 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB 0x400UL |
1525 | __le16 force_link_speed; | 1685 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100GB 0x800UL |
1526 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB 0x1UL | 1686 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MBHD 0x1000UL |
1527 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB 0xaUL | 1687 | #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MB 0x2000UL |
1528 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2GB 0x14UL | 1688 | __le16 force_link_speed; |
1529 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2_5GB 0x19UL | 1689 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB 0x1UL |
1530 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10GB 0x64UL | 1690 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB 0xaUL |
1531 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_20GB 0xc8UL | 1691 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2GB 0x14UL |
1532 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB 0xfaUL | 1692 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2_5GB 0x19UL |
1533 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB 0x190UL | 1693 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10GB 0x64UL |
1534 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB 0x1f4UL | 1694 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_20GB 0xc8UL |
1535 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100GB 0x3e8UL | 1695 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB 0xfaUL |
1536 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB 0xffffUL | 1696 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB 0x190UL |
1537 | u8 auto_mode; | 1697 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB 0x1f4UL |
1538 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE 0x0UL | 1698 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100GB 0x3e8UL |
1539 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS 0x1UL | 1699 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB 0xffffUL |
1540 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED 0x2UL | 1700 | #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB |
1541 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW 0x3UL | 1701 | u8 auto_mode; |
1542 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK 0x4UL | 1702 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE 0x0UL |
1543 | u8 auto_pause; | 1703 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS 0x1UL |
1544 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX 0x1UL | 1704 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED 0x2UL |
1545 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX 0x2UL | 1705 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW 0x3UL |
1546 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL | 1706 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK 0x4UL |
1547 | __le16 auto_link_speed; | 1707 | #define PORT_PHY_QCFG_RESP_AUTO_MODE_LAST PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK |
1548 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB 0x1UL | 1708 | u8 auto_pause; |
1549 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB 0xaUL | 1709 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX 0x1UL |
1550 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2GB 0x14UL | 1710 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX 0x2UL |
1551 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2_5GB 0x19UL | 1711 | #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL |
1552 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10GB 0x64UL | 1712 | __le16 auto_link_speed; |
1553 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_20GB 0xc8UL | 1713 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB 0x1UL |
1554 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB 0xfaUL | 1714 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB 0xaUL |
1555 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB 0x190UL | 1715 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2GB 0x14UL |
1556 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB 0x1f4UL | 1716 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2_5GB 0x19UL |
1557 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100GB 0x3e8UL | 1717 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10GB 0x64UL |
1558 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB 0xffffUL | 1718 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_20GB 0xc8UL |
1559 | __le16 auto_link_speed_mask; | 1719 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB 0xfaUL |
1560 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL | 1720 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB 0x190UL |
1561 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB 0x2UL | 1721 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB 0x1f4UL |
1562 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL | 1722 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100GB 0x3e8UL |
1563 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GB 0x8UL | 1723 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB 0xffffUL |
1564 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2GB 0x10UL | 1724 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB |
1565 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL | 1725 | __le16 auto_link_speed_mask; |
1566 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10GB 0x40UL | 1726 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL |
1567 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_20GB 0x80UL | 1727 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB 0x2UL |
1568 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB 0x100UL | 1728 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL |
1569 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB 0x200UL | 1729 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GB 0x8UL |
1570 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB 0x400UL | 1730 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2GB 0x10UL |
1571 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100GB 0x800UL | 1731 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL |
1572 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL | 1732 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10GB 0x40UL |
1573 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MB 0x2000UL | 1733 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_20GB 0x80UL |
1574 | u8 wirespeed; | 1734 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB 0x100UL |
1575 | #define PORT_PHY_QCFG_RESP_WIRESPEED_OFF 0x0UL | 1735 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB 0x200UL |
1576 | #define PORT_PHY_QCFG_RESP_WIRESPEED_ON 0x1UL | 1736 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB 0x400UL |
1577 | u8 lpbk; | 1737 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100GB 0x800UL |
1578 | #define PORT_PHY_QCFG_RESP_LPBK_NONE 0x0UL | 1738 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL |
1579 | #define PORT_PHY_QCFG_RESP_LPBK_LOCAL 0x1UL | 1739 | #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MB 0x2000UL |
1580 | #define PORT_PHY_QCFG_RESP_LPBK_REMOTE 0x2UL | 1740 | u8 wirespeed; |
1581 | u8 force_pause; | 1741 | #define PORT_PHY_QCFG_RESP_WIRESPEED_OFF 0x0UL |
1582 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX 0x1UL | 1742 | #define PORT_PHY_QCFG_RESP_WIRESPEED_ON 0x1UL |
1583 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX 0x2UL | 1743 | #define PORT_PHY_QCFG_RESP_WIRESPEED_LAST PORT_PHY_QCFG_RESP_WIRESPEED_ON |
1584 | u8 module_status; | 1744 | u8 lpbk; |
1585 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NONE 0x0UL | 1745 | #define PORT_PHY_QCFG_RESP_LPBK_NONE 0x0UL |
1586 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_DISABLETX 0x1UL | 1746 | #define PORT_PHY_QCFG_RESP_LPBK_LOCAL 0x1UL |
1587 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_WARNINGMSG 0x2UL | 1747 | #define PORT_PHY_QCFG_RESP_LPBK_REMOTE 0x2UL |
1588 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_PWRDOWN 0x3UL | 1748 | #define PORT_PHY_QCFG_RESP_LPBK_LAST PORT_PHY_QCFG_RESP_LPBK_REMOTE |
1589 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTINSERTED 0x4UL | 1749 | u8 force_pause; |
1590 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE 0xffUL | 1750 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX 0x1UL |
1591 | __le32 preemphasis; | 1751 | #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX 0x2UL |
1592 | u8 phy_maj; | 1752 | u8 module_status; |
1593 | u8 phy_min; | 1753 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NONE 0x0UL |
1594 | u8 phy_bld; | 1754 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_DISABLETX 0x1UL |
1595 | u8 phy_type; | 1755 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_WARNINGMSG 0x2UL |
1596 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_UNKNOWN 0x0UL | 1756 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_PWRDOWN 0x3UL |
1597 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR 0x1UL | 1757 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTINSERTED 0x4UL |
1598 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4 0x2UL | 1758 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE 0xffUL |
1599 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR 0x3UL | 1759 | #define PORT_PHY_QCFG_RESP_MODULE_STATUS_LAST PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE |
1600 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR 0x4UL | 1760 | __le32 preemphasis; |
1601 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2 0x5UL | 1761 | u8 phy_maj; |
1602 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX 0x6UL | 1762 | u8 phy_min; |
1603 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR 0x7UL | 1763 | u8 phy_bld; |
1604 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET 0x8UL | 1764 | u8 phy_type; |
1605 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE 0x9UL | 1765 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_UNKNOWN 0x0UL |
1606 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_SGMIIEXTPHY 0xaUL | 1766 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR 0x1UL |
1607 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_L 0xbUL | 1767 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4 0x2UL |
1608 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_S 0xcUL | 1768 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR 0x3UL |
1609 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_N 0xdUL | 1769 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR 0x4UL |
1610 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASESR 0xeUL | 1770 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2 0x5UL |
1611 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR4 0xfUL | 1771 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX 0x6UL |
1612 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR4 0x10UL | 1772 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR 0x7UL |
1613 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR4 0x11UL | 1773 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET 0x8UL |
1614 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER4 0x12UL | 1774 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE 0x9UL |
1615 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR10 0x13UL | 1775 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_SGMIIEXTPHY 0xaUL |
1616 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASECR4 0x14UL | 1776 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_L 0xbUL |
1617 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASESR4 0x15UL | 1777 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_S 0xcUL |
1618 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASELR4 0x16UL | 1778 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_N 0xdUL |
1619 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASEER4 0x17UL | 1779 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASESR 0xeUL |
1620 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_ACTIVE_CABLE 0x18UL | 1780 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR4 0xfUL |
1621 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASET 0x19UL | 1781 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR4 0x10UL |
1622 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASESX 0x1aUL | 1782 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR4 0x11UL |
1623 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASECX 0x1bUL | 1783 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER4 0x12UL |
1624 | u8 media_type; | 1784 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR10 0x13UL |
1625 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN 0x0UL | 1785 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASECR4 0x14UL |
1626 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP 0x1UL | 1786 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASESR4 0x15UL |
1627 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC 0x2UL | 1787 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASELR4 0x16UL |
1628 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE 0x3UL | 1788 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASEER4 0x17UL |
1629 | u8 xcvr_pkg_type; | 1789 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_ACTIVE_CABLE 0x18UL |
1630 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL 0x1UL | 1790 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASET 0x19UL |
1631 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL 0x2UL | 1791 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASESX 0x1aUL |
1632 | u8 eee_config_phy_addr; | 1792 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASECX 0x1bUL |
1633 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK 0x1fUL | 1793 | #define PORT_PHY_QCFG_RESP_PHY_TYPE_LAST PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASECX |
1634 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT 0 | 1794 | u8 media_type; |
1635 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ENABLED 0x20UL | 1795 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN 0x0UL |
1636 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ACTIVE 0x40UL | 1796 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP 0x1UL |
1637 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_TX_LPI 0x80UL | 1797 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC 0x2UL |
1638 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_MASK 0xe0UL | 1798 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE 0x3UL |
1639 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_SFT 5 | 1799 | #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_LAST PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE |
1640 | u8 parallel_detect; | 1800 | u8 xcvr_pkg_type; |
1641 | #define PORT_PHY_QCFG_RESP_PARALLEL_DETECT 0x1UL | 1801 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL 0x1UL |
1642 | #define PORT_PHY_QCFG_RESP_RESERVED_MASK 0xfeUL | 1802 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL 0x2UL |
1643 | #define PORT_PHY_QCFG_RESP_RESERVED_SFT 1 | 1803 | #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_LAST PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL |
1644 | __le16 link_partner_adv_speeds; | 1804 | u8 eee_config_phy_addr; |
1645 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD 0x1UL | 1805 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK 0x1fUL |
1646 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB 0x2UL | 1806 | #define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT 0 |
1647 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GBHD 0x4UL | 1807 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_MASK 0xe0UL |
1648 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GB 0x8UL | 1808 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_SFT 5 |
1649 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2GB 0x10UL | 1809 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ENABLED 0x20UL |
1650 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2_5GB 0x20UL | 1810 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ACTIVE 0x40UL |
1651 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10GB 0x40UL | 1811 | #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_TX_LPI 0x80UL |
1652 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_20GB 0x80UL | 1812 | u8 parallel_detect; |
1653 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB 0x100UL | 1813 | #define PORT_PHY_QCFG_RESP_PARALLEL_DETECT 0x1UL |
1654 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB 0x200UL | 1814 | __le16 link_partner_adv_speeds; |
1655 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB 0x400UL | 1815 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD 0x1UL |
1656 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100GB 0x800UL | 1816 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB 0x2UL |
1657 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MBHD 0x1000UL | 1817 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GBHD 0x4UL |
1658 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MB 0x2000UL | 1818 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GB 0x8UL |
1659 | u8 link_partner_adv_auto_mode; | 1819 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2GB 0x10UL |
1660 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE 0x0UL | 1820 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2_5GB 0x20UL |
1661 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS 0x1UL | 1821 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10GB 0x40UL |
1662 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED 0x2UL | 1822 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_20GB 0x80UL |
1823 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB 0x100UL | ||
1824 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB 0x200UL | ||
1825 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB 0x400UL | ||
1826 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100GB 0x800UL | ||
1827 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MBHD 0x1000UL | ||
1828 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MB 0x2000UL | ||
1829 | u8 link_partner_adv_auto_mode; | ||
1830 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE 0x0UL | ||
1831 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS 0x1UL | ||
1832 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED 0x2UL | ||
1663 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW 0x3UL | 1833 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW 0x3UL |
1664 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK 0x4UL | 1834 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK 0x4UL |
1665 | u8 link_partner_adv_pause; | 1835 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_LAST PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK |
1666 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX 0x1UL | 1836 | u8 link_partner_adv_pause; |
1667 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX 0x2UL | 1837 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX 0x1UL |
1668 | __le16 adv_eee_link_speed_mask; | 1838 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX 0x2UL |
1669 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | 1839 | __le16 adv_eee_link_speed_mask; |
1670 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL | 1840 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL |
1671 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | 1841 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL |
1672 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL | 1842 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL |
1673 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | 1843 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL |
1674 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | 1844 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL |
1675 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL | 1845 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL |
1676 | __le16 link_partner_adv_eee_link_speed_mask; | 1846 | #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL |
1677 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL | 1847 | __le16 link_partner_adv_eee_link_speed_mask; |
1678 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL | 1848 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL |
1679 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL | 1849 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL |
1680 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL | 1850 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL |
1681 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL | 1851 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL |
1682 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL | 1852 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL |
1683 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL | 1853 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL |
1684 | __le32 xcvr_identifier_type_tx_lpi_timer; | 1854 | #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL |
1685 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_MASK 0xffffffUL | 1855 | __le32 xcvr_identifier_type_tx_lpi_timer; |
1686 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_SFT 0 | 1856 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_MASK 0xffffffUL |
1687 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_MASK 0xff000000UL | 1857 | #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_SFT 0 |
1688 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFT 24 | 1858 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_MASK 0xff000000UL |
1859 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFT 24 | ||
1689 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_UNKNOWN (0x0UL << 24) | 1860 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_UNKNOWN (0x0UL << 24) |
1690 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFP (0x3UL << 24) | 1861 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFP (0x3UL << 24) |
1691 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP (0xcUL << 24) | 1862 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP (0xcUL << 24) |
1692 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPPLUS (0xdUL << 24) | 1863 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPPLUS (0xdUL << 24) |
1693 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28 (0x11UL << 24) | 1864 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28 (0x11UL << 24) |
1694 | __le16 fec_cfg; | 1865 | #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_LAST PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28 |
1695 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_NONE_SUPPORTED 0x1UL | 1866 | __le16 fec_cfg; |
1696 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_SUPPORTED 0x2UL | 1867 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_NONE_SUPPORTED 0x1UL |
1697 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_ENABLED 0x4UL | 1868 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_SUPPORTED 0x2UL |
1698 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_SUPPORTED 0x8UL | 1869 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_ENABLED 0x4UL |
1699 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_ENABLED 0x10UL | 1870 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_SUPPORTED 0x8UL |
1700 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_SUPPORTED 0x20UL | 1871 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_ENABLED 0x10UL |
1701 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_ENABLED 0x40UL | 1872 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_SUPPORTED 0x20UL |
1702 | u8 duplex_state; | 1873 | #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_ENABLED 0x40UL |
1703 | #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_HALF 0x0UL | 1874 | u8 duplex_state; |
1704 | #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL 0x1UL | 1875 | #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_HALF 0x0UL |
1705 | u8 unused_1; | 1876 | #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL 0x1UL |
1706 | char phy_vendor_name[16]; | 1877 | #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_LAST PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL |
1707 | char phy_vendor_partnumber[16]; | 1878 | u8 option_flags; |
1708 | __le32 unused_2; | 1879 | #define PORT_PHY_QCFG_RESP_OPTION_FLAGS_MEDIA_AUTO_DETECT 0x1UL |
1709 | u8 unused_3; | 1880 | char phy_vendor_name[16]; |
1710 | u8 unused_4; | 1881 | char phy_vendor_partnumber[16]; |
1711 | u8 unused_5; | 1882 | u8 unused_2[7]; |
1712 | u8 valid; | 1883 | u8 valid; |
1713 | }; | 1884 | }; |
1714 | 1885 | ||
1715 | /* hwrm_port_mac_cfg */ | 1886 | /* hwrm_port_mac_cfg_input (size:320b/40B) */ |
1716 | /* Input (40 bytes) */ | ||
1717 | struct hwrm_port_mac_cfg_input { | 1887 | struct hwrm_port_mac_cfg_input { |
1718 | __le16 req_type; | 1888 | __le16 req_type; |
1719 | __le16 cmpl_ring; | 1889 | __le16 cmpl_ring; |
1720 | __le16 seq_id; | 1890 | __le16 seq_id; |
1721 | __le16 target_id; | 1891 | __le16 target_id; |
1722 | __le64 resp_addr; | 1892 | __le64 resp_addr; |
1723 | __le32 flags; | 1893 | __le32 flags; |
1724 | #define PORT_MAC_CFG_REQ_FLAGS_MATCH_LINK 0x1UL | 1894 | #define PORT_MAC_CFG_REQ_FLAGS_MATCH_LINK 0x1UL |
1725 | #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_ENABLE 0x2UL | 1895 | #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_ENABLE 0x2UL |
1726 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE 0x4UL | 1896 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE 0x4UL |
1727 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE 0x8UL | 1897 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE 0x8UL |
1728 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_ENABLE 0x10UL | 1898 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_ENABLE 0x10UL |
1729 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE 0x20UL | 1899 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE 0x20UL |
1730 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_ENABLE 0x40UL | 1900 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_ENABLE 0x40UL |
1731 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_DISABLE 0x80UL | 1901 | #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_DISABLE 0x80UL |
1732 | #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_ENABLE 0x100UL | 1902 | #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_ENABLE 0x100UL |
1733 | #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_DISABLE 0x200UL | 1903 | #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_DISABLE 0x200UL |
1734 | #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_DISABLE 0x400UL | 1904 | #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_DISABLE 0x400UL |
1735 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_DISABLE 0x800UL | 1905 | #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_DISABLE 0x800UL |
1736 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_DISABLE 0x1000UL | 1906 | #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_DISABLE 0x1000UL |
1737 | __le32 enables; | 1907 | __le32 enables; |
1738 | #define PORT_MAC_CFG_REQ_ENABLES_IPG 0x1UL | 1908 | #define PORT_MAC_CFG_REQ_ENABLES_IPG 0x1UL |
1739 | #define PORT_MAC_CFG_REQ_ENABLES_LPBK 0x2UL | 1909 | #define PORT_MAC_CFG_REQ_ENABLES_LPBK 0x2UL |
1740 | #define PORT_MAC_CFG_REQ_ENABLES_VLAN_PRI2COS_MAP_PRI 0x4UL | 1910 | #define PORT_MAC_CFG_REQ_ENABLES_VLAN_PRI2COS_MAP_PRI 0x4UL |
1741 | #define PORT_MAC_CFG_REQ_ENABLES_RESERVED1 0x8UL | 1911 | #define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI 0x10UL |
1742 | #define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI 0x10UL | 1912 | #define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI 0x20UL |
1743 | #define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI 0x20UL | 1913 | #define PORT_MAC_CFG_REQ_ENABLES_RX_TS_CAPTURE_PTP_MSG_TYPE 0x40UL |
1744 | #define PORT_MAC_CFG_REQ_ENABLES_RX_TS_CAPTURE_PTP_MSG_TYPE 0x40UL | 1914 | #define PORT_MAC_CFG_REQ_ENABLES_TX_TS_CAPTURE_PTP_MSG_TYPE 0x80UL |
1745 | #define PORT_MAC_CFG_REQ_ENABLES_TX_TS_CAPTURE_PTP_MSG_TYPE 0x80UL | 1915 | #define PORT_MAC_CFG_REQ_ENABLES_COS_FIELD_CFG 0x100UL |
1746 | #define PORT_MAC_CFG_REQ_ENABLES_COS_FIELD_CFG 0x100UL | 1916 | __le16 port_id; |
1747 | __le16 port_id; | 1917 | u8 ipg; |
1748 | u8 ipg; | 1918 | u8 lpbk; |
1749 | u8 lpbk; | 1919 | #define PORT_MAC_CFG_REQ_LPBK_NONE 0x0UL |
1750 | #define PORT_MAC_CFG_REQ_LPBK_NONE 0x0UL | 1920 | #define PORT_MAC_CFG_REQ_LPBK_LOCAL 0x1UL |
1751 | #define PORT_MAC_CFG_REQ_LPBK_LOCAL 0x1UL | 1921 | #define PORT_MAC_CFG_REQ_LPBK_REMOTE 0x2UL |
1752 | #define PORT_MAC_CFG_REQ_LPBK_REMOTE 0x2UL | 1922 | #define PORT_MAC_CFG_REQ_LPBK_LAST PORT_MAC_CFG_REQ_LPBK_REMOTE |
1753 | u8 vlan_pri2cos_map_pri; | 1923 | u8 vlan_pri2cos_map_pri; |
1754 | u8 reserved1; | 1924 | u8 reserved1; |
1755 | u8 tunnel_pri2cos_map_pri; | 1925 | u8 tunnel_pri2cos_map_pri; |
1756 | u8 dscp2pri_map_pri; | 1926 | u8 dscp2pri_map_pri; |
1757 | __le16 rx_ts_capture_ptp_msg_type; | 1927 | __le16 rx_ts_capture_ptp_msg_type; |
1758 | __le16 tx_ts_capture_ptp_msg_type; | 1928 | __le16 tx_ts_capture_ptp_msg_type; |
1759 | u8 cos_field_cfg; | 1929 | u8 cos_field_cfg; |
1760 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_RSVD1 0x1UL | 1930 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_RSVD1 0x1UL |
1761 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_MASK 0x6UL | 1931 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_MASK 0x6UL |
1762 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_SFT 1 | 1932 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_SFT 1 |
1763 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_INNERMOST (0x0UL << 1) | 1933 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_INNERMOST (0x0UL << 1) |
1764 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTER (0x1UL << 1) | 1934 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTER (0x1UL << 1) |
1765 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTERMOST (0x2UL << 1) | 1935 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTERMOST (0x2UL << 1) |
1766 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 1) | 1936 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 1) |
1767 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED | 1937 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED |
1768 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_MASK 0x18UL | 1938 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_MASK 0x18UL |
1769 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_SFT 3 | 1939 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_SFT 3 |
1770 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_INNERMOST (0x0UL << 3) | 1940 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_INNERMOST (0x0UL << 3) |
1771 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTER (0x1UL << 3) | 1941 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTER (0x1UL << 3) |
1772 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTERMOST (0x2UL << 3) | 1942 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTERMOST (0x2UL << 3) |
1773 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 3) | 1943 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 3) |
1774 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED | 1944 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED |
1775 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_MASK 0xe0UL | 1945 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_MASK 0xe0UL |
1776 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_SFT 5 | 1946 | #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_SFT 5 |
1777 | u8 unused_0[3]; | 1947 | u8 unused_0[3]; |
1778 | }; | 1948 | }; |
1779 | 1949 | ||
1780 | /* Output (16 bytes) */ | 1950 | /* hwrm_port_mac_cfg_output (size:128b/16B) */ |
1781 | struct hwrm_port_mac_cfg_output { | 1951 | struct hwrm_port_mac_cfg_output { |
1782 | __le16 error_code; | 1952 | __le16 error_code; |
1783 | __le16 req_type; | 1953 | __le16 req_type; |
1784 | __le16 seq_id; | 1954 | __le16 seq_id; |
1785 | __le16 resp_len; | 1955 | __le16 resp_len; |
1786 | __le16 mru; | 1956 | __le16 mru; |
1787 | __le16 mtu; | 1957 | __le16 mtu; |
1788 | u8 ipg; | 1958 | u8 ipg; |
1789 | u8 lpbk; | 1959 | u8 lpbk; |
1790 | #define PORT_MAC_CFG_RESP_LPBK_NONE 0x0UL | 1960 | #define PORT_MAC_CFG_RESP_LPBK_NONE 0x0UL |
1791 | #define PORT_MAC_CFG_RESP_LPBK_LOCAL 0x1UL | 1961 | #define PORT_MAC_CFG_RESP_LPBK_LOCAL 0x1UL |
1792 | #define PORT_MAC_CFG_RESP_LPBK_REMOTE 0x2UL | 1962 | #define PORT_MAC_CFG_RESP_LPBK_REMOTE 0x2UL |
1793 | u8 unused_0; | 1963 | #define PORT_MAC_CFG_RESP_LPBK_LAST PORT_MAC_CFG_RESP_LPBK_REMOTE |
1794 | u8 valid; | 1964 | u8 unused_0; |
1795 | }; | 1965 | u8 valid; |
1796 | 1966 | }; | |
1797 | /* hwrm_port_mac_ptp_qcfg */ | 1967 | |
1798 | /* Input (24 bytes) */ | 1968 | /* hwrm_port_mac_ptp_qcfg_input (size:192b/24B) */ |
1799 | struct hwrm_port_mac_ptp_qcfg_input { | 1969 | struct hwrm_port_mac_ptp_qcfg_input { |
1800 | __le16 req_type; | 1970 | __le16 req_type; |
1801 | __le16 cmpl_ring; | 1971 | __le16 cmpl_ring; |
1802 | __le16 seq_id; | 1972 | __le16 seq_id; |
1803 | __le16 target_id; | 1973 | __le16 target_id; |
1804 | __le64 resp_addr; | 1974 | __le64 resp_addr; |
1805 | __le16 port_id; | 1975 | __le16 port_id; |
1806 | __le16 unused_0[3]; | 1976 | u8 unused_0[6]; |
1807 | }; | 1977 | }; |
1808 | 1978 | ||
1809 | /* Output (80 bytes) */ | 1979 | /* hwrm_port_mac_ptp_qcfg_output (size:640b/80B) */ |
1810 | struct hwrm_port_mac_ptp_qcfg_output { | 1980 | struct hwrm_port_mac_ptp_qcfg_output { |
1811 | __le16 error_code; | 1981 | __le16 error_code; |
1812 | __le16 req_type; | 1982 | __le16 req_type; |
1813 | __le16 seq_id; | 1983 | __le16 seq_id; |
1814 | __le16 resp_len; | 1984 | __le16 resp_len; |
1815 | u8 flags; | 1985 | u8 flags; |
1816 | #define PORT_MAC_PTP_QCFG_RESP_FLAGS_DIRECT_ACCESS 0x1UL | 1986 | #define PORT_MAC_PTP_QCFG_RESP_FLAGS_DIRECT_ACCESS 0x1UL |
1817 | #define PORT_MAC_PTP_QCFG_RESP_FLAGS_HWRM_ACCESS 0x2UL | 1987 | #define PORT_MAC_PTP_QCFG_RESP_FLAGS_HWRM_ACCESS 0x2UL |
1818 | u8 unused_0; | 1988 | u8 unused_0[3]; |
1819 | __le16 unused_1; | 1989 | __le32 rx_ts_reg_off_lower; |
1820 | __le32 rx_ts_reg_off_lower; | 1990 | __le32 rx_ts_reg_off_upper; |
1821 | __le32 rx_ts_reg_off_upper; | 1991 | __le32 rx_ts_reg_off_seq_id; |
1822 | __le32 rx_ts_reg_off_seq_id; | 1992 | __le32 rx_ts_reg_off_src_id_0; |
1823 | __le32 rx_ts_reg_off_src_id_0; | 1993 | __le32 rx_ts_reg_off_src_id_1; |
1824 | __le32 rx_ts_reg_off_src_id_1; | 1994 | __le32 rx_ts_reg_off_src_id_2; |
1825 | __le32 rx_ts_reg_off_src_id_2; | 1995 | __le32 rx_ts_reg_off_domain_id; |
1826 | __le32 rx_ts_reg_off_domain_id; | 1996 | __le32 rx_ts_reg_off_fifo; |
1827 | __le32 rx_ts_reg_off_fifo; | 1997 | __le32 rx_ts_reg_off_fifo_adv; |
1828 | __le32 rx_ts_reg_off_fifo_adv; | 1998 | __le32 rx_ts_reg_off_granularity; |
1829 | __le32 rx_ts_reg_off_granularity; | 1999 | __le32 tx_ts_reg_off_lower; |
1830 | __le32 tx_ts_reg_off_lower; | 2000 | __le32 tx_ts_reg_off_upper; |
1831 | __le32 tx_ts_reg_off_upper; | 2001 | __le32 tx_ts_reg_off_seq_id; |
1832 | __le32 tx_ts_reg_off_seq_id; | 2002 | __le32 tx_ts_reg_off_fifo; |
1833 | __le32 tx_ts_reg_off_fifo; | 2003 | __le32 tx_ts_reg_off_granularity; |
1834 | __le32 tx_ts_reg_off_granularity; | 2004 | u8 unused_1[7]; |
1835 | __le32 unused_2; | 2005 | u8 valid; |
1836 | u8 unused_3; | 2006 | }; |
1837 | u8 unused_4; | 2007 | |
1838 | u8 unused_5; | 2008 | /* hwrm_port_qstats_input (size:320b/40B) */ |
1839 | u8 valid; | ||
1840 | }; | ||
1841 | |||
1842 | /* hwrm_port_qstats */ | ||
1843 | /* Input (40 bytes) */ | ||
1844 | struct hwrm_port_qstats_input { | 2009 | struct hwrm_port_qstats_input { |
1845 | __le16 req_type; | 2010 | __le16 req_type; |
1846 | __le16 cmpl_ring; | 2011 | __le16 cmpl_ring; |
1847 | __le16 seq_id; | 2012 | __le16 seq_id; |
1848 | __le16 target_id; | 2013 | __le16 target_id; |
1849 | __le64 resp_addr; | 2014 | __le64 resp_addr; |
1850 | __le16 port_id; | 2015 | __le16 port_id; |
1851 | u8 unused_0; | 2016 | u8 unused_0[6]; |
1852 | u8 unused_1; | 2017 | __le64 tx_stat_host_addr; |
1853 | u8 unused_2[3]; | 2018 | __le64 rx_stat_host_addr; |
1854 | u8 unused_3; | 2019 | }; |
1855 | __le64 tx_stat_host_addr; | 2020 | |
1856 | __le64 rx_stat_host_addr; | 2021 | /* hwrm_port_qstats_output (size:128b/16B) */ |
1857 | }; | ||
1858 | |||
1859 | /* Output (16 bytes) */ | ||
1860 | struct hwrm_port_qstats_output { | 2022 | struct hwrm_port_qstats_output { |
1861 | __le16 error_code; | 2023 | __le16 error_code; |
1862 | __le16 req_type; | 2024 | __le16 req_type; |
1863 | __le16 seq_id; | 2025 | __le16 seq_id; |
1864 | __le16 resp_len; | 2026 | __le16 resp_len; |
1865 | __le16 tx_stat_size; | 2027 | __le16 tx_stat_size; |
1866 | __le16 rx_stat_size; | 2028 | __le16 rx_stat_size; |
1867 | u8 unused_0; | 2029 | u8 unused_0[3]; |
1868 | u8 unused_1; | 2030 | u8 valid; |
1869 | u8 unused_2; | 2031 | }; |
1870 | u8 valid; | 2032 | |
1871 | }; | 2033 | /* hwrm_port_lpbk_qstats_input (size:128b/16B) */ |
1872 | |||
1873 | /* hwrm_port_lpbk_qstats */ | ||
1874 | /* Input (16 bytes) */ | ||
1875 | struct hwrm_port_lpbk_qstats_input { | 2034 | struct hwrm_port_lpbk_qstats_input { |
1876 | __le16 req_type; | 2035 | __le16 req_type; |
1877 | __le16 cmpl_ring; | 2036 | __le16 cmpl_ring; |
1878 | __le16 seq_id; | 2037 | __le16 seq_id; |
1879 | __le16 target_id; | 2038 | __le16 target_id; |
1880 | __le64 resp_addr; | 2039 | __le64 resp_addr; |
1881 | }; | 2040 | }; |
1882 | 2041 | ||
1883 | /* Output (96 bytes) */ | 2042 | /* hwrm_port_lpbk_qstats_output (size:768b/96B) */ |
1884 | struct hwrm_port_lpbk_qstats_output { | 2043 | struct hwrm_port_lpbk_qstats_output { |
1885 | __le16 error_code; | 2044 | __le16 error_code; |
1886 | __le16 req_type; | 2045 | __le16 req_type; |
1887 | __le16 seq_id; | 2046 | __le16 seq_id; |
1888 | __le16 resp_len; | 2047 | __le16 resp_len; |
1889 | __le64 lpbk_ucast_frames; | 2048 | __le64 lpbk_ucast_frames; |
1890 | __le64 lpbk_mcast_frames; | 2049 | __le64 lpbk_mcast_frames; |
1891 | __le64 lpbk_bcast_frames; | 2050 | __le64 lpbk_bcast_frames; |
1892 | __le64 lpbk_ucast_bytes; | 2051 | __le64 lpbk_ucast_bytes; |
1893 | __le64 lpbk_mcast_bytes; | 2052 | __le64 lpbk_mcast_bytes; |
1894 | __le64 lpbk_bcast_bytes; | 2053 | __le64 lpbk_bcast_bytes; |
1895 | __le64 tx_stat_discard; | 2054 | __le64 tx_stat_discard; |
1896 | __le64 tx_stat_error; | 2055 | __le64 tx_stat_error; |
1897 | __le64 rx_stat_discard; | 2056 | __le64 rx_stat_discard; |
1898 | __le64 rx_stat_error; | 2057 | __le64 rx_stat_error; |
1899 | __le32 unused_0; | 2058 | u8 unused_0[7]; |
1900 | u8 unused_1; | 2059 | u8 valid; |
1901 | u8 unused_2; | 2060 | }; |
1902 | u8 unused_3; | 2061 | |
1903 | u8 valid; | 2062 | /* hwrm_port_clr_stats_input (size:192b/24B) */ |
1904 | }; | ||
1905 | |||
1906 | /* hwrm_port_clr_stats */ | ||
1907 | /* Input (24 bytes) */ | ||
1908 | struct hwrm_port_clr_stats_input { | 2063 | struct hwrm_port_clr_stats_input { |
1909 | __le16 req_type; | 2064 | __le16 req_type; |
1910 | __le16 cmpl_ring; | 2065 | __le16 cmpl_ring; |
1911 | __le16 seq_id; | 2066 | __le16 seq_id; |
1912 | __le16 target_id; | 2067 | __le16 target_id; |
1913 | __le64 resp_addr; | 2068 | __le64 resp_addr; |
1914 | __le16 port_id; | 2069 | __le16 port_id; |
1915 | __le16 unused_0[3]; | 2070 | u8 unused_0[6]; |
1916 | }; | 2071 | }; |
1917 | 2072 | ||
1918 | /* Output (16 bytes) */ | 2073 | /* hwrm_port_clr_stats_output (size:128b/16B) */ |
1919 | struct hwrm_port_clr_stats_output { | 2074 | struct hwrm_port_clr_stats_output { |
1920 | __le16 error_code; | 2075 | __le16 error_code; |
1921 | __le16 req_type; | 2076 | __le16 req_type; |
1922 | __le16 seq_id; | 2077 | __le16 seq_id; |
1923 | __le16 resp_len; | 2078 | __le16 resp_len; |
1924 | __le32 unused_0; | 2079 | u8 unused_0[7]; |
1925 | u8 unused_1; | 2080 | u8 valid; |
1926 | u8 unused_2; | 2081 | }; |
1927 | u8 unused_3; | 2082 | |
1928 | u8 valid; | 2083 | /* hwrm_port_lpbk_clr_stats_input (size:128b/16B) */ |
1929 | }; | ||
1930 | |||
1931 | /* hwrm_port_lpbk_clr_stats */ | ||
1932 | /* Input (16 bytes) */ | ||
1933 | struct hwrm_port_lpbk_clr_stats_input { | 2084 | struct hwrm_port_lpbk_clr_stats_input { |
1934 | __le16 req_type; | 2085 | __le16 req_type; |
1935 | __le16 cmpl_ring; | 2086 | __le16 cmpl_ring; |
1936 | __le16 seq_id; | 2087 | __le16 seq_id; |
1937 | __le16 target_id; | 2088 | __le16 target_id; |
1938 | __le64 resp_addr; | 2089 | __le64 resp_addr; |
1939 | }; | 2090 | }; |
1940 | 2091 | ||
1941 | /* Output (16 bytes) */ | 2092 | /* hwrm_port_lpbk_clr_stats_output (size:128b/16B) */ |
1942 | struct hwrm_port_lpbk_clr_stats_output { | 2093 | struct hwrm_port_lpbk_clr_stats_output { |
1943 | __le16 error_code; | 2094 | __le16 error_code; |
1944 | __le16 req_type; | 2095 | __le16 req_type; |
1945 | __le16 seq_id; | 2096 | __le16 seq_id; |
1946 | __le16 resp_len; | 2097 | __le16 resp_len; |
1947 | __le32 unused_0; | 2098 | u8 unused_0[7]; |
1948 | u8 unused_1; | 2099 | u8 valid; |
1949 | u8 unused_2; | 2100 | }; |
1950 | u8 unused_3; | 2101 | |
1951 | u8 valid; | 2102 | /* hwrm_port_phy_qcaps_input (size:192b/24B) */ |
1952 | }; | ||
1953 | |||
1954 | /* hwrm_port_phy_qcaps */ | ||
1955 | /* Input (24 bytes) */ | ||
1956 | struct hwrm_port_phy_qcaps_input { | 2103 | struct hwrm_port_phy_qcaps_input { |
1957 | __le16 req_type; | 2104 | __le16 req_type; |
1958 | __le16 cmpl_ring; | 2105 | __le16 cmpl_ring; |
1959 | __le16 seq_id; | 2106 | __le16 seq_id; |
1960 | __le16 target_id; | 2107 | __le16 target_id; |
1961 | __le64 resp_addr; | 2108 | __le64 resp_addr; |
1962 | __le16 port_id; | 2109 | __le16 port_id; |
1963 | __le16 unused_0[3]; | 2110 | u8 unused_0[6]; |
1964 | }; | 2111 | }; |
1965 | 2112 | ||
1966 | /* Output (24 bytes) */ | 2113 | /* hwrm_port_phy_qcaps_output (size:192b/24B) */ |
1967 | struct hwrm_port_phy_qcaps_output { | 2114 | struct hwrm_port_phy_qcaps_output { |
1968 | __le16 error_code; | 2115 | __le16 error_code; |
1969 | __le16 req_type; | 2116 | __le16 req_type; |
1970 | __le16 seq_id; | 2117 | __le16 seq_id; |
1971 | __le16 resp_len; | 2118 | __le16 resp_len; |
1972 | u8 flags; | 2119 | u8 flags; |
1973 | #define PORT_PHY_QCAPS_RESP_FLAGS_EEE_SUPPORTED 0x1UL | 2120 | #define PORT_PHY_QCAPS_RESP_FLAGS_EEE_SUPPORTED 0x1UL |
1974 | #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_MASK 0xfeUL | 2121 | #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_MASK 0xfeUL |
1975 | #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_SFT 1 | 2122 | #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_SFT 1 |
1976 | u8 port_cnt; | 2123 | u8 port_cnt; |
1977 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_UNKNOWN 0x0UL | 2124 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_UNKNOWN 0x0UL |
1978 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_1 0x1UL | 2125 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_1 0x1UL |
1979 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_2 0x2UL | 2126 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_2 0x2UL |
1980 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_3 0x3UL | 2127 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_3 0x3UL |
1981 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_4 0x4UL | 2128 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_4 0x4UL |
1982 | __le16 supported_speeds_force_mode; | 2129 | #define PORT_PHY_QCAPS_RESP_PORT_CNT_LAST PORT_PHY_QCAPS_RESP_PORT_CNT_4 |
1983 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MBHD 0x1UL | 2130 | __le16 supported_speeds_force_mode; |
1984 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MB 0x2UL | 2131 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MBHD 0x1UL |
1985 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GBHD 0x4UL | 2132 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MB 0x2UL |
1986 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GB 0x8UL | 2133 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GBHD 0x4UL |
1987 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2GB 0x10UL | 2134 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GB 0x8UL |
1988 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2_5GB 0x20UL | 2135 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2GB 0x10UL |
1989 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10GB 0x40UL | 2136 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2_5GB 0x20UL |
1990 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_20GB 0x80UL | 2137 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10GB 0x40UL |
1991 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_25GB 0x100UL | 2138 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_20GB 0x80UL |
1992 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_40GB 0x200UL | 2139 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_25GB 0x100UL |
1993 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_50GB 0x400UL | 2140 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_40GB 0x200UL |
1994 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100GB 0x800UL | 2141 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_50GB 0x400UL |
1995 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MBHD 0x1000UL | 2142 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100GB 0x800UL |
1996 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MB 0x2000UL | 2143 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MBHD 0x1000UL |
1997 | __le16 supported_speeds_auto_mode; | 2144 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MB 0x2000UL |
1998 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MBHD 0x1UL | 2145 | __le16 supported_speeds_auto_mode; |
1999 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MB 0x2UL | 2146 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MBHD 0x1UL |
2000 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GBHD 0x4UL | 2147 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MB 0x2UL |
2001 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GB 0x8UL | 2148 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GBHD 0x4UL |
2002 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2GB 0x10UL | 2149 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GB 0x8UL |
2003 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2_5GB 0x20UL | 2150 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2GB 0x10UL |
2004 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10GB 0x40UL | 2151 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2_5GB 0x20UL |
2005 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_20GB 0x80UL | 2152 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10GB 0x40UL |
2006 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_25GB 0x100UL | 2153 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_20GB 0x80UL |
2007 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_40GB 0x200UL | 2154 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_25GB 0x100UL |
2008 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_50GB 0x400UL | 2155 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_40GB 0x200UL |
2009 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100GB 0x800UL | 2156 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_50GB 0x400UL |
2010 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MBHD 0x1000UL | 2157 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100GB 0x800UL |
2011 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MB 0x2000UL | 2158 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MBHD 0x1000UL |
2012 | __le16 supported_speeds_eee_mode; | 2159 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MB 0x2000UL |
2013 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD1 0x1UL | 2160 | __le16 supported_speeds_eee_mode; |
2014 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_100MB 0x2UL | 2161 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD1 0x1UL |
2015 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD2 0x4UL | 2162 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_100MB 0x2UL |
2016 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_1GB 0x8UL | 2163 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD2 0x4UL |
2017 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD3 0x10UL | 2164 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_1GB 0x8UL |
2018 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD4 0x20UL | 2165 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD3 0x10UL |
2019 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_10GB 0x40UL | 2166 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD4 0x20UL |
2020 | __le32 tx_lpi_timer_low; | 2167 | #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_10GB 0x40UL |
2021 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_MASK 0xffffffUL | 2168 | __le32 tx_lpi_timer_low; |
2022 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_SFT 0 | 2169 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_MASK 0xffffffUL |
2023 | #define PORT_PHY_QCAPS_RESP_RSVD2_MASK 0xff000000UL | 2170 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_SFT 0 |
2024 | #define PORT_PHY_QCAPS_RESP_RSVD2_SFT 24 | 2171 | #define PORT_PHY_QCAPS_RESP_RSVD2_MASK 0xff000000UL |
2025 | __le32 valid_tx_lpi_timer_high; | 2172 | #define PORT_PHY_QCAPS_RESP_RSVD2_SFT 24 |
2026 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK 0xffffffUL | 2173 | __le32 valid_tx_lpi_timer_high; |
2027 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_SFT 0 | 2174 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK 0xffffffUL |
2028 | #define PORT_PHY_QCAPS_RESP_VALID_MASK 0xff000000UL | 2175 | #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_SFT 0 |
2029 | #define PORT_PHY_QCAPS_RESP_VALID_SFT 24 | 2176 | #define PORT_PHY_QCAPS_RESP_VALID_MASK 0xff000000UL |
2030 | }; | 2177 | #define PORT_PHY_QCAPS_RESP_VALID_SFT 24 |
2031 | 2178 | }; | |
2032 | /* hwrm_port_phy_i2c_read */ | 2179 | |
2033 | /* Input (40 bytes) */ | 2180 | /* hwrm_port_phy_i2c_read_input (size:320b/40B) */ |
2034 | struct hwrm_port_phy_i2c_read_input { | 2181 | struct hwrm_port_phy_i2c_read_input { |
2035 | __le16 req_type; | 2182 | __le16 req_type; |
2036 | __le16 cmpl_ring; | 2183 | __le16 cmpl_ring; |
2037 | __le16 seq_id; | 2184 | __le16 seq_id; |
2038 | __le16 target_id; | 2185 | __le16 target_id; |
2039 | __le64 resp_addr; | 2186 | __le64 resp_addr; |
2040 | __le32 flags; | 2187 | __le32 flags; |
2041 | __le32 enables; | 2188 | __le32 enables; |
2042 | #define PORT_PHY_I2C_READ_REQ_ENABLES_PAGE_OFFSET 0x1UL | 2189 | #define PORT_PHY_I2C_READ_REQ_ENABLES_PAGE_OFFSET 0x1UL |
2043 | __le16 port_id; | 2190 | __le16 port_id; |
2044 | u8 i2c_slave_addr; | 2191 | u8 i2c_slave_addr; |
2045 | u8 unused_0; | 2192 | u8 unused_0; |
2046 | __le16 page_number; | 2193 | __le16 page_number; |
2047 | __le16 page_offset; | 2194 | __le16 page_offset; |
2048 | u8 data_length; | 2195 | u8 data_length; |
2049 | u8 unused_1[7]; | 2196 | u8 unused_1[7]; |
2050 | }; | 2197 | }; |
2051 | 2198 | ||
2052 | /* Output (80 bytes) */ | 2199 | /* hwrm_port_phy_i2c_read_output (size:640b/80B) */ |
2053 | struct hwrm_port_phy_i2c_read_output { | 2200 | struct hwrm_port_phy_i2c_read_output { |
2054 | __le16 error_code; | 2201 | __le16 error_code; |
2055 | __le16 req_type; | 2202 | __le16 req_type; |
2056 | __le16 seq_id; | 2203 | __le16 seq_id; |
2057 | __le16 resp_len; | 2204 | __le16 resp_len; |
2058 | __le32 data[16]; | 2205 | __le32 data[16]; |
2059 | __le32 unused_0; | 2206 | u8 unused_0[7]; |
2060 | u8 unused_1; | 2207 | u8 valid; |
2061 | u8 unused_2; | 2208 | }; |
2062 | u8 unused_3; | 2209 | |
2063 | u8 valid; | 2210 | /* hwrm_port_led_cfg_input (size:512b/64B) */ |
2064 | }; | ||
2065 | |||
2066 | /* hwrm_port_led_cfg */ | ||
2067 | /* Input (64 bytes) */ | ||
2068 | struct hwrm_port_led_cfg_input { | 2211 | struct hwrm_port_led_cfg_input { |
2069 | __le16 req_type; | 2212 | __le16 req_type; |
2070 | __le16 cmpl_ring; | 2213 | __le16 cmpl_ring; |
2071 | __le16 seq_id; | 2214 | __le16 seq_id; |
2072 | __le16 target_id; | 2215 | __le16 target_id; |
2073 | __le64 resp_addr; | 2216 | __le64 resp_addr; |
2074 | __le32 enables; | 2217 | __le32 enables; |
2075 | #define PORT_LED_CFG_REQ_ENABLES_LED0_ID 0x1UL | 2218 | #define PORT_LED_CFG_REQ_ENABLES_LED0_ID 0x1UL |
2076 | #define PORT_LED_CFG_REQ_ENABLES_LED0_STATE 0x2UL | 2219 | #define PORT_LED_CFG_REQ_ENABLES_LED0_STATE 0x2UL |
2077 | #define PORT_LED_CFG_REQ_ENABLES_LED0_COLOR 0x4UL | 2220 | #define PORT_LED_CFG_REQ_ENABLES_LED0_COLOR 0x4UL |
2078 | #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON 0x8UL | 2221 | #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON 0x8UL |
2079 | #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF 0x10UL | 2222 | #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF 0x10UL |
2080 | #define PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID 0x20UL | 2223 | #define PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID 0x20UL |
2081 | #define PORT_LED_CFG_REQ_ENABLES_LED1_ID 0x40UL | 2224 | #define PORT_LED_CFG_REQ_ENABLES_LED1_ID 0x40UL |
2082 | #define PORT_LED_CFG_REQ_ENABLES_LED1_STATE 0x80UL | 2225 | #define PORT_LED_CFG_REQ_ENABLES_LED1_STATE 0x80UL |
2083 | #define PORT_LED_CFG_REQ_ENABLES_LED1_COLOR 0x100UL | 2226 | #define PORT_LED_CFG_REQ_ENABLES_LED1_COLOR 0x100UL |
2084 | #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_ON 0x200UL | 2227 | #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_ON 0x200UL |
2085 | #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_OFF 0x400UL | 2228 | #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_OFF 0x400UL |
2086 | #define PORT_LED_CFG_REQ_ENABLES_LED1_GROUP_ID 0x800UL | 2229 | #define PORT_LED_CFG_REQ_ENABLES_LED1_GROUP_ID 0x800UL |
2087 | #define PORT_LED_CFG_REQ_ENABLES_LED2_ID 0x1000UL | 2230 | #define PORT_LED_CFG_REQ_ENABLES_LED2_ID 0x1000UL |
2088 | #define PORT_LED_CFG_REQ_ENABLES_LED2_STATE 0x2000UL | 2231 | #define PORT_LED_CFG_REQ_ENABLES_LED2_STATE 0x2000UL |
2089 | #define PORT_LED_CFG_REQ_ENABLES_LED2_COLOR 0x4000UL | 2232 | #define PORT_LED_CFG_REQ_ENABLES_LED2_COLOR 0x4000UL |
2090 | #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_ON 0x8000UL | 2233 | #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_ON 0x8000UL |
2091 | #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_OFF 0x10000UL | 2234 | #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_OFF 0x10000UL |
2092 | #define PORT_LED_CFG_REQ_ENABLES_LED2_GROUP_ID 0x20000UL | 2235 | #define PORT_LED_CFG_REQ_ENABLES_LED2_GROUP_ID 0x20000UL |
2093 | #define PORT_LED_CFG_REQ_ENABLES_LED3_ID 0x40000UL | 2236 | #define PORT_LED_CFG_REQ_ENABLES_LED3_ID 0x40000UL |
2094 | #define PORT_LED_CFG_REQ_ENABLES_LED3_STATE 0x80000UL | 2237 | #define PORT_LED_CFG_REQ_ENABLES_LED3_STATE 0x80000UL |
2095 | #define PORT_LED_CFG_REQ_ENABLES_LED3_COLOR 0x100000UL | 2238 | #define PORT_LED_CFG_REQ_ENABLES_LED3_COLOR 0x100000UL |
2096 | #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_ON 0x200000UL | 2239 | #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_ON 0x200000UL |
2097 | #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_OFF 0x400000UL | 2240 | #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_OFF 0x400000UL |
2098 | #define PORT_LED_CFG_REQ_ENABLES_LED3_GROUP_ID 0x800000UL | 2241 | #define PORT_LED_CFG_REQ_ENABLES_LED3_GROUP_ID 0x800000UL |
2099 | __le16 port_id; | 2242 | __le16 port_id; |
2100 | u8 num_leds; | 2243 | u8 num_leds; |
2101 | u8 rsvd; | 2244 | u8 rsvd; |
2102 | u8 led0_id; | 2245 | u8 led0_id; |
2103 | u8 led0_state; | 2246 | u8 led0_state; |
2104 | #define PORT_LED_CFG_REQ_LED0_STATE_DEFAULT 0x0UL | 2247 | #define PORT_LED_CFG_REQ_LED0_STATE_DEFAULT 0x0UL |
2105 | #define PORT_LED_CFG_REQ_LED0_STATE_OFF 0x1UL | 2248 | #define PORT_LED_CFG_REQ_LED0_STATE_OFF 0x1UL |
2106 | #define PORT_LED_CFG_REQ_LED0_STATE_ON 0x2UL | 2249 | #define PORT_LED_CFG_REQ_LED0_STATE_ON 0x2UL |
2107 | #define PORT_LED_CFG_REQ_LED0_STATE_BLINK 0x3UL | 2250 | #define PORT_LED_CFG_REQ_LED0_STATE_BLINK 0x3UL |
2108 | #define PORT_LED_CFG_REQ_LED0_STATE_BLINKALT 0x4UL | 2251 | #define PORT_LED_CFG_REQ_LED0_STATE_BLINKALT 0x4UL |
2109 | u8 led0_color; | 2252 | #define PORT_LED_CFG_REQ_LED0_STATE_LAST PORT_LED_CFG_REQ_LED0_STATE_BLINKALT |
2110 | #define PORT_LED_CFG_REQ_LED0_COLOR_DEFAULT 0x0UL | 2253 | u8 led0_color; |
2111 | #define PORT_LED_CFG_REQ_LED0_COLOR_AMBER 0x1UL | 2254 | #define PORT_LED_CFG_REQ_LED0_COLOR_DEFAULT 0x0UL |
2112 | #define PORT_LED_CFG_REQ_LED0_COLOR_GREEN 0x2UL | 2255 | #define PORT_LED_CFG_REQ_LED0_COLOR_AMBER 0x1UL |
2113 | #define PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER 0x3UL | 2256 | #define PORT_LED_CFG_REQ_LED0_COLOR_GREEN 0x2UL |
2114 | u8 unused_0; | 2257 | #define PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER 0x3UL |
2115 | __le16 led0_blink_on; | 2258 | #define PORT_LED_CFG_REQ_LED0_COLOR_LAST PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER |
2116 | __le16 led0_blink_off; | 2259 | u8 unused_0; |
2117 | u8 led0_group_id; | 2260 | __le16 led0_blink_on; |
2118 | u8 rsvd0; | 2261 | __le16 led0_blink_off; |
2119 | u8 led1_id; | 2262 | u8 led0_group_id; |
2120 | u8 led1_state; | 2263 | u8 rsvd0; |
2121 | #define PORT_LED_CFG_REQ_LED1_STATE_DEFAULT 0x0UL | 2264 | u8 led1_id; |
2122 | #define PORT_LED_CFG_REQ_LED1_STATE_OFF 0x1UL | 2265 | u8 led1_state; |
2123 | #define PORT_LED_CFG_REQ_LED1_STATE_ON 0x2UL | 2266 | #define PORT_LED_CFG_REQ_LED1_STATE_DEFAULT 0x0UL |
2124 | #define PORT_LED_CFG_REQ_LED1_STATE_BLINK 0x3UL | 2267 | #define PORT_LED_CFG_REQ_LED1_STATE_OFF 0x1UL |
2125 | #define PORT_LED_CFG_REQ_LED1_STATE_BLINKALT 0x4UL | 2268 | #define PORT_LED_CFG_REQ_LED1_STATE_ON 0x2UL |
2126 | u8 led1_color; | 2269 | #define PORT_LED_CFG_REQ_LED1_STATE_BLINK 0x3UL |
2127 | #define PORT_LED_CFG_REQ_LED1_COLOR_DEFAULT 0x0UL | 2270 | #define PORT_LED_CFG_REQ_LED1_STATE_BLINKALT 0x4UL |
2128 | #define PORT_LED_CFG_REQ_LED1_COLOR_AMBER 0x1UL | 2271 | #define PORT_LED_CFG_REQ_LED1_STATE_LAST PORT_LED_CFG_REQ_LED1_STATE_BLINKALT |
2129 | #define PORT_LED_CFG_REQ_LED1_COLOR_GREEN 0x2UL | 2272 | u8 led1_color; |
2130 | #define PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER 0x3UL | 2273 | #define PORT_LED_CFG_REQ_LED1_COLOR_DEFAULT 0x0UL |
2131 | u8 unused_1; | 2274 | #define PORT_LED_CFG_REQ_LED1_COLOR_AMBER 0x1UL |
2132 | __le16 led1_blink_on; | 2275 | #define PORT_LED_CFG_REQ_LED1_COLOR_GREEN 0x2UL |
2133 | __le16 led1_blink_off; | 2276 | #define PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER 0x3UL |
2134 | u8 led1_group_id; | 2277 | #define PORT_LED_CFG_REQ_LED1_COLOR_LAST PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER |
2135 | u8 rsvd1; | 2278 | u8 unused_1; |
2136 | u8 led2_id; | 2279 | __le16 led1_blink_on; |
2137 | u8 led2_state; | 2280 | __le16 led1_blink_off; |
2138 | #define PORT_LED_CFG_REQ_LED2_STATE_DEFAULT 0x0UL | 2281 | u8 led1_group_id; |
2139 | #define PORT_LED_CFG_REQ_LED2_STATE_OFF 0x1UL | 2282 | u8 rsvd1; |
2140 | #define PORT_LED_CFG_REQ_LED2_STATE_ON 0x2UL | 2283 | u8 led2_id; |
2141 | #define PORT_LED_CFG_REQ_LED2_STATE_BLINK 0x3UL | 2284 | u8 led2_state; |
2142 | #define PORT_LED_CFG_REQ_LED2_STATE_BLINKALT 0x4UL | 2285 | #define PORT_LED_CFG_REQ_LED2_STATE_DEFAULT 0x0UL |
2143 | u8 led2_color; | 2286 | #define PORT_LED_CFG_REQ_LED2_STATE_OFF 0x1UL |
2144 | #define PORT_LED_CFG_REQ_LED2_COLOR_DEFAULT 0x0UL | 2287 | #define PORT_LED_CFG_REQ_LED2_STATE_ON 0x2UL |
2145 | #define PORT_LED_CFG_REQ_LED2_COLOR_AMBER 0x1UL | 2288 | #define PORT_LED_CFG_REQ_LED2_STATE_BLINK 0x3UL |
2146 | #define PORT_LED_CFG_REQ_LED2_COLOR_GREEN 0x2UL | 2289 | #define PORT_LED_CFG_REQ_LED2_STATE_BLINKALT 0x4UL |
2147 | #define PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER 0x3UL | 2290 | #define PORT_LED_CFG_REQ_LED2_STATE_LAST PORT_LED_CFG_REQ_LED2_STATE_BLINKALT |
2148 | u8 unused_2; | 2291 | u8 led2_color; |
2149 | __le16 led2_blink_on; | 2292 | #define PORT_LED_CFG_REQ_LED2_COLOR_DEFAULT 0x0UL |
2150 | __le16 led2_blink_off; | 2293 | #define PORT_LED_CFG_REQ_LED2_COLOR_AMBER 0x1UL |
2151 | u8 led2_group_id; | 2294 | #define PORT_LED_CFG_REQ_LED2_COLOR_GREEN 0x2UL |
2152 | u8 rsvd2; | 2295 | #define PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER 0x3UL |
2153 | u8 led3_id; | 2296 | #define PORT_LED_CFG_REQ_LED2_COLOR_LAST PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER |
2154 | u8 led3_state; | 2297 | u8 unused_2; |
2155 | #define PORT_LED_CFG_REQ_LED3_STATE_DEFAULT 0x0UL | 2298 | __le16 led2_blink_on; |
2156 | #define PORT_LED_CFG_REQ_LED3_STATE_OFF 0x1UL | 2299 | __le16 led2_blink_off; |
2157 | #define PORT_LED_CFG_REQ_LED3_STATE_ON 0x2UL | 2300 | u8 led2_group_id; |
2158 | #define PORT_LED_CFG_REQ_LED3_STATE_BLINK 0x3UL | 2301 | u8 rsvd2; |
2159 | #define PORT_LED_CFG_REQ_LED3_STATE_BLINKALT 0x4UL | 2302 | u8 led3_id; |
2160 | u8 led3_color; | 2303 | u8 led3_state; |
2161 | #define PORT_LED_CFG_REQ_LED3_COLOR_DEFAULT 0x0UL | 2304 | #define PORT_LED_CFG_REQ_LED3_STATE_DEFAULT 0x0UL |
2162 | #define PORT_LED_CFG_REQ_LED3_COLOR_AMBER 0x1UL | 2305 | #define PORT_LED_CFG_REQ_LED3_STATE_OFF 0x1UL |
2163 | #define PORT_LED_CFG_REQ_LED3_COLOR_GREEN 0x2UL | 2306 | #define PORT_LED_CFG_REQ_LED3_STATE_ON 0x2UL |
2164 | #define PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER 0x3UL | 2307 | #define PORT_LED_CFG_REQ_LED3_STATE_BLINK 0x3UL |
2165 | u8 unused_3; | 2308 | #define PORT_LED_CFG_REQ_LED3_STATE_BLINKALT 0x4UL |
2166 | __le16 led3_blink_on; | 2309 | #define PORT_LED_CFG_REQ_LED3_STATE_LAST PORT_LED_CFG_REQ_LED3_STATE_BLINKALT |
2167 | __le16 led3_blink_off; | 2310 | u8 led3_color; |
2168 | u8 led3_group_id; | 2311 | #define PORT_LED_CFG_REQ_LED3_COLOR_DEFAULT 0x0UL |
2169 | u8 rsvd3; | 2312 | #define PORT_LED_CFG_REQ_LED3_COLOR_AMBER 0x1UL |
2170 | }; | 2313 | #define PORT_LED_CFG_REQ_LED3_COLOR_GREEN 0x2UL |
2171 | 2314 | #define PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER 0x3UL | |
2172 | /* Output (16 bytes) */ | 2315 | #define PORT_LED_CFG_REQ_LED3_COLOR_LAST PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER |
2316 | u8 unused_3; | ||
2317 | __le16 led3_blink_on; | ||
2318 | __le16 led3_blink_off; | ||
2319 | u8 led3_group_id; | ||
2320 | u8 rsvd3; | ||
2321 | }; | ||
2322 | |||
2323 | /* hwrm_port_led_cfg_output (size:128b/16B) */ | ||
2173 | struct hwrm_port_led_cfg_output { | 2324 | struct hwrm_port_led_cfg_output { |
2174 | __le16 error_code; | 2325 | __le16 error_code; |
2175 | __le16 req_type; | 2326 | __le16 req_type; |
2176 | __le16 seq_id; | 2327 | __le16 seq_id; |
2177 | __le16 resp_len; | 2328 | __le16 resp_len; |
2178 | __le32 unused_0; | 2329 | u8 unused_0[7]; |
2179 | u8 unused_1; | 2330 | u8 valid; |
2180 | u8 unused_2; | 2331 | }; |
2181 | u8 unused_3; | 2332 | |
2182 | u8 valid; | 2333 | /* hwrm_port_led_qcfg_input (size:192b/24B) */ |
2183 | }; | 2334 | struct hwrm_port_led_qcfg_input { |
2184 | 2335 | __le16 req_type; | |
2185 | /* hwrm_port_led_qcaps */ | 2336 | __le16 cmpl_ring; |
2186 | /* Input (24 bytes) */ | 2337 | __le16 seq_id; |
2338 | __le16 target_id; | ||
2339 | __le64 resp_addr; | ||
2340 | __le16 port_id; | ||
2341 | u8 unused_0[6]; | ||
2342 | }; | ||
2343 | |||
2344 | /* hwrm_port_led_qcfg_output (size:448b/56B) */ | ||
2345 | struct hwrm_port_led_qcfg_output { | ||
2346 | __le16 error_code; | ||
2347 | __le16 req_type; | ||
2348 | __le16 seq_id; | ||
2349 | __le16 resp_len; | ||
2350 | u8 num_leds; | ||
2351 | u8 led0_id; | ||
2352 | u8 led0_type; | ||
2353 | #define PORT_LED_QCFG_RESP_LED0_TYPE_SPEED 0x0UL | ||
2354 | #define PORT_LED_QCFG_RESP_LED0_TYPE_ACTIVITY 0x1UL | ||
2355 | #define PORT_LED_QCFG_RESP_LED0_TYPE_INVALID 0xffUL | ||
2356 | #define PORT_LED_QCFG_RESP_LED0_TYPE_LAST PORT_LED_QCFG_RESP_LED0_TYPE_INVALID | ||
2357 | u8 led0_state; | ||
2358 | #define PORT_LED_QCFG_RESP_LED0_STATE_DEFAULT 0x0UL | ||
2359 | #define PORT_LED_QCFG_RESP_LED0_STATE_OFF 0x1UL | ||
2360 | #define PORT_LED_QCFG_RESP_LED0_STATE_ON 0x2UL | ||
2361 | #define PORT_LED_QCFG_RESP_LED0_STATE_BLINK 0x3UL | ||
2362 | #define PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT 0x4UL | ||
2363 | #define PORT_LED_QCFG_RESP_LED0_STATE_LAST PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT | ||
2364 | u8 led0_color; | ||
2365 | #define PORT_LED_QCFG_RESP_LED0_COLOR_DEFAULT 0x0UL | ||
2366 | #define PORT_LED_QCFG_RESP_LED0_COLOR_AMBER 0x1UL | ||
2367 | #define PORT_LED_QCFG_RESP_LED0_COLOR_GREEN 0x2UL | ||
2368 | #define PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER 0x3UL | ||
2369 | #define PORT_LED_QCFG_RESP_LED0_COLOR_LAST PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER | ||
2370 | u8 unused_0; | ||
2371 | __le16 led0_blink_on; | ||
2372 | __le16 led0_blink_off; | ||
2373 | u8 led0_group_id; | ||
2374 | u8 led1_id; | ||
2375 | u8 led1_type; | ||
2376 | #define PORT_LED_QCFG_RESP_LED1_TYPE_SPEED 0x0UL | ||
2377 | #define PORT_LED_QCFG_RESP_LED1_TYPE_ACTIVITY 0x1UL | ||
2378 | #define PORT_LED_QCFG_RESP_LED1_TYPE_INVALID 0xffUL | ||
2379 | #define PORT_LED_QCFG_RESP_LED1_TYPE_LAST PORT_LED_QCFG_RESP_LED1_TYPE_INVALID | ||
2380 | u8 led1_state; | ||
2381 | #define PORT_LED_QCFG_RESP_LED1_STATE_DEFAULT 0x0UL | ||
2382 | #define PORT_LED_QCFG_RESP_LED1_STATE_OFF 0x1UL | ||
2383 | #define PORT_LED_QCFG_RESP_LED1_STATE_ON 0x2UL | ||
2384 | #define PORT_LED_QCFG_RESP_LED1_STATE_BLINK 0x3UL | ||
2385 | #define PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT 0x4UL | ||
2386 | #define PORT_LED_QCFG_RESP_LED1_STATE_LAST PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT | ||
2387 | u8 led1_color; | ||
2388 | #define PORT_LED_QCFG_RESP_LED1_COLOR_DEFAULT 0x0UL | ||
2389 | #define PORT_LED_QCFG_RESP_LED1_COLOR_AMBER 0x1UL | ||
2390 | #define PORT_LED_QCFG_RESP_LED1_COLOR_GREEN 0x2UL | ||
2391 | #define PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER 0x3UL | ||
2392 | #define PORT_LED_QCFG_RESP_LED1_COLOR_LAST PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER | ||
2393 | u8 unused_1; | ||
2394 | __le16 led1_blink_on; | ||
2395 | __le16 led1_blink_off; | ||
2396 | u8 led1_group_id; | ||
2397 | u8 led2_id; | ||
2398 | u8 led2_type; | ||
2399 | #define PORT_LED_QCFG_RESP_LED2_TYPE_SPEED 0x0UL | ||
2400 | #define PORT_LED_QCFG_RESP_LED2_TYPE_ACTIVITY 0x1UL | ||
2401 | #define PORT_LED_QCFG_RESP_LED2_TYPE_INVALID 0xffUL | ||
2402 | #define PORT_LED_QCFG_RESP_LED2_TYPE_LAST PORT_LED_QCFG_RESP_LED2_TYPE_INVALID | ||
2403 | u8 led2_state; | ||
2404 | #define PORT_LED_QCFG_RESP_LED2_STATE_DEFAULT 0x0UL | ||
2405 | #define PORT_LED_QCFG_RESP_LED2_STATE_OFF 0x1UL | ||
2406 | #define PORT_LED_QCFG_RESP_LED2_STATE_ON 0x2UL | ||
2407 | #define PORT_LED_QCFG_RESP_LED2_STATE_BLINK 0x3UL | ||
2408 | #define PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT 0x4UL | ||
2409 | #define PORT_LED_QCFG_RESP_LED2_STATE_LAST PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT | ||
2410 | u8 led2_color; | ||
2411 | #define PORT_LED_QCFG_RESP_LED2_COLOR_DEFAULT 0x0UL | ||
2412 | #define PORT_LED_QCFG_RESP_LED2_COLOR_AMBER 0x1UL | ||
2413 | #define PORT_LED_QCFG_RESP_LED2_COLOR_GREEN 0x2UL | ||
2414 | #define PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER 0x3UL | ||
2415 | #define PORT_LED_QCFG_RESP_LED2_COLOR_LAST PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER | ||
2416 | u8 unused_2; | ||
2417 | __le16 led2_blink_on; | ||
2418 | __le16 led2_blink_off; | ||
2419 | u8 led2_group_id; | ||
2420 | u8 led3_id; | ||
2421 | u8 led3_type; | ||
2422 | #define PORT_LED_QCFG_RESP_LED3_TYPE_SPEED 0x0UL | ||
2423 | #define PORT_LED_QCFG_RESP_LED3_TYPE_ACTIVITY 0x1UL | ||
2424 | #define PORT_LED_QCFG_RESP_LED3_TYPE_INVALID 0xffUL | ||
2425 | #define PORT_LED_QCFG_RESP_LED3_TYPE_LAST PORT_LED_QCFG_RESP_LED3_TYPE_INVALID | ||
2426 | u8 led3_state; | ||
2427 | #define PORT_LED_QCFG_RESP_LED3_STATE_DEFAULT 0x0UL | ||
2428 | #define PORT_LED_QCFG_RESP_LED3_STATE_OFF 0x1UL | ||
2429 | #define PORT_LED_QCFG_RESP_LED3_STATE_ON 0x2UL | ||
2430 | #define PORT_LED_QCFG_RESP_LED3_STATE_BLINK 0x3UL | ||
2431 | #define PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT 0x4UL | ||
2432 | #define PORT_LED_QCFG_RESP_LED3_STATE_LAST PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT | ||
2433 | u8 led3_color; | ||
2434 | #define PORT_LED_QCFG_RESP_LED3_COLOR_DEFAULT 0x0UL | ||
2435 | #define PORT_LED_QCFG_RESP_LED3_COLOR_AMBER 0x1UL | ||
2436 | #define PORT_LED_QCFG_RESP_LED3_COLOR_GREEN 0x2UL | ||
2437 | #define PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER 0x3UL | ||
2438 | #define PORT_LED_QCFG_RESP_LED3_COLOR_LAST PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER | ||
2439 | u8 unused_3; | ||
2440 | __le16 led3_blink_on; | ||
2441 | __le16 led3_blink_off; | ||
2442 | u8 led3_group_id; | ||
2443 | u8 unused_4[6]; | ||
2444 | u8 valid; | ||
2445 | }; | ||
2446 | |||
2447 | /* hwrm_port_led_qcaps_input (size:192b/24B) */ | ||
2187 | struct hwrm_port_led_qcaps_input { | 2448 | struct hwrm_port_led_qcaps_input { |
2188 | __le16 req_type; | 2449 | __le16 req_type; |
2189 | __le16 cmpl_ring; | 2450 | __le16 cmpl_ring; |
2190 | __le16 seq_id; | 2451 | __le16 seq_id; |
2191 | __le16 target_id; | 2452 | __le16 target_id; |
2192 | __le64 resp_addr; | 2453 | __le64 resp_addr; |
2193 | __le16 port_id; | 2454 | __le16 port_id; |
2194 | __le16 unused_0[3]; | 2455 | u8 unused_0[6]; |
2195 | }; | 2456 | }; |
2196 | 2457 | ||
2197 | /* Output (48 bytes) */ | 2458 | /* hwrm_port_led_qcaps_output (size:384b/48B) */ |
2198 | struct hwrm_port_led_qcaps_output { | 2459 | struct hwrm_port_led_qcaps_output { |
2199 | __le16 error_code; | 2460 | __le16 error_code; |
2200 | __le16 req_type; | 2461 | __le16 req_type; |
2201 | __le16 seq_id; | 2462 | __le16 seq_id; |
2202 | __le16 resp_len; | 2463 | __le16 resp_len; |
2203 | u8 num_leds; | 2464 | u8 num_leds; |
2204 | u8 unused_0[3]; | 2465 | u8 unused[3]; |
2205 | u8 led0_id; | 2466 | u8 led0_id; |
2206 | u8 led0_type; | 2467 | u8 led0_type; |
2207 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_SPEED 0x0UL | 2468 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_SPEED 0x0UL |
2208 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_ACTIVITY 0x1UL | 2469 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_ACTIVITY 0x1UL |
2209 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID 0xffUL | 2470 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID 0xffUL |
2210 | u8 led0_group_id; | 2471 | #define PORT_LED_QCAPS_RESP_LED0_TYPE_LAST PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID |
2211 | u8 unused_1; | 2472 | u8 led0_group_id; |
2212 | __le16 led0_state_caps; | 2473 | u8 unused_0; |
2213 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ENABLED 0x1UL | 2474 | __le16 led0_state_caps; |
2214 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_OFF_SUPPORTED 0x2UL | 2475 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ENABLED 0x1UL |
2215 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ON_SUPPORTED 0x4UL | 2476 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_OFF_SUPPORTED 0x2UL |
2216 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_SUPPORTED 0x8UL | 2477 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ON_SUPPORTED 0x4UL |
2217 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL | 2478 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_SUPPORTED 0x8UL |
2218 | __le16 led0_color_caps; | 2479 | #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL |
2219 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_RSVD 0x1UL | 2480 | __le16 led0_color_caps; |
2220 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_AMBER_SUPPORTED 0x2UL | 2481 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_RSVD 0x1UL |
2221 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_GREEN_SUPPORTED 0x4UL | 2482 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_AMBER_SUPPORTED 0x2UL |
2222 | u8 led1_id; | 2483 | #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_GREEN_SUPPORTED 0x4UL |
2223 | u8 led1_type; | 2484 | u8 led1_id; |
2224 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_SPEED 0x0UL | 2485 | u8 led1_type; |
2225 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_ACTIVITY 0x1UL | 2486 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_SPEED 0x0UL |
2226 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID 0xffUL | 2487 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_ACTIVITY 0x1UL |
2227 | u8 led1_group_id; | 2488 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID 0xffUL |
2228 | u8 unused_2; | 2489 | #define PORT_LED_QCAPS_RESP_LED1_TYPE_LAST PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID |
2229 | __le16 led1_state_caps; | 2490 | u8 led1_group_id; |
2230 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ENABLED 0x1UL | 2491 | u8 unused_1; |
2231 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_OFF_SUPPORTED 0x2UL | 2492 | __le16 led1_state_caps; |
2232 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ON_SUPPORTED 0x4UL | 2493 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ENABLED 0x1UL |
2233 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_SUPPORTED 0x8UL | 2494 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_OFF_SUPPORTED 0x2UL |
2234 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL | 2495 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ON_SUPPORTED 0x4UL |
2235 | __le16 led1_color_caps; | 2496 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_SUPPORTED 0x8UL |
2236 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_RSVD 0x1UL | 2497 | #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL |
2237 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_AMBER_SUPPORTED 0x2UL | 2498 | __le16 led1_color_caps; |
2238 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_GREEN_SUPPORTED 0x4UL | 2499 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_RSVD 0x1UL |
2239 | u8 led2_id; | 2500 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_AMBER_SUPPORTED 0x2UL |
2240 | u8 led2_type; | 2501 | #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_GREEN_SUPPORTED 0x4UL |
2241 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_SPEED 0x0UL | 2502 | u8 led2_id; |
2242 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_ACTIVITY 0x1UL | 2503 | u8 led2_type; |
2243 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID 0xffUL | 2504 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_SPEED 0x0UL |
2244 | u8 led2_group_id; | 2505 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_ACTIVITY 0x1UL |
2245 | u8 unused_3; | 2506 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID 0xffUL |
2246 | __le16 led2_state_caps; | 2507 | #define PORT_LED_QCAPS_RESP_LED2_TYPE_LAST PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID |
2247 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ENABLED 0x1UL | 2508 | u8 led2_group_id; |
2248 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_OFF_SUPPORTED 0x2UL | 2509 | u8 unused_2; |
2249 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ON_SUPPORTED 0x4UL | 2510 | __le16 led2_state_caps; |
2250 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_SUPPORTED 0x8UL | 2511 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ENABLED 0x1UL |
2251 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL | 2512 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_OFF_SUPPORTED 0x2UL |
2252 | __le16 led2_color_caps; | 2513 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ON_SUPPORTED 0x4UL |
2253 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_RSVD 0x1UL | 2514 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_SUPPORTED 0x8UL |
2254 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_AMBER_SUPPORTED 0x2UL | 2515 | #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL |
2255 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_GREEN_SUPPORTED 0x4UL | 2516 | __le16 led2_color_caps; |
2256 | u8 led3_id; | 2517 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_RSVD 0x1UL |
2257 | u8 led3_type; | 2518 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_AMBER_SUPPORTED 0x2UL |
2258 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_SPEED 0x0UL | 2519 | #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_GREEN_SUPPORTED 0x4UL |
2259 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_ACTIVITY 0x1UL | 2520 | u8 led3_id; |
2260 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID 0xffUL | 2521 | u8 led3_type; |
2261 | u8 led3_group_id; | 2522 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_SPEED 0x0UL |
2262 | u8 unused_4; | 2523 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_ACTIVITY 0x1UL |
2263 | __le16 led3_state_caps; | 2524 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID 0xffUL |
2264 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ENABLED 0x1UL | 2525 | #define PORT_LED_QCAPS_RESP_LED3_TYPE_LAST PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID |
2265 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_OFF_SUPPORTED 0x2UL | 2526 | u8 led3_group_id; |
2266 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ON_SUPPORTED 0x4UL | 2527 | u8 unused_3; |
2267 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_SUPPORTED 0x8UL | 2528 | __le16 led3_state_caps; |
2268 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL | 2529 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ENABLED 0x1UL |
2269 | __le16 led3_color_caps; | 2530 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_OFF_SUPPORTED 0x2UL |
2270 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_RSVD 0x1UL | 2531 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ON_SUPPORTED 0x4UL |
2271 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_AMBER_SUPPORTED 0x2UL | 2532 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_SUPPORTED 0x8UL |
2272 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_GREEN_SUPPORTED 0x4UL | 2533 | #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL |
2273 | u8 unused_5; | 2534 | __le16 led3_color_caps; |
2274 | u8 unused_6; | 2535 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_RSVD 0x1UL |
2275 | u8 unused_7; | 2536 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_AMBER_SUPPORTED 0x2UL |
2276 | u8 valid; | 2537 | #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_GREEN_SUPPORTED 0x4UL |
2277 | }; | 2538 | u8 unused_4[3]; |
2278 | 2539 | u8 valid; | |
2279 | /* hwrm_queue_qportcfg */ | 2540 | }; |
2280 | /* Input (24 bytes) */ | 2541 | |
2542 | /* hwrm_queue_qportcfg_input (size:192b/24B) */ | ||
2281 | struct hwrm_queue_qportcfg_input { | 2543 | struct hwrm_queue_qportcfg_input { |
2282 | __le16 req_type; | 2544 | __le16 req_type; |
2283 | __le16 cmpl_ring; | 2545 | __le16 cmpl_ring; |
2284 | __le16 seq_id; | 2546 | __le16 seq_id; |
2285 | __le16 target_id; | 2547 | __le16 target_id; |
2286 | __le64 resp_addr; | 2548 | __le64 resp_addr; |
2287 | __le32 flags; | 2549 | __le32 flags; |
2288 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH 0x1UL | 2550 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH 0x1UL |
2289 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX 0x0UL | 2551 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX 0x0UL |
2290 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX 0x1UL | 2552 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX 0x1UL |
2291 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_LAST QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX | 2553 | #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_LAST QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX |
2292 | __le16 port_id; | 2554 | __le16 port_id; |
2293 | __le16 unused_0; | 2555 | u8 unused_0[2]; |
2294 | }; | 2556 | }; |
2295 | 2557 | ||
2296 | /* Output (32 bytes) */ | 2558 | /* hwrm_queue_qportcfg_output (size:256b/32B) */ |
2297 | struct hwrm_queue_qportcfg_output { | 2559 | struct hwrm_queue_qportcfg_output { |
2298 | __le16 error_code; | 2560 | __le16 error_code; |
2299 | __le16 req_type; | 2561 | __le16 req_type; |
2300 | __le16 seq_id; | 2562 | __le16 seq_id; |
2301 | __le16 resp_len; | 2563 | __le16 resp_len; |
2302 | u8 max_configurable_queues; | 2564 | u8 max_configurable_queues; |
2303 | u8 max_configurable_lossless_queues; | 2565 | u8 max_configurable_lossless_queues; |
2304 | u8 queue_cfg_allowed; | 2566 | u8 queue_cfg_allowed; |
2305 | u8 queue_cfg_info; | 2567 | u8 queue_cfg_info; |
2306 | #define QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL | 2568 | #define QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL |
2307 | u8 queue_pfcenable_cfg_allowed; | 2569 | u8 queue_pfcenable_cfg_allowed; |
2308 | u8 queue_pri2cos_cfg_allowed; | 2570 | u8 queue_pri2cos_cfg_allowed; |
2309 | u8 queue_cos2bw_cfg_allowed; | 2571 | u8 queue_cos2bw_cfg_allowed; |
2310 | u8 queue_id0; | 2572 | u8 queue_id0; |
2311 | u8 queue_id0_service_profile; | 2573 | u8 queue_id0_service_profile; |
2312 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY 0x0UL | 2574 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY 0x0UL |
2313 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS 0x1UL | 2575 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS 0x1UL |
2314 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN 0xffUL | 2576 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN 0xffUL |
2315 | u8 queue_id1; | 2577 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN |
2316 | u8 queue_id1_service_profile; | 2578 | u8 queue_id1; |
2317 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY 0x0UL | 2579 | u8 queue_id1_service_profile; |
2580 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY 0x0UL | ||
2318 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS 0x1UL | 2581 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS 0x1UL |
2319 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN 0xffUL | 2582 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN 0xffUL |
2320 | u8 queue_id2; | 2583 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN |
2321 | u8 queue_id2_service_profile; | 2584 | u8 queue_id2; |
2322 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY 0x0UL | 2585 | u8 queue_id2_service_profile; |
2586 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY 0x0UL | ||
2323 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS 0x1UL | 2587 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS 0x1UL |
2324 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN 0xffUL | 2588 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN 0xffUL |
2325 | u8 queue_id3; | 2589 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN |
2326 | u8 queue_id3_service_profile; | 2590 | u8 queue_id3; |
2327 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY 0x0UL | 2591 | u8 queue_id3_service_profile; |
2592 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY 0x0UL | ||
2328 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS 0x1UL | 2593 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS 0x1UL |
2329 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN 0xffUL | 2594 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN 0xffUL |
2330 | u8 queue_id4; | 2595 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN |
2331 | u8 queue_id4_service_profile; | 2596 | u8 queue_id4; |
2332 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY 0x0UL | 2597 | u8 queue_id4_service_profile; |
2598 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY 0x0UL | ||
2333 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS 0x1UL | 2599 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS 0x1UL |
2334 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN 0xffUL | 2600 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN 0xffUL |
2335 | u8 queue_id5; | 2601 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN |
2336 | u8 queue_id5_service_profile; | 2602 | u8 queue_id5; |
2337 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY 0x0UL | 2603 | u8 queue_id5_service_profile; |
2604 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY 0x0UL | ||
2338 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS 0x1UL | 2605 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS 0x1UL |
2339 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN 0xffUL | 2606 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN 0xffUL |
2340 | u8 queue_id6; | 2607 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN |
2341 | u8 queue_id6_service_profile; | 2608 | u8 queue_id6; |
2342 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY 0x0UL | 2609 | u8 queue_id6_service_profile; |
2610 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY 0x0UL | ||
2343 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS 0x1UL | 2611 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS 0x1UL |
2344 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN 0xffUL | 2612 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN 0xffUL |
2345 | u8 queue_id7; | 2613 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN |
2346 | u8 queue_id7_service_profile; | 2614 | u8 queue_id7; |
2347 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY 0x0UL | 2615 | u8 queue_id7_service_profile; |
2616 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY 0x0UL | ||
2348 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS 0x1UL | 2617 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS 0x1UL |
2349 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN 0xffUL | 2618 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN 0xffUL |
2350 | u8 valid; | 2619 | #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN |
2620 | u8 valid; | ||
2351 | }; | 2621 | }; |
2352 | 2622 | ||
2353 | /* hwrm_queue_cfg */ | 2623 | /* hwrm_queue_cfg_input (size:320b/40B) */ |
2354 | /* Input (40 bytes) */ | ||
2355 | struct hwrm_queue_cfg_input { | 2624 | struct hwrm_queue_cfg_input { |
2356 | __le16 req_type; | 2625 | __le16 req_type; |
2357 | __le16 cmpl_ring; | 2626 | __le16 cmpl_ring; |
2358 | __le16 seq_id; | 2627 | __le16 seq_id; |
2359 | __le16 target_id; | 2628 | __le16 target_id; |
2360 | __le64 resp_addr; | 2629 | __le64 resp_addr; |
2361 | __le32 flags; | 2630 | __le32 flags; |
2362 | #define QUEUE_CFG_REQ_FLAGS_PATH_MASK 0x3UL | 2631 | #define QUEUE_CFG_REQ_FLAGS_PATH_MASK 0x3UL |
2363 | #define QUEUE_CFG_REQ_FLAGS_PATH_SFT 0 | 2632 | #define QUEUE_CFG_REQ_FLAGS_PATH_SFT 0 |
2364 | #define QUEUE_CFG_REQ_FLAGS_PATH_TX 0x0UL | 2633 | #define QUEUE_CFG_REQ_FLAGS_PATH_TX 0x0UL |
2365 | #define QUEUE_CFG_REQ_FLAGS_PATH_RX 0x1UL | 2634 | #define QUEUE_CFG_REQ_FLAGS_PATH_RX 0x1UL |
2366 | #define QUEUE_CFG_REQ_FLAGS_PATH_BIDIR 0x2UL | 2635 | #define QUEUE_CFG_REQ_FLAGS_PATH_BIDIR 0x2UL |
2367 | #define QUEUE_CFG_REQ_FLAGS_PATH_LAST QUEUE_CFG_REQ_FLAGS_PATH_BIDIR | 2636 | #define QUEUE_CFG_REQ_FLAGS_PATH_LAST QUEUE_CFG_REQ_FLAGS_PATH_BIDIR |
2368 | __le32 enables; | 2637 | __le32 enables; |
2369 | #define QUEUE_CFG_REQ_ENABLES_DFLT_LEN 0x1UL | 2638 | #define QUEUE_CFG_REQ_ENABLES_DFLT_LEN 0x1UL |
2370 | #define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE 0x2UL | 2639 | #define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE 0x2UL |
2371 | __le32 queue_id; | 2640 | __le32 queue_id; |
2372 | __le32 dflt_len; | 2641 | __le32 dflt_len; |
2373 | u8 service_profile; | 2642 | u8 service_profile; |
2374 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSY 0x0UL | 2643 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSY 0x0UL |
2375 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSLESS 0x1UL | 2644 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSLESS 0x1UL |
2376 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN 0xffUL | 2645 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN 0xffUL |
2377 | u8 unused_0[7]; | 2646 | #define QUEUE_CFG_REQ_SERVICE_PROFILE_LAST QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN |
2378 | }; | 2647 | u8 unused_0[7]; |
2379 | 2648 | }; | |
2380 | /* Output (16 bytes) */ | 2649 | |
2650 | /* hwrm_queue_cfg_output (size:128b/16B) */ | ||
2381 | struct hwrm_queue_cfg_output { | 2651 | struct hwrm_queue_cfg_output { |
2382 | __le16 error_code; | 2652 | __le16 error_code; |
2383 | __le16 req_type; | 2653 | __le16 req_type; |
2384 | __le16 seq_id; | 2654 | __le16 seq_id; |
2385 | __le16 resp_len; | 2655 | __le16 resp_len; |
2386 | __le32 unused_0; | 2656 | u8 unused_0[7]; |
2387 | u8 unused_1; | 2657 | u8 valid; |
2388 | u8 unused_2; | 2658 | }; |
2389 | u8 unused_3; | 2659 | |
2390 | u8 valid; | 2660 | /* hwrm_queue_pfcenable_qcfg_input (size:192b/24B) */ |
2391 | }; | ||
2392 | |||
2393 | /* hwrm_queue_pfcenable_qcfg */ | ||
2394 | /* Input (24 bytes) */ | ||
2395 | struct hwrm_queue_pfcenable_qcfg_input { | 2661 | struct hwrm_queue_pfcenable_qcfg_input { |
2396 | __le16 req_type; | 2662 | __le16 req_type; |
2397 | __le16 cmpl_ring; | 2663 | __le16 cmpl_ring; |
2398 | __le16 seq_id; | 2664 | __le16 seq_id; |
2399 | __le16 target_id; | 2665 | __le16 target_id; |
2400 | __le64 resp_addr; | 2666 | __le64 resp_addr; |
2401 | __le16 port_id; | 2667 | __le16 port_id; |
2402 | __le16 unused_0[3]; | 2668 | u8 unused_0[6]; |
2403 | }; | 2669 | }; |
2404 | 2670 | ||
2405 | /* Output (16 bytes) */ | 2671 | /* hwrm_queue_pfcenable_qcfg_output (size:128b/16B) */ |
2406 | struct hwrm_queue_pfcenable_qcfg_output { | 2672 | struct hwrm_queue_pfcenable_qcfg_output { |
2407 | __le16 error_code; | 2673 | __le16 error_code; |
2408 | __le16 req_type; | 2674 | __le16 req_type; |
2409 | __le16 seq_id; | 2675 | __le16 seq_id; |
2410 | __le16 resp_len; | 2676 | __le16 resp_len; |
2411 | __le32 flags; | 2677 | __le32 flags; |
2412 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_ENABLED 0x1UL | 2678 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_ENABLED 0x1UL |
2413 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_ENABLED 0x2UL | 2679 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_ENABLED 0x2UL |
2414 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_ENABLED 0x4UL | 2680 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_ENABLED 0x4UL |
2415 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_ENABLED 0x8UL | 2681 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_ENABLED 0x8UL |
2416 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_ENABLED 0x10UL | 2682 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_ENABLED 0x10UL |
2417 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_ENABLED 0x20UL | 2683 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_ENABLED 0x20UL |
2418 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_ENABLED 0x40UL | 2684 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_ENABLED 0x40UL |
2419 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_ENABLED 0x80UL | 2685 | #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_ENABLED 0x80UL |
2420 | u8 unused_0; | 2686 | u8 unused_0[3]; |
2421 | u8 unused_1; | 2687 | u8 valid; |
2422 | u8 unused_2; | 2688 | }; |
2423 | u8 valid; | 2689 | |
2424 | }; | 2690 | /* hwrm_queue_pfcenable_cfg_input (size:192b/24B) */ |
2425 | |||
2426 | /* hwrm_queue_pfcenable_cfg */ | ||
2427 | /* Input (24 bytes) */ | ||
2428 | struct hwrm_queue_pfcenable_cfg_input { | 2691 | struct hwrm_queue_pfcenable_cfg_input { |
2429 | __le16 req_type; | 2692 | __le16 req_type; |
2430 | __le16 cmpl_ring; | 2693 | __le16 cmpl_ring; |
2431 | __le16 seq_id; | 2694 | __le16 seq_id; |
2432 | __le16 target_id; | 2695 | __le16 target_id; |
2433 | __le64 resp_addr; | 2696 | __le64 resp_addr; |
2434 | __le32 flags; | 2697 | __le32 flags; |
2435 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_ENABLED 0x1UL | 2698 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_ENABLED 0x1UL |
2436 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_ENABLED 0x2UL | 2699 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_ENABLED 0x2UL |
2437 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_ENABLED 0x4UL | 2700 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_ENABLED 0x4UL |
@@ -2440,1729 +2703,1664 @@ struct hwrm_queue_pfcenable_cfg_input { | |||
2440 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_ENABLED 0x20UL | 2703 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_ENABLED 0x20UL |
2441 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_ENABLED 0x40UL | 2704 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_ENABLED 0x40UL |
2442 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_ENABLED 0x80UL | 2705 | #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_ENABLED 0x80UL |
2443 | __le16 port_id; | 2706 | __le16 port_id; |
2444 | __le16 unused_0; | 2707 | u8 unused_0[2]; |
2445 | }; | 2708 | }; |
2446 | 2709 | ||
2447 | /* Output (16 bytes) */ | 2710 | /* hwrm_queue_pfcenable_cfg_output (size:128b/16B) */ |
2448 | struct hwrm_queue_pfcenable_cfg_output { | 2711 | struct hwrm_queue_pfcenable_cfg_output { |
2449 | __le16 error_code; | 2712 | __le16 error_code; |
2450 | __le16 req_type; | 2713 | __le16 req_type; |
2451 | __le16 seq_id; | 2714 | __le16 seq_id; |
2452 | __le16 resp_len; | 2715 | __le16 resp_len; |
2453 | __le32 unused_0; | 2716 | u8 unused_0[7]; |
2454 | u8 unused_1; | 2717 | u8 valid; |
2455 | u8 unused_2; | 2718 | }; |
2456 | u8 unused_3; | 2719 | |
2457 | u8 valid; | 2720 | /* hwrm_queue_pri2cos_qcfg_input (size:192b/24B) */ |
2458 | }; | ||
2459 | |||
2460 | /* hwrm_queue_pri2cos_qcfg */ | ||
2461 | /* Input (24 bytes) */ | ||
2462 | struct hwrm_queue_pri2cos_qcfg_input { | 2721 | struct hwrm_queue_pri2cos_qcfg_input { |
2463 | __le16 req_type; | 2722 | __le16 req_type; |
2464 | __le16 cmpl_ring; | 2723 | __le16 cmpl_ring; |
2465 | __le16 seq_id; | 2724 | __le16 seq_id; |
2466 | __le16 target_id; | 2725 | __le16 target_id; |
2467 | __le64 resp_addr; | 2726 | __le64 resp_addr; |
2468 | __le32 flags; | 2727 | __le32 flags; |
2469 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH 0x1UL | 2728 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH 0x1UL |
2470 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2729 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_TX 0x0UL |
2471 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2730 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX 0x1UL |
2472 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX | 2731 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX |
2473 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_IVLAN 0x2UL | 2732 | #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_IVLAN 0x2UL |
2474 | u8 port_id; | 2733 | u8 port_id; |
2475 | u8 unused_0[3]; | 2734 | u8 unused_0[3]; |
2476 | }; | 2735 | }; |
2477 | 2736 | ||
2478 | /* Output (24 bytes) */ | 2737 | /* hwrm_queue_pri2cos_qcfg_output (size:192b/24B) */ |
2479 | struct hwrm_queue_pri2cos_qcfg_output { | 2738 | struct hwrm_queue_pri2cos_qcfg_output { |
2480 | __le16 error_code; | 2739 | __le16 error_code; |
2481 | __le16 req_type; | 2740 | __le16 req_type; |
2482 | __le16 seq_id; | 2741 | __le16 seq_id; |
2483 | __le16 resp_len; | 2742 | __le16 resp_len; |
2484 | u8 pri0_cos_queue_id; | 2743 | u8 pri0_cos_queue_id; |
2485 | u8 pri1_cos_queue_id; | 2744 | u8 pri1_cos_queue_id; |
2486 | u8 pri2_cos_queue_id; | 2745 | u8 pri2_cos_queue_id; |
2487 | u8 pri3_cos_queue_id; | 2746 | u8 pri3_cos_queue_id; |
2488 | u8 pri4_cos_queue_id; | 2747 | u8 pri4_cos_queue_id; |
2489 | u8 pri5_cos_queue_id; | 2748 | u8 pri5_cos_queue_id; |
2490 | u8 pri6_cos_queue_id; | 2749 | u8 pri6_cos_queue_id; |
2491 | u8 pri7_cos_queue_id; | 2750 | u8 pri7_cos_queue_id; |
2492 | u8 queue_cfg_info; | 2751 | u8 queue_cfg_info; |
2493 | #define QUEUE_PRI2COS_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL | 2752 | #define QUEUE_PRI2COS_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL |
2494 | u8 unused_0; | 2753 | u8 unused_0[6]; |
2495 | __le16 unused_1; | 2754 | u8 valid; |
2496 | u8 unused_2; | 2755 | }; |
2497 | u8 unused_3; | 2756 | |
2498 | u8 unused_4; | 2757 | /* hwrm_queue_pri2cos_cfg_input (size:320b/40B) */ |
2499 | u8 valid; | ||
2500 | }; | ||
2501 | |||
2502 | /* hwrm_queue_pri2cos_cfg */ | ||
2503 | /* Input (40 bytes) */ | ||
2504 | struct hwrm_queue_pri2cos_cfg_input { | 2758 | struct hwrm_queue_pri2cos_cfg_input { |
2505 | __le16 req_type; | 2759 | __le16 req_type; |
2506 | __le16 cmpl_ring; | 2760 | __le16 cmpl_ring; |
2507 | __le16 seq_id; | 2761 | __le16 seq_id; |
2508 | __le16 target_id; | 2762 | __le16 target_id; |
2509 | __le64 resp_addr; | 2763 | __le64 resp_addr; |
2510 | __le32 flags; | 2764 | __le32 flags; |
2511 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_MASK 0x3UL | 2765 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_MASK 0x3UL |
2512 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_SFT 0 | 2766 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_SFT 0 |
2513 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 2767 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX 0x0UL |
2514 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 2768 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX 0x1UL |
2515 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR (0x2UL << 0) | 2769 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR 0x2UL |
2516 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR | 2770 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR |
2517 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN 0x4UL | 2771 | #define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN 0x4UL |
2518 | __le32 enables; | 2772 | __le32 enables; |
2519 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI0_COS_QUEUE_ID 0x1UL | 2773 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI0_COS_QUEUE_ID 0x1UL |
2520 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI1_COS_QUEUE_ID 0x2UL | 2774 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI1_COS_QUEUE_ID 0x2UL |
2521 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI2_COS_QUEUE_ID 0x4UL | 2775 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI2_COS_QUEUE_ID 0x4UL |
2522 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI3_COS_QUEUE_ID 0x8UL | 2776 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI3_COS_QUEUE_ID 0x8UL |
2523 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI4_COS_QUEUE_ID 0x10UL | 2777 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI4_COS_QUEUE_ID 0x10UL |
2524 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI5_COS_QUEUE_ID 0x20UL | 2778 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI5_COS_QUEUE_ID 0x20UL |
2525 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI6_COS_QUEUE_ID 0x40UL | 2779 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI6_COS_QUEUE_ID 0x40UL |
2526 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI7_COS_QUEUE_ID 0x80UL | 2780 | #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI7_COS_QUEUE_ID 0x80UL |
2527 | u8 port_id; | 2781 | u8 port_id; |
2528 | u8 pri0_cos_queue_id; | 2782 | u8 pri0_cos_queue_id; |
2529 | u8 pri1_cos_queue_id; | 2783 | u8 pri1_cos_queue_id; |
2530 | u8 pri2_cos_queue_id; | 2784 | u8 pri2_cos_queue_id; |
2531 | u8 pri3_cos_queue_id; | 2785 | u8 pri3_cos_queue_id; |
2532 | u8 pri4_cos_queue_id; | 2786 | u8 pri4_cos_queue_id; |
2533 | u8 pri5_cos_queue_id; | 2787 | u8 pri5_cos_queue_id; |
2534 | u8 pri6_cos_queue_id; | 2788 | u8 pri6_cos_queue_id; |
2535 | u8 pri7_cos_queue_id; | 2789 | u8 pri7_cos_queue_id; |
2536 | u8 unused_0[7]; | 2790 | u8 unused_0[7]; |
2537 | }; | 2791 | }; |
2538 | 2792 | ||
2539 | /* Output (16 bytes) */ | 2793 | /* hwrm_queue_pri2cos_cfg_output (size:128b/16B) */ |
2540 | struct hwrm_queue_pri2cos_cfg_output { | 2794 | struct hwrm_queue_pri2cos_cfg_output { |
2541 | __le16 error_code; | 2795 | __le16 error_code; |
2542 | __le16 req_type; | 2796 | __le16 req_type; |
2543 | __le16 seq_id; | 2797 | __le16 seq_id; |
2544 | __le16 resp_len; | 2798 | __le16 resp_len; |
2545 | __le32 unused_0; | 2799 | u8 unused_0[7]; |
2546 | u8 unused_1; | 2800 | u8 valid; |
2547 | u8 unused_2; | 2801 | }; |
2548 | u8 unused_3; | 2802 | |
2549 | u8 valid; | 2803 | /* hwrm_queue_cos2bw_qcfg_input (size:192b/24B) */ |
2550 | }; | ||
2551 | |||
2552 | /* hwrm_queue_cos2bw_qcfg */ | ||
2553 | /* Input (24 bytes) */ | ||
2554 | struct hwrm_queue_cos2bw_qcfg_input { | 2804 | struct hwrm_queue_cos2bw_qcfg_input { |
2555 | __le16 req_type; | 2805 | __le16 req_type; |
2556 | __le16 cmpl_ring; | 2806 | __le16 cmpl_ring; |
2557 | __le16 seq_id; | 2807 | __le16 seq_id; |
2558 | __le16 target_id; | 2808 | __le16 target_id; |
2559 | __le64 resp_addr; | 2809 | __le64 resp_addr; |
2560 | __le16 port_id; | 2810 | __le16 port_id; |
2561 | __le16 unused_0[3]; | 2811 | u8 unused_0[6]; |
2562 | }; | 2812 | }; |
2563 | 2813 | ||
2564 | /* Output (112 bytes) */ | 2814 | /* hwrm_queue_cos2bw_qcfg_output (size:896b/112B) */ |
2565 | struct hwrm_queue_cos2bw_qcfg_output { | 2815 | struct hwrm_queue_cos2bw_qcfg_output { |
2566 | __le16 error_code; | 2816 | __le16 error_code; |
2567 | __le16 req_type; | 2817 | __le16 req_type; |
2568 | __le16 seq_id; | 2818 | __le16 seq_id; |
2569 | __le16 resp_len; | 2819 | __le16 resp_len; |
2570 | u8 queue_id0; | 2820 | u8 queue_id0; |
2571 | u8 unused_0; | 2821 | u8 unused_0; |
2572 | __le16 unused_1; | 2822 | __le16 unused_1; |
2573 | __le32 queue_id0_min_bw; | 2823 | __le32 queue_id0_min_bw; |
2574 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 2824 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2575 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0 | 2825 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0 |
2576 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL | 2826 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL |
2577 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28) | 2827 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28) |
2578 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28) | 2828 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2579 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES | 2829 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES |
2580 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2830 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2581 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29 | 2831 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2582 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2832 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2583 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2833 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2584 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2834 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2585 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2835 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2586 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2836 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2587 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2837 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2588 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID | 2838 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID |
2589 | __le32 queue_id0_max_bw; | 2839 | __le32 queue_id0_max_bw; |
2590 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 2840 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2591 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0 | 2841 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0 |
2592 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL | 2842 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL |
2593 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28) | 2843 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28) |
2594 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28) | 2844 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2595 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES | 2845 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES |
2596 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2846 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2597 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29 | 2847 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2598 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2848 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2599 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2849 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2600 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2850 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2601 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2851 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2602 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2852 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2603 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2853 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2604 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID | 2854 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID |
2605 | u8 queue_id0_tsa_assign; | 2855 | u8 queue_id0_tsa_assign; |
2606 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL | 2856 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL |
2607 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL | 2857 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL |
2608 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 2858 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2609 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL | 2859 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2610 | u8 queue_id0_pri_lvl; | 2860 | u8 queue_id0_pri_lvl; |
2611 | u8 queue_id0_bw_weight; | 2861 | u8 queue_id0_bw_weight; |
2612 | u8 queue_id1; | 2862 | u8 queue_id1; |
2613 | __le32 queue_id1_min_bw; | 2863 | __le32 queue_id1_min_bw; |
2614 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 2864 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2615 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0 | 2865 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0 |
2616 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL | 2866 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL |
2617 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28) | 2867 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28) |
2618 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28) | 2868 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2619 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES | 2869 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES |
2620 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2870 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2621 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29 | 2871 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2622 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2872 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2623 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2873 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2624 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2874 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2625 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2875 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2626 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2876 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2627 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2877 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2628 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID | 2878 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID |
2629 | __le32 queue_id1_max_bw; | 2879 | __le32 queue_id1_max_bw; |
2630 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 2880 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2631 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0 | 2881 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0 |
2632 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL | 2882 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL |
2633 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28) | 2883 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28) |
2634 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28) | 2884 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2635 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES | 2885 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES |
2636 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2886 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2637 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29 | 2887 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2638 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2888 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2639 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2889 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2640 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2890 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2641 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2891 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2642 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2892 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2643 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2893 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2644 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID | 2894 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID |
2645 | u8 queue_id1_tsa_assign; | 2895 | u8 queue_id1_tsa_assign; |
2646 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL | 2896 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL |
2647 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL | 2897 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL |
2648 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 2898 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2649 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL | 2899 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2650 | u8 queue_id1_pri_lvl; | 2900 | u8 queue_id1_pri_lvl; |
2651 | u8 queue_id1_bw_weight; | 2901 | u8 queue_id1_bw_weight; |
2652 | u8 queue_id2; | 2902 | u8 queue_id2; |
2653 | __le32 queue_id2_min_bw; | 2903 | __le32 queue_id2_min_bw; |
2654 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 2904 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2655 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0 | 2905 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0 |
2656 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL | 2906 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL |
2657 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28) | 2907 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28) |
2658 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28) | 2908 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2659 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES | 2909 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES |
2660 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2910 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2661 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29 | 2911 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2662 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2912 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2663 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2913 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2664 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2914 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2665 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2915 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2666 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2916 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2667 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2917 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2668 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID | 2918 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID |
2669 | __le32 queue_id2_max_bw; | 2919 | __le32 queue_id2_max_bw; |
2670 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 2920 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2671 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0 | 2921 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0 |
2672 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL | 2922 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL |
2673 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28) | 2923 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28) |
2674 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28) | 2924 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2675 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES | 2925 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES |
2676 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2926 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2677 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29 | 2927 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2678 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2928 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2679 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2929 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2680 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2930 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2681 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2931 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2682 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2932 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2683 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2933 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2684 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID | 2934 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID |
2685 | u8 queue_id2_tsa_assign; | 2935 | u8 queue_id2_tsa_assign; |
2686 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL | 2936 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL |
2687 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL | 2937 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL |
2688 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 2938 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2689 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL | 2939 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2690 | u8 queue_id2_pri_lvl; | 2940 | u8 queue_id2_pri_lvl; |
2691 | u8 queue_id2_bw_weight; | 2941 | u8 queue_id2_bw_weight; |
2692 | u8 queue_id3; | 2942 | u8 queue_id3; |
2693 | __le32 queue_id3_min_bw; | 2943 | __le32 queue_id3_min_bw; |
2694 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 2944 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2695 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0 | 2945 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0 |
2696 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL | 2946 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL |
2697 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28) | 2947 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28) |
2698 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28) | 2948 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2699 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES | 2949 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES |
2700 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2950 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2701 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29 | 2951 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2702 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2952 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2703 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2953 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2704 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2954 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2705 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2955 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2706 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2956 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2707 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2957 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2708 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID | 2958 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID |
2709 | __le32 queue_id3_max_bw; | 2959 | __le32 queue_id3_max_bw; |
2710 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 2960 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2711 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0 | 2961 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0 |
2712 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL | 2962 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL |
2713 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28) | 2963 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28) |
2714 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28) | 2964 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2715 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES | 2965 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES |
2716 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2966 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2717 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29 | 2967 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2718 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2968 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2719 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2969 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2720 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2970 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2721 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2971 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2722 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2972 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2723 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2973 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2724 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID | 2974 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID |
2725 | u8 queue_id3_tsa_assign; | 2975 | u8 queue_id3_tsa_assign; |
2726 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL | 2976 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL |
2727 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL | 2977 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL |
2728 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 2978 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2729 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL | 2979 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2730 | u8 queue_id3_pri_lvl; | 2980 | u8 queue_id3_pri_lvl; |
2731 | u8 queue_id3_bw_weight; | 2981 | u8 queue_id3_bw_weight; |
2732 | u8 queue_id4; | 2982 | u8 queue_id4; |
2733 | __le32 queue_id4_min_bw; | 2983 | __le32 queue_id4_min_bw; |
2734 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 2984 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2735 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0 | 2985 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0 |
2736 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL | 2986 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL |
2737 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28) | 2987 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28) |
2738 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28) | 2988 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2739 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES | 2989 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES |
2740 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 2990 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2741 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29 | 2991 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2742 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 2992 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2743 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 2993 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2744 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 2994 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2745 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 2995 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2746 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 2996 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2747 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 2997 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2748 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID | 2998 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID |
2749 | __le32 queue_id4_max_bw; | 2999 | __le32 queue_id4_max_bw; |
2750 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3000 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2751 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0 | 3001 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0 |
2752 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL | 3002 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL |
2753 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28) | 3003 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28) |
2754 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3004 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2755 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES | 3005 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES |
2756 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3006 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2757 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3007 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2758 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3008 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2759 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3009 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2760 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3010 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2761 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3011 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2762 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3012 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2763 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3013 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2764 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID | 3014 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID |
2765 | u8 queue_id4_tsa_assign; | 3015 | u8 queue_id4_tsa_assign; |
2766 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL | 3016 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL |
2767 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL | 3017 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL |
2768 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3018 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2769 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3019 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2770 | u8 queue_id4_pri_lvl; | 3020 | u8 queue_id4_pri_lvl; |
2771 | u8 queue_id4_bw_weight; | 3021 | u8 queue_id4_bw_weight; |
2772 | u8 queue_id5; | 3022 | u8 queue_id5; |
2773 | __le32 queue_id5_min_bw; | 3023 | __le32 queue_id5_min_bw; |
2774 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3024 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2775 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0 | 3025 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0 |
2776 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL | 3026 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL |
2777 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28) | 3027 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28) |
2778 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3028 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2779 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES | 3029 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES |
2780 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3030 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2781 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3031 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2782 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3032 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2783 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3033 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2784 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3034 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2785 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3035 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2786 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3036 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2787 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3037 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2788 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID | 3038 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID |
2789 | __le32 queue_id5_max_bw; | 3039 | __le32 queue_id5_max_bw; |
2790 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3040 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2791 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0 | 3041 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0 |
2792 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL | 3042 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL |
2793 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28) | 3043 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28) |
2794 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3044 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2795 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES | 3045 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES |
2796 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3046 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2797 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3047 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2798 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3048 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2799 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3049 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2800 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3050 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2801 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3051 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2802 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3052 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2803 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3053 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2804 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID | 3054 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID |
2805 | u8 queue_id5_tsa_assign; | 3055 | u8 queue_id5_tsa_assign; |
2806 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL | 3056 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL |
2807 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL | 3057 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL |
2808 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3058 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2809 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3059 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2810 | u8 queue_id5_pri_lvl; | 3060 | u8 queue_id5_pri_lvl; |
2811 | u8 queue_id5_bw_weight; | 3061 | u8 queue_id5_bw_weight; |
2812 | u8 queue_id6; | 3062 | u8 queue_id6; |
2813 | __le32 queue_id6_min_bw; | 3063 | __le32 queue_id6_min_bw; |
2814 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3064 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2815 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0 | 3065 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0 |
2816 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL | 3066 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL |
2817 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28) | 3067 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28) |
2818 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3068 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2819 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES | 3069 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES |
2820 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3070 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2821 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3071 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2822 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3072 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2823 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3073 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2824 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3074 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2825 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3075 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2826 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3076 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2827 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3077 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2828 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID | 3078 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID |
2829 | __le32 queue_id6_max_bw; | 3079 | __le32 queue_id6_max_bw; |
2830 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3080 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2831 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0 | 3081 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0 |
2832 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL | 3082 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL |
2833 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28) | 3083 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28) |
2834 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3084 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2835 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES | 3085 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES |
2836 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3086 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2837 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3087 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2838 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3088 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2839 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3089 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2840 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3090 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2841 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3091 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2842 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3092 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2843 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3093 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2844 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID | 3094 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID |
2845 | u8 queue_id6_tsa_assign; | 3095 | u8 queue_id6_tsa_assign; |
2846 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL | 3096 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL |
2847 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL | 3097 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL |
2848 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3098 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2849 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3099 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2850 | u8 queue_id6_pri_lvl; | 3100 | u8 queue_id6_pri_lvl; |
2851 | u8 queue_id6_bw_weight; | 3101 | u8 queue_id6_bw_weight; |
2852 | u8 queue_id7; | 3102 | u8 queue_id7; |
2853 | __le32 queue_id7_min_bw; | 3103 | __le32 queue_id7_min_bw; |
2854 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3104 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2855 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0 | 3105 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0 |
2856 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL | 3106 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL |
2857 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28) | 3107 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28) |
2858 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3108 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2859 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES | 3109 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES |
2860 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3110 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2861 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3111 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2862 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3112 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2863 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3113 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2864 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3114 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2865 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3115 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2866 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3116 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2867 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3117 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2868 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID | 3118 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID |
2869 | __le32 queue_id7_max_bw; | 3119 | __le32 queue_id7_max_bw; |
2870 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3120 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2871 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0 | 3121 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0 |
2872 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL | 3122 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL |
2873 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28) | 3123 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28) |
2874 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3124 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2875 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES | 3125 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES |
2876 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3126 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2877 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3127 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2878 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3128 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2879 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3129 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2880 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3130 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2881 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3131 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2882 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3132 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2883 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3133 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2884 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID | 3134 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID |
2885 | u8 queue_id7_tsa_assign; | 3135 | u8 queue_id7_tsa_assign; |
2886 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL | 3136 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL |
2887 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL | 3137 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL |
2888 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3138 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2889 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3139 | #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2890 | u8 queue_id7_pri_lvl; | 3140 | u8 queue_id7_pri_lvl; |
2891 | u8 queue_id7_bw_weight; | 3141 | u8 queue_id7_bw_weight; |
2892 | u8 unused_2; | 3142 | u8 unused_2[4]; |
2893 | u8 unused_3; | 3143 | u8 valid; |
2894 | u8 unused_4; | 3144 | }; |
2895 | u8 unused_5; | 3145 | |
2896 | u8 valid; | 3146 | /* hwrm_queue_cos2bw_cfg_input (size:1024b/128B) */ |
2897 | }; | ||
2898 | |||
2899 | /* hwrm_queue_cos2bw_cfg */ | ||
2900 | /* Input (128 bytes) */ | ||
2901 | struct hwrm_queue_cos2bw_cfg_input { | 3147 | struct hwrm_queue_cos2bw_cfg_input { |
2902 | __le16 req_type; | 3148 | __le16 req_type; |
2903 | __le16 cmpl_ring; | 3149 | __le16 cmpl_ring; |
2904 | __le16 seq_id; | 3150 | __le16 seq_id; |
2905 | __le16 target_id; | 3151 | __le16 target_id; |
2906 | __le64 resp_addr; | 3152 | __le64 resp_addr; |
2907 | __le32 flags; | 3153 | __le32 flags; |
2908 | __le32 enables; | 3154 | __le32 enables; |
2909 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID0_VALID 0x1UL | 3155 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID0_VALID 0x1UL |
2910 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID1_VALID 0x2UL | 3156 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID1_VALID 0x2UL |
2911 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID2_VALID 0x4UL | 3157 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID2_VALID 0x4UL |
2912 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID3_VALID 0x8UL | 3158 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID3_VALID 0x8UL |
2913 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID4_VALID 0x10UL | 3159 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID4_VALID 0x10UL |
2914 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID5_VALID 0x20UL | 3160 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID5_VALID 0x20UL |
2915 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID6_VALID 0x40UL | 3161 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID6_VALID 0x40UL |
2916 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID7_VALID 0x80UL | 3162 | #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID7_VALID 0x80UL |
2917 | __le16 port_id; | 3163 | __le16 port_id; |
2918 | u8 queue_id0; | 3164 | u8 queue_id0; |
2919 | u8 unused_0; | 3165 | u8 unused_0; |
2920 | __le32 queue_id0_min_bw; | 3166 | __le32 queue_id0_min_bw; |
2921 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3167 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2922 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0 | 3168 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0 |
2923 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL | 3169 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL |
2924 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28) | 3170 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28) |
2925 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3171 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2926 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES | 3172 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES |
2927 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3173 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2928 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3174 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2929 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3175 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2930 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3176 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2931 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3177 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2932 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3178 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2933 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3179 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2934 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3180 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2935 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID | 3181 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID |
2936 | __le32 queue_id0_max_bw; | 3182 | __le32 queue_id0_max_bw; |
2937 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3183 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2938 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0 | 3184 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0 |
2939 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL | 3185 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL |
2940 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28) | 3186 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28) |
2941 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3187 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2942 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES | 3188 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES |
2943 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3189 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2944 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3190 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2945 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3191 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2946 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3192 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2947 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3193 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2948 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3194 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2949 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3195 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2950 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3196 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2951 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID | 3197 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID |
2952 | u8 queue_id0_tsa_assign; | 3198 | u8 queue_id0_tsa_assign; |
2953 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL | 3199 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL |
2954 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL | 3200 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL |
2955 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3201 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2956 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3202 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2957 | u8 queue_id0_pri_lvl; | 3203 | u8 queue_id0_pri_lvl; |
2958 | u8 queue_id0_bw_weight; | 3204 | u8 queue_id0_bw_weight; |
2959 | u8 queue_id1; | 3205 | u8 queue_id1; |
2960 | __le32 queue_id1_min_bw; | 3206 | __le32 queue_id1_min_bw; |
2961 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3207 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
2962 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0 | 3208 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0 |
2963 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL | 3209 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL |
2964 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28) | 3210 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28) |
2965 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3211 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28) |
2966 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES | 3212 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES |
2967 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3213 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2968 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3214 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29 |
2969 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3215 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2970 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3216 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2971 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3217 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2972 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3218 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2973 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3219 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2974 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3220 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2975 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID | 3221 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID |
2976 | __le32 queue_id1_max_bw; | 3222 | __le32 queue_id1_max_bw; |
2977 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3223 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
2978 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0 | 3224 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0 |
2979 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL | 3225 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL |
2980 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28) | 3226 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28) |
2981 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3227 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28) |
2982 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES | 3228 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES |
2983 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3229 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
2984 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3230 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29 |
2985 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3231 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
2986 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3232 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
2987 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3233 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
2988 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3234 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
2989 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3235 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
2990 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3236 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
2991 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID | 3237 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID |
2992 | u8 queue_id1_tsa_assign; | 3238 | u8 queue_id1_tsa_assign; |
2993 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL | 3239 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL |
2994 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL | 3240 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL |
2995 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3241 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
2996 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3242 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL |
2997 | u8 queue_id1_pri_lvl; | 3243 | u8 queue_id1_pri_lvl; |
2998 | u8 queue_id1_bw_weight; | 3244 | u8 queue_id1_bw_weight; |
2999 | u8 queue_id2; | 3245 | u8 queue_id2; |
3000 | __le32 queue_id2_min_bw; | 3246 | __le32 queue_id2_min_bw; |
3001 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3247 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3002 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0 | 3248 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0 |
3003 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL | 3249 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL |
3004 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28) | 3250 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28) |
3005 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3251 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3006 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES | 3252 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES |
3007 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3253 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3008 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3254 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3009 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3255 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3010 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3256 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3011 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3257 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3012 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3258 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3013 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3259 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3014 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3260 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3015 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID | 3261 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID |
3016 | __le32 queue_id2_max_bw; | 3262 | __le32 queue_id2_max_bw; |
3017 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3263 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3018 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0 | 3264 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0 |
3019 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL | 3265 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL |
3020 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28) | 3266 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28) |
3021 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3267 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3022 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES | 3268 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES |
3023 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3269 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3024 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3270 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3025 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3271 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3026 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3272 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3027 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3273 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3028 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3274 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3029 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3275 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3030 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3276 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3031 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID | 3277 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID |
3032 | u8 queue_id2_tsa_assign; | 3278 | u8 queue_id2_tsa_assign; |
3033 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL | 3279 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL |
3034 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL | 3280 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL |
3035 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3281 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3036 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3282 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3037 | u8 queue_id2_pri_lvl; | 3283 | u8 queue_id2_pri_lvl; |
3038 | u8 queue_id2_bw_weight; | 3284 | u8 queue_id2_bw_weight; |
3039 | u8 queue_id3; | 3285 | u8 queue_id3; |
3040 | __le32 queue_id3_min_bw; | 3286 | __le32 queue_id3_min_bw; |
3041 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3287 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3042 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0 | 3288 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0 |
3043 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL | 3289 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL |
3044 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28) | 3290 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28) |
3045 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3291 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3046 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES | 3292 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES |
3047 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3293 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3048 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3294 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3049 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3295 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3050 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3296 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3051 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3297 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3052 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3298 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3053 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3299 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3054 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3300 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3055 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID | 3301 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID |
3056 | __le32 queue_id3_max_bw; | 3302 | __le32 queue_id3_max_bw; |
3057 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3303 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3058 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0 | 3304 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0 |
3059 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL | 3305 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL |
3060 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28) | 3306 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28) |
3061 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3307 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3062 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES | 3308 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES |
3063 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3309 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3064 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3310 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3065 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3311 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3066 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3312 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3067 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3313 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3068 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3314 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3069 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3315 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3070 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3316 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3071 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID | 3317 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID |
3072 | u8 queue_id3_tsa_assign; | 3318 | u8 queue_id3_tsa_assign; |
3073 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL | 3319 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL |
3074 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL | 3320 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL |
3075 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3321 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3076 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3322 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3077 | u8 queue_id3_pri_lvl; | 3323 | u8 queue_id3_pri_lvl; |
3078 | u8 queue_id3_bw_weight; | 3324 | u8 queue_id3_bw_weight; |
3079 | u8 queue_id4; | 3325 | u8 queue_id4; |
3080 | __le32 queue_id4_min_bw; | 3326 | __le32 queue_id4_min_bw; |
3081 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3327 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3082 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0 | 3328 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0 |
3083 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL | 3329 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL |
3084 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28) | 3330 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28) |
3085 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3331 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3086 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES | 3332 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES |
3087 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3333 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3088 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3334 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3089 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3335 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3090 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3336 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3091 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3337 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3092 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3338 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3093 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3339 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3094 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3340 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3095 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID | 3341 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID |
3096 | __le32 queue_id4_max_bw; | 3342 | __le32 queue_id4_max_bw; |
3097 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3343 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3098 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0 | 3344 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0 |
3099 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL | 3345 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL |
3100 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28) | 3346 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28) |
3101 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3347 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3102 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES | 3348 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES |
3103 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3349 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3104 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3350 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3105 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3351 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3106 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3352 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3107 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3353 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3108 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3354 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3109 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3355 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3110 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3356 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3111 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID | 3357 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID |
3112 | u8 queue_id4_tsa_assign; | 3358 | u8 queue_id4_tsa_assign; |
3113 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL | 3359 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL |
3114 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL | 3360 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL |
3115 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3361 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3116 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3362 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3117 | u8 queue_id4_pri_lvl; | 3363 | u8 queue_id4_pri_lvl; |
3118 | u8 queue_id4_bw_weight; | 3364 | u8 queue_id4_bw_weight; |
3119 | u8 queue_id5; | 3365 | u8 queue_id5; |
3120 | __le32 queue_id5_min_bw; | 3366 | __le32 queue_id5_min_bw; |
3121 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3367 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3122 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0 | 3368 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0 |
3123 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL | 3369 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL |
3124 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28) | 3370 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28) |
3125 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3371 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3126 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES | 3372 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES |
3127 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3373 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3128 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3374 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3129 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3375 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3130 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3376 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3131 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3377 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3132 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3378 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3133 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3379 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3134 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3380 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3135 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID | 3381 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID |
3136 | __le32 queue_id5_max_bw; | 3382 | __le32 queue_id5_max_bw; |
3137 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3383 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3138 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0 | 3384 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0 |
3139 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL | 3385 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL |
3140 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28) | 3386 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28) |
3141 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3387 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3142 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES | 3388 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES |
3143 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3389 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3144 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3390 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3145 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3391 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3146 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3392 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3147 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3393 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3148 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3394 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3149 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3395 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3150 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3396 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3151 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID | 3397 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID |
3152 | u8 queue_id5_tsa_assign; | 3398 | u8 queue_id5_tsa_assign; |
3153 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL | 3399 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL |
3154 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL | 3400 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL |
3155 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3401 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3156 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3402 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3157 | u8 queue_id5_pri_lvl; | 3403 | u8 queue_id5_pri_lvl; |
3158 | u8 queue_id5_bw_weight; | 3404 | u8 queue_id5_bw_weight; |
3159 | u8 queue_id6; | 3405 | u8 queue_id6; |
3160 | __le32 queue_id6_min_bw; | 3406 | __le32 queue_id6_min_bw; |
3161 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3407 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3162 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0 | 3408 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0 |
3163 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL | 3409 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL |
3164 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28) | 3410 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28) |
3165 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3411 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3166 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES | 3412 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES |
3167 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3413 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3168 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3414 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3169 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3415 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3170 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3416 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3171 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3417 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3172 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3418 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3173 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3419 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3174 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3420 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3175 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID | 3421 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID |
3176 | __le32 queue_id6_max_bw; | 3422 | __le32 queue_id6_max_bw; |
3177 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3423 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3178 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0 | 3424 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0 |
3179 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL | 3425 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL |
3180 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28) | 3426 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28) |
3181 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3427 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3182 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES | 3428 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES |
3183 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3429 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3184 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3430 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3185 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3431 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3186 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3432 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3187 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3433 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3188 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3434 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3189 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3435 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3190 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3436 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3191 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID | 3437 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID |
3192 | u8 queue_id6_tsa_assign; | 3438 | u8 queue_id6_tsa_assign; |
3193 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL | 3439 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL |
3194 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL | 3440 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL |
3195 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3441 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3196 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3442 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3197 | u8 queue_id6_pri_lvl; | 3443 | u8 queue_id6_pri_lvl; |
3198 | u8 queue_id6_bw_weight; | 3444 | u8 queue_id6_bw_weight; |
3199 | u8 queue_id7; | 3445 | u8 queue_id7; |
3200 | __le32 queue_id7_min_bw; | 3446 | __le32 queue_id7_min_bw; |
3201 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL | 3447 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL |
3202 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0 | 3448 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0 |
3203 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL | 3449 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL |
3204 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28) | 3450 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28) |
3205 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28) | 3451 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28) |
3206 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES | 3452 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES |
3207 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3453 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3208 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29 | 3454 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29 |
3209 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3455 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3210 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3456 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3211 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3457 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3212 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3458 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3213 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3459 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3214 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3460 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3215 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID | 3461 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID |
3216 | __le32 queue_id7_max_bw; | 3462 | __le32 queue_id7_max_bw; |
3217 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3463 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3218 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0 | 3464 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0 |
3219 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL | 3465 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL |
3220 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28) | 3466 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28) |
3221 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3467 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3222 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES | 3468 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES |
3223 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | 3469 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3224 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29 | 3470 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3225 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | 3471 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3226 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | 3472 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3227 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | 3473 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3228 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | 3474 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3229 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3475 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3230 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3476 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3231 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID | 3477 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID |
3232 | u8 queue_id7_tsa_assign; | 3478 | u8 queue_id7_tsa_assign; |
3233 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL | 3479 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL |
3234 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL | 3480 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL |
3235 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL | 3481 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL |
3236 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL | 3482 | #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL |
3237 | u8 queue_id7_pri_lvl; | 3483 | u8 queue_id7_pri_lvl; |
3238 | u8 queue_id7_bw_weight; | 3484 | u8 queue_id7_bw_weight; |
3239 | u8 unused_1[5]; | 3485 | u8 unused_1[5]; |
3240 | }; | 3486 | }; |
3241 | 3487 | ||
3242 | /* Output (16 bytes) */ | 3488 | /* hwrm_queue_cos2bw_cfg_output (size:128b/16B) */ |
3243 | struct hwrm_queue_cos2bw_cfg_output { | 3489 | struct hwrm_queue_cos2bw_cfg_output { |
3244 | __le16 error_code; | 3490 | __le16 error_code; |
3245 | __le16 req_type; | 3491 | __le16 req_type; |
3246 | __le16 seq_id; | 3492 | __le16 seq_id; |
3247 | __le16 resp_len; | 3493 | __le16 resp_len; |
3248 | __le32 unused_0; | 3494 | u8 unused_0[7]; |
3249 | u8 unused_1; | 3495 | u8 valid; |
3250 | u8 unused_2; | 3496 | }; |
3251 | u8 unused_3; | 3497 | |
3252 | u8 valid; | 3498 | /* hwrm_queue_dscp_qcaps_input (size:192b/24B) */ |
3253 | }; | ||
3254 | |||
3255 | /* hwrm_queue_dscp_qcaps */ | ||
3256 | /* Input (24 bytes) */ | ||
3257 | struct hwrm_queue_dscp_qcaps_input { | 3499 | struct hwrm_queue_dscp_qcaps_input { |
3258 | __le16 req_type; | 3500 | __le16 req_type; |
3259 | __le16 cmpl_ring; | 3501 | __le16 cmpl_ring; |
3260 | __le16 seq_id; | 3502 | __le16 seq_id; |
3261 | __le16 target_id; | 3503 | __le16 target_id; |
3262 | __le64 resp_addr; | 3504 | __le64 resp_addr; |
3263 | u8 port_id; | 3505 | u8 port_id; |
3264 | u8 unused_0[7]; | 3506 | u8 unused_0[7]; |
3265 | }; | 3507 | }; |
3266 | 3508 | ||
3267 | /* Output (16 bytes) */ | 3509 | /* hwrm_queue_dscp_qcaps_output (size:128b/16B) */ |
3268 | struct hwrm_queue_dscp_qcaps_output { | 3510 | struct hwrm_queue_dscp_qcaps_output { |
3269 | __le16 error_code; | 3511 | __le16 error_code; |
3270 | __le16 req_type; | 3512 | __le16 req_type; |
3271 | __le16 seq_id; | 3513 | __le16 seq_id; |
3272 | __le16 resp_len; | 3514 | __le16 resp_len; |
3273 | u8 num_dscp_bits; | 3515 | u8 num_dscp_bits; |
3274 | u8 unused_0; | 3516 | u8 unused_0; |
3275 | __le16 max_entries; | 3517 | __le16 max_entries; |
3276 | u8 unused_1; | 3518 | u8 unused_1[3]; |
3277 | u8 unused_2; | 3519 | u8 valid; |
3278 | u8 unused_3; | 3520 | }; |
3279 | u8 valid; | 3521 | |
3280 | }; | 3522 | /* hwrm_queue_dscp2pri_qcfg_input (size:256b/32B) */ |
3281 | |||
3282 | /* hwrm_queue_dscp2pri_qcfg */ | ||
3283 | /* Input (32 bytes) */ | ||
3284 | struct hwrm_queue_dscp2pri_qcfg_input { | 3523 | struct hwrm_queue_dscp2pri_qcfg_input { |
3285 | __le16 req_type; | 3524 | __le16 req_type; |
3286 | __le16 cmpl_ring; | 3525 | __le16 cmpl_ring; |
3287 | __le16 seq_id; | 3526 | __le16 seq_id; |
3288 | __le16 target_id; | 3527 | __le16 target_id; |
3289 | __le64 resp_addr; | 3528 | __le64 resp_addr; |
3290 | __le64 dest_data_addr; | 3529 | __le64 dest_data_addr; |
3291 | u8 port_id; | 3530 | u8 port_id; |
3292 | u8 unused_0; | 3531 | u8 unused_0; |
3293 | __le16 dest_data_buffer_size; | 3532 | __le16 dest_data_buffer_size; |
3294 | __le32 unused_1; | 3533 | u8 unused_1[4]; |
3295 | }; | 3534 | }; |
3296 | 3535 | ||
3297 | /* Output (16 bytes) */ | 3536 | /* hwrm_queue_dscp2pri_qcfg_output (size:128b/16B) */ |
3298 | struct hwrm_queue_dscp2pri_qcfg_output { | 3537 | struct hwrm_queue_dscp2pri_qcfg_output { |
3299 | __le16 error_code; | 3538 | __le16 error_code; |
3300 | __le16 req_type; | 3539 | __le16 req_type; |
3301 | __le16 seq_id; | 3540 | __le16 seq_id; |
3302 | __le16 resp_len; | 3541 | __le16 resp_len; |
3303 | __le16 entry_cnt; | 3542 | __le16 entry_cnt; |
3304 | u8 default_pri; | 3543 | u8 default_pri; |
3305 | u8 unused_0; | 3544 | u8 unused_0[4]; |
3306 | u8 unused_1; | 3545 | u8 valid; |
3307 | u8 unused_2; | 3546 | }; |
3308 | u8 unused_3; | 3547 | |
3309 | u8 valid; | 3548 | /* hwrm_queue_dscp2pri_cfg_input (size:320b/40B) */ |
3310 | }; | ||
3311 | |||
3312 | /* hwrm_queue_dscp2pri_cfg */ | ||
3313 | /* Input (40 bytes) */ | ||
3314 | struct hwrm_queue_dscp2pri_cfg_input { | 3549 | struct hwrm_queue_dscp2pri_cfg_input { |
3315 | __le16 req_type; | 3550 | __le16 req_type; |
3316 | __le16 cmpl_ring; | 3551 | __le16 cmpl_ring; |
3317 | __le16 seq_id; | 3552 | __le16 seq_id; |
3318 | __le16 target_id; | 3553 | __le16 target_id; |
3319 | __le64 resp_addr; | 3554 | __le64 resp_addr; |
3320 | __le64 src_data_addr; | 3555 | __le64 src_data_addr; |
3321 | __le32 flags; | 3556 | __le32 flags; |
3322 | #define QUEUE_DSCP2PRI_CFG_REQ_FLAGS_USE_HW_DEFAULT_PRI 0x1UL | 3557 | #define QUEUE_DSCP2PRI_CFG_REQ_FLAGS_USE_HW_DEFAULT_PRI 0x1UL |
3323 | __le32 enables; | 3558 | __le32 enables; |
3324 | #define QUEUE_DSCP2PRI_CFG_REQ_ENABLES_DEFAULT_PRI 0x1UL | 3559 | #define QUEUE_DSCP2PRI_CFG_REQ_ENABLES_DEFAULT_PRI 0x1UL |
3325 | u8 port_id; | 3560 | u8 port_id; |
3326 | u8 default_pri; | 3561 | u8 default_pri; |
3327 | __le16 entry_cnt; | 3562 | __le16 entry_cnt; |
3328 | __le32 unused_0; | 3563 | u8 unused_0[4]; |
3329 | }; | 3564 | }; |
3330 | 3565 | ||
3331 | /* Output (16 bytes) */ | 3566 | /* hwrm_queue_dscp2pri_cfg_output (size:128b/16B) */ |
3332 | struct hwrm_queue_dscp2pri_cfg_output { | 3567 | struct hwrm_queue_dscp2pri_cfg_output { |
3333 | __le16 error_code; | 3568 | __le16 error_code; |
3334 | __le16 req_type; | 3569 | __le16 req_type; |
3335 | __le16 seq_id; | 3570 | __le16 seq_id; |
3336 | __le16 resp_len; | 3571 | __le16 resp_len; |
3337 | __le32 unused_0; | 3572 | u8 unused_0[7]; |
3338 | u8 unused_1; | 3573 | u8 valid; |
3339 | u8 unused_2; | 3574 | }; |
3340 | u8 unused_3; | 3575 | |
3341 | u8 valid; | 3576 | /* hwrm_vnic_alloc_input (size:192b/24B) */ |
3342 | }; | ||
3343 | |||
3344 | /* hwrm_vnic_alloc */ | ||
3345 | /* Input (24 bytes) */ | ||
3346 | struct hwrm_vnic_alloc_input { | 3577 | struct hwrm_vnic_alloc_input { |
3347 | __le16 req_type; | 3578 | __le16 req_type; |
3348 | __le16 cmpl_ring; | 3579 | __le16 cmpl_ring; |
3349 | __le16 seq_id; | 3580 | __le16 seq_id; |
3350 | __le16 target_id; | 3581 | __le16 target_id; |
3351 | __le64 resp_addr; | 3582 | __le64 resp_addr; |
3352 | __le32 flags; | 3583 | __le32 flags; |
3353 | #define VNIC_ALLOC_REQ_FLAGS_DEFAULT 0x1UL | 3584 | #define VNIC_ALLOC_REQ_FLAGS_DEFAULT 0x1UL |
3354 | __le32 unused_0; | 3585 | u8 unused_0[4]; |
3355 | }; | 3586 | }; |
3356 | 3587 | ||
3357 | /* Output (16 bytes) */ | 3588 | /* hwrm_vnic_alloc_output (size:128b/16B) */ |
3358 | struct hwrm_vnic_alloc_output { | 3589 | struct hwrm_vnic_alloc_output { |
3359 | __le16 error_code; | 3590 | __le16 error_code; |
3360 | __le16 req_type; | 3591 | __le16 req_type; |
3361 | __le16 seq_id; | 3592 | __le16 seq_id; |
3362 | __le16 resp_len; | 3593 | __le16 resp_len; |
3363 | __le32 vnic_id; | 3594 | __le32 vnic_id; |
3364 | u8 unused_0; | 3595 | u8 unused_0[3]; |
3365 | u8 unused_1; | 3596 | u8 valid; |
3366 | u8 unused_2; | 3597 | }; |
3367 | u8 valid; | 3598 | |
3368 | }; | 3599 | /* hwrm_vnic_free_input (size:192b/24B) */ |
3369 | |||
3370 | /* hwrm_vnic_free */ | ||
3371 | /* Input (24 bytes) */ | ||
3372 | struct hwrm_vnic_free_input { | 3600 | struct hwrm_vnic_free_input { |
3373 | __le16 req_type; | 3601 | __le16 req_type; |
3374 | __le16 cmpl_ring; | 3602 | __le16 cmpl_ring; |
3375 | __le16 seq_id; | 3603 | __le16 seq_id; |
3376 | __le16 target_id; | 3604 | __le16 target_id; |
3377 | __le64 resp_addr; | 3605 | __le64 resp_addr; |
3378 | __le32 vnic_id; | 3606 | __le32 vnic_id; |
3379 | __le32 unused_0; | 3607 | u8 unused_0[4]; |
3380 | }; | 3608 | }; |
3381 | 3609 | ||
3382 | /* Output (16 bytes) */ | 3610 | /* hwrm_vnic_free_output (size:128b/16B) */ |
3383 | struct hwrm_vnic_free_output { | 3611 | struct hwrm_vnic_free_output { |
3384 | __le16 error_code; | 3612 | __le16 error_code; |
3385 | __le16 req_type; | 3613 | __le16 req_type; |
3386 | __le16 seq_id; | 3614 | __le16 seq_id; |
3387 | __le16 resp_len; | 3615 | __le16 resp_len; |
3388 | __le32 unused_0; | 3616 | u8 unused_0[7]; |
3389 | u8 unused_1; | 3617 | u8 valid; |
3390 | u8 unused_2; | 3618 | }; |
3391 | u8 unused_3; | 3619 | |
3392 | u8 valid; | 3620 | /* hwrm_vnic_cfg_input (size:320b/40B) */ |
3393 | }; | ||
3394 | |||
3395 | /* hwrm_vnic_cfg */ | ||
3396 | /* Input (40 bytes) */ | ||
3397 | struct hwrm_vnic_cfg_input { | 3621 | struct hwrm_vnic_cfg_input { |
3398 | __le16 req_type; | 3622 | __le16 req_type; |
3399 | __le16 cmpl_ring; | 3623 | __le16 cmpl_ring; |
3400 | __le16 seq_id; | 3624 | __le16 seq_id; |
3401 | __le16 target_id; | 3625 | __le16 target_id; |
3402 | __le64 resp_addr; | 3626 | __le64 resp_addr; |
3403 | __le32 flags; | 3627 | __le32 flags; |
3404 | #define VNIC_CFG_REQ_FLAGS_DEFAULT 0x1UL | 3628 | #define VNIC_CFG_REQ_FLAGS_DEFAULT 0x1UL |
3405 | #define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE 0x2UL | 3629 | #define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE 0x2UL |
3406 | #define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE 0x4UL | 3630 | #define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE 0x4UL |
3407 | #define VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE 0x8UL | 3631 | #define VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE 0x8UL |
3408 | #define VNIC_CFG_REQ_FLAGS_ROCE_ONLY_VNIC_MODE 0x10UL | 3632 | #define VNIC_CFG_REQ_FLAGS_ROCE_ONLY_VNIC_MODE 0x10UL |
3409 | #define VNIC_CFG_REQ_FLAGS_RSS_DFLT_CR_MODE 0x20UL | 3633 | #define VNIC_CFG_REQ_FLAGS_RSS_DFLT_CR_MODE 0x20UL |
3410 | #define VNIC_CFG_REQ_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_MODE 0x40UL | 3634 | #define VNIC_CFG_REQ_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_MODE 0x40UL |
3411 | __le32 enables; | 3635 | __le32 enables; |
3412 | #define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP 0x1UL | 3636 | #define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP 0x1UL |
3413 | #define VNIC_CFG_REQ_ENABLES_RSS_RULE 0x2UL | 3637 | #define VNIC_CFG_REQ_ENABLES_RSS_RULE 0x2UL |
3414 | #define VNIC_CFG_REQ_ENABLES_COS_RULE 0x4UL | 3638 | #define VNIC_CFG_REQ_ENABLES_COS_RULE 0x4UL |
3415 | #define VNIC_CFG_REQ_ENABLES_LB_RULE 0x8UL | 3639 | #define VNIC_CFG_REQ_ENABLES_LB_RULE 0x8UL |
3416 | #define VNIC_CFG_REQ_ENABLES_MRU 0x10UL | 3640 | #define VNIC_CFG_REQ_ENABLES_MRU 0x10UL |
3417 | __le16 vnic_id; | 3641 | __le16 vnic_id; |
3418 | __le16 dflt_ring_grp; | 3642 | __le16 dflt_ring_grp; |
3419 | __le16 rss_rule; | 3643 | __le16 rss_rule; |
3420 | __le16 cos_rule; | 3644 | __le16 cos_rule; |
3421 | __le16 lb_rule; | 3645 | __le16 lb_rule; |
3422 | __le16 mru; | 3646 | __le16 mru; |
3423 | __le32 unused_0; | 3647 | u8 unused_0[4]; |
3424 | }; | 3648 | }; |
3425 | 3649 | ||
3426 | /* Output (16 bytes) */ | 3650 | /* hwrm_vnic_cfg_output (size:128b/16B) */ |
3427 | struct hwrm_vnic_cfg_output { | 3651 | struct hwrm_vnic_cfg_output { |
3428 | __le16 error_code; | 3652 | __le16 error_code; |
3429 | __le16 req_type; | 3653 | __le16 req_type; |
3430 | __le16 seq_id; | 3654 | __le16 seq_id; |
3431 | __le16 resp_len; | 3655 | __le16 resp_len; |
3432 | __le32 unused_0; | 3656 | u8 unused_0[7]; |
3433 | u8 unused_1; | 3657 | u8 valid; |
3434 | u8 unused_2; | 3658 | }; |
3435 | u8 unused_3; | 3659 | |
3436 | u8 valid; | 3660 | /* hwrm_vnic_qcaps_input (size:192b/24B) */ |
3437 | }; | ||
3438 | |||
3439 | /* hwrm_vnic_qcaps */ | ||
3440 | /* Input (24 bytes) */ | ||
3441 | struct hwrm_vnic_qcaps_input { | 3661 | struct hwrm_vnic_qcaps_input { |
3442 | __le16 req_type; | 3662 | __le16 req_type; |
3443 | __le16 cmpl_ring; | 3663 | __le16 cmpl_ring; |
3444 | __le16 seq_id; | 3664 | __le16 seq_id; |
3445 | __le16 target_id; | 3665 | __le16 target_id; |
3446 | __le64 resp_addr; | 3666 | __le64 resp_addr; |
3447 | __le32 enables; | 3667 | __le32 enables; |
3448 | __le32 unused_0; | 3668 | u8 unused_0[4]; |
3449 | }; | 3669 | }; |
3450 | 3670 | ||
3451 | /* Output (24 bytes) */ | 3671 | /* hwrm_vnic_qcaps_output (size:192b/24B) */ |
3452 | struct hwrm_vnic_qcaps_output { | 3672 | struct hwrm_vnic_qcaps_output { |
3453 | __le16 error_code; | 3673 | __le16 error_code; |
3454 | __le16 req_type; | 3674 | __le16 req_type; |
3455 | __le16 seq_id; | 3675 | __le16 seq_id; |
3456 | __le16 resp_len; | 3676 | __le16 resp_len; |
3457 | __le16 mru; | 3677 | __le16 mru; |
3458 | u8 unused_0; | 3678 | u8 unused_0[2]; |
3459 | u8 unused_1; | 3679 | __le32 flags; |
3460 | __le32 flags; | 3680 | #define VNIC_QCAPS_RESP_FLAGS_UNUSED 0x1UL |
3461 | #define VNIC_QCAPS_RESP_FLAGS_UNUSED 0x1UL | 3681 | #define VNIC_QCAPS_RESP_FLAGS_VLAN_STRIP_CAP 0x2UL |
3462 | #define VNIC_QCAPS_RESP_FLAGS_VLAN_STRIP_CAP 0x2UL | 3682 | #define VNIC_QCAPS_RESP_FLAGS_BD_STALL_CAP 0x4UL |
3463 | #define VNIC_QCAPS_RESP_FLAGS_BD_STALL_CAP 0x4UL | 3683 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_DUAL_VNIC_CAP 0x8UL |
3464 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_DUAL_VNIC_CAP 0x8UL | 3684 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_ONLY_VNIC_CAP 0x10UL |
3465 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_ONLY_VNIC_CAP 0x10UL | 3685 | #define VNIC_QCAPS_RESP_FLAGS_RSS_DFLT_CR_CAP 0x20UL |
3466 | #define VNIC_QCAPS_RESP_FLAGS_RSS_DFLT_CR_CAP 0x20UL | 3686 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_CAP 0x40UL |
3467 | #define VNIC_QCAPS_RESP_FLAGS_ROCE_MIRROING_CAPABLE_VNIC_CAP 0x40UL | 3687 | u8 unused_1[7]; |
3468 | __le32 unused_2; | 3688 | u8 valid; |
3469 | u8 unused_3; | 3689 | }; |
3470 | u8 unused_4; | 3690 | |
3471 | u8 unused_5; | 3691 | /* hwrm_vnic_tpa_cfg_input (size:320b/40B) */ |
3472 | u8 valid; | ||
3473 | }; | ||
3474 | |||
3475 | /* hwrm_vnic_tpa_cfg */ | ||
3476 | /* Input (40 bytes) */ | ||
3477 | struct hwrm_vnic_tpa_cfg_input { | 3692 | struct hwrm_vnic_tpa_cfg_input { |
3478 | __le16 req_type; | 3693 | __le16 req_type; |
3479 | __le16 cmpl_ring; | 3694 | __le16 cmpl_ring; |
3480 | __le16 seq_id; | 3695 | __le16 seq_id; |
3481 | __le16 target_id; | 3696 | __le16 target_id; |
3482 | __le64 resp_addr; | 3697 | __le64 resp_addr; |
3483 | __le32 flags; | 3698 | __le32 flags; |
3484 | #define VNIC_TPA_CFG_REQ_FLAGS_TPA 0x1UL | 3699 | #define VNIC_TPA_CFG_REQ_FLAGS_TPA 0x1UL |
3485 | #define VNIC_TPA_CFG_REQ_FLAGS_ENCAP_TPA 0x2UL | 3700 | #define VNIC_TPA_CFG_REQ_FLAGS_ENCAP_TPA 0x2UL |
3486 | #define VNIC_TPA_CFG_REQ_FLAGS_RSC_WND_UPDATE 0x4UL | 3701 | #define VNIC_TPA_CFG_REQ_FLAGS_RSC_WND_UPDATE 0x4UL |
3487 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO 0x8UL | 3702 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO 0x8UL |
3488 | #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_ECN 0x10UL | 3703 | #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_ECN 0x10UL |
3489 | #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_SAME_GRE_SEQ 0x20UL | 3704 | #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_SAME_GRE_SEQ 0x20UL |
3490 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO_IPID_CHECK 0x40UL | 3705 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO_IPID_CHECK 0x40UL |
3491 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO_TTL_CHECK 0x80UL | 3706 | #define VNIC_TPA_CFG_REQ_FLAGS_GRO_TTL_CHECK 0x80UL |
3492 | __le32 enables; | 3707 | __le32 enables; |
3493 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_SEGS 0x1UL | 3708 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_SEGS 0x1UL |
3494 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGGS 0x2UL | 3709 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGGS 0x2UL |
3495 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_TIMER 0x4UL | 3710 | #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_TIMER 0x4UL |
3496 | #define VNIC_TPA_CFG_REQ_ENABLES_MIN_AGG_LEN 0x8UL | 3711 | #define VNIC_TPA_CFG_REQ_ENABLES_MIN_AGG_LEN 0x8UL |
3497 | __le16 vnic_id; | 3712 | __le16 vnic_id; |
3498 | __le16 max_agg_segs; | 3713 | __le16 max_agg_segs; |
3499 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_1 0x0UL | 3714 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_1 0x0UL |
3500 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_2 0x1UL | 3715 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_2 0x1UL |
3501 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_4 0x2UL | 3716 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_4 0x2UL |
3502 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_8 0x3UL | 3717 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_8 0x3UL |
3503 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX 0x1fUL | 3718 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX 0x1fUL |
3504 | __le16 max_aggs; | 3719 | #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_LAST VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX |
3505 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_1 0x0UL | 3720 | __le16 max_aggs; |
3506 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_2 0x1UL | 3721 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_1 0x0UL |
3507 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_4 0x2UL | 3722 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_2 0x1UL |
3508 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_8 0x3UL | 3723 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_4 0x2UL |
3509 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_16 0x4UL | 3724 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_8 0x3UL |
3510 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_MAX 0x7UL | 3725 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_16 0x4UL |
3511 | u8 unused_0; | 3726 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_MAX 0x7UL |
3512 | u8 unused_1; | 3727 | #define VNIC_TPA_CFG_REQ_MAX_AGGS_LAST VNIC_TPA_CFG_REQ_MAX_AGGS_MAX |
3513 | __le32 max_agg_timer; | 3728 | u8 unused_0[2]; |
3514 | __le32 min_agg_len; | 3729 | __le32 max_agg_timer; |
3515 | }; | 3730 | __le32 min_agg_len; |
3516 | 3731 | }; | |
3517 | /* Output (16 bytes) */ | 3732 | |
3733 | /* hwrm_vnic_tpa_cfg_output (size:128b/16B) */ | ||
3518 | struct hwrm_vnic_tpa_cfg_output { | 3734 | struct hwrm_vnic_tpa_cfg_output { |
3519 | __le16 error_code; | 3735 | __le16 error_code; |
3520 | __le16 req_type; | 3736 | __le16 req_type; |
3521 | __le16 seq_id; | 3737 | __le16 seq_id; |
3522 | __le16 resp_len; | 3738 | __le16 resp_len; |
3523 | __le32 unused_0; | 3739 | u8 unused_0[7]; |
3524 | u8 unused_1; | 3740 | u8 valid; |
3525 | u8 unused_2; | 3741 | }; |
3526 | u8 unused_3; | 3742 | |
3527 | u8 valid; | 3743 | /* hwrm_vnic_tpa_qcfg_input (size:192b/24B) */ |
3528 | }; | 3744 | struct hwrm_vnic_tpa_qcfg_input { |
3529 | 3745 | __le16 req_type; | |
3530 | /* hwrm_vnic_rss_cfg */ | 3746 | __le16 cmpl_ring; |
3531 | /* Input (48 bytes) */ | 3747 | __le16 seq_id; |
3748 | __le16 target_id; | ||
3749 | __le64 resp_addr; | ||
3750 | __le16 vnic_id; | ||
3751 | u8 unused_0[6]; | ||
3752 | }; | ||
3753 | |||
3754 | /* hwrm_vnic_tpa_qcfg_output (size:256b/32B) */ | ||
3755 | struct hwrm_vnic_tpa_qcfg_output { | ||
3756 | __le16 error_code; | ||
3757 | __le16 req_type; | ||
3758 | __le16 seq_id; | ||
3759 | __le16 resp_len; | ||
3760 | __le32 flags; | ||
3761 | #define VNIC_TPA_QCFG_RESP_FLAGS_TPA 0x1UL | ||
3762 | #define VNIC_TPA_QCFG_RESP_FLAGS_ENCAP_TPA 0x2UL | ||
3763 | #define VNIC_TPA_QCFG_RESP_FLAGS_RSC_WND_UPDATE 0x4UL | ||
3764 | #define VNIC_TPA_QCFG_RESP_FLAGS_GRO 0x8UL | ||
3765 | #define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_ECN 0x10UL | ||
3766 | #define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_SAME_GRE_SEQ 0x20UL | ||
3767 | #define VNIC_TPA_QCFG_RESP_FLAGS_GRO_IPID_CHECK 0x40UL | ||
3768 | #define VNIC_TPA_QCFG_RESP_FLAGS_GRO_TTL_CHECK 0x80UL | ||
3769 | __le16 max_agg_segs; | ||
3770 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_1 0x0UL | ||
3771 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_2 0x1UL | ||
3772 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_4 0x2UL | ||
3773 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_8 0x3UL | ||
3774 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX 0x1fUL | ||
3775 | #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX | ||
3776 | __le16 max_aggs; | ||
3777 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_1 0x0UL | ||
3778 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_2 0x1UL | ||
3779 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_4 0x2UL | ||
3780 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_8 0x3UL | ||
3781 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_16 0x4UL | ||
3782 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX 0x7UL | ||
3783 | #define VNIC_TPA_QCFG_RESP_MAX_AGGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX | ||
3784 | __le32 max_agg_timer; | ||
3785 | __le32 min_agg_len; | ||
3786 | u8 unused_0[7]; | ||
3787 | u8 valid; | ||
3788 | }; | ||
3789 | |||
3790 | /* hwrm_vnic_rss_cfg_input (size:384b/48B) */ | ||
3532 | struct hwrm_vnic_rss_cfg_input { | 3791 | struct hwrm_vnic_rss_cfg_input { |
3533 | __le16 req_type; | 3792 | __le16 req_type; |
3534 | __le16 cmpl_ring; | 3793 | __le16 cmpl_ring; |
3535 | __le16 seq_id; | 3794 | __le16 seq_id; |
3536 | __le16 target_id; | 3795 | __le16 target_id; |
3537 | __le64 resp_addr; | 3796 | __le64 resp_addr; |
3538 | __le32 hash_type; | 3797 | __le32 hash_type; |
3539 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV4 0x1UL | 3798 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV4 0x1UL |
3540 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4 0x2UL | 3799 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4 0x2UL |
3541 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4 0x4UL | 3800 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4 0x4UL |
3542 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 0x8UL | 3801 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 0x8UL |
3543 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6 0x10UL | 3802 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6 0x10UL |
3544 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6 0x20UL | 3803 | #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6 0x20UL |
3545 | __le32 unused_0; | 3804 | u8 unused_0[4]; |
3546 | __le64 ring_grp_tbl_addr; | 3805 | __le64 ring_grp_tbl_addr; |
3547 | __le64 hash_key_tbl_addr; | 3806 | __le64 hash_key_tbl_addr; |
3548 | __le16 rss_ctx_idx; | 3807 | __le16 rss_ctx_idx; |
3549 | __le16 unused_1[3]; | 3808 | u8 unused_1[6]; |
3550 | }; | 3809 | }; |
3551 | 3810 | ||
3552 | /* Output (16 bytes) */ | 3811 | /* hwrm_vnic_rss_cfg_output (size:128b/16B) */ |
3553 | struct hwrm_vnic_rss_cfg_output { | 3812 | struct hwrm_vnic_rss_cfg_output { |
3554 | __le16 error_code; | 3813 | __le16 error_code; |
3555 | __le16 req_type; | 3814 | __le16 req_type; |
3556 | __le16 seq_id; | 3815 | __le16 seq_id; |
3557 | __le16 resp_len; | 3816 | __le16 resp_len; |
3558 | __le32 unused_0; | 3817 | u8 unused_0[7]; |
3559 | u8 unused_1; | 3818 | u8 valid; |
3560 | u8 unused_2; | 3819 | }; |
3561 | u8 unused_3; | 3820 | |
3562 | u8 valid; | 3821 | /* hwrm_vnic_plcmodes_cfg_input (size:320b/40B) */ |
3563 | }; | ||
3564 | |||
3565 | /* hwrm_vnic_plcmodes_cfg */ | ||
3566 | /* Input (40 bytes) */ | ||
3567 | struct hwrm_vnic_plcmodes_cfg_input { | 3822 | struct hwrm_vnic_plcmodes_cfg_input { |
3568 | __le16 req_type; | 3823 | __le16 req_type; |
3569 | __le16 cmpl_ring; | 3824 | __le16 cmpl_ring; |
3570 | __le16 seq_id; | 3825 | __le16 seq_id; |
3571 | __le16 target_id; | 3826 | __le16 target_id; |
3572 | __le64 resp_addr; | 3827 | __le64 resp_addr; |
3573 | __le32 flags; | 3828 | __le32 flags; |
3574 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_REGULAR_PLACEMENT 0x1UL | 3829 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_REGULAR_PLACEMENT 0x1UL |
3575 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT 0x2UL | 3830 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT 0x2UL |
3576 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4 0x4UL | 3831 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4 0x4UL |
3577 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6 0x8UL | 3832 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6 0x8UL |
3578 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_FCOE 0x10UL | 3833 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_FCOE 0x10UL |
3579 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_ROCE 0x20UL | 3834 | #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_ROCE 0x20UL |
3580 | __le32 enables; | 3835 | __le32 enables; |
3581 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID 0x1UL | 3836 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID 0x1UL |
3582 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_OFFSET_VALID 0x2UL | 3837 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_OFFSET_VALID 0x2UL |
3583 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID 0x4UL | 3838 | #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID 0x4UL |
3584 | __le32 vnic_id; | 3839 | __le32 vnic_id; |
3585 | __le16 jumbo_thresh; | 3840 | __le16 jumbo_thresh; |
3586 | __le16 hds_offset; | 3841 | __le16 hds_offset; |
3587 | __le16 hds_threshold; | 3842 | __le16 hds_threshold; |
3588 | __le16 unused_0[3]; | 3843 | u8 unused_0[6]; |
3589 | }; | 3844 | }; |
3590 | 3845 | ||
3591 | /* Output (16 bytes) */ | 3846 | /* hwrm_vnic_plcmodes_cfg_output (size:128b/16B) */ |
3592 | struct hwrm_vnic_plcmodes_cfg_output { | 3847 | struct hwrm_vnic_plcmodes_cfg_output { |
3593 | __le16 error_code; | 3848 | __le16 error_code; |
3594 | __le16 req_type; | 3849 | __le16 req_type; |
3595 | __le16 seq_id; | 3850 | __le16 seq_id; |
3596 | __le16 resp_len; | 3851 | __le16 resp_len; |
3597 | __le32 unused_0; | 3852 | u8 unused_0[7]; |
3598 | u8 unused_1; | 3853 | u8 valid; |
3599 | u8 unused_2; | 3854 | }; |
3600 | u8 unused_3; | 3855 | |
3601 | u8 valid; | 3856 | /* hwrm_vnic_rss_cos_lb_ctx_alloc_input (size:128b/16B) */ |
3602 | }; | ||
3603 | |||
3604 | /* hwrm_vnic_rss_cos_lb_ctx_alloc */ | ||
3605 | /* Input (16 bytes) */ | ||
3606 | struct hwrm_vnic_rss_cos_lb_ctx_alloc_input { | 3857 | struct hwrm_vnic_rss_cos_lb_ctx_alloc_input { |
3607 | __le16 req_type; | 3858 | __le16 req_type; |
3608 | __le16 cmpl_ring; | 3859 | __le16 cmpl_ring; |
3609 | __le16 seq_id; | 3860 | __le16 seq_id; |
3610 | __le16 target_id; | 3861 | __le16 target_id; |
3611 | __le64 resp_addr; | 3862 | __le64 resp_addr; |
3612 | }; | 3863 | }; |
3613 | 3864 | ||
3614 | /* Output (16 bytes) */ | 3865 | /* hwrm_vnic_rss_cos_lb_ctx_alloc_output (size:128b/16B) */ |
3615 | struct hwrm_vnic_rss_cos_lb_ctx_alloc_output { | 3866 | struct hwrm_vnic_rss_cos_lb_ctx_alloc_output { |
3616 | __le16 error_code; | 3867 | __le16 error_code; |
3617 | __le16 req_type; | 3868 | __le16 req_type; |
3618 | __le16 seq_id; | 3869 | __le16 seq_id; |
3619 | __le16 resp_len; | 3870 | __le16 resp_len; |
3620 | __le16 rss_cos_lb_ctx_id; | 3871 | __le16 rss_cos_lb_ctx_id; |
3621 | u8 unused_0; | 3872 | u8 unused_0[5]; |
3622 | u8 unused_1; | 3873 | u8 valid; |
3623 | u8 unused_2; | 3874 | }; |
3624 | u8 unused_3; | 3875 | |
3625 | u8 unused_4; | 3876 | /* hwrm_vnic_rss_cos_lb_ctx_free_input (size:192b/24B) */ |
3626 | u8 valid; | ||
3627 | }; | ||
3628 | |||
3629 | /* hwrm_vnic_rss_cos_lb_ctx_free */ | ||
3630 | /* Input (24 bytes) */ | ||
3631 | struct hwrm_vnic_rss_cos_lb_ctx_free_input { | 3877 | struct hwrm_vnic_rss_cos_lb_ctx_free_input { |
3632 | __le16 req_type; | 3878 | __le16 req_type; |
3633 | __le16 cmpl_ring; | 3879 | __le16 cmpl_ring; |
3634 | __le16 seq_id; | 3880 | __le16 seq_id; |
3635 | __le16 target_id; | 3881 | __le16 target_id; |
3636 | __le64 resp_addr; | 3882 | __le64 resp_addr; |
3637 | __le16 rss_cos_lb_ctx_id; | 3883 | __le16 rss_cos_lb_ctx_id; |
3638 | __le16 unused_0[3]; | 3884 | u8 unused_0[6]; |
3639 | }; | 3885 | }; |
3640 | 3886 | ||
3641 | /* Output (16 bytes) */ | 3887 | /* hwrm_vnic_rss_cos_lb_ctx_free_output (size:128b/16B) */ |
3642 | struct hwrm_vnic_rss_cos_lb_ctx_free_output { | 3888 | struct hwrm_vnic_rss_cos_lb_ctx_free_output { |
3643 | __le16 error_code; | 3889 | __le16 error_code; |
3644 | __le16 req_type; | 3890 | __le16 req_type; |
3645 | __le16 seq_id; | 3891 | __le16 seq_id; |
3646 | __le16 resp_len; | 3892 | __le16 resp_len; |
3647 | __le32 unused_0; | 3893 | u8 unused_0[7]; |
3648 | u8 unused_1; | 3894 | u8 valid; |
3649 | u8 unused_2; | 3895 | }; |
3650 | u8 unused_3; | 3896 | |
3651 | u8 valid; | 3897 | /* hwrm_ring_alloc_input (size:640b/80B) */ |
3652 | }; | ||
3653 | |||
3654 | /* hwrm_ring_alloc */ | ||
3655 | /* Input (80 bytes) */ | ||
3656 | struct hwrm_ring_alloc_input { | 3898 | struct hwrm_ring_alloc_input { |
3657 | __le16 req_type; | 3899 | __le16 req_type; |
3658 | __le16 cmpl_ring; | 3900 | __le16 cmpl_ring; |
3659 | __le16 seq_id; | 3901 | __le16 seq_id; |
3660 | __le16 target_id; | 3902 | __le16 target_id; |
3661 | __le64 resp_addr; | 3903 | __le64 resp_addr; |
3662 | __le32 enables; | 3904 | __le32 enables; |
3663 | #define RING_ALLOC_REQ_ENABLES_RESERVED1 0x1UL | 3905 | #define RING_ALLOC_REQ_ENABLES_RING_ARB_CFG 0x2UL |
3664 | #define RING_ALLOC_REQ_ENABLES_RING_ARB_CFG 0x2UL | 3906 | #define RING_ALLOC_REQ_ENABLES_STAT_CTX_ID_VALID 0x8UL |
3665 | #define RING_ALLOC_REQ_ENABLES_RESERVED3 0x4UL | 3907 | #define RING_ALLOC_REQ_ENABLES_MAX_BW_VALID 0x20UL |
3666 | #define RING_ALLOC_REQ_ENABLES_STAT_CTX_ID_VALID 0x8UL | 3908 | u8 ring_type; |
3667 | #define RING_ALLOC_REQ_ENABLES_RESERVED4 0x10UL | 3909 | #define RING_ALLOC_REQ_RING_TYPE_L2_CMPL 0x0UL |
3668 | #define RING_ALLOC_REQ_ENABLES_MAX_BW_VALID 0x20UL | 3910 | #define RING_ALLOC_REQ_RING_TYPE_TX 0x1UL |
3669 | u8 ring_type; | 3911 | #define RING_ALLOC_REQ_RING_TYPE_RX 0x2UL |
3670 | #define RING_ALLOC_REQ_RING_TYPE_L2_CMPL 0x0UL | 3912 | #define RING_ALLOC_REQ_RING_TYPE_ROCE_CMPL 0x3UL |
3671 | #define RING_ALLOC_REQ_RING_TYPE_TX 0x1UL | 3913 | #define RING_ALLOC_REQ_RING_TYPE_LAST RING_ALLOC_REQ_RING_TYPE_ROCE_CMPL |
3672 | #define RING_ALLOC_REQ_RING_TYPE_RX 0x2UL | 3914 | u8 unused_0[3]; |
3673 | #define RING_ALLOC_REQ_RING_TYPE_ROCE_CMPL 0x3UL | 3915 | __le64 page_tbl_addr; |
3674 | u8 unused_0; | 3916 | __le32 fbo; |
3675 | __le16 unused_1; | 3917 | u8 page_size; |
3676 | __le64 page_tbl_addr; | 3918 | u8 page_tbl_depth; |
3677 | __le32 fbo; | 3919 | u8 unused_1[2]; |
3678 | u8 page_size; | 3920 | __le32 length; |
3679 | u8 page_tbl_depth; | 3921 | __le16 logical_id; |
3680 | u8 unused_2; | 3922 | __le16 cmpl_ring_id; |
3681 | u8 unused_3; | 3923 | __le16 queue_id; |
3682 | __le32 length; | 3924 | u8 unused_2[2]; |
3683 | __le16 logical_id; | 3925 | __le32 reserved1; |
3684 | __le16 cmpl_ring_id; | 3926 | __le16 ring_arb_cfg; |
3685 | __le16 queue_id; | 3927 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_MASK 0xfUL |
3686 | u8 unused_4; | 3928 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SFT 0 |
3687 | u8 unused_5; | 3929 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SP 0x1UL |
3688 | __le32 reserved1; | 3930 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ 0x2UL |
3689 | __le16 ring_arb_cfg; | 3931 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_LAST RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ |
3690 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_MASK 0xfUL | 3932 | #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_MASK 0xf0UL |
3691 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SFT 0 | 3933 | #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_SFT 4 |
3692 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SP (0x1UL << 0) | 3934 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_MASK 0xff00UL |
3693 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ (0x2UL << 0) | 3935 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_SFT 8 |
3694 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_LAST RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ | 3936 | __le16 unused_3; |
3695 | #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_MASK 0xf0UL | 3937 | __le32 reserved3; |
3696 | #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_SFT 4 | 3938 | __le32 stat_ctx_id; |
3697 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_MASK 0xff00UL | 3939 | __le32 reserved4; |
3698 | #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_SFT 8 | 3940 | __le32 max_bw; |
3699 | u8 unused_6; | 3941 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL |
3700 | u8 unused_7; | 3942 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_SFT 0 |
3701 | __le32 reserved3; | 3943 | #define RING_ALLOC_REQ_MAX_BW_SCALE 0x10000000UL |
3702 | __le32 stat_ctx_id; | 3944 | #define RING_ALLOC_REQ_MAX_BW_SCALE_BITS (0x0UL << 28) |
3703 | __le32 reserved4; | 3945 | #define RING_ALLOC_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28) |
3704 | __le32 max_bw; | 3946 | #define RING_ALLOC_REQ_MAX_BW_SCALE_LAST RING_ALLOC_REQ_MAX_BW_SCALE_BYTES |
3705 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL | 3947 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL |
3706 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_SFT 0 | 3948 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29 |
3707 | #define RING_ALLOC_REQ_MAX_BW_SCALE 0x10000000UL | 3949 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) |
3708 | #define RING_ALLOC_REQ_MAX_BW_SCALE_BITS (0x0UL << 28) | 3950 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) |
3709 | #define RING_ALLOC_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28) | 3951 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) |
3710 | #define RING_ALLOC_REQ_MAX_BW_SCALE_LAST RING_ALLOC_REQ_MAX_BW_SCALE_BYTES | 3952 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) |
3711 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL | ||
3712 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29 | ||
3713 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29) | ||
3714 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29) | ||
3715 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29) | ||
3716 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29) | ||
3717 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) | 3953 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) |
3718 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) | 3954 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29) |
3719 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_LAST RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID | 3955 | #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_LAST RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID |
3720 | u8 int_mode; | 3956 | u8 int_mode; |
3721 | #define RING_ALLOC_REQ_INT_MODE_LEGACY 0x0UL | 3957 | #define RING_ALLOC_REQ_INT_MODE_LEGACY 0x0UL |
3722 | #define RING_ALLOC_REQ_INT_MODE_RSVD 0x1UL | 3958 | #define RING_ALLOC_REQ_INT_MODE_RSVD 0x1UL |
3723 | #define RING_ALLOC_REQ_INT_MODE_MSIX 0x2UL | 3959 | #define RING_ALLOC_REQ_INT_MODE_MSIX 0x2UL |
3724 | #define RING_ALLOC_REQ_INT_MODE_POLL 0x3UL | 3960 | #define RING_ALLOC_REQ_INT_MODE_POLL 0x3UL |
3725 | u8 unused_8[3]; | 3961 | #define RING_ALLOC_REQ_INT_MODE_LAST RING_ALLOC_REQ_INT_MODE_POLL |
3962 | u8 unused_4[3]; | ||
3726 | }; | 3963 | }; |
3727 | 3964 | ||
3728 | /* Output (16 bytes) */ | 3965 | /* hwrm_ring_alloc_output (size:128b/16B) */ |
3729 | struct hwrm_ring_alloc_output { | 3966 | struct hwrm_ring_alloc_output { |
3730 | __le16 error_code; | 3967 | __le16 error_code; |
3731 | __le16 req_type; | 3968 | __le16 req_type; |
3732 | __le16 seq_id; | 3969 | __le16 seq_id; |
3733 | __le16 resp_len; | 3970 | __le16 resp_len; |
3734 | __le16 ring_id; | 3971 | __le16 ring_id; |
3735 | __le16 logical_ring_id; | 3972 | __le16 logical_ring_id; |
3736 | u8 unused_0; | 3973 | u8 unused_0[3]; |
3737 | u8 unused_1; | 3974 | u8 valid; |
3738 | u8 unused_2; | 3975 | }; |
3739 | u8 valid; | 3976 | |
3740 | }; | 3977 | /* hwrm_ring_free_input (size:192b/24B) */ |
3741 | |||
3742 | /* hwrm_ring_free */ | ||
3743 | /* Input (24 bytes) */ | ||
3744 | struct hwrm_ring_free_input { | 3978 | struct hwrm_ring_free_input { |
3745 | __le16 req_type; | 3979 | __le16 req_type; |
3746 | __le16 cmpl_ring; | 3980 | __le16 cmpl_ring; |
3747 | __le16 seq_id; | 3981 | __le16 seq_id; |
3748 | __le16 target_id; | 3982 | __le16 target_id; |
3749 | __le64 resp_addr; | 3983 | __le64 resp_addr; |
3750 | u8 ring_type; | 3984 | u8 ring_type; |
3751 | #define RING_FREE_REQ_RING_TYPE_L2_CMPL 0x0UL | 3985 | #define RING_FREE_REQ_RING_TYPE_L2_CMPL 0x0UL |
3752 | #define RING_FREE_REQ_RING_TYPE_TX 0x1UL | 3986 | #define RING_FREE_REQ_RING_TYPE_TX 0x1UL |
3753 | #define RING_FREE_REQ_RING_TYPE_RX 0x2UL | 3987 | #define RING_FREE_REQ_RING_TYPE_RX 0x2UL |
3754 | #define RING_FREE_REQ_RING_TYPE_ROCE_CMPL 0x3UL | 3988 | #define RING_FREE_REQ_RING_TYPE_ROCE_CMPL 0x3UL |
3755 | u8 unused_0; | 3989 | #define RING_FREE_REQ_RING_TYPE_LAST RING_FREE_REQ_RING_TYPE_ROCE_CMPL |
3756 | __le16 ring_id; | 3990 | u8 unused_0; |
3757 | __le32 unused_1; | 3991 | __le16 ring_id; |
3758 | }; | 3992 | u8 unused_1[4]; |
3759 | 3993 | }; | |
3760 | /* Output (16 bytes) */ | 3994 | |
3995 | /* hwrm_ring_free_output (size:128b/16B) */ | ||
3761 | struct hwrm_ring_free_output { | 3996 | struct hwrm_ring_free_output { |
3762 | __le16 error_code; | 3997 | __le16 error_code; |
3763 | __le16 req_type; | 3998 | __le16 req_type; |
3764 | __le16 seq_id; | 3999 | __le16 seq_id; |
3765 | __le16 resp_len; | 4000 | __le16 resp_len; |
3766 | __le32 unused_0; | 4001 | u8 unused_0[7]; |
3767 | u8 unused_1; | 4002 | u8 valid; |
3768 | u8 unused_2; | 4003 | }; |
3769 | u8 unused_3; | 4004 | |
3770 | u8 valid; | 4005 | /* hwrm_ring_cmpl_ring_qaggint_params_input (size:192b/24B) */ |
3771 | }; | ||
3772 | |||
3773 | /* hwrm_ring_cmpl_ring_qaggint_params */ | ||
3774 | /* Input (24 bytes) */ | ||
3775 | struct hwrm_ring_cmpl_ring_qaggint_params_input { | 4006 | struct hwrm_ring_cmpl_ring_qaggint_params_input { |
3776 | __le16 req_type; | 4007 | __le16 req_type; |
3777 | __le16 cmpl_ring; | 4008 | __le16 cmpl_ring; |
3778 | __le16 seq_id; | 4009 | __le16 seq_id; |
3779 | __le16 target_id; | 4010 | __le16 target_id; |
3780 | __le64 resp_addr; | 4011 | __le64 resp_addr; |
3781 | __le16 ring_id; | 4012 | __le16 ring_id; |
3782 | __le16 unused_0[3]; | 4013 | u8 unused_0[6]; |
3783 | }; | 4014 | }; |
3784 | 4015 | ||
3785 | /* Output (32 bytes) */ | 4016 | /* hwrm_ring_cmpl_ring_qaggint_params_output (size:256b/32B) */ |
3786 | struct hwrm_ring_cmpl_ring_qaggint_params_output { | 4017 | struct hwrm_ring_cmpl_ring_qaggint_params_output { |
3787 | __le16 error_code; | 4018 | __le16 error_code; |
3788 | __le16 req_type; | 4019 | __le16 req_type; |
3789 | __le16 seq_id; | 4020 | __le16 seq_id; |
3790 | __le16 resp_len; | 4021 | __le16 resp_len; |
3791 | __le16 flags; | 4022 | __le16 flags; |
3792 | #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_TIMER_RESET 0x1UL | 4023 | #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_TIMER_RESET 0x1UL |
3793 | #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_RING_IDLE 0x2UL | 4024 | #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_RING_IDLE 0x2UL |
3794 | __le16 num_cmpl_dma_aggr; | 4025 | __le16 num_cmpl_dma_aggr; |
3795 | __le16 num_cmpl_dma_aggr_during_int; | 4026 | __le16 num_cmpl_dma_aggr_during_int; |
3796 | __le16 cmpl_aggr_dma_tmr; | 4027 | __le16 cmpl_aggr_dma_tmr; |
3797 | __le16 cmpl_aggr_dma_tmr_during_int; | 4028 | __le16 cmpl_aggr_dma_tmr_during_int; |
3798 | __le16 int_lat_tmr_min; | 4029 | __le16 int_lat_tmr_min; |
3799 | __le16 int_lat_tmr_max; | 4030 | __le16 int_lat_tmr_max; |
3800 | __le16 num_cmpl_aggr_int; | 4031 | __le16 num_cmpl_aggr_int; |
3801 | __le32 unused_0; | 4032 | u8 unused_0[7]; |
3802 | u8 unused_1; | 4033 | u8 valid; |
3803 | u8 unused_2; | 4034 | }; |
3804 | u8 unused_3; | 4035 | |
3805 | u8 valid; | 4036 | /* hwrm_ring_cmpl_ring_cfg_aggint_params_input (size:320b/40B) */ |
3806 | }; | ||
3807 | |||
3808 | /* hwrm_ring_cmpl_ring_cfg_aggint_params */ | ||
3809 | /* Input (40 bytes) */ | ||
3810 | struct hwrm_ring_cmpl_ring_cfg_aggint_params_input { | 4037 | struct hwrm_ring_cmpl_ring_cfg_aggint_params_input { |
3811 | __le16 req_type; | 4038 | __le16 req_type; |
3812 | __le16 cmpl_ring; | 4039 | __le16 cmpl_ring; |
3813 | __le16 seq_id; | 4040 | __le16 seq_id; |
3814 | __le16 target_id; | 4041 | __le16 target_id; |
3815 | __le64 resp_addr; | 4042 | __le64 resp_addr; |
3816 | __le16 ring_id; | 4043 | __le16 ring_id; |
3817 | __le16 flags; | 4044 | __le16 flags; |
3818 | #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_TIMER_RESET 0x1UL | 4045 | #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_TIMER_RESET 0x1UL |
3819 | #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_RING_IDLE 0x2UL | 4046 | #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_RING_IDLE 0x2UL |
3820 | __le16 num_cmpl_dma_aggr; | 4047 | __le16 num_cmpl_dma_aggr; |
3821 | __le16 num_cmpl_dma_aggr_during_int; | 4048 | __le16 num_cmpl_dma_aggr_during_int; |
3822 | __le16 cmpl_aggr_dma_tmr; | 4049 | __le16 cmpl_aggr_dma_tmr; |
3823 | __le16 cmpl_aggr_dma_tmr_during_int; | 4050 | __le16 cmpl_aggr_dma_tmr_during_int; |
3824 | __le16 int_lat_tmr_min; | 4051 | __le16 int_lat_tmr_min; |
3825 | __le16 int_lat_tmr_max; | 4052 | __le16 int_lat_tmr_max; |
3826 | __le16 num_cmpl_aggr_int; | 4053 | __le16 num_cmpl_aggr_int; |
3827 | __le16 unused_0[3]; | 4054 | u8 unused_0[6]; |
3828 | }; | 4055 | }; |
3829 | 4056 | ||
3830 | /* Output (16 bytes) */ | 4057 | /* hwrm_ring_cmpl_ring_cfg_aggint_params_output (size:128b/16B) */ |
3831 | struct hwrm_ring_cmpl_ring_cfg_aggint_params_output { | 4058 | struct hwrm_ring_cmpl_ring_cfg_aggint_params_output { |
3832 | __le16 error_code; | 4059 | __le16 error_code; |
3833 | __le16 req_type; | 4060 | __le16 req_type; |
3834 | __le16 seq_id; | 4061 | __le16 seq_id; |
3835 | __le16 resp_len; | 4062 | __le16 resp_len; |
3836 | __le32 unused_0; | 4063 | u8 unused_0[7]; |
3837 | u8 unused_1; | 4064 | u8 valid; |
3838 | u8 unused_2; | 4065 | }; |
3839 | u8 unused_3; | 4066 | |
3840 | u8 valid; | 4067 | /* hwrm_ring_reset_input (size:192b/24B) */ |
3841 | }; | ||
3842 | |||
3843 | /* hwrm_ring_reset */ | ||
3844 | /* Input (24 bytes) */ | ||
3845 | struct hwrm_ring_reset_input { | 4068 | struct hwrm_ring_reset_input { |
3846 | __le16 req_type; | 4069 | __le16 req_type; |
3847 | __le16 cmpl_ring; | 4070 | __le16 cmpl_ring; |
3848 | __le16 seq_id; | 4071 | __le16 seq_id; |
3849 | __le16 target_id; | 4072 | __le16 target_id; |
3850 | __le64 resp_addr; | 4073 | __le64 resp_addr; |
3851 | u8 ring_type; | 4074 | u8 ring_type; |
3852 | #define RING_RESET_REQ_RING_TYPE_L2_CMPL 0x0UL | 4075 | #define RING_RESET_REQ_RING_TYPE_L2_CMPL 0x0UL |
3853 | #define RING_RESET_REQ_RING_TYPE_TX 0x1UL | 4076 | #define RING_RESET_REQ_RING_TYPE_TX 0x1UL |
3854 | #define RING_RESET_REQ_RING_TYPE_RX 0x2UL | 4077 | #define RING_RESET_REQ_RING_TYPE_RX 0x2UL |
3855 | #define RING_RESET_REQ_RING_TYPE_ROCE_CMPL 0x3UL | 4078 | #define RING_RESET_REQ_RING_TYPE_ROCE_CMPL 0x3UL |
3856 | u8 unused_0; | 4079 | #define RING_RESET_REQ_RING_TYPE_LAST RING_RESET_REQ_RING_TYPE_ROCE_CMPL |
3857 | __le16 ring_id; | 4080 | u8 unused_0; |
3858 | __le32 unused_1; | 4081 | __le16 ring_id; |
3859 | }; | 4082 | u8 unused_1[4]; |
3860 | 4083 | }; | |
3861 | /* Output (16 bytes) */ | 4084 | |
4085 | /* hwrm_ring_reset_output (size:128b/16B) */ | ||
3862 | struct hwrm_ring_reset_output { | 4086 | struct hwrm_ring_reset_output { |
3863 | __le16 error_code; | 4087 | __le16 error_code; |
3864 | __le16 req_type; | 4088 | __le16 req_type; |
3865 | __le16 seq_id; | 4089 | __le16 seq_id; |
3866 | __le16 resp_len; | 4090 | __le16 resp_len; |
3867 | __le32 unused_0; | 4091 | u8 unused_0[7]; |
3868 | u8 unused_1; | 4092 | u8 valid; |
3869 | u8 unused_2; | 4093 | }; |
3870 | u8 unused_3; | 4094 | |
3871 | u8 valid; | 4095 | /* hwrm_ring_grp_alloc_input (size:192b/24B) */ |
3872 | }; | ||
3873 | |||
3874 | /* hwrm_ring_grp_alloc */ | ||
3875 | /* Input (24 bytes) */ | ||
3876 | struct hwrm_ring_grp_alloc_input { | 4096 | struct hwrm_ring_grp_alloc_input { |
3877 | __le16 req_type; | 4097 | __le16 req_type; |
3878 | __le16 cmpl_ring; | 4098 | __le16 cmpl_ring; |
3879 | __le16 seq_id; | 4099 | __le16 seq_id; |
3880 | __le16 target_id; | 4100 | __le16 target_id; |
3881 | __le64 resp_addr; | 4101 | __le64 resp_addr; |
3882 | __le16 cr; | 4102 | __le16 cr; |
3883 | __le16 rr; | 4103 | __le16 rr; |
3884 | __le16 ar; | 4104 | __le16 ar; |
3885 | __le16 sc; | 4105 | __le16 sc; |
3886 | }; | 4106 | }; |
3887 | 4107 | ||
3888 | /* Output (16 bytes) */ | 4108 | /* hwrm_ring_grp_alloc_output (size:128b/16B) */ |
3889 | struct hwrm_ring_grp_alloc_output { | 4109 | struct hwrm_ring_grp_alloc_output { |
3890 | __le16 error_code; | 4110 | __le16 error_code; |
3891 | __le16 req_type; | 4111 | __le16 req_type; |
3892 | __le16 seq_id; | 4112 | __le16 seq_id; |
3893 | __le16 resp_len; | 4113 | __le16 resp_len; |
3894 | __le32 ring_group_id; | 4114 | __le32 ring_group_id; |
3895 | u8 unused_0; | 4115 | u8 unused_0[3]; |
3896 | u8 unused_1; | 4116 | u8 valid; |
3897 | u8 unused_2; | 4117 | }; |
3898 | u8 valid; | 4118 | |
3899 | }; | 4119 | /* hwrm_ring_grp_free_input (size:192b/24B) */ |
3900 | |||
3901 | /* hwrm_ring_grp_free */ | ||
3902 | /* Input (24 bytes) */ | ||
3903 | struct hwrm_ring_grp_free_input { | 4120 | struct hwrm_ring_grp_free_input { |
3904 | __le16 req_type; | 4121 | __le16 req_type; |
3905 | __le16 cmpl_ring; | 4122 | __le16 cmpl_ring; |
3906 | __le16 seq_id; | 4123 | __le16 seq_id; |
3907 | __le16 target_id; | 4124 | __le16 target_id; |
3908 | __le64 resp_addr; | 4125 | __le64 resp_addr; |
3909 | __le32 ring_group_id; | 4126 | __le32 ring_group_id; |
3910 | __le32 unused_0; | 4127 | u8 unused_0[4]; |
3911 | }; | 4128 | }; |
3912 | 4129 | ||
3913 | /* Output (16 bytes) */ | 4130 | /* hwrm_ring_grp_free_output (size:128b/16B) */ |
3914 | struct hwrm_ring_grp_free_output { | 4131 | struct hwrm_ring_grp_free_output { |
3915 | __le16 error_code; | 4132 | __le16 error_code; |
3916 | __le16 req_type; | 4133 | __le16 req_type; |
3917 | __le16 seq_id; | 4134 | __le16 seq_id; |
3918 | __le16 resp_len; | 4135 | __le16 resp_len; |
3919 | __le32 unused_0; | 4136 | u8 unused_0[7]; |
3920 | u8 unused_1; | 4137 | u8 valid; |
3921 | u8 unused_2; | 4138 | }; |
3922 | u8 unused_3; | 4139 | |
3923 | u8 valid; | 4140 | /* hwrm_cfa_l2_filter_alloc_input (size:768b/96B) */ |
3924 | }; | ||
3925 | |||
3926 | /* hwrm_cfa_l2_filter_alloc */ | ||
3927 | /* Input (96 bytes) */ | ||
3928 | struct hwrm_cfa_l2_filter_alloc_input { | 4141 | struct hwrm_cfa_l2_filter_alloc_input { |
3929 | __le16 req_type; | 4142 | __le16 req_type; |
3930 | __le16 cmpl_ring; | 4143 | __le16 cmpl_ring; |
3931 | __le16 seq_id; | 4144 | __le16 seq_id; |
3932 | __le16 target_id; | 4145 | __le16 target_id; |
3933 | __le64 resp_addr; | 4146 | __le64 resp_addr; |
3934 | __le32 flags; | 4147 | __le32 flags; |
3935 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH 0x1UL | 4148 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH 0x1UL |
3936 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX (0x0UL << 0) | 4149 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX 0x0UL |
3937 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX (0x1UL << 0) | 4150 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX 0x1UL |
3938 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX | 4151 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX |
3939 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x2UL | 4152 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x2UL |
3940 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP 0x4UL | 4153 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP 0x4UL |
3941 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST 0x8UL | 4154 | #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST 0x8UL |
3942 | __le32 enables; | 4155 | __le32 enables; |
3943 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x1UL | 4156 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x1UL |
3944 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR_MASK 0x2UL | 4157 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR_MASK 0x2UL |
3945 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN 0x4UL | 4158 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN 0x4UL |
3946 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN_MASK 0x8UL | 4159 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN_MASK 0x8UL |
3947 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x10UL | 4160 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x10UL |
3948 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN_MASK 0x20UL | 4161 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN_MASK 0x20UL |
3949 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR 0x40UL | 4162 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR 0x40UL |
3950 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR_MASK 0x80UL | 4163 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR_MASK 0x80UL |
3951 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN 0x100UL | 4164 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN 0x100UL |
3952 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN_MASK 0x200UL | 4165 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN_MASK 0x200UL |
3953 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN 0x400UL | 4166 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN 0x400UL |
3954 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN_MASK 0x800UL | 4167 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN_MASK 0x800UL |
3955 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_TYPE 0x1000UL | 4168 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_TYPE 0x1000UL |
3956 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_ID 0x2000UL | 4169 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_ID 0x2000UL |
3957 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4000UL | 4170 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4000UL |
3958 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL | 4171 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL |
3959 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL | 4172 | #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL |
3960 | u8 l2_addr[6]; | 4173 | u8 l2_addr[6]; |
3961 | u8 unused_0; | 4174 | u8 unused_0[2]; |
3962 | u8 unused_1; | 4175 | u8 l2_addr_mask[6]; |
3963 | u8 l2_addr_mask[6]; | 4176 | __le16 l2_ovlan; |
3964 | __le16 l2_ovlan; | 4177 | __le16 l2_ovlan_mask; |
3965 | __le16 l2_ovlan_mask; | 4178 | __le16 l2_ivlan; |
3966 | __le16 l2_ivlan; | 4179 | __le16 l2_ivlan_mask; |
3967 | __le16 l2_ivlan_mask; | 4180 | u8 unused_1[2]; |
3968 | u8 unused_2; | 4181 | u8 t_l2_addr[6]; |
3969 | u8 unused_3; | 4182 | u8 unused_2[2]; |
3970 | u8 t_l2_addr[6]; | 4183 | u8 t_l2_addr_mask[6]; |
3971 | u8 unused_4; | 4184 | __le16 t_l2_ovlan; |
3972 | u8 unused_5; | 4185 | __le16 t_l2_ovlan_mask; |
3973 | u8 t_l2_addr_mask[6]; | 4186 | __le16 t_l2_ivlan; |
3974 | __le16 t_l2_ovlan; | 4187 | __le16 t_l2_ivlan_mask; |
3975 | __le16 t_l2_ovlan_mask; | 4188 | u8 src_type; |
3976 | __le16 t_l2_ivlan; | 4189 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_NPORT 0x0UL |
3977 | __le16 t_l2_ivlan_mask; | 4190 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_PF 0x1UL |
3978 | u8 src_type; | 4191 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VF 0x2UL |
3979 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_NPORT 0x0UL | 4192 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VNIC 0x3UL |
3980 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_PF 0x1UL | 4193 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_KONG 0x4UL |
3981 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VF 0x2UL | 4194 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_APE 0x5UL |
3982 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VNIC 0x3UL | 4195 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_BONO 0x6UL |
3983 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_KONG 0x4UL | 4196 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG 0x7UL |
3984 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_APE 0x5UL | 4197 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_LAST CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG |
3985 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_BONO 0x6UL | 4198 | u8 unused_3; |
3986 | #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG 0x7UL | 4199 | __le32 src_id; |
3987 | u8 unused_6; | 4200 | u8 tunnel_type; |
3988 | __le32 src_id; | 4201 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL |
3989 | u8 tunnel_type; | 4202 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
3990 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL | 4203 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL |
3991 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 4204 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL |
3992 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL | 4205 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL |
3993 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL | 4206 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL |
3994 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL | 4207 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL |
3995 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL | 4208 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL |
3996 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL | 4209 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL |
3997 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL | 4210 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
3998 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL | 4211 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL |
3999 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 4212 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL |
4000 | #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL | 4213 | u8 unused_4; |
4001 | u8 unused_7; | 4214 | __le16 dst_id; |
4002 | __le16 dst_id; | 4215 | __le16 mirror_vnic_id; |
4003 | __le16 mirror_vnic_id; | 4216 | u8 pri_hint; |
4004 | u8 pri_hint; | 4217 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL |
4005 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL | 4218 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_ABOVE_FILTER 0x1UL |
4006 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_ABOVE_FILTER 0x1UL | 4219 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_BELOW_FILTER 0x2UL |
4007 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_BELOW_FILTER 0x2UL | 4220 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MAX 0x3UL |
4008 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MAX 0x3UL | 4221 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN 0x4UL |
4009 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN 0x4UL | 4222 | #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_LAST CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN |
4010 | u8 unused_8; | 4223 | u8 unused_5; |
4011 | __le32 unused_9; | 4224 | __le32 unused_6; |
4012 | __le64 l2_filter_id_hint; | 4225 | __le64 l2_filter_id_hint; |
4013 | }; | 4226 | }; |
4014 | 4227 | ||
4015 | /* Output (24 bytes) */ | 4228 | /* hwrm_cfa_l2_filter_alloc_output (size:192b/24B) */ |
4016 | struct hwrm_cfa_l2_filter_alloc_output { | 4229 | struct hwrm_cfa_l2_filter_alloc_output { |
4017 | __le16 error_code; | 4230 | __le16 error_code; |
4018 | __le16 req_type; | 4231 | __le16 req_type; |
4019 | __le16 seq_id; | 4232 | __le16 seq_id; |
4020 | __le16 resp_len; | 4233 | __le16 resp_len; |
4021 | __le64 l2_filter_id; | 4234 | __le64 l2_filter_id; |
4022 | __le32 flow_id; | 4235 | __le32 flow_id; |
4023 | u8 unused_0; | 4236 | u8 unused_0[3]; |
4024 | u8 unused_1; | 4237 | u8 valid; |
4025 | u8 unused_2; | 4238 | }; |
4026 | u8 valid; | 4239 | |
4027 | }; | 4240 | /* hwrm_cfa_l2_filter_free_input (size:192b/24B) */ |
4028 | |||
4029 | /* hwrm_cfa_l2_filter_free */ | ||
4030 | /* Input (24 bytes) */ | ||
4031 | struct hwrm_cfa_l2_filter_free_input { | 4241 | struct hwrm_cfa_l2_filter_free_input { |
4032 | __le16 req_type; | 4242 | __le16 req_type; |
4033 | __le16 cmpl_ring; | 4243 | __le16 cmpl_ring; |
4034 | __le16 seq_id; | 4244 | __le16 seq_id; |
4035 | __le16 target_id; | 4245 | __le16 target_id; |
4036 | __le64 resp_addr; | 4246 | __le64 resp_addr; |
4037 | __le64 l2_filter_id; | 4247 | __le64 l2_filter_id; |
4038 | }; | 4248 | }; |
4039 | 4249 | ||
4040 | /* Output (16 bytes) */ | 4250 | /* hwrm_cfa_l2_filter_free_output (size:128b/16B) */ |
4041 | struct hwrm_cfa_l2_filter_free_output { | 4251 | struct hwrm_cfa_l2_filter_free_output { |
4042 | __le16 error_code; | 4252 | __le16 error_code; |
4043 | __le16 req_type; | 4253 | __le16 req_type; |
4044 | __le16 seq_id; | 4254 | __le16 seq_id; |
4045 | __le16 resp_len; | 4255 | __le16 resp_len; |
4046 | __le32 unused_0; | 4256 | u8 unused_0[7]; |
4047 | u8 unused_1; | 4257 | u8 valid; |
4048 | u8 unused_2; | 4258 | }; |
4049 | u8 unused_3; | 4259 | |
4050 | u8 valid; | 4260 | /* hwrm_cfa_l2_filter_cfg_input (size:320b/40B) */ |
4051 | }; | ||
4052 | |||
4053 | /* hwrm_cfa_l2_filter_cfg */ | ||
4054 | /* Input (40 bytes) */ | ||
4055 | struct hwrm_cfa_l2_filter_cfg_input { | 4261 | struct hwrm_cfa_l2_filter_cfg_input { |
4056 | __le16 req_type; | 4262 | __le16 req_type; |
4057 | __le16 cmpl_ring; | 4263 | __le16 cmpl_ring; |
4058 | __le16 seq_id; | 4264 | __le16 seq_id; |
4059 | __le16 target_id; | 4265 | __le16 target_id; |
4060 | __le64 resp_addr; | 4266 | __le64 resp_addr; |
4061 | __le32 flags; | 4267 | __le32 flags; |
4062 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH 0x1UL | 4268 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH 0x1UL |
4063 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX (0x0UL << 0) | 4269 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX 0x0UL |
4064 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX (0x1UL << 0) | 4270 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX 0x1UL |
4065 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX | 4271 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX |
4066 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP 0x2UL | 4272 | #define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP 0x2UL |
4067 | __le32 enables; | 4273 | __le32 enables; |
4068 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID 0x1UL | 4274 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID 0x1UL |
4069 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL | 4275 | #define CFA_L2_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL |
4070 | __le64 l2_filter_id; | 4276 | __le64 l2_filter_id; |
4071 | __le32 dst_id; | 4277 | __le32 dst_id; |
4072 | __le32 new_mirror_vnic_id; | 4278 | __le32 new_mirror_vnic_id; |
4073 | }; | 4279 | }; |
4074 | 4280 | ||
4075 | /* Output (16 bytes) */ | 4281 | /* hwrm_cfa_l2_filter_cfg_output (size:128b/16B) */ |
4076 | struct hwrm_cfa_l2_filter_cfg_output { | 4282 | struct hwrm_cfa_l2_filter_cfg_output { |
4077 | __le16 error_code; | 4283 | __le16 error_code; |
4078 | __le16 req_type; | 4284 | __le16 req_type; |
4079 | __le16 seq_id; | 4285 | __le16 seq_id; |
4080 | __le16 resp_len; | 4286 | __le16 resp_len; |
4081 | __le32 unused_0; | 4287 | u8 unused_0[7]; |
4082 | u8 unused_1; | 4288 | u8 valid; |
4083 | u8 unused_2; | 4289 | }; |
4084 | u8 unused_3; | 4290 | |
4085 | u8 valid; | 4291 | /* hwrm_cfa_l2_set_rx_mask_input (size:448b/56B) */ |
4086 | }; | ||
4087 | |||
4088 | /* hwrm_cfa_l2_set_rx_mask */ | ||
4089 | /* Input (56 bytes) */ | ||
4090 | struct hwrm_cfa_l2_set_rx_mask_input { | 4292 | struct hwrm_cfa_l2_set_rx_mask_input { |
4091 | __le16 req_type; | 4293 | __le16 req_type; |
4092 | __le16 cmpl_ring; | 4294 | __le16 cmpl_ring; |
4093 | __le16 seq_id; | 4295 | __le16 seq_id; |
4094 | __le16 target_id; | 4296 | __le16 target_id; |
4095 | __le64 resp_addr; | 4297 | __le64 resp_addr; |
4096 | __le32 vnic_id; | 4298 | __le32 vnic_id; |
4097 | __le32 mask; | 4299 | __le32 mask; |
4098 | #define CFA_L2_SET_RX_MASK_REQ_MASK_RESERVED 0x1UL | 4300 | #define CFA_L2_SET_RX_MASK_REQ_MASK_MCAST 0x2UL |
4099 | #define CFA_L2_SET_RX_MASK_REQ_MASK_MCAST 0x2UL | 4301 | #define CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST 0x4UL |
4100 | #define CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST 0x4UL | 4302 | #define CFA_L2_SET_RX_MASK_REQ_MASK_BCAST 0x8UL |
4101 | #define CFA_L2_SET_RX_MASK_REQ_MASK_BCAST 0x8UL | 4303 | #define CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS 0x10UL |
4102 | #define CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS 0x10UL | 4304 | #define CFA_L2_SET_RX_MASK_REQ_MASK_OUTERMOST 0x20UL |
4103 | #define CFA_L2_SET_RX_MASK_REQ_MASK_OUTERMOST 0x20UL | 4305 | #define CFA_L2_SET_RX_MASK_REQ_MASK_VLANONLY 0x40UL |
4104 | #define CFA_L2_SET_RX_MASK_REQ_MASK_VLANONLY 0x40UL | 4306 | #define CFA_L2_SET_RX_MASK_REQ_MASK_VLAN_NONVLAN 0x80UL |
4105 | #define CFA_L2_SET_RX_MASK_REQ_MASK_VLAN_NONVLAN 0x80UL | 4307 | #define CFA_L2_SET_RX_MASK_REQ_MASK_ANYVLAN_NONVLAN 0x100UL |
4106 | #define CFA_L2_SET_RX_MASK_REQ_MASK_ANYVLAN_NONVLAN 0x100UL | 4308 | __le64 mc_tbl_addr; |
4107 | __le64 mc_tbl_addr; | 4309 | __le32 num_mc_entries; |
4108 | __le32 num_mc_entries; | 4310 | u8 unused_0[4]; |
4109 | __le32 unused_0; | 4311 | __le64 vlan_tag_tbl_addr; |
4110 | __le64 vlan_tag_tbl_addr; | 4312 | __le32 num_vlan_tags; |
4111 | __le32 num_vlan_tags; | 4313 | u8 unused_1[4]; |
4112 | __le32 unused_1; | 4314 | }; |
4113 | }; | 4315 | |
4114 | 4316 | /* hwrm_cfa_l2_set_rx_mask_output (size:128b/16B) */ | |
4115 | /* Output (16 bytes) */ | ||
4116 | struct hwrm_cfa_l2_set_rx_mask_output { | 4317 | struct hwrm_cfa_l2_set_rx_mask_output { |
4117 | __le16 error_code; | 4318 | __le16 error_code; |
4118 | __le16 req_type; | 4319 | __le16 req_type; |
4119 | __le16 seq_id; | 4320 | __le16 seq_id; |
4120 | __le16 resp_len; | 4321 | __le16 resp_len; |
4121 | __le32 unused_0; | 4322 | u8 unused_0[7]; |
4122 | u8 unused_1; | 4323 | u8 valid; |
4123 | u8 unused_2; | 4324 | }; |
4124 | u8 unused_3; | 4325 | |
4125 | u8 valid; | 4326 | /* hwrm_cfa_l2_set_rx_mask_cmd_err (size:64b/8B) */ |
4126 | }; | ||
4127 | |||
4128 | /* Command specific Error Codes (8 bytes) */ | ||
4129 | struct hwrm_cfa_l2_set_rx_mask_cmd_err { | 4327 | struct hwrm_cfa_l2_set_rx_mask_cmd_err { |
4130 | u8 code; | 4328 | u8 code; |
4131 | #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_UNKNOWN 0x0UL | 4329 | #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_UNKNOWN 0x0UL |
4132 | #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR 0x1UL | 4330 | #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR 0x1UL |
4133 | u8 unused_0[7]; | 4331 | #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_LAST CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR |
4332 | u8 unused_0[7]; | ||
4134 | }; | 4333 | }; |
4135 | 4334 | ||
4136 | /* hwrm_cfa_tunnel_filter_alloc */ | 4335 | /* hwrm_cfa_tunnel_filter_alloc_input (size:704b/88B) */ |
4137 | /* Input (88 bytes) */ | ||
4138 | struct hwrm_cfa_tunnel_filter_alloc_input { | 4336 | struct hwrm_cfa_tunnel_filter_alloc_input { |
4139 | __le16 req_type; | 4337 | __le16 req_type; |
4140 | __le16 cmpl_ring; | 4338 | __le16 cmpl_ring; |
4141 | __le16 seq_id; | 4339 | __le16 seq_id; |
4142 | __le16 target_id; | 4340 | __le16 target_id; |
4143 | __le64 resp_addr; | 4341 | __le64 resp_addr; |
4144 | __le32 flags; | 4342 | __le32 flags; |
4145 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL | 4343 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL |
4146 | __le32 enables; | 4344 | __le32 enables; |
4147 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL | 4345 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL |
4148 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x2UL | 4346 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x2UL |
4149 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x4UL | 4347 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x4UL |
4150 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR 0x8UL | 4348 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR 0x8UL |
4151 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR_TYPE 0x10UL | 4349 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR_TYPE 0x10UL |
4152 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR_TYPE 0x20UL | 4350 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR_TYPE 0x20UL |
4153 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR 0x40UL | 4351 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR 0x40UL |
4154 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x80UL | 4352 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x80UL |
4155 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_VNI 0x100UL | 4353 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_VNI 0x100UL |
4156 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_DST_VNIC_ID 0x200UL | 4354 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_DST_VNIC_ID 0x200UL |
4157 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x400UL | 4355 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x400UL |
4158 | __le64 l2_filter_id; | 4356 | __le64 l2_filter_id; |
4159 | u8 l2_addr[6]; | 4357 | u8 l2_addr[6]; |
4160 | __le16 l2_ivlan; | 4358 | __le16 l2_ivlan; |
4161 | __le32 l3_addr[4]; | 4359 | __le32 l3_addr[4]; |
4162 | __le32 t_l3_addr[4]; | 4360 | __le32 t_l3_addr[4]; |
4163 | u8 l3_addr_type; | 4361 | u8 l3_addr_type; |
4164 | u8 t_l3_addr_type; | 4362 | u8 t_l3_addr_type; |
4165 | u8 tunnel_type; | 4363 | u8 tunnel_type; |
4166 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL | 4364 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL |
4167 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 4365 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4168 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL | 4366 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL |
@@ -4174,158 +4372,204 @@ struct hwrm_cfa_tunnel_filter_alloc_input { | |||
4174 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL | 4372 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL |
4175 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 4373 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4176 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL | 4374 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL |
4177 | u8 unused_0; | 4375 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL |
4178 | __le32 vni; | 4376 | u8 tunnel_flags; |
4179 | __le32 dst_vnic_id; | 4377 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_OAM_CHECKSUM_EXPLHDR 0x1UL |
4180 | __le32 mirror_vnic_id; | 4378 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_CRITICAL_OPT_S1 0x2UL |
4379 | #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_EXTHDR_SEQNUM_S0 0x4UL | ||
4380 | __le32 vni; | ||
4381 | __le32 dst_vnic_id; | ||
4382 | __le32 mirror_vnic_id; | ||
4181 | }; | 4383 | }; |
4182 | 4384 | ||
4183 | /* Output (24 bytes) */ | 4385 | /* hwrm_cfa_tunnel_filter_alloc_output (size:192b/24B) */ |
4184 | struct hwrm_cfa_tunnel_filter_alloc_output { | 4386 | struct hwrm_cfa_tunnel_filter_alloc_output { |
4185 | __le16 error_code; | 4387 | __le16 error_code; |
4186 | __le16 req_type; | 4388 | __le16 req_type; |
4187 | __le16 seq_id; | 4389 | __le16 seq_id; |
4188 | __le16 resp_len; | 4390 | __le16 resp_len; |
4189 | __le64 tunnel_filter_id; | 4391 | __le64 tunnel_filter_id; |
4190 | __le32 flow_id; | 4392 | __le32 flow_id; |
4191 | u8 unused_0; | 4393 | u8 unused_0[3]; |
4192 | u8 unused_1; | 4394 | u8 valid; |
4193 | u8 unused_2; | 4395 | }; |
4194 | u8 valid; | 4396 | |
4195 | }; | 4397 | /* hwrm_cfa_tunnel_filter_free_input (size:192b/24B) */ |
4196 | |||
4197 | /* hwrm_cfa_tunnel_filter_free */ | ||
4198 | /* Input (24 bytes) */ | ||
4199 | struct hwrm_cfa_tunnel_filter_free_input { | 4398 | struct hwrm_cfa_tunnel_filter_free_input { |
4200 | __le16 req_type; | 4399 | __le16 req_type; |
4201 | __le16 cmpl_ring; | 4400 | __le16 cmpl_ring; |
4202 | __le16 seq_id; | 4401 | __le16 seq_id; |
4203 | __le16 target_id; | 4402 | __le16 target_id; |
4204 | __le64 resp_addr; | 4403 | __le64 resp_addr; |
4205 | __le64 tunnel_filter_id; | 4404 | __le64 tunnel_filter_id; |
4206 | }; | 4405 | }; |
4207 | 4406 | ||
4208 | /* Output (16 bytes) */ | 4407 | /* hwrm_cfa_tunnel_filter_free_output (size:128b/16B) */ |
4209 | struct hwrm_cfa_tunnel_filter_free_output { | 4408 | struct hwrm_cfa_tunnel_filter_free_output { |
4210 | __le16 error_code; | 4409 | __le16 error_code; |
4211 | __le16 req_type; | 4410 | __le16 req_type; |
4212 | __le16 seq_id; | 4411 | __le16 seq_id; |
4213 | __le16 resp_len; | 4412 | __le16 resp_len; |
4214 | __le32 unused_0; | 4413 | u8 unused_0[7]; |
4215 | u8 unused_1; | 4414 | u8 valid; |
4216 | u8 unused_2; | 4415 | }; |
4217 | u8 unused_3; | 4416 | |
4218 | u8 valid; | 4417 | /* hwrm_vxlan_ipv4_hdr (size:128b/16B) */ |
4219 | }; | 4418 | struct hwrm_vxlan_ipv4_hdr { |
4220 | 4419 | u8 ver_hlen; | |
4221 | /* hwrm_cfa_encap_record_alloc */ | 4420 | #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_MASK 0xfUL |
4222 | /* Input (32 bytes) */ | 4421 | #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_SFT 0 |
4422 | #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_MASK 0xf0UL | ||
4423 | #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_SFT 4 | ||
4424 | u8 tos; | ||
4425 | __be16 ip_id; | ||
4426 | __be16 flags_frag_offset; | ||
4427 | u8 ttl; | ||
4428 | u8 protocol; | ||
4429 | __be32 src_ip_addr; | ||
4430 | __be32 dest_ip_addr; | ||
4431 | }; | ||
4432 | |||
4433 | /* hwrm_vxlan_ipv6_hdr (size:320b/40B) */ | ||
4434 | struct hwrm_vxlan_ipv6_hdr { | ||
4435 | __be32 ver_tc_flow_label; | ||
4436 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_SFT 0x1cUL | ||
4437 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_MASK 0xf0000000UL | ||
4438 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_SFT 0x14UL | ||
4439 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_MASK 0xff00000UL | ||
4440 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_SFT 0x0UL | ||
4441 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK 0xfffffUL | ||
4442 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_LAST VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK | ||
4443 | __be16 payload_len; | ||
4444 | u8 next_hdr; | ||
4445 | u8 ttl; | ||
4446 | __be32 src_ip_addr[4]; | ||
4447 | __be32 dest_ip_addr[4]; | ||
4448 | }; | ||
4449 | |||
4450 | /* hwrm_cfa_encap_data_vxlan (size:576b/72B) */ | ||
4451 | struct hwrm_cfa_encap_data_vxlan { | ||
4452 | u8 src_mac_addr[6]; | ||
4453 | __le16 unused_0; | ||
4454 | u8 dst_mac_addr[6]; | ||
4455 | u8 num_vlan_tags; | ||
4456 | u8 unused_1; | ||
4457 | __be16 ovlan_tpid; | ||
4458 | __be16 ovlan_tci; | ||
4459 | __be16 ivlan_tpid; | ||
4460 | __be16 ivlan_tci; | ||
4461 | __le32 l3[10]; | ||
4462 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_MASK 0xfUL | ||
4463 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV4 0x4UL | ||
4464 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6 0x6UL | ||
4465 | #define CFA_ENCAP_DATA_VXLAN_L3_LAST CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6 | ||
4466 | __be16 src_port; | ||
4467 | __be16 dst_port; | ||
4468 | __be32 vni; | ||
4469 | }; | ||
4470 | |||
4471 | /* hwrm_cfa_encap_record_alloc_input (size:832b/104B) */ | ||
4223 | struct hwrm_cfa_encap_record_alloc_input { | 4472 | struct hwrm_cfa_encap_record_alloc_input { |
4224 | __le16 req_type; | 4473 | __le16 req_type; |
4225 | __le16 cmpl_ring; | 4474 | __le16 cmpl_ring; |
4226 | __le16 seq_id; | 4475 | __le16 seq_id; |
4227 | __le16 target_id; | 4476 | __le16 target_id; |
4228 | __le64 resp_addr; | 4477 | __le64 resp_addr; |
4229 | __le32 flags; | 4478 | __le32 flags; |
4230 | #define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL | 4479 | #define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL |
4231 | u8 encap_type; | 4480 | u8 encap_type; |
4232 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN 0x1UL | 4481 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN 0x1UL |
4233 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_NVGRE 0x2UL | 4482 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_NVGRE 0x2UL |
4234 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2GRE 0x3UL | 4483 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2GRE 0x3UL |
4235 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPIP 0x4UL | 4484 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPIP 0x4UL |
4236 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_GENEVE 0x5UL | 4485 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_GENEVE 0x5UL |
4237 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_MPLS 0x6UL | 4486 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_MPLS 0x6UL |
4238 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VLAN 0x7UL | 4487 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VLAN 0x7UL |
4239 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE 0x8UL | 4488 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE 0x8UL |
4240 | u8 unused_0; | 4489 | #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_LAST CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE |
4241 | __le16 unused_1; | 4490 | u8 unused_0[3]; |
4242 | __le32 encap_data[20]; | 4491 | __le32 encap_data[20]; |
4243 | }; | 4492 | }; |
4244 | 4493 | ||
4245 | /* Output (16 bytes) */ | 4494 | /* hwrm_cfa_encap_record_alloc_output (size:128b/16B) */ |
4246 | struct hwrm_cfa_encap_record_alloc_output { | 4495 | struct hwrm_cfa_encap_record_alloc_output { |
4247 | __le16 error_code; | 4496 | __le16 error_code; |
4248 | __le16 req_type; | 4497 | __le16 req_type; |
4249 | __le16 seq_id; | 4498 | __le16 seq_id; |
4250 | __le16 resp_len; | 4499 | __le16 resp_len; |
4251 | __le32 encap_record_id; | 4500 | __le32 encap_record_id; |
4252 | u8 unused_0; | 4501 | u8 unused_0[3]; |
4253 | u8 unused_1; | 4502 | u8 valid; |
4254 | u8 unused_2; | 4503 | }; |
4255 | u8 valid; | 4504 | |
4256 | }; | 4505 | /* hwrm_cfa_encap_record_free_input (size:192b/24B) */ |
4257 | |||
4258 | /* hwrm_cfa_encap_record_free */ | ||
4259 | /* Input (24 bytes) */ | ||
4260 | struct hwrm_cfa_encap_record_free_input { | 4506 | struct hwrm_cfa_encap_record_free_input { |
4261 | __le16 req_type; | 4507 | __le16 req_type; |
4262 | __le16 cmpl_ring; | 4508 | __le16 cmpl_ring; |
4263 | __le16 seq_id; | 4509 | __le16 seq_id; |
4264 | __le16 target_id; | 4510 | __le16 target_id; |
4265 | __le64 resp_addr; | 4511 | __le64 resp_addr; |
4266 | __le32 encap_record_id; | 4512 | __le32 encap_record_id; |
4267 | __le32 unused_0; | 4513 | u8 unused_0[4]; |
4268 | }; | 4514 | }; |
4269 | 4515 | ||
4270 | /* Output (16 bytes) */ | 4516 | /* hwrm_cfa_encap_record_free_output (size:128b/16B) */ |
4271 | struct hwrm_cfa_encap_record_free_output { | 4517 | struct hwrm_cfa_encap_record_free_output { |
4272 | __le16 error_code; | 4518 | __le16 error_code; |
4273 | __le16 req_type; | 4519 | __le16 req_type; |
4274 | __le16 seq_id; | 4520 | __le16 seq_id; |
4275 | __le16 resp_len; | 4521 | __le16 resp_len; |
4276 | __le32 unused_0; | 4522 | u8 unused_0[7]; |
4277 | u8 unused_1; | 4523 | u8 valid; |
4278 | u8 unused_2; | 4524 | }; |
4279 | u8 unused_3; | 4525 | |
4280 | u8 valid; | 4526 | /* hwrm_cfa_ntuple_filter_alloc_input (size:1024b/128B) */ |
4281 | }; | ||
4282 | |||
4283 | /* hwrm_cfa_ntuple_filter_alloc */ | ||
4284 | /* Input (128 bytes) */ | ||
4285 | struct hwrm_cfa_ntuple_filter_alloc_input { | 4527 | struct hwrm_cfa_ntuple_filter_alloc_input { |
4286 | __le16 req_type; | 4528 | __le16 req_type; |
4287 | __le16 cmpl_ring; | 4529 | __le16 cmpl_ring; |
4288 | __le16 seq_id; | 4530 | __le16 seq_id; |
4289 | __le16 target_id; | 4531 | __le16 target_id; |
4290 | __le64 resp_addr; | 4532 | __le64 resp_addr; |
4291 | __le32 flags; | 4533 | __le32 flags; |
4292 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL | 4534 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL |
4293 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DROP 0x2UL | 4535 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DROP 0x2UL |
4294 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_METER 0x4UL | 4536 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_METER 0x4UL |
4295 | __le32 enables; | 4537 | __le32 enables; |
4296 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL | 4538 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL |
4297 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x2UL | 4539 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x2UL |
4298 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4UL | 4540 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4UL |
4299 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x8UL | 4541 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x8UL |
4300 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x10UL | 4542 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x10UL |
4301 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x20UL | 4543 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x20UL |
4302 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR_MASK 0x40UL | 4544 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR_MASK 0x40UL |
4303 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x80UL | 4545 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x80UL |
4304 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR_MASK 0x100UL | 4546 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR_MASK 0x100UL |
4305 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x200UL | 4547 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x200UL |
4306 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x400UL | 4548 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x400UL |
4307 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT_MASK 0x800UL | 4549 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT_MASK 0x800UL |
4308 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x1000UL | 4550 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x1000UL |
4309 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT_MASK 0x2000UL | 4551 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT_MASK 0x2000UL |
4310 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_PRI_HINT 0x4000UL | 4552 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_PRI_HINT 0x4000UL |
4311 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_NTUPLE_FILTER_ID 0x8000UL | 4553 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_NTUPLE_FILTER_ID 0x8000UL |
4312 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x10000UL | 4554 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x10000UL |
4313 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x20000UL | 4555 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x20000UL |
4314 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x40000UL | 4556 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x40000UL |
4315 | __le64 l2_filter_id; | 4557 | __le64 l2_filter_id; |
4316 | u8 src_macaddr[6]; | 4558 | u8 src_macaddr[6]; |
4317 | __be16 ethertype; | 4559 | __be16 ethertype; |
4318 | u8 ip_addr_type; | 4560 | u8 ip_addr_type; |
4319 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL | 4561 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL |
4320 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL | 4562 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL |
4321 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL | 4563 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL |
4322 | u8 ip_protocol; | 4564 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 |
4323 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL | 4565 | u8 ip_protocol; |
4324 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL | 4566 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL |
4325 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL | 4567 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL |
4326 | __le16 dst_id; | 4568 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL |
4327 | __le16 mirror_vnic_id; | 4569 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP |
4328 | u8 tunnel_type; | 4570 | __le16 dst_id; |
4571 | __le16 mirror_vnic_id; | ||
4572 | u8 tunnel_type; | ||
4329 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL | 4573 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL |
4330 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 4574 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4331 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL | 4575 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL |
@@ -4337,2221 +4581,1723 @@ struct hwrm_cfa_ntuple_filter_alloc_input { | |||
4337 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL | 4581 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL |
4338 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 4582 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4339 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL | 4583 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL |
4340 | u8 pri_hint; | 4584 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL |
4341 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL | 4585 | u8 pri_hint; |
4342 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_ABOVE 0x1UL | 4586 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL |
4343 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_BELOW 0x2UL | 4587 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_ABOVE 0x1UL |
4344 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_HIGHEST 0x3UL | 4588 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_BELOW 0x2UL |
4345 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST 0x4UL | 4589 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_HIGHEST 0x3UL |
4346 | __be32 src_ipaddr[4]; | 4590 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST 0x4UL |
4347 | __be32 src_ipaddr_mask[4]; | 4591 | #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST |
4348 | __be32 dst_ipaddr[4]; | 4592 | __be32 src_ipaddr[4]; |
4349 | __be32 dst_ipaddr_mask[4]; | 4593 | __be32 src_ipaddr_mask[4]; |
4350 | __be16 src_port; | 4594 | __be32 dst_ipaddr[4]; |
4351 | __be16 src_port_mask; | 4595 | __be32 dst_ipaddr_mask[4]; |
4352 | __be16 dst_port; | 4596 | __be16 src_port; |
4353 | __be16 dst_port_mask; | 4597 | __be16 src_port_mask; |
4354 | __le64 ntuple_filter_id_hint; | 4598 | __be16 dst_port; |
4355 | }; | 4599 | __be16 dst_port_mask; |
4356 | 4600 | __le64 ntuple_filter_id_hint; | |
4357 | /* Output (24 bytes) */ | 4601 | }; |
4602 | |||
4603 | /* hwrm_cfa_ntuple_filter_alloc_output (size:192b/24B) */ | ||
4358 | struct hwrm_cfa_ntuple_filter_alloc_output { | 4604 | struct hwrm_cfa_ntuple_filter_alloc_output { |
4359 | __le16 error_code; | 4605 | __le16 error_code; |
4360 | __le16 req_type; | 4606 | __le16 req_type; |
4361 | __le16 seq_id; | 4607 | __le16 seq_id; |
4362 | __le16 resp_len; | 4608 | __le16 resp_len; |
4363 | __le64 ntuple_filter_id; | 4609 | __le64 ntuple_filter_id; |
4364 | __le32 flow_id; | 4610 | __le32 flow_id; |
4365 | u8 unused_0; | 4611 | u8 unused_0[3]; |
4366 | u8 unused_1; | 4612 | u8 valid; |
4367 | u8 unused_2; | 4613 | }; |
4368 | u8 valid; | 4614 | |
4369 | }; | 4615 | /* hwrm_cfa_ntuple_filter_alloc_cmd_err (size:64b/8B) */ |
4370 | |||
4371 | /* Command specific Error Codes (8 bytes) */ | ||
4372 | struct hwrm_cfa_ntuple_filter_alloc_cmd_err { | 4616 | struct hwrm_cfa_ntuple_filter_alloc_cmd_err { |
4373 | u8 code; | 4617 | u8 code; |
4374 | #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_UNKNOWN 0x0UL | 4618 | #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_UNKNOWN 0x0UL |
4375 | #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR 0x1UL | 4619 | #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR 0x1UL |
4376 | u8 unused_0[7]; | 4620 | #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_LAST CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR |
4621 | u8 unused_0[7]; | ||
4377 | }; | 4622 | }; |
4378 | 4623 | ||
4379 | /* hwrm_cfa_ntuple_filter_free */ | 4624 | /* hwrm_cfa_ntuple_filter_free_input (size:192b/24B) */ |
4380 | /* Input (24 bytes) */ | ||
4381 | struct hwrm_cfa_ntuple_filter_free_input { | 4625 | struct hwrm_cfa_ntuple_filter_free_input { |
4382 | __le16 req_type; | 4626 | __le16 req_type; |
4383 | __le16 cmpl_ring; | 4627 | __le16 cmpl_ring; |
4384 | __le16 seq_id; | 4628 | __le16 seq_id; |
4385 | __le16 target_id; | 4629 | __le16 target_id; |
4386 | __le64 resp_addr; | 4630 | __le64 resp_addr; |
4387 | __le64 ntuple_filter_id; | 4631 | __le64 ntuple_filter_id; |
4388 | }; | 4632 | }; |
4389 | 4633 | ||
4390 | /* Output (16 bytes) */ | 4634 | /* hwrm_cfa_ntuple_filter_free_output (size:128b/16B) */ |
4391 | struct hwrm_cfa_ntuple_filter_free_output { | 4635 | struct hwrm_cfa_ntuple_filter_free_output { |
4392 | __le16 error_code; | 4636 | __le16 error_code; |
4393 | __le16 req_type; | 4637 | __le16 req_type; |
4394 | __le16 seq_id; | 4638 | __le16 seq_id; |
4395 | __le16 resp_len; | 4639 | __le16 resp_len; |
4396 | __le32 unused_0; | 4640 | u8 unused_0[7]; |
4397 | u8 unused_1; | 4641 | u8 valid; |
4398 | u8 unused_2; | 4642 | }; |
4399 | u8 unused_3; | 4643 | |
4400 | u8 valid; | 4644 | /* hwrm_cfa_ntuple_filter_cfg_input (size:384b/48B) */ |
4401 | }; | ||
4402 | |||
4403 | /* hwrm_cfa_ntuple_filter_cfg */ | ||
4404 | /* Input (48 bytes) */ | ||
4405 | struct hwrm_cfa_ntuple_filter_cfg_input { | 4645 | struct hwrm_cfa_ntuple_filter_cfg_input { |
4406 | __le16 req_type; | 4646 | __le16 req_type; |
4407 | __le16 cmpl_ring; | 4647 | __le16 cmpl_ring; |
4408 | __le16 seq_id; | 4648 | __le16 seq_id; |
4409 | __le16 target_id; | 4649 | __le16 target_id; |
4410 | __le64 resp_addr; | 4650 | __le64 resp_addr; |
4411 | __le32 enables; | 4651 | __le32 enables; |
4412 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_DST_ID 0x1UL | 4652 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_DST_ID 0x1UL |
4413 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL | 4653 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL |
4414 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_METER_INSTANCE_ID 0x4UL | 4654 | #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_METER_INSTANCE_ID 0x4UL |
4415 | __le32 unused_0; | 4655 | u8 unused_0[4]; |
4416 | __le64 ntuple_filter_id; | 4656 | __le64 ntuple_filter_id; |
4417 | __le32 new_dst_id; | 4657 | __le32 new_dst_id; |
4418 | __le32 new_mirror_vnic_id; | 4658 | __le32 new_mirror_vnic_id; |
4419 | __le16 new_meter_instance_id; | 4659 | __le16 new_meter_instance_id; |
4420 | #define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID 0xffffUL | 4660 | #define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID 0xffffUL |
4421 | __le16 unused_1[3]; | 4661 | #define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_LAST CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID |
4662 | u8 unused_1[6]; | ||
4422 | }; | 4663 | }; |
4423 | 4664 | ||
4424 | /* Output (16 bytes) */ | 4665 | /* hwrm_cfa_ntuple_filter_cfg_output (size:128b/16B) */ |
4425 | struct hwrm_cfa_ntuple_filter_cfg_output { | 4666 | struct hwrm_cfa_ntuple_filter_cfg_output { |
4426 | __le16 error_code; | 4667 | __le16 error_code; |
4427 | __le16 req_type; | 4668 | __le16 req_type; |
4428 | __le16 seq_id; | 4669 | __le16 seq_id; |
4429 | __le16 resp_len; | 4670 | __le16 resp_len; |
4430 | __le32 unused_0; | 4671 | u8 unused_0[7]; |
4431 | u8 unused_1; | 4672 | u8 valid; |
4432 | u8 unused_2; | 4673 | }; |
4433 | u8 unused_3; | 4674 | |
4434 | u8 valid; | 4675 | /* hwrm_cfa_decap_filter_alloc_input (size:832b/104B) */ |
4435 | }; | ||
4436 | |||
4437 | /* hwrm_cfa_decap_filter_alloc */ | ||
4438 | /* Input (104 bytes) */ | ||
4439 | struct hwrm_cfa_decap_filter_alloc_input { | 4676 | struct hwrm_cfa_decap_filter_alloc_input { |
4440 | __le16 req_type; | 4677 | __le16 req_type; |
4441 | __le16 cmpl_ring; | 4678 | __le16 cmpl_ring; |
4442 | __le16 seq_id; | 4679 | __le16 seq_id; |
4443 | __le16 target_id; | 4680 | __le16 target_id; |
4444 | __le64 resp_addr; | 4681 | __le64 resp_addr; |
4445 | __le32 flags; | 4682 | __le32 flags; |
4446 | #define CFA_DECAP_FILTER_ALLOC_REQ_FLAGS_OVS_TUNNEL 0x1UL | 4683 | #define CFA_DECAP_FILTER_ALLOC_REQ_FLAGS_OVS_TUNNEL 0x1UL |
4447 | __le32 enables; | 4684 | __le32 enables; |
4448 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x1UL | 4685 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x1UL |
4449 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_ID 0x2UL | 4686 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_ID 0x2UL |
4450 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x4UL | 4687 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x4UL |
4451 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x8UL | 4688 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x8UL |
4452 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_OVLAN_VID 0x10UL | 4689 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_OVLAN_VID 0x10UL |
4453 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IVLAN_VID 0x20UL | 4690 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IVLAN_VID 0x20UL |
4454 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_OVLAN_VID 0x40UL | 4691 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_OVLAN_VID 0x40UL |
4455 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_IVLAN_VID 0x80UL | 4692 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_IVLAN_VID 0x80UL |
4456 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x100UL | 4693 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x100UL |
4457 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x200UL | 4694 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x200UL |
4458 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x400UL | 4695 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x400UL |
4459 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x800UL | 4696 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x800UL |
4460 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x1000UL | 4697 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x1000UL |
4461 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x2000UL | 4698 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x2000UL |
4462 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x4000UL | 4699 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x4000UL |
4463 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL | 4700 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL |
4464 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL | 4701 | #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL |
4465 | __be32 tunnel_id; | 4702 | __be32 tunnel_id; |
4466 | u8 tunnel_type; | 4703 | u8 tunnel_type; |
4467 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL | 4704 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL |
4468 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 4705 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4469 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL | 4706 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL |
4470 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL | 4707 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL |
4471 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL | 4708 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL |
4472 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL | 4709 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL |
4473 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL | 4710 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL |
4474 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL | 4711 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL |
4475 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL | 4712 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL |
4476 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 4713 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4477 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL | 4714 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL |
4478 | u8 unused_0; | 4715 | #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL |
4479 | __le16 unused_1; | 4716 | u8 unused_0; |
4480 | u8 src_macaddr[6]; | 4717 | __le16 unused_1; |
4481 | u8 unused_2; | 4718 | u8 src_macaddr[6]; |
4482 | u8 unused_3; | 4719 | u8 unused_2[2]; |
4483 | u8 dst_macaddr[6]; | 4720 | u8 dst_macaddr[6]; |
4484 | __be16 ovlan_vid; | 4721 | __be16 ovlan_vid; |
4485 | __be16 ivlan_vid; | 4722 | __be16 ivlan_vid; |
4486 | __be16 t_ovlan_vid; | 4723 | __be16 t_ovlan_vid; |
4487 | __be16 t_ivlan_vid; | 4724 | __be16 t_ivlan_vid; |
4488 | __be16 ethertype; | 4725 | __be16 ethertype; |
4489 | u8 ip_addr_type; | 4726 | u8 ip_addr_type; |
4490 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL | 4727 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL |
4491 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL | 4728 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL |
4492 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL | 4729 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL |
4493 | u8 ip_protocol; | 4730 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 |
4494 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL | 4731 | u8 ip_protocol; |
4495 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL | 4732 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL |
4496 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL | 4733 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL |
4497 | u8 unused_4; | 4734 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL |
4498 | u8 unused_5; | 4735 | #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP |
4499 | u8 unused_6[3]; | 4736 | __le16 unused_3; |
4500 | u8 unused_7; | 4737 | __le32 unused_4; |
4501 | __be32 src_ipaddr[4]; | 4738 | __be32 src_ipaddr[4]; |
4502 | __be32 dst_ipaddr[4]; | 4739 | __be32 dst_ipaddr[4]; |
4503 | __be16 src_port; | 4740 | __be16 src_port; |
4504 | __be16 dst_port; | 4741 | __be16 dst_port; |
4505 | __le16 dst_id; | 4742 | __le16 dst_id; |
4506 | __le16 l2_ctxt_ref_id; | 4743 | __le16 l2_ctxt_ref_id; |
4507 | }; | 4744 | }; |
4508 | 4745 | ||
4509 | /* Output (16 bytes) */ | 4746 | /* hwrm_cfa_decap_filter_alloc_output (size:128b/16B) */ |
4510 | struct hwrm_cfa_decap_filter_alloc_output { | 4747 | struct hwrm_cfa_decap_filter_alloc_output { |
4511 | __le16 error_code; | 4748 | __le16 error_code; |
4512 | __le16 req_type; | 4749 | __le16 req_type; |
4513 | __le16 seq_id; | 4750 | __le16 seq_id; |
4514 | __le16 resp_len; | 4751 | __le16 resp_len; |
4515 | __le32 decap_filter_id; | 4752 | __le32 decap_filter_id; |
4516 | u8 unused_0; | 4753 | u8 unused_0[3]; |
4517 | u8 unused_1; | 4754 | u8 valid; |
4518 | u8 unused_2; | 4755 | }; |
4519 | u8 valid; | 4756 | |
4520 | }; | 4757 | /* hwrm_cfa_decap_filter_free_input (size:192b/24B) */ |
4521 | |||
4522 | /* hwrm_cfa_decap_filter_free */ | ||
4523 | /* Input (24 bytes) */ | ||
4524 | struct hwrm_cfa_decap_filter_free_input { | 4758 | struct hwrm_cfa_decap_filter_free_input { |
4525 | __le16 req_type; | 4759 | __le16 req_type; |
4526 | __le16 cmpl_ring; | 4760 | __le16 cmpl_ring; |
4527 | __le16 seq_id; | 4761 | __le16 seq_id; |
4528 | __le16 target_id; | 4762 | __le16 target_id; |
4529 | __le64 resp_addr; | 4763 | __le64 resp_addr; |
4530 | __le32 decap_filter_id; | 4764 | __le32 decap_filter_id; |
4531 | __le32 unused_0; | 4765 | u8 unused_0[4]; |
4532 | }; | 4766 | }; |
4533 | 4767 | ||
4534 | /* Output (16 bytes) */ | 4768 | /* hwrm_cfa_decap_filter_free_output (size:128b/16B) */ |
4535 | struct hwrm_cfa_decap_filter_free_output { | 4769 | struct hwrm_cfa_decap_filter_free_output { |
4536 | __le16 error_code; | 4770 | __le16 error_code; |
4537 | __le16 req_type; | 4771 | __le16 req_type; |
4538 | __le16 seq_id; | 4772 | __le16 seq_id; |
4539 | __le16 resp_len; | 4773 | __le16 resp_len; |
4540 | __le32 unused_0; | 4774 | u8 unused_0[7]; |
4541 | u8 unused_1; | 4775 | u8 valid; |
4542 | u8 unused_2; | 4776 | }; |
4543 | u8 unused_3; | 4777 | |
4544 | u8 valid; | 4778 | /* hwrm_cfa_flow_alloc_input (size:1024b/128B) */ |
4545 | }; | ||
4546 | |||
4547 | /* hwrm_cfa_flow_alloc */ | ||
4548 | /* Input (128 bytes) */ | ||
4549 | struct hwrm_cfa_flow_alloc_input { | 4779 | struct hwrm_cfa_flow_alloc_input { |
4550 | __le16 req_type; | 4780 | __le16 req_type; |
4551 | __le16 cmpl_ring; | 4781 | __le16 cmpl_ring; |
4552 | __le16 seq_id; | 4782 | __le16 seq_id; |
4553 | __le16 target_id; | 4783 | __le16 target_id; |
4554 | __le64 resp_addr; | 4784 | __le64 resp_addr; |
4555 | __le16 flags; | 4785 | __le16 flags; |
4556 | #define CFA_FLOW_ALLOC_REQ_FLAGS_TUNNEL 0x1UL | 4786 | #define CFA_FLOW_ALLOC_REQ_FLAGS_TUNNEL 0x1UL |
4557 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_MASK 0x6UL | 4787 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_MASK 0x6UL |
4558 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_SFT 1 | 4788 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_SFT 1 |
4559 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_NONE (0x0UL << 1) | 4789 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_NONE (0x0UL << 1) |
4560 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_ONE (0x1UL << 1) | 4790 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_ONE (0x1UL << 1) |
4561 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO (0x2UL << 1) | 4791 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO (0x2UL << 1) |
4562 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_LAST CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO | 4792 | #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_LAST CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO |
4563 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_MASK 0x38UL | 4793 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_MASK 0x38UL |
4564 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_SFT 3 | 4794 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_SFT 3 |
4565 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_L2 (0x0UL << 3) | 4795 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_L2 (0x0UL << 3) |
4566 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV4 (0x1UL << 3) | 4796 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV4 (0x1UL << 3) |
4567 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6 (0x2UL << 3) | 4797 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6 (0x2UL << 3) |
4568 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_LAST CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6 | 4798 | #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_LAST CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6 |
4569 | __le16 src_fid; | 4799 | __le16 src_fid; |
4570 | __le32 tunnel_handle; | 4800 | __le32 tunnel_handle; |
4571 | __le16 action_flags; | 4801 | __le16 action_flags; |
4572 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FWD 0x1UL | 4802 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FWD 0x1UL |
4573 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_RECYCLE 0x2UL | 4803 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_RECYCLE 0x2UL |
4574 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_DROP 0x4UL | 4804 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_DROP 0x4UL |
4575 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_METER 0x8UL | 4805 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_METER 0x8UL |
4576 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL 0x10UL | 4806 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL 0x10UL |
4577 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_SRC 0x20UL | 4807 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_SRC 0x20UL |
4578 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_DEST 0x40UL | 4808 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_DEST 0x40UL |
4579 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_IPV4_ADDRESS 0x80UL | 4809 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_IPV4_ADDRESS 0x80UL |
4580 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_L2_HEADER_REWRITE 0x100UL | 4810 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_L2_HEADER_REWRITE 0x100UL |
4581 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TTL_DECREMENT 0x200UL | 4811 | #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TTL_DECREMENT 0x200UL |
4582 | __le16 dst_fid; | 4812 | __le16 dst_fid; |
4583 | __be16 l2_rewrite_vlan_tpid; | 4813 | __be16 l2_rewrite_vlan_tpid; |
4584 | __be16 l2_rewrite_vlan_tci; | 4814 | __be16 l2_rewrite_vlan_tci; |
4585 | __le16 act_meter_id; | 4815 | __le16 act_meter_id; |
4586 | __le16 ref_flow_handle; | 4816 | __le16 ref_flow_handle; |
4587 | __be16 ethertype; | 4817 | __be16 ethertype; |
4588 | __be16 outer_vlan_tci; | 4818 | __be16 outer_vlan_tci; |
4589 | __be16 dmac[3]; | 4819 | __be16 dmac[3]; |
4590 | __be16 inner_vlan_tci; | 4820 | __be16 inner_vlan_tci; |
4591 | __be16 smac[3]; | 4821 | __be16 smac[3]; |
4592 | u8 ip_dst_mask_len; | 4822 | u8 ip_dst_mask_len; |
4593 | u8 ip_src_mask_len; | 4823 | u8 ip_src_mask_len; |
4594 | __be32 ip_dst[4]; | 4824 | __be32 ip_dst[4]; |
4595 | __be32 ip_src[4]; | 4825 | __be32 ip_src[4]; |
4596 | __be16 l4_src_port; | 4826 | __be16 l4_src_port; |
4597 | __be16 l4_src_port_mask; | 4827 | __be16 l4_src_port_mask; |
4598 | __be16 l4_dst_port; | 4828 | __be16 l4_dst_port; |
4599 | __be16 l4_dst_port_mask; | 4829 | __be16 l4_dst_port_mask; |
4600 | __be32 nat_ip_address[4]; | 4830 | __be32 nat_ip_address[4]; |
4601 | __be16 l2_rewrite_dmac[3]; | 4831 | __be16 l2_rewrite_dmac[3]; |
4602 | __be16 nat_port; | 4832 | __be16 nat_port; |
4603 | __be16 l2_rewrite_smac[3]; | 4833 | __be16 l2_rewrite_smac[3]; |
4604 | u8 ip_proto; | 4834 | u8 ip_proto; |
4605 | u8 unused_0; | 4835 | u8 unused_0; |
4606 | }; | 4836 | }; |
4607 | 4837 | ||
4608 | /* Output (16 bytes) */ | 4838 | /* hwrm_cfa_flow_alloc_output (size:128b/16B) */ |
4609 | struct hwrm_cfa_flow_alloc_output { | 4839 | struct hwrm_cfa_flow_alloc_output { |
4610 | __le16 error_code; | 4840 | __le16 error_code; |
4611 | __le16 req_type; | 4841 | __le16 req_type; |
4612 | __le16 seq_id; | 4842 | __le16 seq_id; |
4613 | __le16 resp_len; | 4843 | __le16 resp_len; |
4614 | __le16 flow_handle; | 4844 | __le16 flow_handle; |
4615 | u8 unused_0; | 4845 | u8 unused_0[5]; |
4616 | u8 unused_1; | 4846 | u8 valid; |
4617 | u8 unused_2; | 4847 | }; |
4618 | u8 unused_3; | 4848 | |
4619 | u8 unused_4; | 4849 | /* hwrm_cfa_flow_free_input (size:192b/24B) */ |
4620 | u8 valid; | ||
4621 | }; | ||
4622 | |||
4623 | /* hwrm_cfa_flow_free */ | ||
4624 | /* Input (24 bytes) */ | ||
4625 | struct hwrm_cfa_flow_free_input { | 4850 | struct hwrm_cfa_flow_free_input { |
4626 | __le16 req_type; | 4851 | __le16 req_type; |
4627 | __le16 cmpl_ring; | 4852 | __le16 cmpl_ring; |
4628 | __le16 seq_id; | 4853 | __le16 seq_id; |
4629 | __le16 target_id; | 4854 | __le16 target_id; |
4630 | __le64 resp_addr; | 4855 | __le64 resp_addr; |
4631 | __le16 flow_handle; | 4856 | __le16 flow_handle; |
4632 | __le16 unused_0[3]; | 4857 | u8 unused_0[6]; |
4633 | }; | 4858 | }; |
4634 | 4859 | ||
4635 | /* Output (32 bytes) */ | 4860 | /* hwrm_cfa_flow_free_output (size:256b/32B) */ |
4636 | struct hwrm_cfa_flow_free_output { | 4861 | struct hwrm_cfa_flow_free_output { |
4637 | __le16 error_code; | 4862 | __le16 error_code; |
4638 | __le16 req_type; | 4863 | __le16 req_type; |
4639 | __le16 seq_id; | 4864 | __le16 seq_id; |
4640 | __le16 resp_len; | 4865 | __le16 resp_len; |
4641 | __le64 packet; | 4866 | __le64 packet; |
4642 | __le64 byte; | 4867 | __le64 byte; |
4643 | __le32 unused_0; | 4868 | u8 unused_0[7]; |
4644 | u8 unused_1; | 4869 | u8 valid; |
4645 | u8 unused_2; | 4870 | }; |
4646 | u8 unused_3; | 4871 | |
4647 | u8 valid; | 4872 | /* hwrm_cfa_flow_stats_input (size:320b/40B) */ |
4648 | }; | ||
4649 | |||
4650 | /* hwrm_cfa_flow_stats */ | ||
4651 | /* Input (40 bytes) */ | ||
4652 | struct hwrm_cfa_flow_stats_input { | 4873 | struct hwrm_cfa_flow_stats_input { |
4653 | __le16 req_type; | 4874 | __le16 req_type; |
4654 | __le16 cmpl_ring; | 4875 | __le16 cmpl_ring; |
4655 | __le16 seq_id; | 4876 | __le16 seq_id; |
4656 | __le16 target_id; | 4877 | __le16 target_id; |
4657 | __le64 resp_addr; | 4878 | __le64 resp_addr; |
4658 | __le16 num_flows; | 4879 | __le16 num_flows; |
4659 | __le16 flow_handle_0; | 4880 | __le16 flow_handle_0; |
4660 | __le16 flow_handle_1; | 4881 | __le16 flow_handle_1; |
4661 | __le16 flow_handle_2; | 4882 | __le16 flow_handle_2; |
4662 | __le16 flow_handle_3; | 4883 | __le16 flow_handle_3; |
4663 | __le16 flow_handle_4; | 4884 | __le16 flow_handle_4; |
4664 | __le16 flow_handle_5; | 4885 | __le16 flow_handle_5; |
4665 | __le16 flow_handle_6; | 4886 | __le16 flow_handle_6; |
4666 | __le16 flow_handle_7; | 4887 | __le16 flow_handle_7; |
4667 | __le16 flow_handle_8; | 4888 | __le16 flow_handle_8; |
4668 | __le16 flow_handle_9; | 4889 | __le16 flow_handle_9; |
4669 | __le16 unused_0; | 4890 | u8 unused_0[2]; |
4670 | }; | 4891 | }; |
4671 | 4892 | ||
4672 | /* Output (176 bytes) */ | 4893 | /* hwrm_cfa_flow_stats_output (size:1408b/176B) */ |
4673 | struct hwrm_cfa_flow_stats_output { | 4894 | struct hwrm_cfa_flow_stats_output { |
4674 | __le16 error_code; | 4895 | __le16 error_code; |
4675 | __le16 req_type; | 4896 | __le16 req_type; |
4676 | __le16 seq_id; | 4897 | __le16 seq_id; |
4677 | __le16 resp_len; | 4898 | __le16 resp_len; |
4678 | __le64 packet_0; | 4899 | __le64 packet_0; |
4679 | __le64 packet_1; | 4900 | __le64 packet_1; |
4680 | __le64 packet_2; | 4901 | __le64 packet_2; |
4681 | __le64 packet_3; | 4902 | __le64 packet_3; |
4682 | __le64 packet_4; | 4903 | __le64 packet_4; |
4683 | __le64 packet_5; | 4904 | __le64 packet_5; |
4684 | __le64 packet_6; | 4905 | __le64 packet_6; |
4685 | __le64 packet_7; | 4906 | __le64 packet_7; |
4686 | __le64 packet_8; | 4907 | __le64 packet_8; |
4687 | __le64 packet_9; | 4908 | __le64 packet_9; |
4688 | __le64 byte_0; | 4909 | __le64 byte_0; |
4689 | __le64 byte_1; | 4910 | __le64 byte_1; |
4690 | __le64 byte_2; | 4911 | __le64 byte_2; |
4691 | __le64 byte_3; | 4912 | __le64 byte_3; |
4692 | __le64 byte_4; | 4913 | __le64 byte_4; |
4693 | __le64 byte_5; | 4914 | __le64 byte_5; |
4694 | __le64 byte_6; | 4915 | __le64 byte_6; |
4695 | __le64 byte_7; | 4916 | __le64 byte_7; |
4696 | __le64 byte_8; | 4917 | __le64 byte_8; |
4697 | __le64 byte_9; | 4918 | __le64 byte_9; |
4698 | __le32 unused_0; | 4919 | u8 unused_0[7]; |
4699 | u8 unused_1; | 4920 | u8 valid; |
4700 | u8 unused_2; | 4921 | }; |
4701 | u8 unused_3; | 4922 | |
4702 | u8 valid; | 4923 | /* hwrm_cfa_vfr_alloc_input (size:448b/56B) */ |
4703 | }; | ||
4704 | |||
4705 | /* hwrm_cfa_vfr_alloc */ | ||
4706 | /* Input (32 bytes) */ | ||
4707 | struct hwrm_cfa_vfr_alloc_input { | 4924 | struct hwrm_cfa_vfr_alloc_input { |
4708 | __le16 req_type; | 4925 | __le16 req_type; |
4709 | __le16 cmpl_ring; | 4926 | __le16 cmpl_ring; |
4710 | __le16 seq_id; | 4927 | __le16 seq_id; |
4711 | __le16 target_id; | 4928 | __le16 target_id; |
4712 | __le64 resp_addr; | 4929 | __le64 resp_addr; |
4713 | __le16 vf_id; | 4930 | __le16 vf_id; |
4714 | __le16 reserved; | 4931 | __le16 reserved; |
4715 | __le32 unused_0; | 4932 | u8 unused_0[4]; |
4716 | char vfr_name[32]; | 4933 | char vfr_name[32]; |
4717 | }; | 4934 | }; |
4718 | 4935 | ||
4719 | /* Output (16 bytes) */ | 4936 | /* hwrm_cfa_vfr_alloc_output (size:128b/16B) */ |
4720 | struct hwrm_cfa_vfr_alloc_output { | 4937 | struct hwrm_cfa_vfr_alloc_output { |
4721 | __le16 error_code; | 4938 | __le16 error_code; |
4722 | __le16 req_type; | 4939 | __le16 req_type; |
4723 | __le16 seq_id; | 4940 | __le16 seq_id; |
4724 | __le16 resp_len; | 4941 | __le16 resp_len; |
4725 | __le16 rx_cfa_code; | 4942 | __le16 rx_cfa_code; |
4726 | __le16 tx_cfa_action; | 4943 | __le16 tx_cfa_action; |
4727 | u8 unused_0; | 4944 | u8 unused_0[3]; |
4728 | u8 unused_1; | 4945 | u8 valid; |
4729 | u8 unused_2; | 4946 | }; |
4730 | u8 valid; | 4947 | |
4731 | }; | 4948 | /* hwrm_cfa_vfr_free_input (size:384b/48B) */ |
4732 | |||
4733 | /* hwrm_cfa_vfr_free */ | ||
4734 | /* Input (24 bytes) */ | ||
4735 | struct hwrm_cfa_vfr_free_input { | 4949 | struct hwrm_cfa_vfr_free_input { |
4736 | __le16 req_type; | 4950 | __le16 req_type; |
4737 | __le16 cmpl_ring; | 4951 | __le16 cmpl_ring; |
4738 | __le16 seq_id; | 4952 | __le16 seq_id; |
4739 | __le16 target_id; | 4953 | __le16 target_id; |
4740 | __le64 resp_addr; | 4954 | __le64 resp_addr; |
4741 | char vfr_name[32]; | 4955 | char vfr_name[32]; |
4742 | }; | 4956 | }; |
4743 | 4957 | ||
4744 | /* Output (16 bytes) */ | 4958 | /* hwrm_cfa_vfr_free_output (size:128b/16B) */ |
4745 | struct hwrm_cfa_vfr_free_output { | 4959 | struct hwrm_cfa_vfr_free_output { |
4746 | __le16 error_code; | 4960 | __le16 error_code; |
4747 | __le16 req_type; | 4961 | __le16 req_type; |
4748 | __le16 seq_id; | 4962 | __le16 seq_id; |
4749 | __le16 resp_len; | 4963 | __le16 resp_len; |
4750 | __le32 unused_0; | 4964 | u8 unused_0[7]; |
4751 | u8 unused_1; | 4965 | u8 valid; |
4752 | u8 unused_2; | 4966 | }; |
4753 | u8 unused_3; | 4967 | |
4754 | u8 valid; | 4968 | /* hwrm_tunnel_dst_port_query_input (size:192b/24B) */ |
4755 | }; | ||
4756 | |||
4757 | /* hwrm_tunnel_dst_port_query */ | ||
4758 | /* Input (24 bytes) */ | ||
4759 | struct hwrm_tunnel_dst_port_query_input { | 4969 | struct hwrm_tunnel_dst_port_query_input { |
4760 | __le16 req_type; | 4970 | __le16 req_type; |
4761 | __le16 cmpl_ring; | 4971 | __le16 cmpl_ring; |
4762 | __le16 seq_id; | 4972 | __le16 seq_id; |
4763 | __le16 target_id; | 4973 | __le16 target_id; |
4764 | __le64 resp_addr; | 4974 | __le64 resp_addr; |
4765 | u8 tunnel_type; | 4975 | u8 tunnel_type; |
4766 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 4976 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4767 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_GENEVE 0x5UL | 4977 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_GENEVE 0x5UL |
4768 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 4978 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4769 | u8 unused_0[7]; | 4979 | #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_V4 |
4770 | }; | 4980 | u8 unused_0[7]; |
4771 | 4981 | }; | |
4772 | /* Output (16 bytes) */ | 4982 | |
4983 | /* hwrm_tunnel_dst_port_query_output (size:128b/16B) */ | ||
4773 | struct hwrm_tunnel_dst_port_query_output { | 4984 | struct hwrm_tunnel_dst_port_query_output { |
4774 | __le16 error_code; | 4985 | __le16 error_code; |
4775 | __le16 req_type; | 4986 | __le16 req_type; |
4776 | __le16 seq_id; | 4987 | __le16 seq_id; |
4777 | __le16 resp_len; | 4988 | __le16 resp_len; |
4778 | __le16 tunnel_dst_port_id; | 4989 | __le16 tunnel_dst_port_id; |
4779 | __be16 tunnel_dst_port_val; | 4990 | __be16 tunnel_dst_port_val; |
4780 | u8 unused_0; | 4991 | u8 unused_0[3]; |
4781 | u8 unused_1; | 4992 | u8 valid; |
4782 | u8 unused_2; | 4993 | }; |
4783 | u8 valid; | 4994 | |
4784 | }; | 4995 | /* hwrm_tunnel_dst_port_alloc_input (size:192b/24B) */ |
4785 | |||
4786 | /* hwrm_tunnel_dst_port_alloc */ | ||
4787 | /* Input (24 bytes) */ | ||
4788 | struct hwrm_tunnel_dst_port_alloc_input { | 4996 | struct hwrm_tunnel_dst_port_alloc_input { |
4789 | __le16 req_type; | 4997 | __le16 req_type; |
4790 | __le16 cmpl_ring; | 4998 | __le16 cmpl_ring; |
4791 | __le16 seq_id; | 4999 | __le16 seq_id; |
4792 | __le16 target_id; | 5000 | __le16 target_id; |
4793 | __le64 resp_addr; | 5001 | __le64 resp_addr; |
4794 | u8 tunnel_type; | 5002 | u8 tunnel_type; |
4795 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 5003 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4796 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL | 5004 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL |
4797 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 5005 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4798 | u8 unused_0; | 5006 | #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 |
4799 | __be16 tunnel_dst_port_val; | 5007 | u8 unused_0; |
4800 | __be32 unused_1; | 5008 | __be16 tunnel_dst_port_val; |
4801 | }; | 5009 | u8 unused_1[4]; |
4802 | 5010 | }; | |
4803 | /* Output (16 bytes) */ | 5011 | |
5012 | /* hwrm_tunnel_dst_port_alloc_output (size:128b/16B) */ | ||
4804 | struct hwrm_tunnel_dst_port_alloc_output { | 5013 | struct hwrm_tunnel_dst_port_alloc_output { |
4805 | __le16 error_code; | 5014 | __le16 error_code; |
4806 | __le16 req_type; | 5015 | __le16 req_type; |
4807 | __le16 seq_id; | 5016 | __le16 seq_id; |
4808 | __le16 resp_len; | 5017 | __le16 resp_len; |
4809 | __le16 tunnel_dst_port_id; | 5018 | __le16 tunnel_dst_port_id; |
4810 | u8 unused_0; | 5019 | u8 unused_0[5]; |
4811 | u8 unused_1; | 5020 | u8 valid; |
4812 | u8 unused_2; | 5021 | }; |
4813 | u8 unused_3; | 5022 | |
4814 | u8 unused_4; | 5023 | /* hwrm_tunnel_dst_port_free_input (size:192b/24B) */ |
4815 | u8 valid; | ||
4816 | }; | ||
4817 | |||
4818 | /* hwrm_tunnel_dst_port_free */ | ||
4819 | /* Input (24 bytes) */ | ||
4820 | struct hwrm_tunnel_dst_port_free_input { | 5024 | struct hwrm_tunnel_dst_port_free_input { |
4821 | __le16 req_type; | 5025 | __le16 req_type; |
4822 | __le16 cmpl_ring; | 5026 | __le16 cmpl_ring; |
4823 | __le16 seq_id; | 5027 | __le16 seq_id; |
4824 | __le16 target_id; | 5028 | __le16 target_id; |
4825 | __le64 resp_addr; | 5029 | __le64 resp_addr; |
4826 | u8 tunnel_type; | 5030 | u8 tunnel_type; |
4827 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN 0x1UL | 5031 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN 0x1UL |
4828 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE 0x5UL | 5032 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE 0x5UL |
4829 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL | 5033 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL |
4830 | u8 unused_0; | 5034 | #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_V4 |
4831 | __le16 tunnel_dst_port_id; | 5035 | u8 unused_0; |
4832 | __le32 unused_1; | 5036 | __le16 tunnel_dst_port_id; |
4833 | }; | 5037 | u8 unused_1[4]; |
4834 | 5038 | }; | |
4835 | /* Output (16 bytes) */ | 5039 | |
5040 | /* hwrm_tunnel_dst_port_free_output (size:128b/16B) */ | ||
4836 | struct hwrm_tunnel_dst_port_free_output { | 5041 | struct hwrm_tunnel_dst_port_free_output { |
4837 | __le16 error_code; | 5042 | __le16 error_code; |
4838 | __le16 req_type; | 5043 | __le16 req_type; |
4839 | __le16 seq_id; | 5044 | __le16 seq_id; |
4840 | __le16 resp_len; | 5045 | __le16 resp_len; |
4841 | __le32 unused_0; | 5046 | u8 unused_1[7]; |
4842 | u8 unused_1; | 5047 | u8 valid; |
4843 | u8 unused_2; | 5048 | }; |
4844 | u8 unused_3; | 5049 | |
4845 | u8 valid; | 5050 | /* ctx_hw_stats (size:1280b/160B) */ |
4846 | }; | 5051 | struct ctx_hw_stats { |
4847 | 5052 | __le64 rx_ucast_pkts; | |
4848 | /* hwrm_stat_ctx_alloc */ | 5053 | __le64 rx_mcast_pkts; |
4849 | /* Input (32 bytes) */ | 5054 | __le64 rx_bcast_pkts; |
5055 | __le64 rx_discard_pkts; | ||
5056 | __le64 rx_drop_pkts; | ||
5057 | __le64 rx_ucast_bytes; | ||
5058 | __le64 rx_mcast_bytes; | ||
5059 | __le64 rx_bcast_bytes; | ||
5060 | __le64 tx_ucast_pkts; | ||
5061 | __le64 tx_mcast_pkts; | ||
5062 | __le64 tx_bcast_pkts; | ||
5063 | __le64 tx_discard_pkts; | ||
5064 | __le64 tx_drop_pkts; | ||
5065 | __le64 tx_ucast_bytes; | ||
5066 | __le64 tx_mcast_bytes; | ||
5067 | __le64 tx_bcast_bytes; | ||
5068 | __le64 tpa_pkts; | ||
5069 | __le64 tpa_bytes; | ||
5070 | __le64 tpa_events; | ||
5071 | __le64 tpa_aborts; | ||
5072 | }; | ||
5073 | |||
5074 | /* hwrm_stat_ctx_alloc_input (size:256b/32B) */ | ||
4850 | struct hwrm_stat_ctx_alloc_input { | 5075 | struct hwrm_stat_ctx_alloc_input { |
4851 | __le16 req_type; | 5076 | __le16 req_type; |
4852 | __le16 cmpl_ring; | 5077 | __le16 cmpl_ring; |
4853 | __le16 seq_id; | 5078 | __le16 seq_id; |
4854 | __le16 target_id; | 5079 | __le16 target_id; |
4855 | __le64 resp_addr; | 5080 | __le64 resp_addr; |
4856 | __le64 stats_dma_addr; | 5081 | __le64 stats_dma_addr; |
4857 | __le32 update_period_ms; | 5082 | __le32 update_period_ms; |
4858 | u8 stat_ctx_flags; | 5083 | u8 stat_ctx_flags; |
4859 | #define STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE 0x1UL | 5084 | #define STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE 0x1UL |
4860 | u8 unused_0[3]; | 5085 | u8 unused_0[3]; |
4861 | }; | 5086 | }; |
4862 | 5087 | ||
4863 | /* Output (16 bytes) */ | 5088 | /* hwrm_stat_ctx_alloc_output (size:128b/16B) */ |
4864 | struct hwrm_stat_ctx_alloc_output { | 5089 | struct hwrm_stat_ctx_alloc_output { |
4865 | __le16 error_code; | 5090 | __le16 error_code; |
4866 | __le16 req_type; | 5091 | __le16 req_type; |
4867 | __le16 seq_id; | 5092 | __le16 seq_id; |
4868 | __le16 resp_len; | 5093 | __le16 resp_len; |
4869 | __le32 stat_ctx_id; | 5094 | __le32 stat_ctx_id; |
4870 | u8 unused_0; | 5095 | u8 unused_0[3]; |
4871 | u8 unused_1; | 5096 | u8 valid; |
4872 | u8 unused_2; | 5097 | }; |
4873 | u8 valid; | 5098 | |
4874 | }; | 5099 | /* hwrm_stat_ctx_free_input (size:192b/24B) */ |
4875 | |||
4876 | /* hwrm_stat_ctx_free */ | ||
4877 | /* Input (24 bytes) */ | ||
4878 | struct hwrm_stat_ctx_free_input { | 5100 | struct hwrm_stat_ctx_free_input { |
4879 | __le16 req_type; | 5101 | __le16 req_type; |
4880 | __le16 cmpl_ring; | 5102 | __le16 cmpl_ring; |
4881 | __le16 seq_id; | 5103 | __le16 seq_id; |
4882 | __le16 target_id; | 5104 | __le16 target_id; |
4883 | __le64 resp_addr; | 5105 | __le64 resp_addr; |
4884 | __le32 stat_ctx_id; | 5106 | __le32 stat_ctx_id; |
4885 | __le32 unused_0; | 5107 | u8 unused_0[4]; |
4886 | }; | 5108 | }; |
4887 | 5109 | ||
4888 | /* Output (16 bytes) */ | 5110 | /* hwrm_stat_ctx_free_output (size:128b/16B) */ |
4889 | struct hwrm_stat_ctx_free_output { | 5111 | struct hwrm_stat_ctx_free_output { |
4890 | __le16 error_code; | 5112 | __le16 error_code; |
4891 | __le16 req_type; | 5113 | __le16 req_type; |
4892 | __le16 seq_id; | 5114 | __le16 seq_id; |
4893 | __le16 resp_len; | 5115 | __le16 resp_len; |
4894 | __le32 stat_ctx_id; | 5116 | __le32 stat_ctx_id; |
4895 | u8 unused_0; | 5117 | u8 unused_0[3]; |
4896 | u8 unused_1; | 5118 | u8 valid; |
4897 | u8 unused_2; | 5119 | }; |
4898 | u8 valid; | 5120 | |
4899 | }; | 5121 | /* hwrm_stat_ctx_query_input (size:192b/24B) */ |
4900 | |||
4901 | /* hwrm_stat_ctx_query */ | ||
4902 | /* Input (24 bytes) */ | ||
4903 | struct hwrm_stat_ctx_query_input { | 5122 | struct hwrm_stat_ctx_query_input { |
4904 | __le16 req_type; | 5123 | __le16 req_type; |
4905 | __le16 cmpl_ring; | 5124 | __le16 cmpl_ring; |
4906 | __le16 seq_id; | 5125 | __le16 seq_id; |
4907 | __le16 target_id; | 5126 | __le16 target_id; |
4908 | __le64 resp_addr; | 5127 | __le64 resp_addr; |
4909 | __le32 stat_ctx_id; | 5128 | __le32 stat_ctx_id; |
4910 | __le32 unused_0; | 5129 | u8 unused_0[4]; |
4911 | }; | 5130 | }; |
4912 | 5131 | ||
4913 | /* Output (176 bytes) */ | 5132 | /* hwrm_stat_ctx_query_output (size:1408b/176B) */ |
4914 | struct hwrm_stat_ctx_query_output { | 5133 | struct hwrm_stat_ctx_query_output { |
4915 | __le16 error_code; | 5134 | __le16 error_code; |
4916 | __le16 req_type; | 5135 | __le16 req_type; |
4917 | __le16 seq_id; | 5136 | __le16 seq_id; |
4918 | __le16 resp_len; | 5137 | __le16 resp_len; |
4919 | __le64 tx_ucast_pkts; | 5138 | __le64 tx_ucast_pkts; |
4920 | __le64 tx_mcast_pkts; | 5139 | __le64 tx_mcast_pkts; |
4921 | __le64 tx_bcast_pkts; | 5140 | __le64 tx_bcast_pkts; |
4922 | __le64 tx_err_pkts; | 5141 | __le64 tx_err_pkts; |
4923 | __le64 tx_drop_pkts; | 5142 | __le64 tx_drop_pkts; |
4924 | __le64 tx_ucast_bytes; | 5143 | __le64 tx_ucast_bytes; |
4925 | __le64 tx_mcast_bytes; | 5144 | __le64 tx_mcast_bytes; |
4926 | __le64 tx_bcast_bytes; | 5145 | __le64 tx_bcast_bytes; |
4927 | __le64 rx_ucast_pkts; | 5146 | __le64 rx_ucast_pkts; |
4928 | __le64 rx_mcast_pkts; | 5147 | __le64 rx_mcast_pkts; |
4929 | __le64 rx_bcast_pkts; | 5148 | __le64 rx_bcast_pkts; |
4930 | __le64 rx_err_pkts; | 5149 | __le64 rx_err_pkts; |
4931 | __le64 rx_drop_pkts; | 5150 | __le64 rx_drop_pkts; |
4932 | __le64 rx_ucast_bytes; | 5151 | __le64 rx_ucast_bytes; |
4933 | __le64 rx_mcast_bytes; | 5152 | __le64 rx_mcast_bytes; |
4934 | __le64 rx_bcast_bytes; | 5153 | __le64 rx_bcast_bytes; |
4935 | __le64 rx_agg_pkts; | 5154 | __le64 rx_agg_pkts; |
4936 | __le64 rx_agg_bytes; | 5155 | __le64 rx_agg_bytes; |
4937 | __le64 rx_agg_events; | 5156 | __le64 rx_agg_events; |
4938 | __le64 rx_agg_aborts; | 5157 | __le64 rx_agg_aborts; |
4939 | __le32 unused_0; | 5158 | u8 unused_0[7]; |
4940 | u8 unused_1; | 5159 | u8 valid; |
4941 | u8 unused_2; | 5160 | }; |
4942 | u8 unused_3; | 5161 | |
4943 | u8 valid; | 5162 | /* hwrm_stat_ctx_clr_stats_input (size:192b/24B) */ |
4944 | }; | ||
4945 | |||
4946 | /* hwrm_stat_ctx_clr_stats */ | ||
4947 | /* Input (24 bytes) */ | ||
4948 | struct hwrm_stat_ctx_clr_stats_input { | 5163 | struct hwrm_stat_ctx_clr_stats_input { |
4949 | __le16 req_type; | 5164 | __le16 req_type; |
4950 | __le16 cmpl_ring; | 5165 | __le16 cmpl_ring; |
4951 | __le16 seq_id; | 5166 | __le16 seq_id; |
4952 | __le16 target_id; | 5167 | __le16 target_id; |
4953 | __le64 resp_addr; | 5168 | __le64 resp_addr; |
4954 | __le32 stat_ctx_id; | 5169 | __le32 stat_ctx_id; |
4955 | __le32 unused_0; | 5170 | u8 unused_0[4]; |
4956 | }; | 5171 | }; |
4957 | 5172 | ||
4958 | /* Output (16 bytes) */ | 5173 | /* hwrm_stat_ctx_clr_stats_output (size:128b/16B) */ |
4959 | struct hwrm_stat_ctx_clr_stats_output { | 5174 | struct hwrm_stat_ctx_clr_stats_output { |
4960 | __le16 error_code; | 5175 | __le16 error_code; |
4961 | __le16 req_type; | 5176 | __le16 req_type; |
4962 | __le16 seq_id; | 5177 | __le16 seq_id; |
4963 | __le16 resp_len; | 5178 | __le16 resp_len; |
4964 | __le32 unused_0; | 5179 | u8 unused_0[7]; |
4965 | u8 unused_1; | 5180 | u8 valid; |
4966 | u8 unused_2; | 5181 | }; |
4967 | u8 unused_3; | 5182 | |
4968 | u8 valid; | 5183 | /* tx_port_stats (size:3264b/408B) */ |
4969 | }; | 5184 | struct tx_port_stats { |
4970 | 5185 | __le64 tx_64b_frames; | |
4971 | /* hwrm_fw_reset */ | 5186 | __le64 tx_65b_127b_frames; |
4972 | /* Input (24 bytes) */ | 5187 | __le64 tx_128b_255b_frames; |
5188 | __le64 tx_256b_511b_frames; | ||
5189 | __le64 tx_512b_1023b_frames; | ||
5190 | __le64 tx_1024b_1518_frames; | ||
5191 | __le64 tx_good_vlan_frames; | ||
5192 | __le64 tx_1519b_2047_frames; | ||
5193 | __le64 tx_2048b_4095b_frames; | ||
5194 | __le64 tx_4096b_9216b_frames; | ||
5195 | __le64 tx_9217b_16383b_frames; | ||
5196 | __le64 tx_good_frames; | ||
5197 | __le64 tx_total_frames; | ||
5198 | __le64 tx_ucast_frames; | ||
5199 | __le64 tx_mcast_frames; | ||
5200 | __le64 tx_bcast_frames; | ||
5201 | __le64 tx_pause_frames; | ||
5202 | __le64 tx_pfc_frames; | ||
5203 | __le64 tx_jabber_frames; | ||
5204 | __le64 tx_fcs_err_frames; | ||
5205 | __le64 tx_control_frames; | ||
5206 | __le64 tx_oversz_frames; | ||
5207 | __le64 tx_single_dfrl_frames; | ||
5208 | __le64 tx_multi_dfrl_frames; | ||
5209 | __le64 tx_single_coll_frames; | ||
5210 | __le64 tx_multi_coll_frames; | ||
5211 | __le64 tx_late_coll_frames; | ||
5212 | __le64 tx_excessive_coll_frames; | ||
5213 | __le64 tx_frag_frames; | ||
5214 | __le64 tx_err; | ||
5215 | __le64 tx_tagged_frames; | ||
5216 | __le64 tx_dbl_tagged_frames; | ||
5217 | __le64 tx_runt_frames; | ||
5218 | __le64 tx_fifo_underruns; | ||
5219 | __le64 tx_pfc_ena_frames_pri0; | ||
5220 | __le64 tx_pfc_ena_frames_pri1; | ||
5221 | __le64 tx_pfc_ena_frames_pri2; | ||
5222 | __le64 tx_pfc_ena_frames_pri3; | ||
5223 | __le64 tx_pfc_ena_frames_pri4; | ||
5224 | __le64 tx_pfc_ena_frames_pri5; | ||
5225 | __le64 tx_pfc_ena_frames_pri6; | ||
5226 | __le64 tx_pfc_ena_frames_pri7; | ||
5227 | __le64 tx_eee_lpi_events; | ||
5228 | __le64 tx_eee_lpi_duration; | ||
5229 | __le64 tx_llfc_logical_msgs; | ||
5230 | __le64 tx_hcfc_msgs; | ||
5231 | __le64 tx_total_collisions; | ||
5232 | __le64 tx_bytes; | ||
5233 | __le64 tx_xthol_frames; | ||
5234 | __le64 tx_stat_discard; | ||
5235 | __le64 tx_stat_error; | ||
5236 | }; | ||
5237 | |||
5238 | /* rx_port_stats (size:4224b/528B) */ | ||
5239 | struct rx_port_stats { | ||
5240 | __le64 rx_64b_frames; | ||
5241 | __le64 rx_65b_127b_frames; | ||
5242 | __le64 rx_128b_255b_frames; | ||
5243 | __le64 rx_256b_511b_frames; | ||
5244 | __le64 rx_512b_1023b_frames; | ||
5245 | __le64 rx_1024b_1518_frames; | ||
5246 | __le64 rx_good_vlan_frames; | ||
5247 | __le64 rx_1519b_2047b_frames; | ||
5248 | __le64 rx_2048b_4095b_frames; | ||
5249 | __le64 rx_4096b_9216b_frames; | ||
5250 | __le64 rx_9217b_16383b_frames; | ||
5251 | __le64 rx_total_frames; | ||
5252 | __le64 rx_ucast_frames; | ||
5253 | __le64 rx_mcast_frames; | ||
5254 | __le64 rx_bcast_frames; | ||
5255 | __le64 rx_fcs_err_frames; | ||
5256 | __le64 rx_ctrl_frames; | ||
5257 | __le64 rx_pause_frames; | ||
5258 | __le64 rx_pfc_frames; | ||
5259 | __le64 rx_unsupported_opcode_frames; | ||
5260 | __le64 rx_unsupported_da_pausepfc_frames; | ||
5261 | __le64 rx_wrong_sa_frames; | ||
5262 | __le64 rx_align_err_frames; | ||
5263 | __le64 rx_oor_len_frames; | ||
5264 | __le64 rx_code_err_frames; | ||
5265 | __le64 rx_false_carrier_frames; | ||
5266 | __le64 rx_ovrsz_frames; | ||
5267 | __le64 rx_jbr_frames; | ||
5268 | __le64 rx_mtu_err_frames; | ||
5269 | __le64 rx_match_crc_frames; | ||
5270 | __le64 rx_promiscuous_frames; | ||
5271 | __le64 rx_tagged_frames; | ||
5272 | __le64 rx_double_tagged_frames; | ||
5273 | __le64 rx_trunc_frames; | ||
5274 | __le64 rx_good_frames; | ||
5275 | __le64 rx_pfc_xon2xoff_frames_pri0; | ||
5276 | __le64 rx_pfc_xon2xoff_frames_pri1; | ||
5277 | __le64 rx_pfc_xon2xoff_frames_pri2; | ||
5278 | __le64 rx_pfc_xon2xoff_frames_pri3; | ||
5279 | __le64 rx_pfc_xon2xoff_frames_pri4; | ||
5280 | __le64 rx_pfc_xon2xoff_frames_pri5; | ||
5281 | __le64 rx_pfc_xon2xoff_frames_pri6; | ||
5282 | __le64 rx_pfc_xon2xoff_frames_pri7; | ||
5283 | __le64 rx_pfc_ena_frames_pri0; | ||
5284 | __le64 rx_pfc_ena_frames_pri1; | ||
5285 | __le64 rx_pfc_ena_frames_pri2; | ||
5286 | __le64 rx_pfc_ena_frames_pri3; | ||
5287 | __le64 rx_pfc_ena_frames_pri4; | ||
5288 | __le64 rx_pfc_ena_frames_pri5; | ||
5289 | __le64 rx_pfc_ena_frames_pri6; | ||
5290 | __le64 rx_pfc_ena_frames_pri7; | ||
5291 | __le64 rx_sch_crc_err_frames; | ||
5292 | __le64 rx_undrsz_frames; | ||
5293 | __le64 rx_frag_frames; | ||
5294 | __le64 rx_eee_lpi_events; | ||
5295 | __le64 rx_eee_lpi_duration; | ||
5296 | __le64 rx_llfc_physical_msgs; | ||
5297 | __le64 rx_llfc_logical_msgs; | ||
5298 | __le64 rx_llfc_msgs_with_crc_err; | ||
5299 | __le64 rx_hcfc_msgs; | ||
5300 | __le64 rx_hcfc_msgs_with_crc_err; | ||
5301 | __le64 rx_bytes; | ||
5302 | __le64 rx_runt_bytes; | ||
5303 | __le64 rx_runt_frames; | ||
5304 | __le64 rx_stat_discard; | ||
5305 | __le64 rx_stat_err; | ||
5306 | }; | ||
5307 | |||
5308 | /* hwrm_fw_reset_input (size:192b/24B) */ | ||
4973 | struct hwrm_fw_reset_input { | 5309 | struct hwrm_fw_reset_input { |
4974 | __le16 req_type; | 5310 | __le16 req_type; |
4975 | __le16 cmpl_ring; | 5311 | __le16 cmpl_ring; |
4976 | __le16 seq_id; | 5312 | __le16 seq_id; |
4977 | __le16 target_id; | 5313 | __le16 target_id; |
4978 | __le64 resp_addr; | 5314 | __le64 resp_addr; |
4979 | u8 embedded_proc_type; | 5315 | u8 embedded_proc_type; |
4980 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL | 5316 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL |
4981 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL | 5317 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL |
4982 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL | 5318 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL |
4983 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL | 5319 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL |
4984 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL | 5320 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL |
4985 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL | 5321 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL |
4986 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL | 5322 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL |
4987 | u8 selfrst_status; | 5323 | #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_LAST FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP |
4988 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTNONE 0x0UL | 5324 | u8 selfrst_status; |
4989 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP 0x1UL | 5325 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTNONE 0x0UL |
4990 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTPCIERST 0x2UL | 5326 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP 0x1UL |
4991 | u8 host_idx; | 5327 | #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTPCIERST 0x2UL |
4992 | u8 unused_0[5]; | 5328 | #define FW_RESET_REQ_SELFRST_STATUS_LAST FW_RESET_REQ_SELFRST_STATUS_SELFRSTPCIERST |
4993 | }; | 5329 | u8 host_idx; |
4994 | 5330 | u8 unused_0[5]; | |
4995 | /* Output (16 bytes) */ | 5331 | }; |
5332 | |||
5333 | /* hwrm_fw_reset_output (size:128b/16B) */ | ||
4996 | struct hwrm_fw_reset_output { | 5334 | struct hwrm_fw_reset_output { |
4997 | __le16 error_code; | 5335 | __le16 error_code; |
4998 | __le16 req_type; | 5336 | __le16 req_type; |
4999 | __le16 seq_id; | 5337 | __le16 seq_id; |
5000 | __le16 resp_len; | 5338 | __le16 resp_len; |
5001 | u8 selfrst_status; | 5339 | u8 selfrst_status; |
5002 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL | 5340 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL |
5003 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL | 5341 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL |
5004 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL | 5342 | #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL |
5005 | u8 unused_0; | 5343 | #define FW_RESET_RESP_SELFRST_STATUS_LAST FW_RESET_RESP_SELFRST_STATUS_SELFRSTPCIERST |
5006 | __le16 unused_1; | 5344 | u8 unused_0[6]; |
5007 | u8 unused_2; | 5345 | u8 valid; |
5008 | u8 unused_3; | 5346 | }; |
5009 | u8 unused_4; | 5347 | |
5010 | u8 valid; | 5348 | /* hwrm_fw_qstatus_input (size:192b/24B) */ |
5011 | }; | ||
5012 | |||
5013 | /* hwrm_fw_qstatus */ | ||
5014 | /* Input (24 bytes) */ | ||
5015 | struct hwrm_fw_qstatus_input { | 5349 | struct hwrm_fw_qstatus_input { |
5016 | __le16 req_type; | 5350 | __le16 req_type; |
5017 | __le16 cmpl_ring; | 5351 | __le16 cmpl_ring; |
5018 | __le16 seq_id; | 5352 | __le16 seq_id; |
5019 | __le16 target_id; | 5353 | __le16 target_id; |
5020 | __le64 resp_addr; | 5354 | __le64 resp_addr; |
5021 | u8 embedded_proc_type; | 5355 | u8 embedded_proc_type; |
5022 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL | 5356 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL |
5023 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL | 5357 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL |
5024 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL | 5358 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL |
5025 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL | 5359 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL |
5026 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL | 5360 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL |
5027 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL | 5361 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL |
5028 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL | 5362 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL |
5029 | u8 unused_0[7]; | 5363 | #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_LAST FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP |
5030 | }; | 5364 | u8 unused_0[7]; |
5031 | 5365 | }; | |
5032 | /* Output (16 bytes) */ | 5366 | |
5367 | /* hwrm_fw_qstatus_output (size:128b/16B) */ | ||
5033 | struct hwrm_fw_qstatus_output { | 5368 | struct hwrm_fw_qstatus_output { |
5034 | __le16 error_code; | 5369 | __le16 error_code; |
5035 | __le16 req_type; | 5370 | __le16 req_type; |
5036 | __le16 seq_id; | 5371 | __le16 seq_id; |
5037 | __le16 resp_len; | 5372 | __le16 resp_len; |
5038 | u8 selfrst_status; | 5373 | u8 selfrst_status; |
5039 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL | 5374 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL |
5040 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL | 5375 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL |
5041 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL | 5376 | #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL |
5042 | u8 unused_0; | 5377 | #define FW_QSTATUS_RESP_SELFRST_STATUS_LAST FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST |
5043 | __le16 unused_1; | 5378 | u8 unused_0[6]; |
5044 | u8 unused_2; | 5379 | u8 valid; |
5045 | u8 unused_3; | 5380 | }; |
5046 | u8 unused_4; | 5381 | |
5047 | u8 valid; | 5382 | /* hwrm_fw_set_time_input (size:256b/32B) */ |
5048 | }; | ||
5049 | |||
5050 | /* hwrm_fw_set_time */ | ||
5051 | /* Input (32 bytes) */ | ||
5052 | struct hwrm_fw_set_time_input { | 5383 | struct hwrm_fw_set_time_input { |
5053 | __le16 req_type; | 5384 | __le16 req_type; |
5054 | __le16 cmpl_ring; | 5385 | __le16 cmpl_ring; |
5055 | __le16 seq_id; | 5386 | __le16 seq_id; |
5056 | __le16 target_id; | 5387 | __le16 target_id; |
5057 | __le64 resp_addr; | 5388 | __le64 resp_addr; |
5058 | __le16 year; | 5389 | __le16 year; |
5059 | #define FW_SET_TIME_REQ_YEAR_UNKNOWN 0x0UL | 5390 | #define FW_SET_TIME_REQ_YEAR_UNKNOWN 0x0UL |
5060 | u8 month; | 5391 | #define FW_SET_TIME_REQ_YEAR_LAST FW_SET_TIME_REQ_YEAR_UNKNOWN |
5061 | u8 day; | 5392 | u8 month; |
5062 | u8 hour; | 5393 | u8 day; |
5063 | u8 minute; | 5394 | u8 hour; |
5064 | u8 second; | 5395 | u8 minute; |
5065 | u8 unused_0; | 5396 | u8 second; |
5066 | __le16 millisecond; | 5397 | u8 unused_0; |
5067 | __le16 zone; | 5398 | __le16 millisecond; |
5068 | #define FW_SET_TIME_REQ_ZONE_UTC 0x0UL | 5399 | __le16 zone; |
5069 | #define FW_SET_TIME_REQ_ZONE_UNKNOWN 0xffffUL | 5400 | #define FW_SET_TIME_REQ_ZONE_UTC 0x0UL |
5070 | __le32 unused_1; | 5401 | #define FW_SET_TIME_REQ_ZONE_UNKNOWN 0xffffUL |
5071 | }; | 5402 | #define FW_SET_TIME_REQ_ZONE_LAST FW_SET_TIME_REQ_ZONE_UNKNOWN |
5072 | 5403 | u8 unused_1[4]; | |
5073 | /* Output (16 bytes) */ | 5404 | }; |
5405 | |||
5406 | /* hwrm_fw_set_time_output (size:128b/16B) */ | ||
5074 | struct hwrm_fw_set_time_output { | 5407 | struct hwrm_fw_set_time_output { |
5075 | __le16 error_code; | 5408 | __le16 error_code; |
5076 | __le16 req_type; | 5409 | __le16 req_type; |
5077 | __le16 seq_id; | 5410 | __le16 seq_id; |
5078 | __le16 resp_len; | 5411 | __le16 resp_len; |
5079 | __le32 unused_0; | 5412 | u8 unused_0[7]; |
5080 | u8 unused_1; | 5413 | u8 valid; |
5081 | u8 unused_2; | 5414 | }; |
5082 | u8 unused_3; | 5415 | |
5083 | u8 valid; | 5416 | /* hwrm_struct_hdr (size:128b/16B) */ |
5084 | }; | 5417 | struct hwrm_struct_hdr { |
5085 | 5418 | __le16 struct_id; | |
5086 | /* hwrm_fw_set_structured_data */ | 5419 | #define STRUCT_HDR_STRUCT_ID_LLDP_CFG 0x41bUL |
5087 | /* Input (32 bytes) */ | 5420 | #define STRUCT_HDR_STRUCT_ID_DCBX_ETS 0x41dUL |
5421 | #define STRUCT_HDR_STRUCT_ID_DCBX_PFC 0x41fUL | ||
5422 | #define STRUCT_HDR_STRUCT_ID_DCBX_APP 0x421UL | ||
5423 | #define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE 0x422UL | ||
5424 | #define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC 0x424UL | ||
5425 | #define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE 0x426UL | ||
5426 | #define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE 0x1UL | ||
5427 | #define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION 0xaUL | ||
5428 | #define STRUCT_HDR_STRUCT_ID_RSS_V2 0x64UL | ||
5429 | #define STRUCT_HDR_STRUCT_ID_LAST STRUCT_HDR_STRUCT_ID_RSS_V2 | ||
5430 | __le16 len; | ||
5431 | u8 version; | ||
5432 | u8 count; | ||
5433 | __le16 subtype; | ||
5434 | __le16 next_offset; | ||
5435 | #define STRUCT_HDR_NEXT_OFFSET_LAST 0x0UL | ||
5436 | u8 unused_0[6]; | ||
5437 | }; | ||
5438 | |||
5439 | /* hwrm_struct_data_dcbx_app (size:64b/8B) */ | ||
5440 | struct hwrm_struct_data_dcbx_app { | ||
5441 | __be16 protocol_id; | ||
5442 | u8 protocol_selector; | ||
5443 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_ETHER_TYPE 0x1UL | ||
5444 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_PORT 0x2UL | ||
5445 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_UDP_PORT 0x3UL | ||
5446 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT 0x4UL | ||
5447 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_LAST STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT | ||
5448 | u8 priority; | ||
5449 | u8 valid; | ||
5450 | u8 unused_0[3]; | ||
5451 | }; | ||
5452 | |||
5453 | /* hwrm_fw_set_structured_data_input (size:256b/32B) */ | ||
5088 | struct hwrm_fw_set_structured_data_input { | 5454 | struct hwrm_fw_set_structured_data_input { |
5089 | __le16 req_type; | 5455 | __le16 req_type; |
5090 | __le16 cmpl_ring; | 5456 | __le16 cmpl_ring; |
5091 | __le16 seq_id; | 5457 | __le16 seq_id; |
5092 | __le16 target_id; | 5458 | __le16 target_id; |
5093 | __le64 resp_addr; | 5459 | __le64 resp_addr; |
5094 | __le64 src_data_addr; | 5460 | __le64 src_data_addr; |
5095 | __le16 data_len; | 5461 | __le16 data_len; |
5096 | u8 hdr_cnt; | 5462 | u8 hdr_cnt; |
5097 | u8 unused_0[5]; | 5463 | u8 unused_0[5]; |
5098 | }; | 5464 | }; |
5099 | 5465 | ||
5100 | /* Output (16 bytes) */ | 5466 | /* hwrm_fw_set_structured_data_output (size:128b/16B) */ |
5101 | struct hwrm_fw_set_structured_data_output { | 5467 | struct hwrm_fw_set_structured_data_output { |
5102 | __le16 error_code; | 5468 | __le16 error_code; |
5103 | __le16 req_type; | 5469 | __le16 req_type; |
5104 | __le16 seq_id; | 5470 | __le16 seq_id; |
5105 | __le16 resp_len; | 5471 | __le16 resp_len; |
5106 | __le32 unused_0; | 5472 | u8 unused_0[7]; |
5107 | u8 unused_1; | 5473 | u8 valid; |
5108 | u8 unused_2; | 5474 | }; |
5109 | u8 unused_3; | 5475 | |
5110 | u8 valid; | 5476 | /* hwrm_fw_set_structured_data_cmd_err (size:64b/8B) */ |
5111 | }; | ||
5112 | |||
5113 | /* Command specific Error Codes (8 bytes) */ | ||
5114 | struct hwrm_fw_set_structured_data_cmd_err { | 5477 | struct hwrm_fw_set_structured_data_cmd_err { |
5115 | u8 code; | 5478 | u8 code; |
5116 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL | 5479 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL |
5117 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_HDR_CNT 0x1UL | 5480 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_HDR_CNT 0x1UL |
5118 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_FMT 0x2UL | 5481 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_FMT 0x2UL |
5119 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL | 5482 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL |
5120 | u8 unused_0[7]; | 5483 | #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_LAST FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID |
5484 | u8 unused_0[7]; | ||
5121 | }; | 5485 | }; |
5122 | 5486 | ||
5123 | /* hwrm_fw_get_structured_data */ | 5487 | /* hwrm_fw_get_structured_data_input (size:256b/32B) */ |
5124 | /* Input (32 bytes) */ | ||
5125 | struct hwrm_fw_get_structured_data_input { | 5488 | struct hwrm_fw_get_structured_data_input { |
5126 | __le16 req_type; | 5489 | __le16 req_type; |
5127 | __le16 cmpl_ring; | 5490 | __le16 cmpl_ring; |
5128 | __le16 seq_id; | 5491 | __le16 seq_id; |
5129 | __le16 target_id; | 5492 | __le16 target_id; |
5130 | __le64 resp_addr; | 5493 | __le64 resp_addr; |
5131 | __le64 dest_data_addr; | 5494 | __le64 dest_data_addr; |
5132 | __le16 data_len; | 5495 | __le16 data_len; |
5133 | __le16 structure_id; | 5496 | __le16 structure_id; |
5134 | __le16 subtype; | 5497 | __le16 subtype; |
5135 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_ALL 0xffffUL | 5498 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_UNUSED 0x0UL |
5136 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_ADMIN 0x100UL | 5499 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_ALL 0xffffUL |
5137 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_PEER 0x101UL | 5500 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_ADMIN 0x100UL |
5501 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_PEER 0x101UL | ||
5138 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_OPERATIONAL 0x102UL | 5502 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_OPERATIONAL 0x102UL |
5139 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_ADMIN 0x200UL | 5503 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_ADMIN 0x200UL |
5140 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_PEER 0x201UL | 5504 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_PEER 0x201UL |
5141 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_OPERATIONAL 0x202UL | 5505 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_OPERATIONAL 0x202UL |
5142 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL 0x300UL | 5506 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL 0x300UL |
5143 | u8 count; | 5507 | #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_LAST FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL |
5144 | u8 unused_0; | 5508 | u8 count; |
5509 | u8 unused_0; | ||
5145 | }; | 5510 | }; |
5146 | 5511 | ||
5147 | /* Output (16 bytes) */ | 5512 | /* hwrm_fw_get_structured_data_output (size:128b/16B) */ |
5148 | struct hwrm_fw_get_structured_data_output { | 5513 | struct hwrm_fw_get_structured_data_output { |
5149 | __le16 error_code; | 5514 | __le16 error_code; |
5150 | __le16 req_type; | 5515 | __le16 req_type; |
5151 | __le16 seq_id; | 5516 | __le16 seq_id; |
5152 | __le16 resp_len; | 5517 | __le16 resp_len; |
5153 | u8 hdr_cnt; | 5518 | u8 hdr_cnt; |
5154 | u8 unused_0; | 5519 | u8 unused_0[6]; |
5155 | __le16 unused_1; | 5520 | u8 valid; |
5156 | u8 unused_2; | 5521 | }; |
5157 | u8 unused_3; | 5522 | |
5158 | u8 unused_4; | 5523 | /* hwrm_fw_get_structured_data_cmd_err (size:64b/8B) */ |
5159 | u8 valid; | ||
5160 | }; | ||
5161 | |||
5162 | /* Command specific Error Codes (8 bytes) */ | ||
5163 | struct hwrm_fw_get_structured_data_cmd_err { | 5524 | struct hwrm_fw_get_structured_data_cmd_err { |
5164 | u8 code; | 5525 | u8 code; |
5165 | #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL | 5526 | #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL |
5166 | #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL | 5527 | #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL |
5167 | u8 unused_0[7]; | 5528 | #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_LAST FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID |
5529 | u8 unused_0[7]; | ||
5168 | }; | 5530 | }; |
5169 | 5531 | ||
5170 | /* hwrm_exec_fwd_resp */ | 5532 | /* hwrm_exec_fwd_resp_input (size:1024b/128B) */ |
5171 | /* Input (128 bytes) */ | ||
5172 | struct hwrm_exec_fwd_resp_input { | 5533 | struct hwrm_exec_fwd_resp_input { |
5173 | __le16 req_type; | 5534 | __le16 req_type; |
5174 | __le16 cmpl_ring; | 5535 | __le16 cmpl_ring; |
5175 | __le16 seq_id; | 5536 | __le16 seq_id; |
5176 | __le16 target_id; | 5537 | __le16 target_id; |
5177 | __le64 resp_addr; | 5538 | __le64 resp_addr; |
5178 | __le32 encap_request[26]; | 5539 | __le32 encap_request[26]; |
5179 | __le16 encap_resp_target_id; | 5540 | __le16 encap_resp_target_id; |
5180 | __le16 unused_0[3]; | 5541 | u8 unused_0[6]; |
5181 | }; | 5542 | }; |
5182 | 5543 | ||
5183 | /* Output (16 bytes) */ | 5544 | /* hwrm_exec_fwd_resp_output (size:128b/16B) */ |
5184 | struct hwrm_exec_fwd_resp_output { | 5545 | struct hwrm_exec_fwd_resp_output { |
5185 | __le16 error_code; | 5546 | __le16 error_code; |
5186 | __le16 req_type; | 5547 | __le16 req_type; |
5187 | __le16 seq_id; | 5548 | __le16 seq_id; |
5188 | __le16 resp_len; | 5549 | __le16 resp_len; |
5189 | __le32 unused_0; | 5550 | u8 unused_0[7]; |
5190 | u8 unused_1; | 5551 | u8 valid; |
5191 | u8 unused_2; | 5552 | }; |
5192 | u8 unused_3; | 5553 | |
5193 | u8 valid; | 5554 | /* hwrm_reject_fwd_resp_input (size:1024b/128B) */ |
5194 | }; | ||
5195 | |||
5196 | /* hwrm_reject_fwd_resp */ | ||
5197 | /* Input (128 bytes) */ | ||
5198 | struct hwrm_reject_fwd_resp_input { | 5555 | struct hwrm_reject_fwd_resp_input { |
5199 | __le16 req_type; | 5556 | __le16 req_type; |
5200 | __le16 cmpl_ring; | 5557 | __le16 cmpl_ring; |
5201 | __le16 seq_id; | 5558 | __le16 seq_id; |
5202 | __le16 target_id; | 5559 | __le16 target_id; |
5203 | __le64 resp_addr; | 5560 | __le64 resp_addr; |
5204 | __le32 encap_request[26]; | 5561 | __le32 encap_request[26]; |
5205 | __le16 encap_resp_target_id; | 5562 | __le16 encap_resp_target_id; |
5206 | __le16 unused_0[3]; | 5563 | u8 unused_0[6]; |
5207 | }; | 5564 | }; |
5208 | 5565 | ||
5209 | /* Output (16 bytes) */ | 5566 | /* hwrm_reject_fwd_resp_output (size:128b/16B) */ |
5210 | struct hwrm_reject_fwd_resp_output { | 5567 | struct hwrm_reject_fwd_resp_output { |
5211 | __le16 error_code; | 5568 | __le16 error_code; |
5212 | __le16 req_type; | 5569 | __le16 req_type; |
5213 | __le16 seq_id; | 5570 | __le16 seq_id; |
5214 | __le16 resp_len; | 5571 | __le16 resp_len; |
5215 | __le32 unused_0; | 5572 | u8 unused_0[7]; |
5216 | u8 unused_1; | 5573 | u8 valid; |
5217 | u8 unused_2; | 5574 | }; |
5218 | u8 unused_3; | 5575 | |
5219 | u8 valid; | 5576 | /* hwrm_fwd_resp_input (size:1024b/128B) */ |
5220 | }; | ||
5221 | |||
5222 | /* hwrm_fwd_resp */ | ||
5223 | /* Input (40 bytes) */ | ||
5224 | struct hwrm_fwd_resp_input { | 5577 | struct hwrm_fwd_resp_input { |
5225 | __le16 req_type; | 5578 | __le16 req_type; |
5226 | __le16 cmpl_ring; | 5579 | __le16 cmpl_ring; |
5227 | __le16 seq_id; | 5580 | __le16 seq_id; |
5228 | __le16 target_id; | 5581 | __le16 target_id; |
5229 | __le64 resp_addr; | 5582 | __le64 resp_addr; |
5230 | __le16 encap_resp_target_id; | 5583 | __le16 encap_resp_target_id; |
5231 | __le16 encap_resp_cmpl_ring; | 5584 | __le16 encap_resp_cmpl_ring; |
5232 | __le16 encap_resp_len; | 5585 | __le16 encap_resp_len; |
5233 | u8 unused_0; | 5586 | u8 unused_0; |
5234 | u8 unused_1; | 5587 | u8 unused_1; |
5235 | __le64 encap_resp_addr; | 5588 | __le64 encap_resp_addr; |
5236 | __le32 encap_resp[24]; | 5589 | __le32 encap_resp[24]; |
5237 | }; | 5590 | }; |
5238 | 5591 | ||
5239 | /* Output (16 bytes) */ | 5592 | /* hwrm_fwd_resp_output (size:128b/16B) */ |
5240 | struct hwrm_fwd_resp_output { | 5593 | struct hwrm_fwd_resp_output { |
5241 | __le16 error_code; | 5594 | __le16 error_code; |
5242 | __le16 req_type; | 5595 | __le16 req_type; |
5243 | __le16 seq_id; | 5596 | __le16 seq_id; |
5244 | __le16 resp_len; | 5597 | __le16 resp_len; |
5245 | __le32 unused_0; | 5598 | u8 unused_0[7]; |
5246 | u8 unused_1; | 5599 | u8 valid; |
5247 | u8 unused_2; | 5600 | }; |
5248 | u8 unused_3; | 5601 | |
5249 | u8 valid; | 5602 | /* hwrm_fwd_async_event_cmpl_input (size:320b/40B) */ |
5250 | }; | ||
5251 | |||
5252 | /* hwrm_fwd_async_event_cmpl */ | ||
5253 | /* Input (32 bytes) */ | ||
5254 | struct hwrm_fwd_async_event_cmpl_input { | 5603 | struct hwrm_fwd_async_event_cmpl_input { |
5255 | __le16 req_type; | 5604 | __le16 req_type; |
5256 | __le16 cmpl_ring; | 5605 | __le16 cmpl_ring; |
5257 | __le16 seq_id; | 5606 | __le16 seq_id; |
5258 | __le16 target_id; | 5607 | __le16 target_id; |
5259 | __le64 resp_addr; | 5608 | __le64 resp_addr; |
5260 | __le16 encap_async_event_target_id; | 5609 | __le16 encap_async_event_target_id; |
5261 | u8 unused_0; | 5610 | u8 unused_0[6]; |
5262 | u8 unused_1; | 5611 | __le32 encap_async_event_cmpl[4]; |
5263 | u8 unused_2[3]; | 5612 | }; |
5264 | u8 unused_3; | 5613 | |
5265 | __le32 encap_async_event_cmpl[4]; | 5614 | /* hwrm_fwd_async_event_cmpl_output (size:128b/16B) */ |
5266 | }; | ||
5267 | |||
5268 | /* Output (16 bytes) */ | ||
5269 | struct hwrm_fwd_async_event_cmpl_output { | 5615 | struct hwrm_fwd_async_event_cmpl_output { |
5270 | __le16 error_code; | 5616 | __le16 error_code; |
5271 | __le16 req_type; | 5617 | __le16 req_type; |
5272 | __le16 seq_id; | 5618 | __le16 seq_id; |
5273 | __le16 resp_len; | 5619 | __le16 resp_len; |
5274 | __le32 unused_0; | 5620 | u8 unused_0[7]; |
5275 | u8 unused_1; | 5621 | u8 valid; |
5276 | u8 unused_2; | 5622 | }; |
5277 | u8 unused_3; | 5623 | |
5278 | u8 valid; | 5624 | /* hwrm_temp_monitor_query_input (size:128b/16B) */ |
5279 | }; | ||
5280 | |||
5281 | /* hwrm_temp_monitor_query */ | ||
5282 | /* Input (16 bytes) */ | ||
5283 | struct hwrm_temp_monitor_query_input { | 5625 | struct hwrm_temp_monitor_query_input { |
5284 | __le16 req_type; | 5626 | __le16 req_type; |
5285 | __le16 cmpl_ring; | 5627 | __le16 cmpl_ring; |
5286 | __le16 seq_id; | 5628 | __le16 seq_id; |
5287 | __le16 target_id; | 5629 | __le16 target_id; |
5288 | __le64 resp_addr; | 5630 | __le64 resp_addr; |
5289 | }; | 5631 | }; |
5290 | 5632 | ||
5291 | /* Output (16 bytes) */ | 5633 | /* hwrm_temp_monitor_query_output (size:128b/16B) */ |
5292 | struct hwrm_temp_monitor_query_output { | 5634 | struct hwrm_temp_monitor_query_output { |
5293 | __le16 error_code; | 5635 | __le16 error_code; |
5294 | __le16 req_type; | 5636 | __le16 req_type; |
5295 | __le16 seq_id; | 5637 | __le16 seq_id; |
5296 | __le16 resp_len; | 5638 | __le16 resp_len; |
5297 | u8 temp; | 5639 | u8 temp; |
5298 | u8 unused_0; | 5640 | u8 unused_0[6]; |
5299 | __le16 unused_1; | 5641 | u8 valid; |
5300 | u8 unused_2; | 5642 | }; |
5301 | u8 unused_3; | 5643 | |
5302 | u8 unused_4; | 5644 | /* hwrm_wol_filter_alloc_input (size:512b/64B) */ |
5303 | u8 valid; | ||
5304 | }; | ||
5305 | |||
5306 | /* hwrm_wol_filter_alloc */ | ||
5307 | /* Input (64 bytes) */ | ||
5308 | struct hwrm_wol_filter_alloc_input { | 5645 | struct hwrm_wol_filter_alloc_input { |
5309 | __le16 req_type; | 5646 | __le16 req_type; |
5310 | __le16 cmpl_ring; | 5647 | __le16 cmpl_ring; |
5311 | __le16 seq_id; | 5648 | __le16 seq_id; |
5312 | __le16 target_id; | 5649 | __le16 target_id; |
5313 | __le64 resp_addr; | 5650 | __le64 resp_addr; |
5314 | __le32 flags; | 5651 | __le32 flags; |
5315 | __le32 enables; | 5652 | __le32 enables; |
5316 | #define WOL_FILTER_ALLOC_REQ_ENABLES_MAC_ADDRESS 0x1UL | 5653 | #define WOL_FILTER_ALLOC_REQ_ENABLES_MAC_ADDRESS 0x1UL |
5317 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_OFFSET 0x2UL | 5654 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_OFFSET 0x2UL |
5318 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_SIZE 0x4UL | 5655 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_SIZE 0x4UL |
5319 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_ADDR 0x8UL | 5656 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_ADDR 0x8UL |
5320 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_ADDR 0x10UL | 5657 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_ADDR 0x10UL |
5321 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_SIZE 0x20UL | 5658 | #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_SIZE 0x20UL |
5322 | __le16 port_id; | 5659 | __le16 port_id; |
5323 | u8 wol_type; | 5660 | u8 wol_type; |
5324 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_MAGICPKT 0x0UL | 5661 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_MAGICPKT 0x0UL |
5325 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_BMP 0x1UL | 5662 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_BMP 0x1UL |
5326 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID 0xffUL | 5663 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID 0xffUL |
5327 | u8 unused_0; | 5664 | #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_LAST WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID |
5328 | __le32 unused_1; | 5665 | u8 unused_0[5]; |
5329 | u8 mac_address[6]; | 5666 | u8 mac_address[6]; |
5330 | __le16 pattern_offset; | 5667 | __le16 pattern_offset; |
5331 | __le16 pattern_buf_size; | 5668 | __le16 pattern_buf_size; |
5332 | __le16 pattern_mask_size; | 5669 | __le16 pattern_mask_size; |
5333 | __le32 unused_2; | 5670 | u8 unused_1[4]; |
5334 | __le64 pattern_buf_addr; | 5671 | __le64 pattern_buf_addr; |
5335 | __le64 pattern_mask_addr; | 5672 | __le64 pattern_mask_addr; |
5336 | }; | 5673 | }; |
5337 | 5674 | ||
5338 | /* Output (16 bytes) */ | 5675 | /* hwrm_wol_filter_alloc_output (size:128b/16B) */ |
5339 | struct hwrm_wol_filter_alloc_output { | 5676 | struct hwrm_wol_filter_alloc_output { |
5340 | __le16 error_code; | 5677 | __le16 error_code; |
5341 | __le16 req_type; | 5678 | __le16 req_type; |
5342 | __le16 seq_id; | 5679 | __le16 seq_id; |
5343 | __le16 resp_len; | 5680 | __le16 resp_len; |
5344 | u8 wol_filter_id; | 5681 | u8 wol_filter_id; |
5345 | u8 unused_0; | 5682 | u8 unused_0[6]; |
5346 | __le16 unused_1; | 5683 | u8 valid; |
5347 | u8 unused_2; | 5684 | }; |
5348 | u8 unused_3; | 5685 | |
5349 | u8 unused_4; | 5686 | /* hwrm_wol_filter_free_input (size:256b/32B) */ |
5350 | u8 valid; | ||
5351 | }; | ||
5352 | |||
5353 | /* hwrm_wol_filter_free */ | ||
5354 | /* Input (32 bytes) */ | ||
5355 | struct hwrm_wol_filter_free_input { | 5687 | struct hwrm_wol_filter_free_input { |
5356 | __le16 req_type; | 5688 | __le16 req_type; |
5357 | __le16 cmpl_ring; | 5689 | __le16 cmpl_ring; |
5358 | __le16 seq_id; | 5690 | __le16 seq_id; |
5359 | __le16 target_id; | 5691 | __le16 target_id; |
5360 | __le64 resp_addr; | 5692 | __le64 resp_addr; |
5361 | __le32 flags; | 5693 | __le32 flags; |
5362 | #define WOL_FILTER_FREE_REQ_FLAGS_FREE_ALL_WOL_FILTERS 0x1UL | 5694 | #define WOL_FILTER_FREE_REQ_FLAGS_FREE_ALL_WOL_FILTERS 0x1UL |
5363 | __le32 enables; | 5695 | __le32 enables; |
5364 | #define WOL_FILTER_FREE_REQ_ENABLES_WOL_FILTER_ID 0x1UL | 5696 | #define WOL_FILTER_FREE_REQ_ENABLES_WOL_FILTER_ID 0x1UL |
5365 | __le16 port_id; | 5697 | __le16 port_id; |
5366 | u8 wol_filter_id; | 5698 | u8 wol_filter_id; |
5367 | u8 unused_0[5]; | 5699 | u8 unused_0[5]; |
5368 | }; | 5700 | }; |
5369 | 5701 | ||
5370 | /* Output (16 bytes) */ | 5702 | /* hwrm_wol_filter_free_output (size:128b/16B) */ |
5371 | struct hwrm_wol_filter_free_output { | 5703 | struct hwrm_wol_filter_free_output { |
5372 | __le16 error_code; | 5704 | __le16 error_code; |
5373 | __le16 req_type; | 5705 | __le16 req_type; |
5374 | __le16 seq_id; | 5706 | __le16 seq_id; |
5375 | __le16 resp_len; | 5707 | __le16 resp_len; |
5376 | __le32 unused_0; | 5708 | u8 unused_0[7]; |
5377 | u8 unused_1; | 5709 | u8 valid; |
5378 | u8 unused_2; | 5710 | }; |
5379 | u8 unused_3; | 5711 | |
5380 | u8 valid; | 5712 | /* hwrm_wol_filter_qcfg_input (size:448b/56B) */ |
5381 | }; | ||
5382 | |||
5383 | /* hwrm_wol_filter_qcfg */ | ||
5384 | /* Input (56 bytes) */ | ||
5385 | struct hwrm_wol_filter_qcfg_input { | 5713 | struct hwrm_wol_filter_qcfg_input { |
5386 | __le16 req_type; | 5714 | __le16 req_type; |
5387 | __le16 cmpl_ring; | 5715 | __le16 cmpl_ring; |
5388 | __le16 seq_id; | 5716 | __le16 seq_id; |
5389 | __le16 target_id; | 5717 | __le16 target_id; |
5390 | __le64 resp_addr; | 5718 | __le64 resp_addr; |
5391 | __le16 port_id; | 5719 | __le16 port_id; |
5392 | __le16 handle; | 5720 | __le16 handle; |
5393 | __le32 unused_0; | 5721 | u8 unused_0[4]; |
5394 | __le64 pattern_buf_addr; | 5722 | __le64 pattern_buf_addr; |
5395 | __le16 pattern_buf_size; | 5723 | __le16 pattern_buf_size; |
5396 | u8 unused_1; | 5724 | u8 unused_1[6]; |
5397 | u8 unused_2; | 5725 | __le64 pattern_mask_addr; |
5398 | u8 unused_3[3]; | 5726 | __le16 pattern_mask_size; |
5399 | u8 unused_4; | 5727 | u8 unused_2[6]; |
5400 | __le64 pattern_mask_addr; | 5728 | }; |
5401 | __le16 pattern_mask_size; | 5729 | |
5402 | __le16 unused_5[3]; | 5730 | /* hwrm_wol_filter_qcfg_output (size:256b/32B) */ |
5403 | }; | ||
5404 | |||
5405 | /* Output (32 bytes) */ | ||
5406 | struct hwrm_wol_filter_qcfg_output { | 5731 | struct hwrm_wol_filter_qcfg_output { |
5407 | __le16 error_code; | 5732 | __le16 error_code; |
5408 | __le16 req_type; | 5733 | __le16 req_type; |
5409 | __le16 seq_id; | 5734 | __le16 seq_id; |
5410 | __le16 resp_len; | 5735 | __le16 resp_len; |
5411 | __le16 next_handle; | 5736 | __le16 next_handle; |
5412 | u8 wol_filter_id; | 5737 | u8 wol_filter_id; |
5413 | u8 wol_type; | 5738 | u8 wol_type; |
5414 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_MAGICPKT 0x0UL | 5739 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_MAGICPKT 0x0UL |
5415 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_BMP 0x1UL | 5740 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_BMP 0x1UL |
5416 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID 0xffUL | 5741 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID 0xffUL |
5417 | __le32 unused_0; | 5742 | #define WOL_FILTER_QCFG_RESP_WOL_TYPE_LAST WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID |
5418 | u8 mac_address[6]; | 5743 | __le32 unused_0; |
5419 | __le16 pattern_offset; | 5744 | u8 mac_address[6]; |
5420 | __le16 pattern_size; | 5745 | __le16 pattern_offset; |
5421 | __le16 pattern_mask_size; | 5746 | __le16 pattern_size; |
5422 | u8 unused_1; | 5747 | __le16 pattern_mask_size; |
5423 | u8 unused_2; | 5748 | u8 unused_1[3]; |
5424 | u8 unused_3; | 5749 | u8 valid; |
5425 | u8 valid; | 5750 | }; |
5426 | }; | 5751 | |
5427 | 5752 | /* hwrm_wol_reason_qcfg_input (size:320b/40B) */ | |
5428 | /* hwrm_wol_reason_qcfg */ | ||
5429 | /* Input (40 bytes) */ | ||
5430 | struct hwrm_wol_reason_qcfg_input { | 5753 | struct hwrm_wol_reason_qcfg_input { |
5431 | __le16 req_type; | 5754 | __le16 req_type; |
5432 | __le16 cmpl_ring; | 5755 | __le16 cmpl_ring; |
5433 | __le16 seq_id; | 5756 | __le16 seq_id; |
5434 | __le16 target_id; | 5757 | __le16 target_id; |
5435 | __le64 resp_addr; | 5758 | __le64 resp_addr; |
5436 | __le16 port_id; | 5759 | __le16 port_id; |
5437 | u8 unused_0; | 5760 | u8 unused_0[6]; |
5438 | u8 unused_1; | 5761 | __le64 wol_pkt_buf_addr; |
5439 | u8 unused_2[3]; | 5762 | __le16 wol_pkt_buf_size; |
5440 | u8 unused_3; | 5763 | u8 unused_1[6]; |
5441 | __le64 wol_pkt_buf_addr; | 5764 | }; |
5442 | __le16 wol_pkt_buf_size; | 5765 | |
5443 | __le16 unused_4[3]; | 5766 | /* hwrm_wol_reason_qcfg_output (size:128b/16B) */ |
5444 | }; | ||
5445 | |||
5446 | /* Output (16 bytes) */ | ||
5447 | struct hwrm_wol_reason_qcfg_output { | 5767 | struct hwrm_wol_reason_qcfg_output { |
5448 | __le16 error_code; | 5768 | __le16 error_code; |
5449 | __le16 req_type; | 5769 | __le16 req_type; |
5450 | __le16 seq_id; | 5770 | __le16 seq_id; |
5451 | __le16 resp_len; | 5771 | __le16 resp_len; |
5452 | u8 wol_filter_id; | 5772 | u8 wol_filter_id; |
5453 | u8 wol_reason; | 5773 | u8 wol_reason; |
5454 | #define WOL_REASON_QCFG_RESP_WOL_REASON_MAGICPKT 0x0UL | 5774 | #define WOL_REASON_QCFG_RESP_WOL_REASON_MAGICPKT 0x0UL |
5455 | #define WOL_REASON_QCFG_RESP_WOL_REASON_BMP 0x1UL | 5775 | #define WOL_REASON_QCFG_RESP_WOL_REASON_BMP 0x1UL |
5456 | #define WOL_REASON_QCFG_RESP_WOL_REASON_INVALID 0xffUL | 5776 | #define WOL_REASON_QCFG_RESP_WOL_REASON_INVALID 0xffUL |
5457 | u8 wol_pkt_len; | 5777 | #define WOL_REASON_QCFG_RESP_WOL_REASON_LAST WOL_REASON_QCFG_RESP_WOL_REASON_INVALID |
5458 | u8 unused_0; | 5778 | u8 wol_pkt_len; |
5459 | u8 unused_1; | 5779 | u8 unused_0[4]; |
5460 | u8 unused_2; | 5780 | u8 valid; |
5461 | u8 unused_3; | 5781 | }; |
5462 | u8 valid; | 5782 | |
5463 | }; | 5783 | /* hwrm_nvm_read_input (size:320b/40B) */ |
5464 | |||
5465 | /* hwrm_dbg_read_direct */ | ||
5466 | /* Input (32 bytes) */ | ||
5467 | struct hwrm_dbg_read_direct_input { | ||
5468 | __le16 req_type; | ||
5469 | __le16 cmpl_ring; | ||
5470 | __le16 seq_id; | ||
5471 | __le16 target_id; | ||
5472 | __le64 resp_addr; | ||
5473 | __le64 host_dest_addr; | ||
5474 | __le32 read_addr; | ||
5475 | __le32 read_len32; | ||
5476 | }; | ||
5477 | |||
5478 | /* Output (16 bytes) */ | ||
5479 | struct hwrm_dbg_read_direct_output { | ||
5480 | __le16 error_code; | ||
5481 | __le16 req_type; | ||
5482 | __le16 seq_id; | ||
5483 | __le16 resp_len; | ||
5484 | __le32 unused_0; | ||
5485 | u8 unused_1; | ||
5486 | u8 unused_2; | ||
5487 | u8 unused_3; | ||
5488 | u8 valid; | ||
5489 | }; | ||
5490 | |||
5491 | /* hwrm_nvm_read */ | ||
5492 | /* Input (40 bytes) */ | ||
5493 | struct hwrm_nvm_read_input { | 5784 | struct hwrm_nvm_read_input { |
5494 | __le16 req_type; | 5785 | __le16 req_type; |
5495 | __le16 cmpl_ring; | 5786 | __le16 cmpl_ring; |
5496 | __le16 seq_id; | 5787 | __le16 seq_id; |
5497 | __le16 target_id; | 5788 | __le16 target_id; |
5498 | __le64 resp_addr; | 5789 | __le64 resp_addr; |
5499 | __le64 host_dest_addr; | 5790 | __le64 host_dest_addr; |
5500 | __le16 dir_idx; | 5791 | __le16 dir_idx; |
5501 | u8 unused_0; | 5792 | u8 unused_0[2]; |
5502 | u8 unused_1; | 5793 | __le32 offset; |
5503 | __le32 offset; | 5794 | __le32 len; |
5504 | __le32 len; | 5795 | u8 unused_1[4]; |
5505 | __le32 unused_2; | 5796 | }; |
5506 | }; | 5797 | |
5507 | 5798 | /* hwrm_nvm_read_output (size:128b/16B) */ | |
5508 | /* Output (16 bytes) */ | ||
5509 | struct hwrm_nvm_read_output { | 5799 | struct hwrm_nvm_read_output { |
5510 | __le16 error_code; | 5800 | __le16 error_code; |
5511 | __le16 req_type; | 5801 | __le16 req_type; |
5512 | __le16 seq_id; | 5802 | __le16 seq_id; |
5513 | __le16 resp_len; | 5803 | __le16 resp_len; |
5514 | __le32 unused_0; | 5804 | u8 unused_0[7]; |
5515 | u8 unused_1; | 5805 | u8 valid; |
5516 | u8 unused_2; | 5806 | }; |
5517 | u8 unused_3; | 5807 | |
5518 | u8 valid; | 5808 | /* hwrm_nvm_get_dir_entries_input (size:192b/24B) */ |
5519 | }; | ||
5520 | |||
5521 | /* hwrm_nvm_get_dir_entries */ | ||
5522 | /* Input (24 bytes) */ | ||
5523 | struct hwrm_nvm_get_dir_entries_input { | 5809 | struct hwrm_nvm_get_dir_entries_input { |
5524 | __le16 req_type; | 5810 | __le16 req_type; |
5525 | __le16 cmpl_ring; | 5811 | __le16 cmpl_ring; |
5526 | __le16 seq_id; | 5812 | __le16 seq_id; |
5527 | __le16 target_id; | 5813 | __le16 target_id; |
5528 | __le64 resp_addr; | 5814 | __le64 resp_addr; |
5529 | __le64 host_dest_addr; | 5815 | __le64 host_dest_addr; |
5530 | }; | 5816 | }; |
5531 | 5817 | ||
5532 | /* Output (16 bytes) */ | 5818 | /* hwrm_nvm_get_dir_entries_output (size:128b/16B) */ |
5533 | struct hwrm_nvm_get_dir_entries_output { | 5819 | struct hwrm_nvm_get_dir_entries_output { |
5534 | __le16 error_code; | 5820 | __le16 error_code; |
5535 | __le16 req_type; | 5821 | __le16 req_type; |
5536 | __le16 seq_id; | 5822 | __le16 seq_id; |
5537 | __le16 resp_len; | 5823 | __le16 resp_len; |
5538 | __le32 unused_0; | 5824 | u8 unused_0[7]; |
5539 | u8 unused_1; | 5825 | u8 valid; |
5540 | u8 unused_2; | 5826 | }; |
5541 | u8 unused_3; | 5827 | |
5542 | u8 valid; | 5828 | /* hwrm_nvm_get_dir_info_input (size:128b/16B) */ |
5543 | }; | ||
5544 | |||
5545 | /* hwrm_nvm_get_dir_info */ | ||
5546 | /* Input (16 bytes) */ | ||
5547 | struct hwrm_nvm_get_dir_info_input { | 5829 | struct hwrm_nvm_get_dir_info_input { |
5548 | __le16 req_type; | 5830 | __le16 req_type; |
5549 | __le16 cmpl_ring; | 5831 | __le16 cmpl_ring; |
5550 | __le16 seq_id; | 5832 | __le16 seq_id; |
5551 | __le16 target_id; | 5833 | __le16 target_id; |
5552 | __le64 resp_addr; | 5834 | __le64 resp_addr; |
5553 | }; | 5835 | }; |
5554 | 5836 | ||
5555 | /* Output (24 bytes) */ | 5837 | /* hwrm_nvm_get_dir_info_output (size:192b/24B) */ |
5556 | struct hwrm_nvm_get_dir_info_output { | 5838 | struct hwrm_nvm_get_dir_info_output { |
5557 | __le16 error_code; | 5839 | __le16 error_code; |
5558 | __le16 req_type; | 5840 | __le16 req_type; |
5559 | __le16 seq_id; | 5841 | __le16 seq_id; |
5560 | __le16 resp_len; | 5842 | __le16 resp_len; |
5561 | __le32 entries; | 5843 | __le32 entries; |
5562 | __le32 entry_length; | 5844 | __le32 entry_length; |
5563 | __le32 unused_0; | 5845 | u8 unused_0[7]; |
5564 | u8 unused_1; | 5846 | u8 valid; |
5565 | u8 unused_2; | 5847 | }; |
5566 | u8 unused_3; | 5848 | |
5567 | u8 valid; | 5849 | /* hwrm_nvm_write_input (size:384b/48B) */ |
5568 | }; | ||
5569 | |||
5570 | /* hwrm_nvm_write */ | ||
5571 | /* Input (48 bytes) */ | ||
5572 | struct hwrm_nvm_write_input { | 5850 | struct hwrm_nvm_write_input { |
5573 | __le16 req_type; | 5851 | __le16 req_type; |
5574 | __le16 cmpl_ring; | 5852 | __le16 cmpl_ring; |
5575 | __le16 seq_id; | 5853 | __le16 seq_id; |
5576 | __le16 target_id; | 5854 | __le16 target_id; |
5577 | __le64 resp_addr; | 5855 | __le64 resp_addr; |
5578 | __le64 host_src_addr; | 5856 | __le64 host_src_addr; |
5579 | __le16 dir_type; | 5857 | __le16 dir_type; |
5580 | __le16 dir_ordinal; | 5858 | __le16 dir_ordinal; |
5581 | __le16 dir_ext; | 5859 | __le16 dir_ext; |
5582 | __le16 dir_attr; | 5860 | __le16 dir_attr; |
5583 | __le32 dir_data_length; | 5861 | __le32 dir_data_length; |
5584 | __le16 option; | 5862 | __le16 option; |
5585 | __le16 flags; | 5863 | __le16 flags; |
5586 | #define NVM_WRITE_REQ_FLAGS_KEEP_ORIG_ACTIVE_IMG 0x1UL | 5864 | #define NVM_WRITE_REQ_FLAGS_KEEP_ORIG_ACTIVE_IMG 0x1UL |
5587 | __le32 dir_item_length; | 5865 | __le32 dir_item_length; |
5588 | __le32 unused_0; | 5866 | __le32 unused_0; |
5589 | }; | 5867 | }; |
5590 | 5868 | ||
5591 | /* Output (16 bytes) */ | 5869 | /* hwrm_nvm_write_output (size:128b/16B) */ |
5592 | struct hwrm_nvm_write_output { | 5870 | struct hwrm_nvm_write_output { |
5593 | __le16 error_code; | 5871 | __le16 error_code; |
5594 | __le16 req_type; | 5872 | __le16 req_type; |
5595 | __le16 seq_id; | 5873 | __le16 seq_id; |
5596 | __le16 resp_len; | 5874 | __le16 resp_len; |
5597 | __le32 dir_item_length; | 5875 | __le32 dir_item_length; |
5598 | __le16 dir_idx; | 5876 | __le16 dir_idx; |
5599 | u8 unused_0; | 5877 | u8 unused_0; |
5600 | u8 valid; | 5878 | u8 valid; |
5601 | }; | 5879 | }; |
5602 | 5880 | ||
5603 | /* Command specific Error Codes (8 bytes) */ | 5881 | /* hwrm_nvm_write_cmd_err (size:64b/8B) */ |
5604 | struct hwrm_nvm_write_cmd_err { | 5882 | struct hwrm_nvm_write_cmd_err { |
5605 | u8 code; | 5883 | u8 code; |
5606 | #define NVM_WRITE_CMD_ERR_CODE_UNKNOWN 0x0UL | 5884 | #define NVM_WRITE_CMD_ERR_CODE_UNKNOWN 0x0UL |
5607 | #define NVM_WRITE_CMD_ERR_CODE_FRAG_ERR 0x1UL | 5885 | #define NVM_WRITE_CMD_ERR_CODE_FRAG_ERR 0x1UL |
5608 | #define NVM_WRITE_CMD_ERR_CODE_NO_SPACE 0x2UL | 5886 | #define NVM_WRITE_CMD_ERR_CODE_NO_SPACE 0x2UL |
5609 | u8 unused_0[7]; | 5887 | #define NVM_WRITE_CMD_ERR_CODE_LAST NVM_WRITE_CMD_ERR_CODE_NO_SPACE |
5888 | u8 unused_0[7]; | ||
5610 | }; | 5889 | }; |
5611 | 5890 | ||
5612 | /* hwrm_nvm_modify */ | 5891 | /* hwrm_nvm_modify_input (size:320b/40B) */ |
5613 | /* Input (40 bytes) */ | ||
5614 | struct hwrm_nvm_modify_input { | 5892 | struct hwrm_nvm_modify_input { |
5615 | __le16 req_type; | 5893 | __le16 req_type; |
5616 | __le16 cmpl_ring; | 5894 | __le16 cmpl_ring; |
5617 | __le16 seq_id; | 5895 | __le16 seq_id; |
5618 | __le16 target_id; | 5896 | __le16 target_id; |
5619 | __le64 resp_addr; | 5897 | __le64 resp_addr; |
5620 | __le64 host_src_addr; | 5898 | __le64 host_src_addr; |
5621 | __le16 dir_idx; | 5899 | __le16 dir_idx; |
5622 | u8 unused_0; | 5900 | u8 unused_0[2]; |
5623 | u8 unused_1; | 5901 | __le32 offset; |
5624 | __le32 offset; | 5902 | __le32 len; |
5625 | __le32 len; | 5903 | u8 unused_1[4]; |
5626 | __le32 unused_2; | 5904 | }; |
5627 | }; | 5905 | |
5628 | 5906 | /* hwrm_nvm_modify_output (size:128b/16B) */ | |
5629 | /* Output (16 bytes) */ | ||
5630 | struct hwrm_nvm_modify_output { | 5907 | struct hwrm_nvm_modify_output { |
5631 | __le16 error_code; | 5908 | __le16 error_code; |
5632 | __le16 req_type; | 5909 | __le16 req_type; |
5633 | __le16 seq_id; | 5910 | __le16 seq_id; |
5634 | __le16 resp_len; | 5911 | __le16 resp_len; |
5635 | __le32 unused_0; | 5912 | u8 unused_0[7]; |
5636 | u8 unused_1; | 5913 | u8 valid; |
5637 | u8 unused_2; | 5914 | }; |
5638 | u8 unused_3; | 5915 | |
5639 | u8 valid; | 5916 | /* hwrm_nvm_find_dir_entry_input (size:256b/32B) */ |
5640 | }; | ||
5641 | |||
5642 | /* hwrm_nvm_find_dir_entry */ | ||
5643 | /* Input (32 bytes) */ | ||
5644 | struct hwrm_nvm_find_dir_entry_input { | 5917 | struct hwrm_nvm_find_dir_entry_input { |
5645 | __le16 req_type; | 5918 | __le16 req_type; |
5646 | __le16 cmpl_ring; | 5919 | __le16 cmpl_ring; |
5647 | __le16 seq_id; | 5920 | __le16 seq_id; |
5648 | __le16 target_id; | 5921 | __le16 target_id; |
5649 | __le64 resp_addr; | 5922 | __le64 resp_addr; |
5650 | __le32 enables; | 5923 | __le32 enables; |
5651 | #define NVM_FIND_DIR_ENTRY_REQ_ENABLES_DIR_IDX_VALID 0x1UL | 5924 | #define NVM_FIND_DIR_ENTRY_REQ_ENABLES_DIR_IDX_VALID 0x1UL |
5652 | __le16 dir_idx; | 5925 | __le16 dir_idx; |
5653 | __le16 dir_type; | 5926 | __le16 dir_type; |
5654 | __le16 dir_ordinal; | 5927 | __le16 dir_ordinal; |
5655 | __le16 dir_ext; | 5928 | __le16 dir_ext; |
5656 | u8 opt_ordinal; | 5929 | u8 opt_ordinal; |
5657 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_MASK 0x3UL | 5930 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_MASK 0x3UL |
5658 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_SFT 0 | 5931 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_SFT 0 |
5659 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_EQ 0x0UL | 5932 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_EQ 0x0UL |
5660 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GE 0x1UL | 5933 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GE 0x1UL |
5661 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT 0x2UL | 5934 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT 0x2UL |
5662 | u8 unused_1[3]; | 5935 | #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_LAST NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT |
5663 | }; | 5936 | u8 unused_0[3]; |
5664 | 5937 | }; | |
5665 | /* Output (32 bytes) */ | 5938 | |
5939 | /* hwrm_nvm_find_dir_entry_output (size:256b/32B) */ | ||
5666 | struct hwrm_nvm_find_dir_entry_output { | 5940 | struct hwrm_nvm_find_dir_entry_output { |
5667 | __le16 error_code; | 5941 | __le16 error_code; |
5668 | __le16 req_type; | 5942 | __le16 req_type; |
5669 | __le16 seq_id; | 5943 | __le16 seq_id; |
5670 | __le16 resp_len; | 5944 | __le16 resp_len; |
5671 | __le32 dir_item_length; | 5945 | __le32 dir_item_length; |
5672 | __le32 dir_data_length; | 5946 | __le32 dir_data_length; |
5673 | __le32 fw_ver; | 5947 | __le32 fw_ver; |
5674 | __le16 dir_ordinal; | 5948 | __le16 dir_ordinal; |
5675 | __le16 dir_idx; | 5949 | __le16 dir_idx; |
5676 | __le32 unused_0; | 5950 | u8 unused_0[7]; |
5677 | u8 unused_1; | 5951 | u8 valid; |
5678 | u8 unused_2; | 5952 | }; |
5679 | u8 unused_3; | 5953 | |
5680 | u8 valid; | 5954 | /* hwrm_nvm_erase_dir_entry_input (size:192b/24B) */ |
5681 | }; | ||
5682 | |||
5683 | /* hwrm_nvm_erase_dir_entry */ | ||
5684 | /* Input (24 bytes) */ | ||
5685 | struct hwrm_nvm_erase_dir_entry_input { | 5955 | struct hwrm_nvm_erase_dir_entry_input { |
5686 | __le16 req_type; | 5956 | __le16 req_type; |
5687 | __le16 cmpl_ring; | 5957 | __le16 cmpl_ring; |
5688 | __le16 seq_id; | 5958 | __le16 seq_id; |
5689 | __le16 target_id; | 5959 | __le16 target_id; |
5690 | __le64 resp_addr; | 5960 | __le64 resp_addr; |
5691 | __le16 dir_idx; | 5961 | __le16 dir_idx; |
5692 | __le16 unused_0[3]; | 5962 | u8 unused_0[6]; |
5693 | }; | 5963 | }; |
5694 | 5964 | ||
5695 | /* Output (16 bytes) */ | 5965 | /* hwrm_nvm_erase_dir_entry_output (size:128b/16B) */ |
5696 | struct hwrm_nvm_erase_dir_entry_output { | 5966 | struct hwrm_nvm_erase_dir_entry_output { |
5697 | __le16 error_code; | 5967 | __le16 error_code; |
5698 | __le16 req_type; | 5968 | __le16 req_type; |
5699 | __le16 seq_id; | 5969 | __le16 seq_id; |
5700 | __le16 resp_len; | 5970 | __le16 resp_len; |
5701 | __le32 unused_0; | 5971 | u8 unused_0[7]; |
5702 | u8 unused_1; | 5972 | u8 valid; |
5703 | u8 unused_2; | 5973 | }; |
5704 | u8 unused_3; | 5974 | |
5705 | u8 valid; | 5975 | /* hwrm_nvm_get_dev_info_input (size:128b/16B) */ |
5706 | }; | ||
5707 | |||
5708 | /* hwrm_nvm_get_dev_info */ | ||
5709 | /* Input (16 bytes) */ | ||
5710 | struct hwrm_nvm_get_dev_info_input { | 5976 | struct hwrm_nvm_get_dev_info_input { |
5711 | __le16 req_type; | 5977 | __le16 req_type; |
5712 | __le16 cmpl_ring; | 5978 | __le16 cmpl_ring; |
5713 | __le16 seq_id; | 5979 | __le16 seq_id; |
5714 | __le16 target_id; | 5980 | __le16 target_id; |
5715 | __le64 resp_addr; | 5981 | __le64 resp_addr; |
5716 | }; | 5982 | }; |
5717 | 5983 | ||
5718 | /* Output (32 bytes) */ | 5984 | /* hwrm_nvm_get_dev_info_output (size:256b/32B) */ |
5719 | struct hwrm_nvm_get_dev_info_output { | 5985 | struct hwrm_nvm_get_dev_info_output { |
5720 | __le16 error_code; | 5986 | __le16 error_code; |
5721 | __le16 req_type; | 5987 | __le16 req_type; |
5722 | __le16 seq_id; | 5988 | __le16 seq_id; |
5723 | __le16 resp_len; | 5989 | __le16 resp_len; |
5724 | __le16 manufacturer_id; | 5990 | __le16 manufacturer_id; |
5725 | __le16 device_id; | 5991 | __le16 device_id; |
5726 | __le32 sector_size; | 5992 | __le32 sector_size; |
5727 | __le32 nvram_size; | 5993 | __le32 nvram_size; |
5728 | __le32 reserved_size; | 5994 | __le32 reserved_size; |
5729 | __le32 available_size; | 5995 | __le32 available_size; |
5730 | u8 unused_0; | 5996 | u8 unused_0[3]; |
5731 | u8 unused_1; | 5997 | u8 valid; |
5732 | u8 unused_2; | 5998 | }; |
5733 | u8 valid; | 5999 | |
5734 | }; | 6000 | /* hwrm_nvm_mod_dir_entry_input (size:256b/32B) */ |
5735 | |||
5736 | /* hwrm_nvm_mod_dir_entry */ | ||
5737 | /* Input (32 bytes) */ | ||
5738 | struct hwrm_nvm_mod_dir_entry_input { | 6001 | struct hwrm_nvm_mod_dir_entry_input { |
5739 | __le16 req_type; | 6002 | __le16 req_type; |
5740 | __le16 cmpl_ring; | 6003 | __le16 cmpl_ring; |
5741 | __le16 seq_id; | 6004 | __le16 seq_id; |
5742 | __le16 target_id; | 6005 | __le16 target_id; |
5743 | __le64 resp_addr; | 6006 | __le64 resp_addr; |
5744 | __le32 enables; | 6007 | __le32 enables; |
5745 | #define NVM_MOD_DIR_ENTRY_REQ_ENABLES_CHECKSUM 0x1UL | 6008 | #define NVM_MOD_DIR_ENTRY_REQ_ENABLES_CHECKSUM 0x1UL |
5746 | __le16 dir_idx; | 6009 | __le16 dir_idx; |
5747 | __le16 dir_ordinal; | 6010 | __le16 dir_ordinal; |
5748 | __le16 dir_ext; | 6011 | __le16 dir_ext; |
5749 | __le16 dir_attr; | 6012 | __le16 dir_attr; |
5750 | __le32 checksum; | 6013 | __le32 checksum; |
5751 | }; | 6014 | }; |
5752 | 6015 | ||
5753 | /* Output (16 bytes) */ | 6016 | /* hwrm_nvm_mod_dir_entry_output (size:128b/16B) */ |
5754 | struct hwrm_nvm_mod_dir_entry_output { | 6017 | struct hwrm_nvm_mod_dir_entry_output { |
5755 | __le16 error_code; | 6018 | __le16 error_code; |
5756 | __le16 req_type; | 6019 | __le16 req_type; |
5757 | __le16 seq_id; | 6020 | __le16 seq_id; |
5758 | __le16 resp_len; | 6021 | __le16 resp_len; |
5759 | __le32 unused_0; | 6022 | u8 unused_0[7]; |
5760 | u8 unused_1; | 6023 | u8 valid; |
5761 | u8 unused_2; | 6024 | }; |
5762 | u8 unused_3; | 6025 | |
5763 | u8 valid; | 6026 | /* hwrm_nvm_verify_update_input (size:192b/24B) */ |
5764 | }; | ||
5765 | |||
5766 | /* hwrm_nvm_verify_update */ | ||
5767 | /* Input (24 bytes) */ | ||
5768 | struct hwrm_nvm_verify_update_input { | 6027 | struct hwrm_nvm_verify_update_input { |
5769 | __le16 req_type; | 6028 | __le16 req_type; |
5770 | __le16 cmpl_ring; | 6029 | __le16 cmpl_ring; |
5771 | __le16 seq_id; | 6030 | __le16 seq_id; |
5772 | __le16 target_id; | 6031 | __le16 target_id; |
5773 | __le64 resp_addr; | 6032 | __le64 resp_addr; |
5774 | __le16 dir_type; | 6033 | __le16 dir_type; |
5775 | __le16 dir_ordinal; | 6034 | __le16 dir_ordinal; |
5776 | __le16 dir_ext; | 6035 | __le16 dir_ext; |
5777 | __le16 unused_0; | 6036 | u8 unused_0[2]; |
5778 | }; | 6037 | }; |
5779 | 6038 | ||
5780 | /* Output (16 bytes) */ | 6039 | /* hwrm_nvm_verify_update_output (size:128b/16B) */ |
5781 | struct hwrm_nvm_verify_update_output { | 6040 | struct hwrm_nvm_verify_update_output { |
5782 | __le16 error_code; | 6041 | __le16 error_code; |
5783 | __le16 req_type; | 6042 | __le16 req_type; |
5784 | __le16 seq_id; | 6043 | __le16 seq_id; |
5785 | __le16 resp_len; | 6044 | __le16 resp_len; |
5786 | __le32 unused_0; | 6045 | u8 unused_0[7]; |
5787 | u8 unused_1; | 6046 | u8 valid; |
5788 | u8 unused_2; | 6047 | }; |
5789 | u8 unused_3; | 6048 | |
5790 | u8 valid; | 6049 | /* hwrm_nvm_install_update_input (size:192b/24B) */ |
5791 | }; | ||
5792 | |||
5793 | /* hwrm_nvm_install_update */ | ||
5794 | /* Input (24 bytes) */ | ||
5795 | struct hwrm_nvm_install_update_input { | 6050 | struct hwrm_nvm_install_update_input { |
5796 | __le16 req_type; | 6051 | __le16 req_type; |
5797 | __le16 cmpl_ring; | 6052 | __le16 cmpl_ring; |
5798 | __le16 seq_id; | 6053 | __le16 seq_id; |
5799 | __le16 target_id; | 6054 | __le16 target_id; |
5800 | __le64 resp_addr; | 6055 | __le64 resp_addr; |
5801 | __le32 install_type; | 6056 | __le32 install_type; |
5802 | #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_NORMAL 0x0UL | 6057 | #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_NORMAL 0x0UL |
5803 | #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL 0xffffffffUL | 6058 | #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL 0xffffffffUL |
5804 | __le16 flags; | 6059 | #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_LAST NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL |
5805 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_ERASE_UNUSED_SPACE 0x1UL | 6060 | __le16 flags; |
5806 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_REMOVE_UNUSED_PKG 0x2UL | 6061 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_ERASE_UNUSED_SPACE 0x1UL |
5807 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG 0x4UL | 6062 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_REMOVE_UNUSED_PKG 0x2UL |
5808 | __le16 unused_0; | 6063 | #define NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG 0x4UL |
5809 | }; | 6064 | u8 unused_0[2]; |
5810 | 6065 | }; | |
5811 | /* Output (24 bytes) */ | 6066 | |
6067 | /* hwrm_nvm_install_update_output (size:192b/24B) */ | ||
5812 | struct hwrm_nvm_install_update_output { | 6068 | struct hwrm_nvm_install_update_output { |
5813 | __le16 error_code; | 6069 | __le16 error_code; |
5814 | __le16 req_type; | 6070 | __le16 req_type; |
5815 | __le16 seq_id; | 6071 | __le16 seq_id; |
5816 | __le16 resp_len; | 6072 | __le16 resp_len; |
5817 | __le64 installed_items; | 6073 | __le64 installed_items; |
5818 | u8 result; | 6074 | u8 result; |
5819 | #define NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS 0x0UL | 6075 | #define NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS 0x0UL |
5820 | u8 problem_item; | 6076 | #define NVM_INSTALL_UPDATE_RESP_RESULT_LAST NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS |
5821 | #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_NONE 0x0UL | 6077 | u8 problem_item; |
5822 | #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE 0xffUL | 6078 | #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_NONE 0x0UL |
5823 | u8 reset_required; | 6079 | #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE 0xffUL |
5824 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_NONE 0x0UL | 6080 | #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_LAST NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE |
5825 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_PCI 0x1UL | 6081 | u8 reset_required; |
5826 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER 0x2UL | 6082 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_NONE 0x0UL |
5827 | u8 unused_0; | 6083 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_PCI 0x1UL |
5828 | u8 unused_1; | 6084 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER 0x2UL |
5829 | u8 unused_2; | 6085 | #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_LAST NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER |
5830 | u8 unused_3; | 6086 | u8 unused_0[4]; |
5831 | u8 valid; | 6087 | u8 valid; |
5832 | }; | 6088 | }; |
5833 | 6089 | ||
5834 | /* Command specific Error Codes (8 bytes) */ | 6090 | /* hwrm_nvm_install_update_cmd_err (size:64b/8B) */ |
5835 | struct hwrm_nvm_install_update_cmd_err { | 6091 | struct hwrm_nvm_install_update_cmd_err { |
5836 | u8 code; | 6092 | u8 code; |
5837 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN 0x0UL | 6093 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN 0x0UL |
5838 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR 0x1UL | 6094 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR 0x1UL |
5839 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE 0x2UL | 6095 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE 0x2UL |
5840 | u8 unused_0[7]; | 6096 | #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_LAST NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE |
6097 | u8 unused_0[7]; | ||
5841 | }; | 6098 | }; |
5842 | 6099 | ||
5843 | /* hwrm_nvm_get_variable */ | 6100 | /* hwrm_nvm_get_variable_input (size:320b/40B) */ |
5844 | /* Input (40 bytes) */ | ||
5845 | struct hwrm_nvm_get_variable_input { | 6101 | struct hwrm_nvm_get_variable_input { |
5846 | __le16 req_type; | 6102 | __le16 req_type; |
5847 | __le16 cmpl_ring; | 6103 | __le16 cmpl_ring; |
5848 | __le16 seq_id; | 6104 | __le16 seq_id; |
5849 | __le16 target_id; | 6105 | __le16 target_id; |
5850 | __le64 resp_addr; | 6106 | __le64 resp_addr; |
5851 | __le64 dest_data_addr; | 6107 | __le64 dest_data_addr; |
5852 | __le16 data_len; | 6108 | __le16 data_len; |
5853 | __le16 option_num; | 6109 | __le16 option_num; |
5854 | #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL | 6110 | #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL |
5855 | #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL | 6111 | #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL |
5856 | __le16 dimensions; | 6112 | #define NVM_GET_VARIABLE_REQ_OPTION_NUM_LAST NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF |
5857 | __le16 index_0; | 6113 | __le16 dimensions; |
5858 | __le16 index_1; | 6114 | __le16 index_0; |
5859 | __le16 index_2; | 6115 | __le16 index_1; |
5860 | __le16 index_3; | 6116 | __le16 index_2; |
5861 | u8 flags; | 6117 | __le16 index_3; |
5862 | #define NVM_GET_VARIABLE_REQ_FLAGS_FACTORY_DFLT 0x1UL | 6118 | u8 flags; |
5863 | u8 unused_0; | 6119 | #define NVM_GET_VARIABLE_REQ_FLAGS_FACTORY_DFLT 0x1UL |
5864 | }; | 6120 | u8 unused_0; |
5865 | 6121 | }; | |
5866 | /* Output (16 bytes) */ | 6122 | |
6123 | /* hwrm_nvm_get_variable_output (size:128b/16B) */ | ||
5867 | struct hwrm_nvm_get_variable_output { | 6124 | struct hwrm_nvm_get_variable_output { |
5868 | __le16 error_code; | 6125 | __le16 error_code; |
5869 | __le16 req_type; | 6126 | __le16 req_type; |
5870 | __le16 seq_id; | 6127 | __le16 seq_id; |
5871 | __le16 resp_len; | 6128 | __le16 resp_len; |
5872 | __le16 data_len; | 6129 | __le16 data_len; |
5873 | __le16 option_num; | 6130 | __le16 option_num; |
5874 | #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_0 0x0UL | 6131 | #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_0 0x0UL |
5875 | #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF 0xffffUL | 6132 | #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF 0xffffUL |
5876 | u8 unused_0; | 6133 | #define NVM_GET_VARIABLE_RESP_OPTION_NUM_LAST NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF |
5877 | u8 unused_1; | 6134 | u8 unused_0[3]; |
5878 | u8 unused_2; | 6135 | u8 valid; |
5879 | u8 valid; | 6136 | }; |
5880 | }; | 6137 | |
5881 | 6138 | /* hwrm_nvm_get_variable_cmd_err (size:64b/8B) */ | |
5882 | /* Command specific Error Codes (8 bytes) */ | ||
5883 | struct hwrm_nvm_get_variable_cmd_err { | 6139 | struct hwrm_nvm_get_variable_cmd_err { |
5884 | u8 code; | 6140 | u8 code; |
5885 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL | 6141 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL |
5886 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL | 6142 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL |
5887 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL | 6143 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL |
5888 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT 0x3UL | 6144 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT 0x3UL |
5889 | u8 unused_0[7]; | 6145 | #define NVM_GET_VARIABLE_CMD_ERR_CODE_LAST NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT |
6146 | u8 unused_0[7]; | ||
5890 | }; | 6147 | }; |
5891 | 6148 | ||
5892 | /* hwrm_nvm_set_variable */ | 6149 | /* hwrm_nvm_set_variable_input (size:320b/40B) */ |
5893 | /* Input (40 bytes) */ | ||
5894 | struct hwrm_nvm_set_variable_input { | 6150 | struct hwrm_nvm_set_variable_input { |
5895 | __le16 req_type; | 6151 | __le16 req_type; |
5896 | __le16 cmpl_ring; | 6152 | __le16 cmpl_ring; |
5897 | __le16 seq_id; | 6153 | __le16 seq_id; |
5898 | __le16 target_id; | 6154 | __le16 target_id; |
5899 | __le64 resp_addr; | 6155 | __le64 resp_addr; |
5900 | __le64 src_data_addr; | 6156 | __le64 src_data_addr; |
5901 | __le16 data_len; | 6157 | __le16 data_len; |
5902 | __le16 option_num; | 6158 | __le16 option_num; |
5903 | #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL | 6159 | #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL |
5904 | #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL | 6160 | #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL |
5905 | __le16 dimensions; | 6161 | #define NVM_SET_VARIABLE_REQ_OPTION_NUM_LAST NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF |
5906 | __le16 index_0; | 6162 | __le16 dimensions; |
5907 | __le16 index_1; | 6163 | __le16 index_0; |
5908 | __le16 index_2; | 6164 | __le16 index_1; |
5909 | __le16 index_3; | 6165 | __le16 index_2; |
5910 | u8 flags; | 6166 | __le16 index_3; |
5911 | #define NVM_SET_VARIABLE_REQ_FLAGS_FORCE_FLUSH 0x1UL | 6167 | u8 flags; |
5912 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_MASK 0xeUL | 6168 | #define NVM_SET_VARIABLE_REQ_FLAGS_FORCE_FLUSH 0x1UL |
5913 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_SFT 1 | 6169 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_MASK 0xeUL |
5914 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_NONE (0x0UL << 1) | 6170 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_SFT 1 |
5915 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1 (0x1UL << 1) | 6171 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_NONE (0x0UL << 1) |
5916 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_LAST NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1 | 6172 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1 (0x1UL << 1) |
5917 | u8 unused_0; | 6173 | #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_LAST NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1 |
5918 | }; | 6174 | u8 unused_0; |
5919 | 6175 | }; | |
5920 | /* Output (16 bytes) */ | 6176 | |
6177 | /* hwrm_nvm_set_variable_output (size:128b/16B) */ | ||
5921 | struct hwrm_nvm_set_variable_output { | 6178 | struct hwrm_nvm_set_variable_output { |
5922 | __le16 error_code; | 6179 | __le16 error_code; |
5923 | __le16 req_type; | 6180 | __le16 req_type; |
5924 | __le16 seq_id; | 6181 | __le16 seq_id; |
5925 | __le16 resp_len; | 6182 | __le16 resp_len; |
5926 | __le32 unused_0; | 6183 | u8 unused_0[7]; |
5927 | u8 unused_1; | 6184 | u8 valid; |
5928 | u8 unused_2; | 6185 | }; |
5929 | u8 unused_3; | 6186 | |
5930 | u8 valid; | 6187 | /* hwrm_nvm_set_variable_cmd_err (size:64b/8B) */ |
5931 | }; | ||
5932 | |||
5933 | /* Command specific Error Codes (8 bytes) */ | ||
5934 | struct hwrm_nvm_set_variable_cmd_err { | 6188 | struct hwrm_nvm_set_variable_cmd_err { |
5935 | u8 code; | 6189 | u8 code; |
5936 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL | 6190 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL |
5937 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL | 6191 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL |
5938 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL | 6192 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL |
5939 | u8 unused_0[7]; | 6193 | #define NVM_SET_VARIABLE_CMD_ERR_CODE_LAST NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR |
6194 | u8 unused_0[7]; | ||
5940 | }; | 6195 | }; |
5941 | 6196 | ||
5942 | /* hwrm_selftest_qlist */ | 6197 | /* hwrm_selftest_qlist_input (size:128b/16B) */ |
5943 | /* Input (16 bytes) */ | ||
5944 | struct hwrm_selftest_qlist_input { | 6198 | struct hwrm_selftest_qlist_input { |
5945 | __le16 req_type; | 6199 | __le16 req_type; |
5946 | __le16 cmpl_ring; | 6200 | __le16 cmpl_ring; |
5947 | __le16 seq_id; | 6201 | __le16 seq_id; |
5948 | __le16 target_id; | 6202 | __le16 target_id; |
5949 | __le64 resp_addr; | 6203 | __le64 resp_addr; |
5950 | }; | 6204 | }; |
5951 | 6205 | ||
5952 | /* Output (280 bytes) */ | 6206 | /* hwrm_selftest_qlist_output (size:2240b/280B) */ |
5953 | struct hwrm_selftest_qlist_output { | 6207 | struct hwrm_selftest_qlist_output { |
5954 | __le16 error_code; | 6208 | __le16 error_code; |
5955 | __le16 req_type; | 6209 | __le16 req_type; |
5956 | __le16 seq_id; | 6210 | __le16 seq_id; |
5957 | __le16 resp_len; | 6211 | __le16 resp_len; |
5958 | u8 num_tests; | 6212 | u8 num_tests; |
5959 | u8 available_tests; | 6213 | u8 available_tests; |
5960 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_NVM_TEST 0x1UL | 6214 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_NVM_TEST 0x1UL |
5961 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_LINK_TEST 0x2UL | 6215 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_LINK_TEST 0x2UL |
5962 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_REGISTER_TEST 0x4UL | 6216 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_REGISTER_TEST 0x4UL |
5963 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_MEMORY_TEST 0x8UL | 6217 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_MEMORY_TEST 0x8UL |
5964 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_PCIE_SERDES_TEST 0x10UL | 6218 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_PCIE_SERDES_TEST 0x10UL |
5965 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_ETHERNET_SERDES_TEST 0x20UL | 6219 | #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_ETHERNET_SERDES_TEST 0x20UL |
5966 | u8 offline_tests; | 6220 | u8 offline_tests; |
5967 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_NVM_TEST 0x1UL | 6221 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_NVM_TEST 0x1UL |
5968 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_LINK_TEST 0x2UL | 6222 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_LINK_TEST 0x2UL |
5969 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_REGISTER_TEST 0x4UL | 6223 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_REGISTER_TEST 0x4UL |
5970 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_MEMORY_TEST 0x8UL | 6224 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_MEMORY_TEST 0x8UL |
5971 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_PCIE_SERDES_TEST 0x10UL | 6225 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_PCIE_SERDES_TEST 0x10UL |
5972 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_ETHERNET_SERDES_TEST 0x20UL | 6226 | #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_ETHERNET_SERDES_TEST 0x20UL |
5973 | u8 unused_0; | 6227 | u8 unused_0; |
5974 | __le16 test_timeout; | 6228 | __le16 test_timeout; |
5975 | u8 unused_1; | 6229 | u8 unused_1[2]; |
5976 | u8 unused_2; | 6230 | char test0_name[32]; |
5977 | char test0_name[32]; | 6231 | char test1_name[32]; |
5978 | char test1_name[32]; | 6232 | char test2_name[32]; |
5979 | char test2_name[32]; | 6233 | char test3_name[32]; |
5980 | char test3_name[32]; | 6234 | char test4_name[32]; |
5981 | char test4_name[32]; | 6235 | char test5_name[32]; |
5982 | char test5_name[32]; | 6236 | char test6_name[32]; |
5983 | char test6_name[32]; | 6237 | char test7_name[32]; |
5984 | char test7_name[32]; | 6238 | u8 unused_2[7]; |
5985 | __le32 unused_3; | 6239 | u8 valid; |
5986 | u8 unused_4; | 6240 | }; |
5987 | u8 unused_5; | 6241 | |
5988 | u8 unused_6; | 6242 | /* hwrm_selftest_exec_input (size:192b/24B) */ |
5989 | u8 valid; | ||
5990 | }; | ||
5991 | |||
5992 | /* hwrm_selftest_exec */ | ||
5993 | /* Input (24 bytes) */ | ||
5994 | struct hwrm_selftest_exec_input { | 6243 | struct hwrm_selftest_exec_input { |
5995 | __le16 req_type; | 6244 | __le16 req_type; |
5996 | __le16 cmpl_ring; | 6245 | __le16 cmpl_ring; |
5997 | __le16 seq_id; | 6246 | __le16 seq_id; |
5998 | __le16 target_id; | 6247 | __le16 target_id; |
5999 | __le64 resp_addr; | 6248 | __le64 resp_addr; |
6000 | u8 flags; | 6249 | u8 flags; |
6001 | #define SELFTEST_EXEC_REQ_FLAGS_NVM_TEST 0x1UL | 6250 | #define SELFTEST_EXEC_REQ_FLAGS_NVM_TEST 0x1UL |
6002 | #define SELFTEST_EXEC_REQ_FLAGS_LINK_TEST 0x2UL | 6251 | #define SELFTEST_EXEC_REQ_FLAGS_LINK_TEST 0x2UL |
6003 | #define SELFTEST_EXEC_REQ_FLAGS_REGISTER_TEST 0x4UL | 6252 | #define SELFTEST_EXEC_REQ_FLAGS_REGISTER_TEST 0x4UL |
6004 | #define SELFTEST_EXEC_REQ_FLAGS_MEMORY_TEST 0x8UL | 6253 | #define SELFTEST_EXEC_REQ_FLAGS_MEMORY_TEST 0x8UL |
6005 | #define SELFTEST_EXEC_REQ_FLAGS_PCIE_SERDES_TEST 0x10UL | 6254 | #define SELFTEST_EXEC_REQ_FLAGS_PCIE_SERDES_TEST 0x10UL |
6006 | #define SELFTEST_EXEC_REQ_FLAGS_ETHERNET_SERDES_TEST 0x20UL | 6255 | #define SELFTEST_EXEC_REQ_FLAGS_ETHERNET_SERDES_TEST 0x20UL |
6007 | u8 unused_0[7]; | 6256 | u8 pcie_lane_num; |
6008 | }; | 6257 | u8 unused_0[6]; |
6009 | 6258 | }; | |
6010 | /* Output (16 bytes) */ | 6259 | |
6260 | /* hwrm_selftest_exec_output (size:128b/16B) */ | ||
6011 | struct hwrm_selftest_exec_output { | 6261 | struct hwrm_selftest_exec_output { |
6012 | __le16 error_code; | 6262 | __le16 error_code; |
6013 | __le16 req_type; | 6263 | __le16 req_type; |
6014 | __le16 seq_id; | 6264 | __le16 seq_id; |
6015 | __le16 resp_len; | 6265 | __le16 resp_len; |
6016 | u8 requested_tests; | 6266 | u8 requested_tests; |
6017 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_NVM_TEST 0x1UL | 6267 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_NVM_TEST 0x1UL |
6018 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_LINK_TEST 0x2UL | 6268 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_LINK_TEST 0x2UL |
6019 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_REGISTER_TEST 0x4UL | 6269 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_REGISTER_TEST 0x4UL |
6020 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_MEMORY_TEST 0x8UL | 6270 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_MEMORY_TEST 0x8UL |
6021 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_PCIE_SERDES_TEST 0x10UL | 6271 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_PCIE_SERDES_TEST 0x10UL |
6022 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_ETHERNET_SERDES_TEST 0x20UL | 6272 | #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_ETHERNET_SERDES_TEST 0x20UL |
6023 | u8 test_success; | 6273 | u8 test_success; |
6024 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_NVM_TEST 0x1UL | 6274 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_NVM_TEST 0x1UL |
6025 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_LINK_TEST 0x2UL | 6275 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_LINK_TEST 0x2UL |
6026 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_REGISTER_TEST 0x4UL | 6276 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_REGISTER_TEST 0x4UL |
6027 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_MEMORY_TEST 0x8UL | 6277 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_MEMORY_TEST 0x8UL |
6028 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_PCIE_SERDES_TEST 0x10UL | 6278 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_PCIE_SERDES_TEST 0x10UL |
6029 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_ETHERNET_SERDES_TEST 0x20UL | 6279 | #define SELFTEST_EXEC_RESP_TEST_SUCCESS_ETHERNET_SERDES_TEST 0x20UL |
6030 | u8 unused_0; | 6280 | u8 unused_0[5]; |
6031 | u8 unused_1; | 6281 | u8 valid; |
6032 | u8 unused_2; | 6282 | }; |
6033 | u8 unused_3; | 6283 | |
6034 | u8 unused_4; | 6284 | /* hwrm_selftest_irq_input (size:128b/16B) */ |
6035 | u8 valid; | ||
6036 | }; | ||
6037 | |||
6038 | /* hwrm_selftest_irq */ | ||
6039 | /* Input (16 bytes) */ | ||
6040 | struct hwrm_selftest_irq_input { | 6285 | struct hwrm_selftest_irq_input { |
6041 | __le16 req_type; | 6286 | __le16 req_type; |
6042 | __le16 cmpl_ring; | 6287 | __le16 cmpl_ring; |
6043 | __le16 seq_id; | 6288 | __le16 seq_id; |
6044 | __le16 target_id; | 6289 | __le16 target_id; |
6045 | __le64 resp_addr; | 6290 | __le64 resp_addr; |
6046 | }; | 6291 | }; |
6047 | 6292 | ||
6048 | /* Output (16 bytes) */ | 6293 | /* hwrm_selftest_irq_output (size:128b/16B) */ |
6049 | struct hwrm_selftest_irq_output { | 6294 | struct hwrm_selftest_irq_output { |
6050 | __le16 error_code; | 6295 | __le16 error_code; |
6051 | __le16 req_type; | 6296 | __le16 req_type; |
6052 | __le16 seq_id; | 6297 | __le16 seq_id; |
6053 | __le16 resp_len; | 6298 | __le16 resp_len; |
6054 | __le32 unused_0; | 6299 | u8 unused_0[7]; |
6055 | u8 unused_1; | 6300 | u8 valid; |
6056 | u8 unused_2; | ||
6057 | u8 unused_3; | ||
6058 | u8 valid; | ||
6059 | }; | ||
6060 | |||
6061 | /* hwrm_selftest_retrieve_serdes_data */ | ||
6062 | /* Input (32 bytes) */ | ||
6063 | struct hwrm_selftest_retrieve_serdes_data_input { | ||
6064 | __le16 req_type; | ||
6065 | __le16 cmpl_ring; | ||
6066 | __le16 seq_id; | ||
6067 | __le16 target_id; | ||
6068 | __le64 resp_addr; | ||
6069 | __le64 resp_data_addr; | ||
6070 | __le32 resp_data_offset; | ||
6071 | __le16 data_len; | ||
6072 | u8 flags; | ||
6073 | #define SELFTEST_RETRIEVE_SERDES_DATA_REQ_FLAGS_UNUSED_TEST_MASK 0xfUL | ||
6074 | #define SELFTEST_RETRIEVE_SERDES_DATA_REQ_FLAGS_UNUSED_TEST_SFT 0 | ||
6075 | #define SELFTEST_RETRIEVE_SERDES_DATA_REQ_FLAGS_PCIE_SERDES_TEST 0x10UL | ||
6076 | #define SELFTEST_RETRIEVE_SERDES_DATA_REQ_FLAGS_ETHERNET_SERDES_TEST 0x20UL | ||
6077 | u8 unused_0; | ||
6078 | }; | ||
6079 | |||
6080 | /* Output (16 bytes) */ | ||
6081 | struct hwrm_selftest_retrieve_serdes_data_output { | ||
6082 | __le16 error_code; | ||
6083 | __le16 req_type; | ||
6084 | __le16 seq_id; | ||
6085 | __le16 resp_len; | ||
6086 | __le16 total_data_len; | ||
6087 | __le16 copied_data_len; | ||
6088 | u8 unused_0; | ||
6089 | u8 unused_1; | ||
6090 | u8 unused_2; | ||
6091 | u8 valid; | ||
6092 | }; | ||
6093 | |||
6094 | /* Hardware Resource Manager Specification */ | ||
6095 | /* Input (16 bytes) */ | ||
6096 | struct input { | ||
6097 | __le16 req_type; | ||
6098 | __le16 cmpl_ring; | ||
6099 | __le16 seq_id; | ||
6100 | __le16 target_id; | ||
6101 | __le64 resp_addr; | ||
6102 | }; | ||
6103 | |||
6104 | /* Output (8 bytes) */ | ||
6105 | struct output { | ||
6106 | __le16 error_code; | ||
6107 | __le16 req_type; | ||
6108 | __le16 seq_id; | ||
6109 | __le16 resp_len; | ||
6110 | }; | ||
6111 | |||
6112 | /* Short Command Structure (16 bytes) */ | ||
6113 | struct hwrm_short_input { | ||
6114 | __le16 req_type; | ||
6115 | __le16 signature; | ||
6116 | #define SHORT_REQ_SIGNATURE_SHORT_CMD 0x4321UL | ||
6117 | __le16 unused_0; | ||
6118 | __le16 size; | ||
6119 | __le64 req_addr; | ||
6120 | }; | ||
6121 | |||
6122 | /* Command numbering (8 bytes) */ | ||
6123 | struct cmd_nums { | ||
6124 | __le16 req_type; | ||
6125 | #define HWRM_VER_GET (0x0UL) | ||
6126 | #define HWRM_FUNC_BUF_UNRGTR (0xeUL) | ||
6127 | #define HWRM_FUNC_VF_CFG (0xfUL) | ||
6128 | #define RESERVED1 (0x10UL) | ||
6129 | #define HWRM_FUNC_RESET (0x11UL) | ||
6130 | #define HWRM_FUNC_GETFID (0x12UL) | ||
6131 | #define HWRM_FUNC_VF_ALLOC (0x13UL) | ||
6132 | #define HWRM_FUNC_VF_FREE (0x14UL) | ||
6133 | #define HWRM_FUNC_QCAPS (0x15UL) | ||
6134 | #define HWRM_FUNC_QCFG (0x16UL) | ||
6135 | #define HWRM_FUNC_CFG (0x17UL) | ||
6136 | #define HWRM_FUNC_QSTATS (0x18UL) | ||
6137 | #define HWRM_FUNC_CLR_STATS (0x19UL) | ||
6138 | #define HWRM_FUNC_DRV_UNRGTR (0x1aUL) | ||
6139 | #define HWRM_FUNC_VF_RESC_FREE (0x1bUL) | ||
6140 | #define HWRM_FUNC_VF_VNIC_IDS_QUERY (0x1cUL) | ||
6141 | #define HWRM_FUNC_DRV_RGTR (0x1dUL) | ||
6142 | #define HWRM_FUNC_DRV_QVER (0x1eUL) | ||
6143 | #define HWRM_FUNC_BUF_RGTR (0x1fUL) | ||
6144 | #define HWRM_PORT_PHY_CFG (0x20UL) | ||
6145 | #define HWRM_PORT_MAC_CFG (0x21UL) | ||
6146 | #define HWRM_PORT_TS_QUERY (0x22UL) | ||
6147 | #define HWRM_PORT_QSTATS (0x23UL) | ||
6148 | #define HWRM_PORT_LPBK_QSTATS (0x24UL) | ||
6149 | #define HWRM_PORT_CLR_STATS (0x25UL) | ||
6150 | #define HWRM_PORT_LPBK_CLR_STATS (0x26UL) | ||
6151 | #define HWRM_PORT_PHY_QCFG (0x27UL) | ||
6152 | #define HWRM_PORT_MAC_QCFG (0x28UL) | ||
6153 | #define HWRM_PORT_MAC_PTP_QCFG (0x29UL) | ||
6154 | #define HWRM_PORT_PHY_QCAPS (0x2aUL) | ||
6155 | #define HWRM_PORT_PHY_I2C_WRITE (0x2bUL) | ||
6156 | #define HWRM_PORT_PHY_I2C_READ (0x2cUL) | ||
6157 | #define HWRM_PORT_LED_CFG (0x2dUL) | ||
6158 | #define HWRM_PORT_LED_QCFG (0x2eUL) | ||
6159 | #define HWRM_PORT_LED_QCAPS (0x2fUL) | ||
6160 | #define HWRM_QUEUE_QPORTCFG (0x30UL) | ||
6161 | #define HWRM_QUEUE_QCFG (0x31UL) | ||
6162 | #define HWRM_QUEUE_CFG (0x32UL) | ||
6163 | #define HWRM_FUNC_VLAN_CFG (0x33UL) | ||
6164 | #define HWRM_FUNC_VLAN_QCFG (0x34UL) | ||
6165 | #define HWRM_QUEUE_PFCENABLE_QCFG (0x35UL) | ||
6166 | #define HWRM_QUEUE_PFCENABLE_CFG (0x36UL) | ||
6167 | #define HWRM_QUEUE_PRI2COS_QCFG (0x37UL) | ||
6168 | #define HWRM_QUEUE_PRI2COS_CFG (0x38UL) | ||
6169 | #define HWRM_QUEUE_COS2BW_QCFG (0x39UL) | ||
6170 | #define HWRM_QUEUE_COS2BW_CFG (0x3aUL) | ||
6171 | #define HWRM_QUEUE_DSCP_QCAPS (0x3bUL) | ||
6172 | #define HWRM_QUEUE_DSCP2PRI_QCFG (0x3cUL) | ||
6173 | #define HWRM_QUEUE_DSCP2PRI_CFG (0x3dUL) | ||
6174 | #define HWRM_VNIC_ALLOC (0x40UL) | ||
6175 | #define HWRM_VNIC_FREE (0x41UL) | ||
6176 | #define HWRM_VNIC_CFG (0x42UL) | ||
6177 | #define HWRM_VNIC_QCFG (0x43UL) | ||
6178 | #define HWRM_VNIC_TPA_CFG (0x44UL) | ||
6179 | #define HWRM_VNIC_TPA_QCFG (0x45UL) | ||
6180 | #define HWRM_VNIC_RSS_CFG (0x46UL) | ||
6181 | #define HWRM_VNIC_RSS_QCFG (0x47UL) | ||
6182 | #define HWRM_VNIC_PLCMODES_CFG (0x48UL) | ||
6183 | #define HWRM_VNIC_PLCMODES_QCFG (0x49UL) | ||
6184 | #define HWRM_VNIC_QCAPS (0x4aUL) | ||
6185 | #define HWRM_RING_ALLOC (0x50UL) | ||
6186 | #define HWRM_RING_FREE (0x51UL) | ||
6187 | #define HWRM_RING_CMPL_RING_QAGGINT_PARAMS (0x52UL) | ||
6188 | #define HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS (0x53UL) | ||
6189 | #define HWRM_RING_RESET (0x5eUL) | ||
6190 | #define HWRM_RING_GRP_ALLOC (0x60UL) | ||
6191 | #define HWRM_RING_GRP_FREE (0x61UL) | ||
6192 | #define RESERVED5 (0x64UL) | ||
6193 | #define RESERVED6 (0x65UL) | ||
6194 | #define HWRM_VNIC_RSS_COS_LB_CTX_ALLOC (0x70UL) | ||
6195 | #define HWRM_VNIC_RSS_COS_LB_CTX_FREE (0x71UL) | ||
6196 | #define HWRM_CFA_L2_FILTER_ALLOC (0x90UL) | ||
6197 | #define HWRM_CFA_L2_FILTER_FREE (0x91UL) | ||
6198 | #define HWRM_CFA_L2_FILTER_CFG (0x92UL) | ||
6199 | #define HWRM_CFA_L2_SET_RX_MASK (0x93UL) | ||
6200 | #define HWRM_CFA_VLAN_ANTISPOOF_CFG (0x94UL) | ||
6201 | #define HWRM_CFA_TUNNEL_FILTER_ALLOC (0x95UL) | ||
6202 | #define HWRM_CFA_TUNNEL_FILTER_FREE (0x96UL) | ||
6203 | #define HWRM_CFA_ENCAP_RECORD_ALLOC (0x97UL) | ||
6204 | #define HWRM_CFA_ENCAP_RECORD_FREE (0x98UL) | ||
6205 | #define HWRM_CFA_NTUPLE_FILTER_ALLOC (0x99UL) | ||
6206 | #define HWRM_CFA_NTUPLE_FILTER_FREE (0x9aUL) | ||
6207 | #define HWRM_CFA_NTUPLE_FILTER_CFG (0x9bUL) | ||
6208 | #define HWRM_CFA_EM_FLOW_ALLOC (0x9cUL) | ||
6209 | #define HWRM_CFA_EM_FLOW_FREE (0x9dUL) | ||
6210 | #define HWRM_CFA_EM_FLOW_CFG (0x9eUL) | ||
6211 | #define HWRM_TUNNEL_DST_PORT_QUERY (0xa0UL) | ||
6212 | #define HWRM_TUNNEL_DST_PORT_ALLOC (0xa1UL) | ||
6213 | #define HWRM_TUNNEL_DST_PORT_FREE (0xa2UL) | ||
6214 | #define HWRM_STAT_CTX_ALLOC (0xb0UL) | ||
6215 | #define HWRM_STAT_CTX_FREE (0xb1UL) | ||
6216 | #define HWRM_STAT_CTX_QUERY (0xb2UL) | ||
6217 | #define HWRM_STAT_CTX_CLR_STATS (0xb3UL) | ||
6218 | #define HWRM_FW_RESET (0xc0UL) | ||
6219 | #define HWRM_FW_QSTATUS (0xc1UL) | ||
6220 | #define HWRM_FW_SET_TIME (0xc8UL) | ||
6221 | #define HWRM_FW_GET_TIME (0xc9UL) | ||
6222 | #define HWRM_FW_SET_STRUCTURED_DATA (0xcaUL) | ||
6223 | #define HWRM_FW_GET_STRUCTURED_DATA (0xcbUL) | ||
6224 | #define HWRM_FW_IPC_MAILBOX (0xccUL) | ||
6225 | #define HWRM_EXEC_FWD_RESP (0xd0UL) | ||
6226 | #define HWRM_REJECT_FWD_RESP (0xd1UL) | ||
6227 | #define HWRM_FWD_RESP (0xd2UL) | ||
6228 | #define HWRM_FWD_ASYNC_EVENT_CMPL (0xd3UL) | ||
6229 | #define HWRM_TEMP_MONITOR_QUERY (0xe0UL) | ||
6230 | #define HWRM_WOL_FILTER_ALLOC (0xf0UL) | ||
6231 | #define HWRM_WOL_FILTER_FREE (0xf1UL) | ||
6232 | #define HWRM_WOL_FILTER_QCFG (0xf2UL) | ||
6233 | #define HWRM_WOL_REASON_QCFG (0xf3UL) | ||
6234 | #define HWRM_CFA_METER_PROFILE_ALLOC (0xf5UL) | ||
6235 | #define HWRM_CFA_METER_PROFILE_FREE (0xf6UL) | ||
6236 | #define HWRM_CFA_METER_PROFILE_CFG (0xf7UL) | ||
6237 | #define HWRM_CFA_METER_INSTANCE_ALLOC (0xf8UL) | ||
6238 | #define HWRM_CFA_METER_INSTANCE_FREE (0xf9UL) | ||
6239 | #define HWRM_CFA_VFR_ALLOC (0xfdUL) | ||
6240 | #define HWRM_CFA_VFR_FREE (0xfeUL) | ||
6241 | #define HWRM_CFA_VF_PAIR_ALLOC (0x100UL) | ||
6242 | #define HWRM_CFA_VF_PAIR_FREE (0x101UL) | ||
6243 | #define HWRM_CFA_VF_PAIR_INFO (0x102UL) | ||
6244 | #define HWRM_CFA_FLOW_ALLOC (0x103UL) | ||
6245 | #define HWRM_CFA_FLOW_FREE (0x104UL) | ||
6246 | #define HWRM_CFA_FLOW_FLUSH (0x105UL) | ||
6247 | #define HWRM_CFA_FLOW_STATS (0x106UL) | ||
6248 | #define HWRM_CFA_FLOW_INFO (0x107UL) | ||
6249 | #define HWRM_CFA_DECAP_FILTER_ALLOC (0x108UL) | ||
6250 | #define HWRM_CFA_DECAP_FILTER_FREE (0x109UL) | ||
6251 | #define HWRM_CFA_VLAN_ANTISPOOF_QCFG (0x10aUL) | ||
6252 | #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_ALLOC (0x10bUL) | ||
6253 | #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE (0x10cUL) | ||
6254 | #define HWRM_CFA_PAIR_ALLOC (0x10dUL) | ||
6255 | #define HWRM_CFA_PAIR_FREE (0x10eUL) | ||
6256 | #define HWRM_CFA_PAIR_INFO (0x10fUL) | ||
6257 | #define HWRM_FW_IPC_MSG (0x110UL) | ||
6258 | #define HWRM_SELFTEST_QLIST (0x200UL) | ||
6259 | #define HWRM_SELFTEST_EXEC (0x201UL) | ||
6260 | #define HWRM_SELFTEST_IRQ (0x202UL) | ||
6261 | #define HWRM_SELFTEST_RETRIEVE_SERDES_DATA (0x203UL) | ||
6262 | #define HWRM_DBG_READ_DIRECT (0xff10UL) | ||
6263 | #define HWRM_DBG_READ_INDIRECT (0xff11UL) | ||
6264 | #define HWRM_DBG_WRITE_DIRECT (0xff12UL) | ||
6265 | #define HWRM_DBG_WRITE_INDIRECT (0xff13UL) | ||
6266 | #define HWRM_DBG_DUMP (0xff14UL) | ||
6267 | #define HWRM_DBG_ERASE_NVM (0xff15UL) | ||
6268 | #define HWRM_DBG_CFG (0xff16UL) | ||
6269 | #define HWRM_DBG_COREDUMP_LIST (0xff17UL) | ||
6270 | #define HWRM_DBG_COREDUMP_INITIATE (0xff18UL) | ||
6271 | #define HWRM_DBG_COREDUMP_RETRIEVE (0xff19UL) | ||
6272 | #define HWRM_NVM_FACTORY_DEFAULTS (0xffeeUL) | ||
6273 | #define HWRM_NVM_VALIDATE_OPTION (0xffefUL) | ||
6274 | #define HWRM_NVM_FLUSH (0xfff0UL) | ||
6275 | #define HWRM_NVM_GET_VARIABLE (0xfff1UL) | ||
6276 | #define HWRM_NVM_SET_VARIABLE (0xfff2UL) | ||
6277 | #define HWRM_NVM_INSTALL_UPDATE (0xfff3UL) | ||
6278 | #define HWRM_NVM_MODIFY (0xfff4UL) | ||
6279 | #define HWRM_NVM_VERIFY_UPDATE (0xfff5UL) | ||
6280 | #define HWRM_NVM_GET_DEV_INFO (0xfff6UL) | ||
6281 | #define HWRM_NVM_ERASE_DIR_ENTRY (0xfff7UL) | ||
6282 | #define HWRM_NVM_MOD_DIR_ENTRY (0xfff8UL) | ||
6283 | #define HWRM_NVM_FIND_DIR_ENTRY (0xfff9UL) | ||
6284 | #define HWRM_NVM_GET_DIR_ENTRIES (0xfffaUL) | ||
6285 | #define HWRM_NVM_GET_DIR_INFO (0xfffbUL) | ||
6286 | #define HWRM_NVM_RAW_DUMP (0xfffcUL) | ||
6287 | #define HWRM_NVM_READ (0xfffdUL) | ||
6288 | #define HWRM_NVM_WRITE (0xfffeUL) | ||
6289 | #define HWRM_NVM_RAW_WRITE_BLK (0xffffUL) | ||
6290 | __le16 unused_0[3]; | ||
6291 | }; | ||
6292 | |||
6293 | /* Return Codes (8 bytes) */ | ||
6294 | struct ret_codes { | ||
6295 | __le16 error_code; | ||
6296 | #define HWRM_ERR_CODE_SUCCESS (0x0UL) | ||
6297 | #define HWRM_ERR_CODE_FAIL (0x1UL) | ||
6298 | #define HWRM_ERR_CODE_INVALID_PARAMS (0x2UL) | ||
6299 | #define HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED (0x3UL) | ||
6300 | #define HWRM_ERR_CODE_RESOURCE_ALLOC_ERROR (0x4UL) | ||
6301 | #define HWRM_ERR_CODE_INVALID_FLAGS (0x5UL) | ||
6302 | #define HWRM_ERR_CODE_INVALID_ENABLES (0x6UL) | ||
6303 | #define HWRM_ERR_CODE_HWRM_ERROR (0xfUL) | ||
6304 | #define HWRM_ERR_CODE_UNKNOWN_ERR (0xfffeUL) | ||
6305 | #define HWRM_ERR_CODE_CMD_NOT_SUPPORTED (0xffffUL) | ||
6306 | __le16 unused_0[3]; | ||
6307 | }; | ||
6308 | |||
6309 | /* Output (16 bytes) */ | ||
6310 | struct hwrm_err_output { | ||
6311 | __le16 error_code; | ||
6312 | __le16 req_type; | ||
6313 | __le16 seq_id; | ||
6314 | __le16 resp_len; | ||
6315 | __le32 opaque_0; | ||
6316 | __le16 opaque_1; | ||
6317 | u8 cmd_err; | ||
6318 | u8 valid; | ||
6319 | }; | ||
6320 | |||
6321 | /* Port Tx Statistics Formats (408 bytes) */ | ||
6322 | struct tx_port_stats { | ||
6323 | __le64 tx_64b_frames; | ||
6324 | __le64 tx_65b_127b_frames; | ||
6325 | __le64 tx_128b_255b_frames; | ||
6326 | __le64 tx_256b_511b_frames; | ||
6327 | __le64 tx_512b_1023b_frames; | ||
6328 | __le64 tx_1024b_1518_frames; | ||
6329 | __le64 tx_good_vlan_frames; | ||
6330 | __le64 tx_1519b_2047_frames; | ||
6331 | __le64 tx_2048b_4095b_frames; | ||
6332 | __le64 tx_4096b_9216b_frames; | ||
6333 | __le64 tx_9217b_16383b_frames; | ||
6334 | __le64 tx_good_frames; | ||
6335 | __le64 tx_total_frames; | ||
6336 | __le64 tx_ucast_frames; | ||
6337 | __le64 tx_mcast_frames; | ||
6338 | __le64 tx_bcast_frames; | ||
6339 | __le64 tx_pause_frames; | ||
6340 | __le64 tx_pfc_frames; | ||
6341 | __le64 tx_jabber_frames; | ||
6342 | __le64 tx_fcs_err_frames; | ||
6343 | __le64 tx_control_frames; | ||
6344 | __le64 tx_oversz_frames; | ||
6345 | __le64 tx_single_dfrl_frames; | ||
6346 | __le64 tx_multi_dfrl_frames; | ||
6347 | __le64 tx_single_coll_frames; | ||
6348 | __le64 tx_multi_coll_frames; | ||
6349 | __le64 tx_late_coll_frames; | ||
6350 | __le64 tx_excessive_coll_frames; | ||
6351 | __le64 tx_frag_frames; | ||
6352 | __le64 tx_err; | ||
6353 | __le64 tx_tagged_frames; | ||
6354 | __le64 tx_dbl_tagged_frames; | ||
6355 | __le64 tx_runt_frames; | ||
6356 | __le64 tx_fifo_underruns; | ||
6357 | __le64 tx_pfc_ena_frames_pri0; | ||
6358 | __le64 tx_pfc_ena_frames_pri1; | ||
6359 | __le64 tx_pfc_ena_frames_pri2; | ||
6360 | __le64 tx_pfc_ena_frames_pri3; | ||
6361 | __le64 tx_pfc_ena_frames_pri4; | ||
6362 | __le64 tx_pfc_ena_frames_pri5; | ||
6363 | __le64 tx_pfc_ena_frames_pri6; | ||
6364 | __le64 tx_pfc_ena_frames_pri7; | ||
6365 | __le64 tx_eee_lpi_events; | ||
6366 | __le64 tx_eee_lpi_duration; | ||
6367 | __le64 tx_llfc_logical_msgs; | ||
6368 | __le64 tx_hcfc_msgs; | ||
6369 | __le64 tx_total_collisions; | ||
6370 | __le64 tx_bytes; | ||
6371 | __le64 tx_xthol_frames; | ||
6372 | __le64 tx_stat_discard; | ||
6373 | __le64 tx_stat_error; | ||
6374 | }; | ||
6375 | |||
6376 | /* Port Rx Statistics Formats (528 bytes) */ | ||
6377 | struct rx_port_stats { | ||
6378 | __le64 rx_64b_frames; | ||
6379 | __le64 rx_65b_127b_frames; | ||
6380 | __le64 rx_128b_255b_frames; | ||
6381 | __le64 rx_256b_511b_frames; | ||
6382 | __le64 rx_512b_1023b_frames; | ||
6383 | __le64 rx_1024b_1518_frames; | ||
6384 | __le64 rx_good_vlan_frames; | ||
6385 | __le64 rx_1519b_2047b_frames; | ||
6386 | __le64 rx_2048b_4095b_frames; | ||
6387 | __le64 rx_4096b_9216b_frames; | ||
6388 | __le64 rx_9217b_16383b_frames; | ||
6389 | __le64 rx_total_frames; | ||
6390 | __le64 rx_ucast_frames; | ||
6391 | __le64 rx_mcast_frames; | ||
6392 | __le64 rx_bcast_frames; | ||
6393 | __le64 rx_fcs_err_frames; | ||
6394 | __le64 rx_ctrl_frames; | ||
6395 | __le64 rx_pause_frames; | ||
6396 | __le64 rx_pfc_frames; | ||
6397 | __le64 rx_unsupported_opcode_frames; | ||
6398 | __le64 rx_unsupported_da_pausepfc_frames; | ||
6399 | __le64 rx_wrong_sa_frames; | ||
6400 | __le64 rx_align_err_frames; | ||
6401 | __le64 rx_oor_len_frames; | ||
6402 | __le64 rx_code_err_frames; | ||
6403 | __le64 rx_false_carrier_frames; | ||
6404 | __le64 rx_ovrsz_frames; | ||
6405 | __le64 rx_jbr_frames; | ||
6406 | __le64 rx_mtu_err_frames; | ||
6407 | __le64 rx_match_crc_frames; | ||
6408 | __le64 rx_promiscuous_frames; | ||
6409 | __le64 rx_tagged_frames; | ||
6410 | __le64 rx_double_tagged_frames; | ||
6411 | __le64 rx_trunc_frames; | ||
6412 | __le64 rx_good_frames; | ||
6413 | __le64 rx_pfc_xon2xoff_frames_pri0; | ||
6414 | __le64 rx_pfc_xon2xoff_frames_pri1; | ||
6415 | __le64 rx_pfc_xon2xoff_frames_pri2; | ||
6416 | __le64 rx_pfc_xon2xoff_frames_pri3; | ||
6417 | __le64 rx_pfc_xon2xoff_frames_pri4; | ||
6418 | __le64 rx_pfc_xon2xoff_frames_pri5; | ||
6419 | __le64 rx_pfc_xon2xoff_frames_pri6; | ||
6420 | __le64 rx_pfc_xon2xoff_frames_pri7; | ||
6421 | __le64 rx_pfc_ena_frames_pri0; | ||
6422 | __le64 rx_pfc_ena_frames_pri1; | ||
6423 | __le64 rx_pfc_ena_frames_pri2; | ||
6424 | __le64 rx_pfc_ena_frames_pri3; | ||
6425 | __le64 rx_pfc_ena_frames_pri4; | ||
6426 | __le64 rx_pfc_ena_frames_pri5; | ||
6427 | __le64 rx_pfc_ena_frames_pri6; | ||
6428 | __le64 rx_pfc_ena_frames_pri7; | ||
6429 | __le64 rx_sch_crc_err_frames; | ||
6430 | __le64 rx_undrsz_frames; | ||
6431 | __le64 rx_frag_frames; | ||
6432 | __le64 rx_eee_lpi_events; | ||
6433 | __le64 rx_eee_lpi_duration; | ||
6434 | __le64 rx_llfc_physical_msgs; | ||
6435 | __le64 rx_llfc_logical_msgs; | ||
6436 | __le64 rx_llfc_msgs_with_crc_err; | ||
6437 | __le64 rx_hcfc_msgs; | ||
6438 | __le64 rx_hcfc_msgs_with_crc_err; | ||
6439 | __le64 rx_bytes; | ||
6440 | __le64 rx_runt_bytes; | ||
6441 | __le64 rx_runt_frames; | ||
6442 | __le64 rx_stat_discard; | ||
6443 | __le64 rx_stat_err; | ||
6444 | }; | ||
6445 | |||
6446 | /* VXLAN IPv4 encapsulation structure (16 bytes) */ | ||
6447 | struct hwrm_vxlan_ipv4_hdr { | ||
6448 | u8 ver_hlen; | ||
6449 | #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_MASK 0xfUL | ||
6450 | #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_SFT 0 | ||
6451 | #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_MASK 0xf0UL | ||
6452 | #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_SFT 4 | ||
6453 | u8 tos; | ||
6454 | __be16 ip_id; | ||
6455 | __be16 flags_frag_offset; | ||
6456 | u8 ttl; | ||
6457 | u8 protocol; | ||
6458 | __be32 src_ip_addr; | ||
6459 | __be32 dest_ip_addr; | ||
6460 | }; | ||
6461 | |||
6462 | /* VXLAN IPv6 encapsulation structure (32 bytes) */ | ||
6463 | struct hwrm_vxlan_ipv6_hdr { | ||
6464 | __be32 ver_tc_flow_label; | ||
6465 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_SFT 0x1cUL | ||
6466 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_MASK 0xf0000000UL | ||
6467 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_SFT 0x14UL | ||
6468 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_MASK 0xff00000UL | ||
6469 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_SFT 0x0UL | ||
6470 | #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK 0xfffffUL | ||
6471 | __be16 payload_len; | ||
6472 | u8 next_hdr; | ||
6473 | u8 ttl; | ||
6474 | __be32 src_ip_addr[4]; | ||
6475 | __be32 dest_ip_addr[4]; | ||
6476 | }; | ||
6477 | |||
6478 | /* VXLAN encapsulation structure (72 bytes) */ | ||
6479 | struct hwrm_cfa_encap_data_vxlan { | ||
6480 | u8 src_mac_addr[6]; | ||
6481 | __le16 unused_0; | ||
6482 | u8 dst_mac_addr[6]; | ||
6483 | u8 num_vlan_tags; | ||
6484 | u8 unused_1; | ||
6485 | __be16 ovlan_tpid; | ||
6486 | __be16 ovlan_tci; | ||
6487 | __be16 ivlan_tpid; | ||
6488 | __be16 ivlan_tci; | ||
6489 | __le32 l3[10]; | ||
6490 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_MASK 0xfUL | ||
6491 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV4 0x4UL | ||
6492 | #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6 0x6UL | ||
6493 | __be16 src_port; | ||
6494 | __be16 dst_port; | ||
6495 | __be32 vni; | ||
6496 | }; | ||
6497 | |||
6498 | /* Periodic Statistics Context DMA to host (160 bytes) */ | ||
6499 | struct ctx_hw_stats { | ||
6500 | __le64 rx_ucast_pkts; | ||
6501 | __le64 rx_mcast_pkts; | ||
6502 | __le64 rx_bcast_pkts; | ||
6503 | __le64 rx_discard_pkts; | ||
6504 | __le64 rx_drop_pkts; | ||
6505 | __le64 rx_ucast_bytes; | ||
6506 | __le64 rx_mcast_bytes; | ||
6507 | __le64 rx_bcast_bytes; | ||
6508 | __le64 tx_ucast_pkts; | ||
6509 | __le64 tx_mcast_pkts; | ||
6510 | __le64 tx_bcast_pkts; | ||
6511 | __le64 tx_discard_pkts; | ||
6512 | __le64 tx_drop_pkts; | ||
6513 | __le64 tx_ucast_bytes; | ||
6514 | __le64 tx_mcast_bytes; | ||
6515 | __le64 tx_bcast_bytes; | ||
6516 | __le64 tpa_pkts; | ||
6517 | __le64 tpa_bytes; | ||
6518 | __le64 tpa_events; | ||
6519 | __le64 tpa_aborts; | ||
6520 | }; | ||
6521 | |||
6522 | /* Structure data header (16 bytes) */ | ||
6523 | struct hwrm_struct_hdr { | ||
6524 | __le16 struct_id; | ||
6525 | #define STRUCT_HDR_STRUCT_ID_LLDP_CFG 0x41bUL | ||
6526 | #define STRUCT_HDR_STRUCT_ID_DCBX_ETS 0x41dUL | ||
6527 | #define STRUCT_HDR_STRUCT_ID_DCBX_PFC 0x41fUL | ||
6528 | #define STRUCT_HDR_STRUCT_ID_DCBX_APP 0x421UL | ||
6529 | #define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE 0x422UL | ||
6530 | #define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC 0x424UL | ||
6531 | #define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE 0x426UL | ||
6532 | #define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE 0x1UL | ||
6533 | #define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION 0xaUL | ||
6534 | #define STRUCT_HDR_STRUCT_ID_RSS_V2 0x64UL | ||
6535 | __le16 len; | ||
6536 | u8 version; | ||
6537 | u8 count; | ||
6538 | __le16 subtype; | ||
6539 | __le16 next_offset; | ||
6540 | #define STRUCT_HDR_NEXT_OFFSET_LAST 0x0UL | ||
6541 | __le16 unused_0[3]; | ||
6542 | }; | ||
6543 | |||
6544 | /* DCBX Application configuration structure (1057) (8 bytes) */ | ||
6545 | struct hwrm_struct_data_dcbx_app { | ||
6546 | __be16 protocol_id; | ||
6547 | u8 protocol_selector; | ||
6548 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_ETHER_TYPE 0x1UL | ||
6549 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_PORT 0x2UL | ||
6550 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_UDP_PORT 0x3UL | ||
6551 | #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT 0x4UL | ||
6552 | u8 priority; | ||
6553 | u8 valid; | ||
6554 | u8 unused_0[3]; | ||
6555 | }; | 6301 | }; |
6556 | 6302 | ||
6557 | #endif | 6303 | #endif /* _BNXT_HSI_H_ */ |