2 * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
6 * Linux driver for Brocade Fibre Channel Host Bus Adapter.
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License (GPL) Version 2 as
10 * published by the Free Software Foundation
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
18 #ifndef __BFI_FCXP_H__
19 #define __BFI_FCXP_H__
26 BFI_FCXP_H2I_SEND_REQ
= 1,
30 BFI_FCXP_I2H_SEND_RSP
= BFA_I2HM(1),
33 #define BFA_FCXP_MAX_SGES 2
36 * FCXP send request structure
38 struct bfi_fcxp_send_req_s
{
39 struct bfi_mhdr_s mh
; /* Common msg header */
40 u16 fcxp_tag
; /* driver request tag */
41 u16 max_frmsz
; /* max send frame size */
42 u16 vf_id
; /* vsan tag if applicable */
43 u16 rport_fw_hndl
; /* FW Handle for the remote port */
44 u8
class; /* FC class used for req/rsp */
45 u8 rsp_timeout
; /* timeout in secs, 0-no response */
46 u8 cts
; /* continue sequence */
47 u8 lp_tag
; /* lport tag */
48 struct fchs_s fchs
; /* request FC header structure */
49 u32 req_len
; /* request payload length */
50 u32 rsp_maxlen
; /* max response length expected */
51 struct bfi_sge_s req_sge
[BFA_FCXP_MAX_SGES
]; /* request buf */
52 struct bfi_sge_s rsp_sge
[BFA_FCXP_MAX_SGES
]; /* response buf */
56 * FCXP send response structure
58 struct bfi_fcxp_send_rsp_s
{
59 struct bfi_mhdr_s mh
; /* Common msg header */
60 u16 fcxp_tag
; /* send request tag */
61 u8 req_status
; /* request status */
63 u32 rsp_len
; /* actual response length */
64 u32 residue_len
; /* residual response length */
65 struct fchs_s fchs
; /* response FC header structure */
70 #endif /* __BFI_FCXP_H__ */