diff options
Diffstat (limited to 'drivers/scsi/bfa/bfi_ms.h')
-rw-r--r-- | drivers/scsi/bfa/bfi_ms.h | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/drivers/scsi/bfa/bfi_ms.h b/drivers/scsi/bfa/bfi_ms.h index fa9f6fb9d45b..19e888a57555 100644 --- a/drivers/scsi/bfa/bfi_ms.h +++ b/drivers/scsi/bfa/bfi_ms.h | |||
@@ -47,10 +47,10 @@ struct bfi_iocfc_cfg_s { | |||
47 | */ | 47 | */ |
48 | union bfi_addr_u req_cq_ba[BFI_IOC_MAX_CQS]; | 48 | union bfi_addr_u req_cq_ba[BFI_IOC_MAX_CQS]; |
49 | union bfi_addr_u req_shadow_ci[BFI_IOC_MAX_CQS]; | 49 | union bfi_addr_u req_shadow_ci[BFI_IOC_MAX_CQS]; |
50 | u16 req_cq_elems[BFI_IOC_MAX_CQS]; | 50 | __be16 req_cq_elems[BFI_IOC_MAX_CQS]; |
51 | union bfi_addr_u rsp_cq_ba[BFI_IOC_MAX_CQS]; | 51 | union bfi_addr_u rsp_cq_ba[BFI_IOC_MAX_CQS]; |
52 | union bfi_addr_u rsp_shadow_pi[BFI_IOC_MAX_CQS]; | 52 | union bfi_addr_u rsp_shadow_pi[BFI_IOC_MAX_CQS]; |
53 | u16 rsp_cq_elems[BFI_IOC_MAX_CQS]; | 53 | __be16 rsp_cq_elems[BFI_IOC_MAX_CQS]; |
54 | 54 | ||
55 | union bfi_addr_u stats_addr; /* DMA-able address for stats */ | 55 | union bfi_addr_u stats_addr; /* DMA-able address for stats */ |
56 | union bfi_addr_u cfgrsp_addr; /* config response dma address */ | 56 | union bfi_addr_u cfgrsp_addr; /* config response dma address */ |
@@ -102,8 +102,8 @@ struct bfi_iocfc_set_intr_req_s { | |||
102 | struct bfi_mhdr_s mh; /* common msg header */ | 102 | struct bfi_mhdr_s mh; /* common msg header */ |
103 | u8 coalesce; /* enable intr coalescing */ | 103 | u8 coalesce; /* enable intr coalescing */ |
104 | u8 rsvd[3]; | 104 | u8 rsvd[3]; |
105 | u16 delay; /* delay timer 0..1125us */ | 105 | __be16 delay; /* delay timer 0..1125us */ |
106 | u16 latency; /* latency timer 0..225us */ | 106 | __be16 latency; /* latency timer 0..225us */ |
107 | }; | 107 | }; |
108 | 108 | ||
109 | 109 | ||
@@ -188,7 +188,8 @@ struct bfi_fcport_rsp_s { | |||
188 | struct bfi_mhdr_s mh; /* common msg header */ | 188 | struct bfi_mhdr_s mh; /* common msg header */ |
189 | u8 status; /* port enable status */ | 189 | u8 status; /* port enable status */ |
190 | u8 rsvd[3]; | 190 | u8 rsvd[3]; |
191 | u32 msgtag; /* msgtag for reply */ | 191 | struct bfa_port_cfg_s port_cfg;/* port configuration */ |
192 | u32 msgtag; /* msgtag for reply */ | ||
192 | }; | 193 | }; |
193 | 194 | ||
194 | /* | 195 | /* |
@@ -202,7 +203,8 @@ struct bfi_fcport_enable_req_s { | |||
202 | struct bfa_port_cfg_s port_cfg; /* port configuration */ | 203 | struct bfa_port_cfg_s port_cfg; /* port configuration */ |
203 | union bfi_addr_u stats_dma_addr; /* DMA address for stats */ | 204 | union bfi_addr_u stats_dma_addr; /* DMA address for stats */ |
204 | u32 msgtag; /* msgtag for reply */ | 205 | u32 msgtag; /* msgtag for reply */ |
205 | u32 rsvd2; | 206 | u8 use_flash_cfg; /* get prot cfg from flash */ |
207 | u8 rsvd2[3]; | ||
206 | }; | 208 | }; |
207 | 209 | ||
208 | /* | 210 | /* |
@@ -210,7 +212,7 @@ struct bfi_fcport_enable_req_s { | |||
210 | */ | 212 | */ |
211 | struct bfi_fcport_set_svc_params_req_s { | 213 | struct bfi_fcport_set_svc_params_req_s { |
212 | struct bfi_mhdr_s mh; /* msg header */ | 214 | struct bfi_mhdr_s mh; /* msg header */ |
213 | u16 tx_bbcredit; /* Tx credits */ | 215 | __be16 tx_bbcredit; /* Tx credits */ |
214 | u16 rsvd; | 216 | u16 rsvd; |
215 | }; | 217 | }; |
216 | 218 | ||
@@ -231,7 +233,7 @@ struct bfi_fcport_trunk_link_s { | |||
231 | u8 state; /* bfa_trunk_link_state_t */ | 233 | u8 state; /* bfa_trunk_link_state_t */ |
232 | u8 speed; /* bfa_port_speed_t */ | 234 | u8 speed; /* bfa_port_speed_t */ |
233 | u8 rsvd; | 235 | u8 rsvd; |
234 | u32 deskew; | 236 | __be32 deskew; |
235 | }; | 237 | }; |
236 | 238 | ||
237 | #define BFI_FCPORT_MAX_LINKS 2 | 239 | #define BFI_FCPORT_MAX_LINKS 2 |
@@ -284,17 +286,17 @@ enum bfi_fcxp_i2h { | |||
284 | */ | 286 | */ |
285 | struct bfi_fcxp_send_req_s { | 287 | struct bfi_fcxp_send_req_s { |
286 | struct bfi_mhdr_s mh; /* Common msg header */ | 288 | struct bfi_mhdr_s mh; /* Common msg header */ |
287 | u16 fcxp_tag; /* driver request tag */ | 289 | __be16 fcxp_tag; /* driver request tag */ |
288 | u16 max_frmsz; /* max send frame size */ | 290 | __be16 max_frmsz; /* max send frame size */ |
289 | u16 vf_id; /* vsan tag if applicable */ | 291 | __be16 vf_id; /* vsan tag if applicable */ |
290 | u16 rport_fw_hndl; /* FW Handle for the remote port */ | 292 | u16 rport_fw_hndl; /* FW Handle for the remote port */ |
291 | u8 class; /* FC class used for req/rsp */ | 293 | u8 class; /* FC class used for req/rsp */ |
292 | u8 rsp_timeout; /* timeout in secs, 0-no response */ | 294 | u8 rsp_timeout; /* timeout in secs, 0-no response */ |
293 | u8 cts; /* continue sequence */ | 295 | u8 cts; /* continue sequence */ |
294 | u8 lp_tag; /* lport tag */ | 296 | u8 lp_tag; /* lport tag */ |
295 | struct fchs_s fchs; /* request FC header structure */ | 297 | struct fchs_s fchs; /* request FC header structure */ |
296 | u32 req_len; /* request payload length */ | 298 | __be32 req_len; /* request payload length */ |
297 | u32 rsp_maxlen; /* max response length expected */ | 299 | __be32 rsp_maxlen; /* max response length expected */ |
298 | struct bfi_sge_s req_sge[BFA_FCXP_MAX_SGES]; /* request buf */ | 300 | struct bfi_sge_s req_sge[BFA_FCXP_MAX_SGES]; /* request buf */ |
299 | struct bfi_sge_s rsp_sge[BFA_FCXP_MAX_SGES]; /* response buf */ | 301 | struct bfi_sge_s rsp_sge[BFA_FCXP_MAX_SGES]; /* response buf */ |
300 | }; | 302 | }; |
@@ -304,11 +306,11 @@ struct bfi_fcxp_send_req_s { | |||
304 | */ | 306 | */ |
305 | struct bfi_fcxp_send_rsp_s { | 307 | struct bfi_fcxp_send_rsp_s { |
306 | struct bfi_mhdr_s mh; /* Common msg header */ | 308 | struct bfi_mhdr_s mh; /* Common msg header */ |
307 | u16 fcxp_tag; /* send request tag */ | 309 | __be16 fcxp_tag; /* send request tag */ |
308 | u8 req_status; /* request status */ | 310 | u8 req_status; /* request status */ |
309 | u8 rsvd; | 311 | u8 rsvd; |
310 | u32 rsp_len; /* actual response length */ | 312 | __be32 rsp_len; /* actual response length */ |
311 | u32 residue_len; /* residual response length */ | 313 | __be32 residue_len; /* residual response length */ |
312 | struct fchs_s fchs; /* response FC header structure */ | 314 | struct fchs_s fchs; /* response FC header structure */ |
313 | }; | 315 | }; |
314 | 316 | ||
@@ -325,7 +327,7 @@ enum bfi_uf_i2h { | |||
325 | struct bfi_uf_buf_post_s { | 327 | struct bfi_uf_buf_post_s { |
326 | struct bfi_mhdr_s mh; /* Common msg header */ | 328 | struct bfi_mhdr_s mh; /* Common msg header */ |
327 | u16 buf_tag; /* buffer tag */ | 329 | u16 buf_tag; /* buffer tag */ |
328 | u16 buf_len; /* total buffer length */ | 330 | __be16 buf_len; /* total buffer length */ |
329 | struct bfi_sge_s sge[BFA_UF_MAX_SGES]; /* buffer DMA SGEs */ | 331 | struct bfi_sge_s sge[BFA_UF_MAX_SGES]; /* buffer DMA SGEs */ |
330 | }; | 332 | }; |
331 | 333 | ||
@@ -340,6 +342,7 @@ struct bfi_uf_frm_rcvd_s { | |||
340 | enum bfi_lps_h2i_msgs { | 342 | enum bfi_lps_h2i_msgs { |
341 | BFI_LPS_H2I_LOGIN_REQ = 1, | 343 | BFI_LPS_H2I_LOGIN_REQ = 1, |
342 | BFI_LPS_H2I_LOGOUT_REQ = 2, | 344 | BFI_LPS_H2I_LOGOUT_REQ = 2, |
345 | BFI_LPS_H2I_N2N_PID_REQ = 3, | ||
343 | }; | 346 | }; |
344 | 347 | ||
345 | enum bfi_lps_i2h_msgs { | 348 | enum bfi_lps_i2h_msgs { |
@@ -352,7 +355,7 @@ struct bfi_lps_login_req_s { | |||
352 | struct bfi_mhdr_s mh; /* common msg header */ | 355 | struct bfi_mhdr_s mh; /* common msg header */ |
353 | u8 lp_tag; | 356 | u8 lp_tag; |
354 | u8 alpa; | 357 | u8 alpa; |
355 | u16 pdu_size; | 358 | __be16 pdu_size; |
356 | wwn_t pwwn; | 359 | wwn_t pwwn; |
357 | wwn_t nwwn; | 360 | wwn_t nwwn; |
358 | u8 fdisc; | 361 | u8 fdisc; |
@@ -368,7 +371,7 @@ struct bfi_lps_login_rsp_s { | |||
368 | u8 lsrjt_expl; | 371 | u8 lsrjt_expl; |
369 | wwn_t port_name; | 372 | wwn_t port_name; |
370 | wwn_t node_name; | 373 | wwn_t node_name; |
371 | u16 bb_credit; | 374 | __be16 bb_credit; |
372 | u8 f_port; | 375 | u8 f_port; |
373 | u8 npiv_en; | 376 | u8 npiv_en; |
374 | u32 lp_pid:24; | 377 | u32 lp_pid:24; |
@@ -399,10 +402,17 @@ struct bfi_lps_cvl_event_s { | |||
399 | u8 rsvd[3]; | 402 | u8 rsvd[3]; |
400 | }; | 403 | }; |
401 | 404 | ||
405 | struct bfi_lps_n2n_pid_req_s { | ||
406 | struct bfi_mhdr_s mh; /* common msg header */ | ||
407 | u8 lp_tag; | ||
408 | u32 lp_pid:24; | ||
409 | }; | ||
410 | |||
402 | union bfi_lps_h2i_msg_u { | 411 | union bfi_lps_h2i_msg_u { |
403 | struct bfi_mhdr_s *msg; | 412 | struct bfi_mhdr_s *msg; |
404 | struct bfi_lps_login_req_s *login_req; | 413 | struct bfi_lps_login_req_s *login_req; |
405 | struct bfi_lps_logout_req_s *logout_req; | 414 | struct bfi_lps_logout_req_s *logout_req; |
415 | struct bfi_lps_n2n_pid_req_s *n2n_pid_req; | ||
406 | }; | 416 | }; |
407 | 417 | ||
408 | union bfi_lps_i2h_msg_u { | 418 | union bfi_lps_i2h_msg_u { |
@@ -427,7 +437,7 @@ enum bfi_rport_i2h_msgs { | |||
427 | struct bfi_rport_create_req_s { | 437 | struct bfi_rport_create_req_s { |
428 | struct bfi_mhdr_s mh; /* common msg header */ | 438 | struct bfi_mhdr_s mh; /* common msg header */ |
429 | u16 bfa_handle; /* host rport handle */ | 439 | u16 bfa_handle; /* host rport handle */ |
430 | u16 max_frmsz; /* max rcv pdu size */ | 440 | __be16 max_frmsz; /* max rcv pdu size */ |
431 | u32 pid:24, /* remote port ID */ | 441 | u32 pid:24, /* remote port ID */ |
432 | lp_tag:8; /* local port tag */ | 442 | lp_tag:8; /* local port tag */ |
433 | u32 local_pid:24, /* local port ID */ | 443 | u32 local_pid:24, /* local port ID */ |
@@ -583,7 +593,7 @@ struct bfi_ioim_dif_s { | |||
583 | */ | 593 | */ |
584 | struct bfi_ioim_req_s { | 594 | struct bfi_ioim_req_s { |
585 | struct bfi_mhdr_s mh; /* Common msg header */ | 595 | struct bfi_mhdr_s mh; /* Common msg header */ |
586 | u16 io_tag; /* I/O tag */ | 596 | __be16 io_tag; /* I/O tag */ |
587 | u16 rport_hdl; /* itnim/rport firmware handle */ | 597 | u16 rport_hdl; /* itnim/rport firmware handle */ |
588 | struct fcp_cmnd_s cmnd; /* IO request info */ | 598 | struct fcp_cmnd_s cmnd; /* IO request info */ |
589 | 599 | ||
@@ -689,7 +699,7 @@ enum bfi_ioim_status { | |||
689 | */ | 699 | */ |
690 | struct bfi_ioim_rsp_s { | 700 | struct bfi_ioim_rsp_s { |
691 | struct bfi_mhdr_s mh; /* common msg header */ | 701 | struct bfi_mhdr_s mh; /* common msg header */ |
692 | u16 io_tag; /* completed IO tag */ | 702 | __be16 io_tag; /* completed IO tag */ |
693 | u16 bfa_rport_hndl; /* releated rport handle */ | 703 | u16 bfa_rport_hndl; /* releated rport handle */ |
694 | u8 io_status; /* IO completion status */ | 704 | u8 io_status; /* IO completion status */ |
695 | u8 reuse_io_tag; /* IO tag can be reused */ | 705 | u8 reuse_io_tag; /* IO tag can be reused */ |
@@ -698,13 +708,13 @@ struct bfi_ioim_rsp_s { | |||
698 | u8 sns_len; /* scsi sense length */ | 708 | u8 sns_len; /* scsi sense length */ |
699 | u8 resid_flags; /* IO residue flags */ | 709 | u8 resid_flags; /* IO residue flags */ |
700 | u8 rsvd_a; | 710 | u8 rsvd_a; |
701 | u32 residue; /* IO residual length in bytes */ | 711 | __be32 residue; /* IO residual length in bytes */ |
702 | u32 rsvd_b[3]; | 712 | u32 rsvd_b[3]; |
703 | }; | 713 | }; |
704 | 714 | ||
705 | struct bfi_ioim_abort_req_s { | 715 | struct bfi_ioim_abort_req_s { |
706 | struct bfi_mhdr_s mh; /* Common msg header */ | 716 | struct bfi_mhdr_s mh; /* Common msg header */ |
707 | u16 io_tag; /* I/O tag */ | 717 | __be16 io_tag; /* I/O tag */ |
708 | u16 abort_tag; /* unique request tag */ | 718 | u16 abort_tag; /* unique request tag */ |
709 | }; | 719 | }; |
710 | 720 | ||
@@ -723,9 +733,9 @@ enum bfi_tskim_i2h { | |||
723 | 733 | ||
724 | struct bfi_tskim_req_s { | 734 | struct bfi_tskim_req_s { |
725 | struct bfi_mhdr_s mh; /* Common msg header */ | 735 | struct bfi_mhdr_s mh; /* Common msg header */ |
726 | u16 tsk_tag; /* task management tag */ | 736 | __be16 tsk_tag; /* task management tag */ |
727 | u16 itn_fhdl; /* itn firmware handle */ | 737 | u16 itn_fhdl; /* itn firmware handle */ |
728 | lun_t lun; /* LU number */ | 738 | struct scsi_lun lun; /* LU number */ |
729 | u8 tm_flags; /* see enum fcp_tm_cmnd */ | 739 | u8 tm_flags; /* see enum fcp_tm_cmnd */ |
730 | u8 t_secs; /* Timeout value in seconds */ | 740 | u8 t_secs; /* Timeout value in seconds */ |
731 | u8 rsvd[2]; | 741 | u8 rsvd[2]; |
@@ -733,7 +743,7 @@ struct bfi_tskim_req_s { | |||
733 | 743 | ||
734 | struct bfi_tskim_abortreq_s { | 744 | struct bfi_tskim_abortreq_s { |
735 | struct bfi_mhdr_s mh; /* Common msg header */ | 745 | struct bfi_mhdr_s mh; /* Common msg header */ |
736 | u16 tsk_tag; /* task management tag */ | 746 | __be16 tsk_tag; /* task management tag */ |
737 | u16 rsvd; | 747 | u16 rsvd; |
738 | }; | 748 | }; |
739 | 749 | ||
@@ -755,7 +765,7 @@ enum bfi_tskim_status { | |||
755 | 765 | ||
756 | struct bfi_tskim_rsp_s { | 766 | struct bfi_tskim_rsp_s { |
757 | struct bfi_mhdr_s mh; /* Common msg header */ | 767 | struct bfi_mhdr_s mh; /* Common msg header */ |
758 | u16 tsk_tag; /* task mgmt cmnd tag */ | 768 | __be16 tsk_tag; /* task mgmt cmnd tag */ |
759 | u8 tsk_status; /* @ref bfi_tskim_status */ | 769 | u8 tsk_status; /* @ref bfi_tskim_status */ |
760 | u8 rsvd; | 770 | u8 rsvd; |
761 | }; | 771 | }; |