.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ |
---|
1 | 2 | /* QLogic qed NIC Driver |
---|
2 | 3 | * Copyright (c) 2015-2017 QLogic Corporation |
---|
3 | | - * |
---|
4 | | - * This software is available to you under a choice of one of two |
---|
5 | | - * licenses. You may choose to be licensed under the terms of the GNU |
---|
6 | | - * General Public License (GPL) Version 2, available from the file |
---|
7 | | - * COPYING in the main directory of this source tree, or the |
---|
8 | | - * OpenIB.org BSD license below: |
---|
9 | | - * |
---|
10 | | - * Redistribution and use in source and binary forms, with or |
---|
11 | | - * without modification, are permitted provided that the following |
---|
12 | | - * conditions are met: |
---|
13 | | - * |
---|
14 | | - * - Redistributions of source code must retain the above |
---|
15 | | - * copyright notice, this list of conditions and the following |
---|
16 | | - * disclaimer. |
---|
17 | | - * |
---|
18 | | - * - Redistributions in binary form must reproduce the above |
---|
19 | | - * copyright notice, this list of conditions and the following |
---|
20 | | - * disclaimer in the documentation and /or other materials |
---|
21 | | - * provided with the distribution. |
---|
22 | | - * |
---|
23 | | - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
---|
24 | | - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
---|
25 | | - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
---|
26 | | - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS |
---|
27 | | - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
---|
28 | | - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
---|
29 | | - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
---|
30 | | - * SOFTWARE. |
---|
| 4 | + * Copyright (c) 2019-2020 Marvell International Ltd. |
---|
31 | 5 | */ |
---|
32 | 6 | |
---|
33 | 7 | #ifndef __ISCSI_COMMON__ |
---|
.. | .. |
---|
896 | 870 | __le32 exp_cont_len; |
---|
897 | 871 | __le32 total_data_acked; |
---|
898 | 872 | __le32 exp_data_acked; |
---|
899 | | - u8 next_tid_valid; |
---|
| 873 | + u8 byte2; |
---|
900 | 874 | u8 byte3; |
---|
901 | 875 | __le16 word1; |
---|
902 | 876 | __le16 next_tid; |
---|
.. | .. |
---|
999 | 973 | struct regpair r2tq_pbl_addr; |
---|
1000 | 974 | struct regpair xhq_pbl_addr; |
---|
1001 | 975 | struct regpair uhq_pbl_addr; |
---|
1002 | | - __le32 initial_ack; |
---|
1003 | 976 | __le16 physical_q0; |
---|
1004 | 977 | __le16 physical_q1; |
---|
1005 | 978 | u8 flags; |
---|
.. | .. |
---|
1011 | 984 | #define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_SHIFT 2 |
---|
1012 | 985 | #define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_MASK 0x1F |
---|
1013 | 986 | #define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_SHIFT 3 |
---|
1014 | | - u8 pbl_page_size_log; |
---|
1015 | | - u8 pbe_page_size_log; |
---|
1016 | 987 | u8 default_cq; |
---|
| 988 | + __le16 reserved0; |
---|
1017 | 989 | __le32 stat_sn; |
---|
| 990 | + __le32 initial_ack; |
---|
1018 | 991 | }; |
---|
1019 | 992 | |
---|
1020 | 993 | /* iSCSI connection statistics */ |
---|
.. | .. |
---|
1029 | 1002 | __le32 reserved; |
---|
1030 | 1003 | }; |
---|
1031 | 1004 | |
---|
1032 | | -/* spe message header */ |
---|
1033 | | -struct iscsi_slow_path_hdr { |
---|
1034 | | - u8 op_code; |
---|
1035 | | - u8 flags; |
---|
1036 | | -#define ISCSI_SLOW_PATH_HDR_RESERVED0_MASK 0xF |
---|
1037 | | -#define ISCSI_SLOW_PATH_HDR_RESERVED0_SHIFT 0 |
---|
1038 | | -#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_MASK 0x7 |
---|
1039 | | -#define ISCSI_SLOW_PATH_HDR_LAYER_CODE_SHIFT 4 |
---|
1040 | | -#define ISCSI_SLOW_PATH_HDR_RESERVED1_MASK 0x1 |
---|
1041 | | -#define ISCSI_SLOW_PATH_HDR_RESERVED1_SHIFT 7 |
---|
1042 | | -}; |
---|
1043 | 1005 | |
---|
1044 | 1006 | /* iSCSI connection update params passed by driver to FW in ISCSI update |
---|
1045 | 1007 | *ramrod. |
---|
1046 | 1008 | */ |
---|
1047 | 1009 | struct iscsi_conn_update_ramrod_params { |
---|
1048 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1010 | + __le16 reserved0; |
---|
1049 | 1011 | __le16 conn_id; |
---|
1050 | | - __le32 fw_cid; |
---|
| 1012 | + __le32 reserved1; |
---|
1051 | 1013 | u8 flags; |
---|
1052 | 1014 | #define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_MASK 0x1 |
---|
1053 | 1015 | #define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_SHIFT 0 |
---|
.. | .. |
---|
1065 | 1027 | #define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_IMM_EN_SHIFT 6 |
---|
1066 | 1028 | #define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_MASK 0x1 |
---|
1067 | 1029 | #define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_SHIFT 7 |
---|
1068 | | - u8 reserved0[3]; |
---|
| 1030 | + u8 reserved3[3]; |
---|
1069 | 1031 | __le32 max_seq_size; |
---|
1070 | 1032 | __le32 max_send_pdu_length; |
---|
1071 | 1033 | __le32 max_recv_pdu_length; |
---|
.. | .. |
---|
1251 | 1213 | |
---|
1252 | 1214 | /* iSCSI connection termination request */ |
---|
1253 | 1215 | struct iscsi_spe_conn_mac_update { |
---|
1254 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1216 | + __le16 reserved0; |
---|
1255 | 1217 | __le16 conn_id; |
---|
1256 | | - __le32 fw_cid; |
---|
| 1218 | + __le32 reserved1; |
---|
1257 | 1219 | __le16 remote_mac_addr_lo; |
---|
1258 | 1220 | __le16 remote_mac_addr_mid; |
---|
1259 | 1221 | __le16 remote_mac_addr_hi; |
---|
1260 | | - u8 reserved0[2]; |
---|
| 1222 | + u8 reserved2[2]; |
---|
1261 | 1223 | }; |
---|
1262 | 1224 | |
---|
1263 | 1225 | /* iSCSI and TCP connection (Option 1) offload params passed by driver to FW in |
---|
1264 | 1226 | * iSCSI offload ramrod. |
---|
1265 | 1227 | */ |
---|
1266 | 1228 | struct iscsi_spe_conn_offload { |
---|
1267 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1229 | + __le16 reserved0; |
---|
1268 | 1230 | __le16 conn_id; |
---|
1269 | | - __le32 fw_cid; |
---|
| 1231 | + __le32 reserved1; |
---|
1270 | 1232 | struct iscsi_conn_offload_params iscsi; |
---|
1271 | 1233 | struct tcp_offload_params tcp; |
---|
1272 | 1234 | }; |
---|
.. | .. |
---|
1275 | 1237 | * iSCSI offload ramrod. |
---|
1276 | 1238 | */ |
---|
1277 | 1239 | struct iscsi_spe_conn_offload_option2 { |
---|
1278 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1240 | + __le16 reserved0; |
---|
1279 | 1241 | __le16 conn_id; |
---|
1280 | | - __le32 fw_cid; |
---|
| 1242 | + __le32 reserved1; |
---|
1281 | 1243 | struct iscsi_conn_offload_params iscsi; |
---|
1282 | 1244 | struct tcp_offload_params_opt2 tcp; |
---|
1283 | 1245 | }; |
---|
1284 | 1246 | |
---|
1285 | 1247 | /* iSCSI collect connection statistics request */ |
---|
1286 | 1248 | struct iscsi_spe_conn_statistics { |
---|
1287 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1249 | + __le16 reserved0; |
---|
1288 | 1250 | __le16 conn_id; |
---|
1289 | | - __le32 fw_cid; |
---|
| 1251 | + __le32 reserved1; |
---|
1290 | 1252 | u8 reset_stats; |
---|
1291 | | - u8 reserved0[7]; |
---|
| 1253 | + u8 reserved2[7]; |
---|
1292 | 1254 | struct regpair stats_cnts_addr; |
---|
1293 | 1255 | }; |
---|
1294 | 1256 | |
---|
1295 | 1257 | /* iSCSI connection termination request */ |
---|
1296 | 1258 | struct iscsi_spe_conn_termination { |
---|
1297 | | - struct iscsi_slow_path_hdr hdr; |
---|
| 1259 | + __le16 reserved0; |
---|
1298 | 1260 | __le16 conn_id; |
---|
1299 | | - __le32 fw_cid; |
---|
| 1261 | + __le32 reserved1; |
---|
1300 | 1262 | u8 abortive; |
---|
1301 | | - u8 reserved0[7]; |
---|
| 1263 | + u8 reserved2[7]; |
---|
1302 | 1264 | struct regpair queue_cnts_addr; |
---|
1303 | 1265 | struct regpair query_params_addr; |
---|
1304 | 1266 | }; |
---|
1305 | 1267 | |
---|
1306 | | -/* iSCSI firmware function destroy parameters */ |
---|
1307 | | -struct iscsi_spe_func_dstry { |
---|
1308 | | - struct iscsi_slow_path_hdr hdr; |
---|
1309 | | - __le16 reserved0; |
---|
1310 | | - __le32 reserved1; |
---|
1311 | | -}; |
---|
1312 | | - |
---|
1313 | 1268 | /* iSCSI firmware function init parameters */ |
---|
1314 | 1269 | struct iscsi_spe_func_init { |
---|
1315 | | - struct iscsi_slow_path_hdr hdr; |
---|
1316 | 1270 | __le16 half_way_close_timeout; |
---|
1317 | 1271 | u8 num_sq_pages_in_ring; |
---|
1318 | 1272 | u8 num_r2tq_pages_in_ring; |
---|
.. | .. |
---|
1324 | 1278 | #define ISCSI_SPE_FUNC_INIT_RESERVED0_MASK 0x7F |
---|
1325 | 1279 | #define ISCSI_SPE_FUNC_INIT_RESERVED0_SHIFT 1 |
---|
1326 | 1280 | struct iscsi_debug_modes debug_mode; |
---|
1327 | | - __le16 reserved1; |
---|
1328 | | - __le32 reserved2; |
---|
| 1281 | + u8 params; |
---|
| 1282 | +#define ISCSI_SPE_FUNC_INIT_MAX_SYN_RT_MASK 0xF |
---|
| 1283 | +#define ISCSI_SPE_FUNC_INIT_MAX_SYN_RT_SHIFT 0 |
---|
| 1284 | +#define ISCSI_SPE_FUNC_INIT_RESERVED1_MASK 0xF |
---|
| 1285 | +#define ISCSI_SPE_FUNC_INIT_RESERVED1_SHIFT 4 |
---|
| 1286 | + u8 reserved2[7]; |
---|
1329 | 1287 | struct scsi_init_func_params func_params; |
---|
1330 | 1288 | struct scsi_init_func_queues q_params; |
---|
1331 | 1289 | }; |
---|