| .. | .. |
|---|
| 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 | }; |
|---|