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.
17 #ifndef __BFI_PPORT_H__
18 #define __BFI_PPORT_H__
21 #include <defs/bfa_defs_pport.h>
26 BFI_FCPORT_H2I_ENABLE_REQ
= (1),
27 BFI_FCPORT_H2I_DISABLE_REQ
= (2),
28 BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ
= (3),
29 BFI_FCPORT_H2I_STATS_GET_REQ
= (4),
30 BFI_FCPORT_H2I_STATS_CLEAR_REQ
= (5),
34 BFI_FCPORT_I2H_ENABLE_RSP
= BFA_I2HM(1),
35 BFI_FCPORT_I2H_DISABLE_RSP
= BFA_I2HM(2),
36 BFI_FCPORT_I2H_SET_SVC_PARAMS_RSP
= BFA_I2HM(3),
37 BFI_FCPORT_I2H_STATS_GET_RSP
= BFA_I2HM(4),
38 BFI_FCPORT_I2H_STATS_CLEAR_RSP
= BFA_I2HM(5),
39 BFI_FCPORT_I2H_EVENT
= BFA_I2HM(6),
45 struct bfi_fcport_req_s
{
46 struct bfi_mhdr_s mh
; /* msg header */
47 u32 msgtag
; /* msgtag for reply */
53 struct bfi_fcport_rsp_s
{
54 struct bfi_mhdr_s mh
; /* common msg header */
55 u8 status
; /* port enable status */
57 u32 msgtag
; /* msgtag for reply */
61 * BFI_FCPORT_H2I_ENABLE_REQ
63 struct bfi_fcport_enable_req_s
{
64 struct bfi_mhdr_s mh
; /* msg header */
66 wwn_t nwwn
; /* node wwn of physical port */
67 wwn_t pwwn
; /* port wwn of physical port */
68 struct bfa_pport_cfg_s port_cfg
; /* port configuration */
69 union bfi_addr_u stats_dma_addr
; /* DMA address for stats */
70 u32 msgtag
; /* msgtag for reply */
75 * BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ
77 struct bfi_fcport_set_svc_params_req_s
{
78 struct bfi_mhdr_s mh
; /* msg header */
79 u16 tx_bbcredit
; /* Tx credits */
84 * BFI_FCPORT_I2H_EVENT
86 struct bfi_fcport_event_s
{
87 struct bfi_mhdr_s mh
; /* common msg header */
88 struct bfa_pport_link_s link_state
;
94 union bfi_fcport_h2i_msg_u
{
95 struct bfi_mhdr_s
*mhdr
;
96 struct bfi_fcport_enable_req_s
*penable
;
97 struct bfi_fcport_req_s
*pdisable
;
98 struct bfi_fcport_set_svc_params_req_s
*psetsvcparams
;
99 struct bfi_fcport_req_s
*pstatsget
;
100 struct bfi_fcport_req_s
*pstatsclear
;
106 union bfi_fcport_i2h_msg_u
{
107 struct bfi_msg_s
*msg
;
108 struct bfi_fcport_rsp_s
*penable_rsp
;
109 struct bfi_fcport_rsp_s
*pdisable_rsp
;
110 struct bfi_fcport_rsp_s
*psetsvcparams_rsp
;
111 struct bfi_fcport_rsp_s
*pstatsget_rsp
;
112 struct bfi_fcport_rsp_s
*pstatsclear_rsp
;
113 struct bfi_fcport_event_s
*event
;
118 #endif /* __BFI_PPORT_H__ */