Skip to content

Commit 6459d93

Browse files
Michal Kalderondavem330
authored andcommitted
qed: FW 8.42.2.0 iscsi/fcoe changes
- Remove struct iscsi_slow_path_hdr and field fw_cid from several structs - Remove struct iscsi_spe_func_dstry - Remove fields pbe_page_size_log and pbl_page_size_log from struct iscsi_conn_offload_param Signed-off-by: Manish Rangankar <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: Ariel Elior <[email protected]> Signed-off-by: Michal Kalderon <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 1392d19 commit 6459d93

File tree

6 files changed

+32
-78
lines changed

6 files changed

+32
-78
lines changed

drivers/net/ethernet/qlogic/qed/qed_fcoe.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ qed_sp_fcoe_func_start(struct qed_hwfn *p_hwfn,
167167
goto err;
168168
}
169169
p_cxt = cxt_info.p_cxt;
170+
memset(p_cxt, 0, sizeof(*p_cxt));
171+
170172
SET_FIELD(p_cxt->tstorm_ag_context.flags3,
171173
E4_TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN, 1);
172174

drivers/net/ethernet/qlogic/qed/qed_hsi.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11496,8 +11496,8 @@ struct e4_tstorm_iscsi_conn_ag_ctx {
1149611496
u8 flags3;
1149711497
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3
1149811498
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
11499-
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3
11500-
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2
11499+
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_MASK 0x3
11500+
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_SHIFT 2
1150111501
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
1150211502
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4
1150311503
#define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1
@@ -11519,8 +11519,8 @@ struct e4_tstorm_iscsi_conn_ag_ctx {
1151911519
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4
1152011520
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1
1152111521
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
11522-
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1
11523-
#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6
11522+
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_EN_MASK 0x1
11523+
#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_EN_SHIFT 6
1152411524
#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
1152511525
#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
1152611526
u8 flags5;

drivers/net/ethernet/qlogic/qed/qed_iscsi.c

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,6 @@ qed_sp_iscsi_func_start(struct qed_hwfn *p_hwfn,
204204
return -EINVAL;
205205
}
206206

207-
SET_FIELD(p_init->hdr.flags,
208-
ISCSI_SLOW_PATH_HDR_LAYER_CODE, ISCSI_SLOW_PATH_LAYER_CODE);
209-
p_init->hdr.op_code = ISCSI_RAMROD_CMD_ID_INIT_FUNC;
210-
211207
val = p_params->half_way_close_timeout;
212208
p_init->half_way_close_timeout = cpu_to_le16(val);
213209
p_init->num_sq_pages_in_ring = p_params->num_sq_pages_in_ring;
@@ -332,12 +328,7 @@ static int qed_sp_iscsi_conn_offload(struct qed_hwfn *p_hwfn,
332328
p_conn->physical_q1 = cpu_to_le16(physical_q);
333329
p_ramrod->iscsi.physical_q1 = cpu_to_le16(physical_q);
334330

335-
p_ramrod->hdr.op_code = ISCSI_RAMROD_CMD_ID_OFFLOAD_CONN;
336-
SET_FIELD(p_ramrod->hdr.flags, ISCSI_SLOW_PATH_HDR_LAYER_CODE,
337-
p_conn->layer_code);
338-
339331
p_ramrod->conn_id = cpu_to_le16(p_conn->conn_id);
340-
p_ramrod->fw_cid = cpu_to_le32(p_conn->icid);
341332

342333
DMA_REGPAIR_LE(p_ramrod->iscsi.sq_pbl_addr, p_conn->sq_pbl_addr);
343334

@@ -493,12 +484,8 @@ static int qed_sp_iscsi_conn_update(struct qed_hwfn *p_hwfn,
493484
return rc;
494485

495486
p_ramrod = &p_ent->ramrod.iscsi_conn_update;
496-
p_ramrod->hdr.op_code = ISCSI_RAMROD_CMD_ID_UPDATE_CONN;
497-
SET_FIELD(p_ramrod->hdr.flags,
498-
ISCSI_SLOW_PATH_HDR_LAYER_CODE, p_conn->layer_code);
499487

500488
p_ramrod->conn_id = cpu_to_le16(p_conn->conn_id);
501-
p_ramrod->fw_cid = cpu_to_le32(p_conn->icid);
502489
p_ramrod->flags = p_conn->update_flag;
503490
p_ramrod->max_seq_size = cpu_to_le32(p_conn->max_seq_size);
504491
dval = p_conn->max_recv_pdu_length;
@@ -538,12 +525,8 @@ qed_sp_iscsi_mac_update(struct qed_hwfn *p_hwfn,
538525
return rc;
539526

540527
p_ramrod = &p_ent->ramrod.iscsi_conn_mac_update;
541-
p_ramrod->hdr.op_code = ISCSI_RAMROD_CMD_ID_MAC_UPDATE;
542-
SET_FIELD(p_ramrod->hdr.flags,
543-
ISCSI_SLOW_PATH_HDR_LAYER_CODE, p_conn->layer_code);
544528

545529
p_ramrod->conn_id = cpu_to_le16(p_conn->conn_id);
546-
p_ramrod->fw_cid = cpu_to_le32(p_conn->icid);
547530
ucval = p_conn->remote_mac[1];
548531
((u8 *)(&p_ramrod->remote_mac_addr_hi))[0] = ucval;
549532
ucval = p_conn->remote_mac[0];
@@ -584,12 +567,8 @@ static int qed_sp_iscsi_conn_terminate(struct qed_hwfn *p_hwfn,
584567
return rc;
585568

586569
p_ramrod = &p_ent->ramrod.iscsi_conn_terminate;
587-
p_ramrod->hdr.op_code = ISCSI_RAMROD_CMD_ID_TERMINATION_CONN;
588-
SET_FIELD(p_ramrod->hdr.flags,
589-
ISCSI_SLOW_PATH_HDR_LAYER_CODE, p_conn->layer_code);
590570

591571
p_ramrod->conn_id = cpu_to_le16(p_conn->conn_id);
592-
p_ramrod->fw_cid = cpu_to_le32(p_conn->icid);
593572
p_ramrod->abortive = p_conn->abortive_dsconnect;
594573

595574
DMA_REGPAIR_LE(p_ramrod->query_params_addr,
@@ -604,7 +583,6 @@ static int qed_sp_iscsi_conn_clear_sq(struct qed_hwfn *p_hwfn,
604583
enum spq_mode comp_mode,
605584
struct qed_spq_comp_cb *p_comp_addr)
606585
{
607-
struct iscsi_slow_path_hdr *p_ramrod = NULL;
608586
struct qed_spq_entry *p_ent = NULL;
609587
struct qed_sp_init_data init_data;
610588
int rc = -EINVAL;
@@ -622,19 +600,13 @@ static int qed_sp_iscsi_conn_clear_sq(struct qed_hwfn *p_hwfn,
622600
if (rc)
623601
return rc;
624602

625-
p_ramrod = &p_ent->ramrod.iscsi_empty;
626-
p_ramrod->op_code = ISCSI_RAMROD_CMD_ID_CLEAR_SQ;
627-
SET_FIELD(p_ramrod->flags,
628-
ISCSI_SLOW_PATH_HDR_LAYER_CODE, p_conn->layer_code);
629-
630603
return qed_spq_post(p_hwfn, p_ent, NULL);
631604
}
632605

633606
static int qed_sp_iscsi_func_stop(struct qed_hwfn *p_hwfn,
634607
enum spq_mode comp_mode,
635608
struct qed_spq_comp_cb *p_comp_addr)
636609
{
637-
struct iscsi_spe_func_dstry *p_ramrod = NULL;
638610
struct qed_spq_entry *p_ent = NULL;
639611
struct qed_sp_init_data init_data;
640612
int rc = 0;
@@ -652,9 +624,6 @@ static int qed_sp_iscsi_func_stop(struct qed_hwfn *p_hwfn,
652624
if (rc)
653625
return rc;
654626

655-
p_ramrod = &p_ent->ramrod.iscsi_destroy;
656-
p_ramrod->hdr.op_code = ISCSI_RAMROD_CMD_ID_DESTROY_FUNC;
657-
658627
rc = qed_spq_post(p_hwfn, p_ent, NULL);
659628

660629
qed_spq_unregister_async_cb(p_hwfn, PROTOCOLID_ISCSI);

drivers/net/ethernet/qlogic/qed/qed_sp.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,7 @@ union ramrod_data {
120120
struct fcoe_conn_terminate_ramrod_params fcoe_conn_terminate;
121121
struct fcoe_stat_ramrod_params fcoe_stat;
122122

123-
struct iscsi_slow_path_hdr iscsi_empty;
124123
struct iscsi_init_ramrod_params iscsi_init;
125-
struct iscsi_spe_func_dstry iscsi_destroy;
126124
struct iscsi_spe_conn_offload iscsi_conn_offload;
127125
struct iscsi_conn_update_ramrod_params iscsi_conn_update;
128126
struct iscsi_spe_conn_mac_update iscsi_conn_mac_update;

include/linux/qed/iscsi_common.h

Lines changed: 24 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -999,7 +999,6 @@ struct iscsi_conn_offload_params {
999999
struct regpair r2tq_pbl_addr;
10001000
struct regpair xhq_pbl_addr;
10011001
struct regpair uhq_pbl_addr;
1002-
__le32 initial_ack;
10031002
__le16 physical_q0;
10041003
__le16 physical_q1;
10051004
u8 flags;
@@ -1011,10 +1010,10 @@ struct iscsi_conn_offload_params {
10111010
#define ISCSI_CONN_OFFLOAD_PARAMS_RESTRICTED_MODE_SHIFT 2
10121011
#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_MASK 0x1F
10131012
#define ISCSI_CONN_OFFLOAD_PARAMS_RESERVED1_SHIFT 3
1014-
u8 pbl_page_size_log;
1015-
u8 pbe_page_size_log;
10161013
u8 default_cq;
1014+
__le16 reserved0;
10171015
__le32 stat_sn;
1016+
__le32 initial_ack;
10181017
};
10191018

10201019
/* iSCSI connection statistics */
@@ -1029,25 +1028,14 @@ struct iscsi_conn_stats_params {
10291028
__le32 reserved;
10301029
};
10311030

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

10441032
/* iSCSI connection update params passed by driver to FW in ISCSI update
10451033
*ramrod.
10461034
*/
10471035
struct iscsi_conn_update_ramrod_params {
1048-
struct iscsi_slow_path_hdr hdr;
1036+
__le16 reserved0;
10491037
__le16 conn_id;
1050-
__le32 fw_cid;
1038+
__le32 reserved1;
10511039
u8 flags;
10521040
#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_MASK 0x1
10531041
#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_HD_EN_SHIFT 0
@@ -1065,7 +1053,7 @@ struct iscsi_conn_update_ramrod_params {
10651053
#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_DIF_ON_IMM_EN_SHIFT 6
10661054
#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_MASK 0x1
10671055
#define ISCSI_CONN_UPDATE_RAMROD_PARAMS_LUN_MAPPER_EN_SHIFT 7
1068-
u8 reserved0[3];
1056+
u8 reserved3[3];
10691057
__le32 max_seq_size;
10701058
__le32 max_send_pdu_length;
10711059
__le32 max_recv_pdu_length;
@@ -1251,22 +1239,22 @@ enum iscsi_ramrod_cmd_id {
12511239

12521240
/* iSCSI connection termination request */
12531241
struct iscsi_spe_conn_mac_update {
1254-
struct iscsi_slow_path_hdr hdr;
1242+
__le16 reserved0;
12551243
__le16 conn_id;
1256-
__le32 fw_cid;
1244+
__le32 reserved1;
12571245
__le16 remote_mac_addr_lo;
12581246
__le16 remote_mac_addr_mid;
12591247
__le16 remote_mac_addr_hi;
1260-
u8 reserved0[2];
1248+
u8 reserved2[2];
12611249
};
12621250

12631251
/* iSCSI and TCP connection (Option 1) offload params passed by driver to FW in
12641252
* iSCSI offload ramrod.
12651253
*/
12661254
struct iscsi_spe_conn_offload {
1267-
struct iscsi_slow_path_hdr hdr;
1255+
__le16 reserved0;
12681256
__le16 conn_id;
1269-
__le32 fw_cid;
1257+
__le32 reserved1;
12701258
struct iscsi_conn_offload_params iscsi;
12711259
struct tcp_offload_params tcp;
12721260
};
@@ -1275,44 +1263,36 @@ struct iscsi_spe_conn_offload {
12751263
* iSCSI offload ramrod.
12761264
*/
12771265
struct iscsi_spe_conn_offload_option2 {
1278-
struct iscsi_slow_path_hdr hdr;
1266+
__le16 reserved0;
12791267
__le16 conn_id;
1280-
__le32 fw_cid;
1268+
__le32 reserved1;
12811269
struct iscsi_conn_offload_params iscsi;
12821270
struct tcp_offload_params_opt2 tcp;
12831271
};
12841272

12851273
/* iSCSI collect connection statistics request */
12861274
struct iscsi_spe_conn_statistics {
1287-
struct iscsi_slow_path_hdr hdr;
1275+
__le16 reserved0;
12881276
__le16 conn_id;
1289-
__le32 fw_cid;
1277+
__le32 reserved1;
12901278
u8 reset_stats;
1291-
u8 reserved0[7];
1279+
u8 reserved2[7];
12921280
struct regpair stats_cnts_addr;
12931281
};
12941282

12951283
/* iSCSI connection termination request */
12961284
struct iscsi_spe_conn_termination {
1297-
struct iscsi_slow_path_hdr hdr;
1285+
__le16 reserved0;
12981286
__le16 conn_id;
1299-
__le32 fw_cid;
1287+
__le32 reserved1;
13001288
u8 abortive;
1301-
u8 reserved0[7];
1289+
u8 reserved2[7];
13021290
struct regpair queue_cnts_addr;
13031291
struct regpair query_params_addr;
13041292
};
13051293

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-
13131294
/* iSCSI firmware function init parameters */
13141295
struct iscsi_spe_func_init {
1315-
struct iscsi_slow_path_hdr hdr;
13161296
__le16 half_way_close_timeout;
13171297
u8 num_sq_pages_in_ring;
13181298
u8 num_r2tq_pages_in_ring;
@@ -1324,8 +1304,12 @@ struct iscsi_spe_func_init {
13241304
#define ISCSI_SPE_FUNC_INIT_RESERVED0_MASK 0x7F
13251305
#define ISCSI_SPE_FUNC_INIT_RESERVED0_SHIFT 1
13261306
struct iscsi_debug_modes debug_mode;
1327-
__le16 reserved1;
1328-
__le32 reserved2;
1307+
u8 params;
1308+
#define ISCSI_SPE_FUNC_INIT_MAX_SYN_RT_MASK 0xF
1309+
#define ISCSI_SPE_FUNC_INIT_MAX_SYN_RT_SHIFT 0
1310+
#define ISCSI_SPE_FUNC_INIT_RESERVED1_MASK 0xF
1311+
#define ISCSI_SPE_FUNC_INIT_RESERVED1_SHIFT 4
1312+
u8 reserved2[7];
13291313
struct scsi_init_func_params func_params;
13301314
struct scsi_init_func_queues q_params;
13311315
};

include/linux/qed/storage_common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,9 @@ struct scsi_drv_cmdq {
107107
struct scsi_init_func_params {
108108
__le16 num_tasks;
109109
u8 log_page_size;
110+
u8 log_page_size_conn;
110111
u8 debug_mode;
111-
u8 reserved2[12];
112+
u8 reserved2[11];
112113
};
113114

114115
/* SCSI RQ/CQ/CMDQ firmware function init parameters */

0 commit comments

Comments
 (0)