diff options
Diffstat (limited to 'drivers/scsi/bfa/include')
36 files changed, 620 insertions, 487 deletions
diff --git a/drivers/scsi/bfa/include/aen/bfa_aen.h b/drivers/scsi/bfa/include/aen/bfa_aen.h index d9cbc2a783d4..6abbab005db6 100644 --- a/drivers/scsi/bfa/include/aen/bfa_aen.h +++ b/drivers/scsi/bfa/include/aen/bfa_aen.h | |||
@@ -18,21 +18,24 @@ | |||
18 | #define __BFA_AEN_H__ | 18 | #define __BFA_AEN_H__ |
19 | 19 | ||
20 | #include "defs/bfa_defs_aen.h" | 20 | #include "defs/bfa_defs_aen.h" |
21 | #include "defs/bfa_defs_status.h" | ||
22 | #include "cs/bfa_debug.h" | ||
21 | 23 | ||
22 | #define BFA_AEN_MAX_ENTRY 512 | 24 | #define BFA_AEN_MAX_ENTRY 512 |
23 | 25 | ||
24 | extern s32 bfa_aen_max_cfg_entry; | 26 | extern int bfa_aen_max_cfg_entry; |
25 | struct bfa_aen_s { | 27 | struct bfa_aen_s { |
26 | void *bfad; | 28 | void *bfad; |
27 | s32 max_entry; | 29 | int max_entry; |
28 | s32 write_index; | 30 | int write_index; |
29 | s32 read_index; | 31 | int read_index; |
30 | u32 bfad_num; | 32 | int bfad_num; |
31 | u32 seq_num; | 33 | int seq_num; |
32 | void (*aen_cb_notify)(void *bfad); | 34 | void (*aen_cb_notify)(void *bfad); |
33 | void (*gettimeofday)(struct bfa_timeval_s *tv); | 35 | void (*gettimeofday)(struct bfa_timeval_s *tv); |
34 | struct bfa_trc_mod_s *trcmod; | 36 | struct bfa_trc_mod_s *trcmod; |
35 | struct bfa_aen_entry_s list[BFA_AEN_MAX_ENTRY]; /* Must be the last */ | 37 | int app_ri[BFA_AEN_MAX_APP]; /* For multiclient support */ |
38 | struct bfa_aen_entry_s list[BFA_AEN_MAX_ENTRY]; /* Must be the last */ | ||
36 | }; | 39 | }; |
37 | 40 | ||
38 | 41 | ||
@@ -45,48 +48,49 @@ bfa_aen_set_max_cfg_entry(int max_entry) | |||
45 | bfa_aen_max_cfg_entry = max_entry; | 48 | bfa_aen_max_cfg_entry = max_entry; |
46 | } | 49 | } |
47 | 50 | ||
48 | static inline s32 | 51 | static inline int |
49 | bfa_aen_get_max_cfg_entry(void) | 52 | bfa_aen_get_max_cfg_entry(void) |
50 | { | 53 | { |
51 | return bfa_aen_max_cfg_entry; | 54 | return bfa_aen_max_cfg_entry; |
52 | } | 55 | } |
53 | 56 | ||
54 | static inline s32 | 57 | static inline int |
55 | bfa_aen_get_meminfo(void) | 58 | bfa_aen_get_meminfo(void) |
56 | { | 59 | { |
57 | return sizeof(struct bfa_aen_entry_s) * bfa_aen_get_max_cfg_entry(); | 60 | return sizeof(struct bfa_aen_entry_s) * bfa_aen_get_max_cfg_entry(); |
58 | } | 61 | } |
59 | 62 | ||
60 | static inline s32 | 63 | static inline int |
61 | bfa_aen_get_wi(struct bfa_aen_s *aen) | 64 | bfa_aen_get_wi(struct bfa_aen_s *aen) |
62 | { | 65 | { |
63 | return aen->write_index; | 66 | return aen->write_index; |
64 | } | 67 | } |
65 | 68 | ||
66 | static inline s32 | 69 | static inline int |
67 | bfa_aen_get_ri(struct bfa_aen_s *aen) | 70 | bfa_aen_get_ri(struct bfa_aen_s *aen) |
68 | { | 71 | { |
69 | return aen->read_index; | 72 | return aen->read_index; |
70 | } | 73 | } |
71 | 74 | ||
72 | static inline s32 | 75 | static inline int |
73 | bfa_aen_fetch_count(struct bfa_aen_s *aen, s32 read_index) | 76 | bfa_aen_fetch_count(struct bfa_aen_s *aen, enum bfa_aen_app app_id) |
74 | { | 77 | { |
75 | return ((aen->write_index + aen->max_entry) - read_index) | 78 | bfa_assert((app_id < BFA_AEN_MAX_APP) && (app_id >= bfa_aen_app_bcu)); |
79 | return ((aen->write_index + aen->max_entry) - aen->app_ri[app_id]) | ||
76 | % aen->max_entry; | 80 | % aen->max_entry; |
77 | } | 81 | } |
78 | 82 | ||
79 | s32 bfa_aen_init(struct bfa_aen_s *aen, struct bfa_trc_mod_s *trcmod, | 83 | int bfa_aen_init(struct bfa_aen_s *aen, struct bfa_trc_mod_s *trcmod, |
80 | void *bfad, u32 inst_id, void (*aen_cb_notify)(void *), | 84 | void *bfad, int bfad_num, void (*aen_cb_notify)(void *), |
81 | void (*gettimeofday)(struct bfa_timeval_s *)); | 85 | void (*gettimeofday)(struct bfa_timeval_s *)); |
82 | 86 | ||
83 | s32 bfa_aen_post(struct bfa_aen_s *aen, enum bfa_aen_category aen_category, | 87 | void bfa_aen_post(struct bfa_aen_s *aen, enum bfa_aen_category aen_category, |
84 | int aen_type, union bfa_aen_data_u *aen_data); | 88 | int aen_type, union bfa_aen_data_u *aen_data); |
85 | 89 | ||
86 | s32 bfa_aen_fetch(struct bfa_aen_s *aen, struct bfa_aen_entry_s *aen_entry, | 90 | bfa_status_t bfa_aen_fetch(struct bfa_aen_s *aen, |
87 | s32 entry_space, s32 rii, s32 *ri_arr, | 91 | struct bfa_aen_entry_s *aen_entry, |
88 | s32 ri_arr_cnt); | 92 | int entry_req, enum bfa_aen_app app_id, int *entry_ret); |
89 | 93 | ||
90 | s32 bfa_aen_get_inst(struct bfa_aen_s *aen); | 94 | int bfa_aen_get_inst(struct bfa_aen_s *aen); |
91 | 95 | ||
92 | #endif /* __BFA_AEN_H__ */ | 96 | #endif /* __BFA_AEN_H__ */ |
diff --git a/drivers/scsi/bfa/include/bfa.h b/drivers/scsi/bfa/include/bfa.h index d4bc0d9fa42c..1f5966cfbd16 100644 --- a/drivers/scsi/bfa/include/bfa.h +++ b/drivers/scsi/bfa/include/bfa.h | |||
@@ -106,6 +106,26 @@ struct bfa_sge_s { | |||
106 | bfa_ioc_fetch_stats(&(__bfa)->ioc, __ioc_stats) | 106 | bfa_ioc_fetch_stats(&(__bfa)->ioc, __ioc_stats) |
107 | #define bfa_ioc_clear_stats(__bfa) \ | 107 | #define bfa_ioc_clear_stats(__bfa) \ |
108 | bfa_ioc_clr_stats(&(__bfa)->ioc) | 108 | bfa_ioc_clr_stats(&(__bfa)->ioc) |
109 | #define bfa_get_nports(__bfa) \ | ||
110 | bfa_ioc_get_nports(&(__bfa)->ioc) | ||
111 | #define bfa_get_adapter_manufacturer(__bfa, __manufacturer) \ | ||
112 | bfa_ioc_get_adapter_manufacturer(&(__bfa)->ioc, __manufacturer) | ||
113 | #define bfa_get_adapter_model(__bfa, __model) \ | ||
114 | bfa_ioc_get_adapter_model(&(__bfa)->ioc, __model) | ||
115 | #define bfa_get_adapter_serial_num(__bfa, __serial_num) \ | ||
116 | bfa_ioc_get_adapter_serial_num(&(__bfa)->ioc, __serial_num) | ||
117 | #define bfa_get_adapter_fw_ver(__bfa, __fw_ver) \ | ||
118 | bfa_ioc_get_adapter_fw_ver(&(__bfa)->ioc, __fw_ver) | ||
119 | #define bfa_get_adapter_optrom_ver(__bfa, __optrom_ver) \ | ||
120 | bfa_ioc_get_adapter_optrom_ver(&(__bfa)->ioc, __optrom_ver) | ||
121 | #define bfa_get_pci_chip_rev(__bfa, __chip_rev) \ | ||
122 | bfa_ioc_get_pci_chip_rev(&(__bfa)->ioc, __chip_rev) | ||
123 | #define bfa_get_ioc_state(__bfa) \ | ||
124 | bfa_ioc_get_state(&(__bfa)->ioc) | ||
125 | #define bfa_get_type(__bfa) \ | ||
126 | bfa_ioc_get_type(&(__bfa)->ioc) | ||
127 | #define bfa_get_mac(__bfa) \ | ||
128 | bfa_ioc_get_mac(&(__bfa)->ioc) | ||
109 | 129 | ||
110 | /* | 130 | /* |
111 | * bfa API functions | 131 | * bfa API functions |
@@ -161,6 +181,7 @@ bfa_status_t bfa_iocfc_israttr_set(struct bfa_s *bfa, | |||
161 | void bfa_iocfc_enable(struct bfa_s *bfa); | 181 | void bfa_iocfc_enable(struct bfa_s *bfa); |
162 | void bfa_iocfc_disable(struct bfa_s *bfa); | 182 | void bfa_iocfc_disable(struct bfa_s *bfa); |
163 | void bfa_ioc_auto_recover(bfa_boolean_t auto_recover); | 183 | void bfa_ioc_auto_recover(bfa_boolean_t auto_recover); |
184 | void bfa_chip_reset(struct bfa_s *bfa); | ||
164 | void bfa_cb_ioc_disable(void *bfad); | 185 | void bfa_cb_ioc_disable(void *bfad); |
165 | void bfa_timer_tick(struct bfa_s *bfa); | 186 | void bfa_timer_tick(struct bfa_s *bfa); |
166 | #define bfa_timer_start(_bfa, _timer, _timercb, _arg, _timeout) \ | 187 | #define bfa_timer_start(_bfa, _timer, _timercb, _arg, _timeout) \ |
@@ -171,6 +192,7 @@ void bfa_timer_tick(struct bfa_s *bfa); | |||
171 | */ | 192 | */ |
172 | bfa_status_t bfa_debug_fwtrc(struct bfa_s *bfa, void *trcdata, int *trclen); | 193 | bfa_status_t bfa_debug_fwtrc(struct bfa_s *bfa, void *trcdata, int *trclen); |
173 | bfa_status_t bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen); | 194 | bfa_status_t bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen); |
195 | void bfa_debug_fwsave_clear(struct bfa_s *bfa); | ||
174 | 196 | ||
175 | #include "bfa_priv.h" | 197 | #include "bfa_priv.h" |
176 | 198 | ||
diff --git a/drivers/scsi/bfa/include/bfa_svc.h b/drivers/scsi/bfa/include/bfa_svc.h index 268d956bad89..1349b99a3c6d 100644 --- a/drivers/scsi/bfa/include/bfa_svc.h +++ b/drivers/scsi/bfa/include/bfa_svc.h | |||
@@ -26,6 +26,7 @@ struct bfa_fcxp_s; | |||
26 | #include <defs/bfa_defs_pport.h> | 26 | #include <defs/bfa_defs_pport.h> |
27 | #include <defs/bfa_defs_rport.h> | 27 | #include <defs/bfa_defs_rport.h> |
28 | #include <defs/bfa_defs_qos.h> | 28 | #include <defs/bfa_defs_qos.h> |
29 | #include <defs/bfa_defs_fcport.h> | ||
29 | #include <cs/bfa_sm.h> | 30 | #include <cs/bfa_sm.h> |
30 | #include <bfa.h> | 31 | #include <bfa.h> |
31 | 32 | ||
@@ -35,7 +36,7 @@ struct bfa_fcxp_s; | |||
35 | struct bfa_rport_info_s { | 36 | struct bfa_rport_info_s { |
36 | u16 max_frmsz; /* max rcv pdu size */ | 37 | u16 max_frmsz; /* max rcv pdu size */ |
37 | u32 pid:24, /* remote port ID */ | 38 | u32 pid:24, /* remote port ID */ |
38 | lp_tag:8; | 39 | lp_tag:8; /* tag */ |
39 | u32 local_pid:24, /* local port ID */ | 40 | u32 local_pid:24, /* local port ID */ |
40 | cisc:8; /* CIRO supported */ | 41 | cisc:8; /* CIRO supported */ |
41 | u8 fc_class; /* supported FC classes. enum fc_cos */ | 42 | u8 fc_class; /* supported FC classes. enum fc_cos */ |
@@ -54,7 +55,7 @@ struct bfa_rport_s { | |||
54 | void *rport_drv; /* fcs/driver rport object */ | 55 | void *rport_drv; /* fcs/driver rport object */ |
55 | u16 fw_handle; /* firmware rport handle */ | 56 | u16 fw_handle; /* firmware rport handle */ |
56 | u16 rport_tag; /* BFA rport tag */ | 57 | u16 rport_tag; /* BFA rport tag */ |
57 | struct bfa_rport_info_s rport_info; /* rport info from *fcs/driver */ | 58 | struct bfa_rport_info_s rport_info; /* rport info from fcs/driver */ |
58 | struct bfa_reqq_wait_s reqq_wait; /* to wait for room in reqq */ | 59 | struct bfa_reqq_wait_s reqq_wait; /* to wait for room in reqq */ |
59 | struct bfa_cb_qe_s hcb_qe; /* BFA callback qelem */ | 60 | struct bfa_cb_qe_s hcb_qe; /* BFA callback qelem */ |
60 | struct bfa_rport_hal_stats_s stats; /* BFA rport statistics */ | 61 | struct bfa_rport_hal_stats_s stats; /* BFA rport statistics */ |
@@ -101,7 +102,7 @@ struct bfa_uf_buf_s { | |||
101 | struct bfa_uf_s { | 102 | struct bfa_uf_s { |
102 | struct list_head qe; /* queue element */ | 103 | struct list_head qe; /* queue element */ |
103 | struct bfa_s *bfa; /* bfa instance */ | 104 | struct bfa_s *bfa; /* bfa instance */ |
104 | u16 uf_tag; /* identifying tag f/w messages */ | 105 | u16 uf_tag; /* identifying tag fw msgs */ |
105 | u16 vf_id; | 106 | u16 vf_id; |
106 | u16 src_rport_handle; | 107 | u16 src_rport_handle; |
107 | u16 rsvd; | 108 | u16 rsvd; |
@@ -127,7 +128,7 @@ struct bfa_lps_s { | |||
127 | u8 reqq; /* lport request queue */ | 128 | u8 reqq; /* lport request queue */ |
128 | u8 alpa; /* ALPA for loop topologies */ | 129 | u8 alpa; /* ALPA for loop topologies */ |
129 | u32 lp_pid; /* lport port ID */ | 130 | u32 lp_pid; /* lport port ID */ |
130 | bfa_boolean_t fdisc; /* send FDISC instead of FLOGI*/ | 131 | bfa_boolean_t fdisc; /* send FDISC instead of FLOGI */ |
131 | bfa_boolean_t auth_en; /* enable authentication */ | 132 | bfa_boolean_t auth_en; /* enable authentication */ |
132 | bfa_boolean_t auth_req; /* authentication required */ | 133 | bfa_boolean_t auth_req; /* authentication required */ |
133 | bfa_boolean_t npiv_en; /* NPIV is allowed by peer */ | 134 | bfa_boolean_t npiv_en; /* NPIV is allowed by peer */ |
@@ -151,60 +152,69 @@ struct bfa_lps_s { | |||
151 | bfa_eproto_status_t ext_status; | 152 | bfa_eproto_status_t ext_status; |
152 | }; | 153 | }; |
153 | 154 | ||
155 | #define BFA_FCPORT(_bfa) (&((_bfa)->modules.port)) | ||
156 | |||
154 | /* | 157 | /* |
155 | * bfa pport API functions | 158 | * bfa pport API functions |
156 | */ | 159 | */ |
157 | bfa_status_t bfa_pport_enable(struct bfa_s *bfa); | 160 | bfa_status_t bfa_fcport_enable(struct bfa_s *bfa); |
158 | bfa_status_t bfa_pport_disable(struct bfa_s *bfa); | 161 | bfa_status_t bfa_fcport_disable(struct bfa_s *bfa); |
159 | bfa_status_t bfa_pport_cfg_speed(struct bfa_s *bfa, | 162 | bfa_status_t bfa_fcport_cfg_speed(struct bfa_s *bfa, |
160 | enum bfa_pport_speed speed); | 163 | enum bfa_pport_speed speed); |
161 | enum bfa_pport_speed bfa_pport_get_speed(struct bfa_s *bfa); | 164 | enum bfa_pport_speed bfa_fcport_get_speed(struct bfa_s *bfa); |
162 | bfa_status_t bfa_pport_cfg_topology(struct bfa_s *bfa, | 165 | bfa_status_t bfa_fcport_cfg_topology(struct bfa_s *bfa, |
163 | enum bfa_pport_topology topo); | 166 | enum bfa_pport_topology topo); |
164 | enum bfa_pport_topology bfa_pport_get_topology(struct bfa_s *bfa); | 167 | enum bfa_pport_topology bfa_fcport_get_topology(struct bfa_s *bfa); |
165 | bfa_status_t bfa_pport_cfg_hardalpa(struct bfa_s *bfa, u8 alpa); | 168 | bfa_status_t bfa_fcport_cfg_hardalpa(struct bfa_s *bfa, u8 alpa); |
166 | bfa_boolean_t bfa_pport_get_hardalpa(struct bfa_s *bfa, u8 *alpa); | 169 | bfa_boolean_t bfa_fcport_get_hardalpa(struct bfa_s *bfa, u8 *alpa); |
167 | u8 bfa_pport_get_myalpa(struct bfa_s *bfa); | 170 | u8 bfa_fcport_get_myalpa(struct bfa_s *bfa); |
168 | bfa_status_t bfa_pport_clr_hardalpa(struct bfa_s *bfa); | 171 | bfa_status_t bfa_fcport_clr_hardalpa(struct bfa_s *bfa); |
169 | bfa_status_t bfa_pport_cfg_maxfrsize(struct bfa_s *bfa, u16 maxsize); | 172 | bfa_status_t bfa_fcport_cfg_maxfrsize(struct bfa_s *bfa, u16 maxsize); |
170 | u16 bfa_pport_get_maxfrsize(struct bfa_s *bfa); | 173 | u16 bfa_fcport_get_maxfrsize(struct bfa_s *bfa); |
171 | u32 bfa_pport_mypid(struct bfa_s *bfa); | 174 | u32 bfa_fcport_mypid(struct bfa_s *bfa); |
172 | u8 bfa_pport_get_rx_bbcredit(struct bfa_s *bfa); | 175 | u8 bfa_fcport_get_rx_bbcredit(struct bfa_s *bfa); |
173 | bfa_status_t bfa_pport_trunk_enable(struct bfa_s *bfa, u8 bitmap); | 176 | bfa_status_t bfa_fcport_trunk_enable(struct bfa_s *bfa, u8 bitmap); |
174 | bfa_status_t bfa_pport_trunk_disable(struct bfa_s *bfa); | 177 | bfa_status_t bfa_fcport_trunk_disable(struct bfa_s *bfa); |
175 | bfa_boolean_t bfa_pport_trunk_query(struct bfa_s *bfa, u32 *bitmap); | 178 | bfa_boolean_t bfa_fcport_trunk_query(struct bfa_s *bfa, u32 *bitmap); |
176 | void bfa_pport_get_attr(struct bfa_s *bfa, struct bfa_pport_attr_s *attr); | 179 | void bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_pport_attr_s *attr); |
177 | wwn_t bfa_pport_get_wwn(struct bfa_s *bfa, bfa_boolean_t node); | 180 | wwn_t bfa_fcport_get_wwn(struct bfa_s *bfa, bfa_boolean_t node); |
178 | bfa_status_t bfa_pport_get_stats(struct bfa_s *bfa, | 181 | void bfa_fcport_event_register(struct bfa_s *bfa, |
179 | union bfa_pport_stats_u *stats, | ||
180 | bfa_cb_pport_t cbfn, void *cbarg); | ||
181 | bfa_status_t bfa_pport_clear_stats(struct bfa_s *bfa, bfa_cb_pport_t cbfn, | ||
182 | void *cbarg); | ||
183 | void bfa_pport_event_register(struct bfa_s *bfa, | ||
184 | void (*event_cbfn) (void *cbarg, | 182 | void (*event_cbfn) (void *cbarg, |
185 | bfa_pport_event_t event), void *event_cbarg); | 183 | bfa_pport_event_t event), void *event_cbarg); |
186 | bfa_boolean_t bfa_pport_is_disabled(struct bfa_s *bfa); | 184 | bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa); |
187 | void bfa_pport_cfg_qos(struct bfa_s *bfa, bfa_boolean_t on_off); | 185 | void bfa_fcport_cfg_qos(struct bfa_s *bfa, bfa_boolean_t on_off); |
188 | void bfa_pport_cfg_ratelim(struct bfa_s *bfa, bfa_boolean_t on_off); | 186 | void bfa_fcport_cfg_ratelim(struct bfa_s *bfa, bfa_boolean_t on_off); |
189 | bfa_status_t bfa_pport_cfg_ratelim_speed(struct bfa_s *bfa, | 187 | bfa_status_t bfa_fcport_cfg_ratelim_speed(struct bfa_s *bfa, |
190 | enum bfa_pport_speed speed); | 188 | enum bfa_pport_speed speed); |
191 | enum bfa_pport_speed bfa_pport_get_ratelim_speed(struct bfa_s *bfa); | 189 | enum bfa_pport_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa); |
192 | 190 | ||
193 | void bfa_pport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit); | 191 | void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit); |
194 | void bfa_pport_busy(struct bfa_s *bfa, bfa_boolean_t status); | 192 | void bfa_fcport_busy(struct bfa_s *bfa, bfa_boolean_t status); |
195 | void bfa_pport_beacon(struct bfa_s *bfa, bfa_boolean_t beacon, | 193 | void bfa_fcport_beacon(struct bfa_s *bfa, bfa_boolean_t beacon, |
196 | bfa_boolean_t link_e2e_beacon); | 194 | bfa_boolean_t link_e2e_beacon); |
197 | void bfa_cb_pport_event(void *cbarg, bfa_pport_event_t event); | 195 | void bfa_cb_pport_event(void *cbarg, bfa_pport_event_t event); |
198 | void bfa_pport_qos_get_attr(struct bfa_s *bfa, struct bfa_qos_attr_s *qos_attr); | 196 | void bfa_fcport_qos_get_attr(struct bfa_s *bfa, |
199 | void bfa_pport_qos_get_vc_attr(struct bfa_s *bfa, | 197 | struct bfa_qos_attr_s *qos_attr); |
198 | void bfa_fcport_qos_get_vc_attr(struct bfa_s *bfa, | ||
200 | struct bfa_qos_vc_attr_s *qos_vc_attr); | 199 | struct bfa_qos_vc_attr_s *qos_vc_attr); |
201 | bfa_status_t bfa_pport_get_qos_stats(struct bfa_s *bfa, | 200 | bfa_status_t bfa_fcport_get_qos_stats(struct bfa_s *bfa, |
202 | union bfa_pport_stats_u *stats, | 201 | union bfa_fcport_stats_u *stats, |
203 | bfa_cb_pport_t cbfn, void *cbarg); | 202 | bfa_cb_pport_t cbfn, void *cbarg); |
204 | bfa_status_t bfa_pport_clear_qos_stats(struct bfa_s *bfa, bfa_cb_pport_t cbfn, | 203 | bfa_status_t bfa_fcport_clear_qos_stats(struct bfa_s *bfa, bfa_cb_pport_t cbfn, |
205 | void *cbarg); | 204 | void *cbarg); |
206 | bfa_boolean_t bfa_pport_is_ratelim(struct bfa_s *bfa); | 205 | bfa_status_t bfa_fcport_get_fcoe_stats(struct bfa_s *bfa, |
207 | bfa_boolean_t bfa_pport_is_linkup(struct bfa_s *bfa); | 206 | union bfa_fcport_stats_u *stats, |
207 | bfa_cb_pport_t cbfn, void *cbarg); | ||
208 | bfa_status_t bfa_fcport_clear_fcoe_stats(struct bfa_s *bfa, bfa_cb_pport_t cbfn, | ||
209 | void *cbarg); | ||
210 | |||
211 | bfa_boolean_t bfa_fcport_is_ratelim(struct bfa_s *bfa); | ||
212 | bfa_boolean_t bfa_fcport_is_linkup(struct bfa_s *bfa); | ||
213 | bfa_status_t bfa_fcport_get_stats(struct bfa_s *bfa, | ||
214 | union bfa_fcport_stats_u *stats, | ||
215 | bfa_cb_pport_t cbfn, void *cbarg); | ||
216 | bfa_status_t bfa_fcport_clear_stats(struct bfa_s *bfa, bfa_cb_pport_t cbfn, | ||
217 | void *cbarg); | ||
208 | 218 | ||
209 | /* | 219 | /* |
210 | * bfa rport API functions | 220 | * bfa rport API functions |
@@ -293,6 +303,7 @@ void bfa_uf_free(struct bfa_uf_s *uf); | |||
293 | * bfa lport service api | 303 | * bfa lport service api |
294 | */ | 304 | */ |
295 | 305 | ||
306 | u32 bfa_lps_get_max_vport(struct bfa_s *bfa); | ||
296 | struct bfa_lps_s *bfa_lps_alloc(struct bfa_s *bfa); | 307 | struct bfa_lps_s *bfa_lps_alloc(struct bfa_s *bfa); |
297 | void bfa_lps_delete(struct bfa_lps_s *lps); | 308 | void bfa_lps_delete(struct bfa_lps_s *lps); |
298 | void bfa_lps_discard(struct bfa_lps_s *lps); | 309 | void bfa_lps_discard(struct bfa_lps_s *lps); |
@@ -315,10 +326,12 @@ wwn_t bfa_lps_get_peer_pwwn(struct bfa_lps_s *lps); | |||
315 | wwn_t bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps); | 326 | wwn_t bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps); |
316 | u8 bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps); | 327 | u8 bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps); |
317 | u8 bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps); | 328 | u8 bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps); |
329 | mac_t bfa_lps_get_lp_mac(struct bfa_lps_s *lps); | ||
318 | void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status); | 330 | void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status); |
319 | void bfa_cb_lps_flogo_comp(void *bfad, void *uarg); | 331 | void bfa_cb_lps_flogo_comp(void *bfad, void *uarg); |
320 | void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status); | 332 | void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status); |
321 | void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg); | 333 | void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg); |
334 | void bfa_cb_lps_cvl_event(void *bfad, void *uarg); | ||
322 | 335 | ||
323 | #endif /* __BFA_SVC_H__ */ | 336 | #endif /* __BFA_SVC_H__ */ |
324 | 337 | ||
diff --git a/drivers/scsi/bfa/include/bfa_timer.h b/drivers/scsi/bfa/include/bfa_timer.h index e407103fa565..f71087448222 100644 --- a/drivers/scsi/bfa/include/bfa_timer.h +++ b/drivers/scsi/bfa/include/bfa_timer.h | |||
@@ -41,7 +41,7 @@ struct bfa_timer_mod_s { | |||
41 | struct list_head timer_q; | 41 | struct list_head timer_q; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | #define BFA_TIMER_FREQ 500 /**< specified in millisecs */ | 44 | #define BFA_TIMER_FREQ 200 /**< specified in millisecs */ |
45 | 45 | ||
46 | void bfa_timer_beat(struct bfa_timer_mod_s *mod); | 46 | void bfa_timer_beat(struct bfa_timer_mod_s *mod); |
47 | void bfa_timer_init(struct bfa_timer_mod_s *mod); | 47 | void bfa_timer_init(struct bfa_timer_mod_s *mod); |
diff --git a/drivers/scsi/bfa/include/bfi/bfi.h b/drivers/scsi/bfa/include/bfi/bfi.h index 7042c18e542d..a550e80cabd2 100644 --- a/drivers/scsi/bfa/include/bfi/bfi.h +++ b/drivers/scsi/bfa/include/bfi/bfi.h | |||
@@ -143,8 +143,8 @@ enum bfi_mclass { | |||
143 | BFI_MC_IOC = 1, /* IO Controller (IOC) */ | 143 | BFI_MC_IOC = 1, /* IO Controller (IOC) */ |
144 | BFI_MC_DIAG = 2, /* Diagnostic Msgs */ | 144 | BFI_MC_DIAG = 2, /* Diagnostic Msgs */ |
145 | BFI_MC_FLASH = 3, /* Flash message class */ | 145 | BFI_MC_FLASH = 3, /* Flash message class */ |
146 | BFI_MC_CEE = 4, | 146 | BFI_MC_CEE = 4, /* CEE */ |
147 | BFI_MC_FC_PORT = 5, /* FC port */ | 147 | BFI_MC_FCPORT = 5, /* FC port */ |
148 | BFI_MC_IOCFC = 6, /* FC - IO Controller (IOC) */ | 148 | BFI_MC_IOCFC = 6, /* FC - IO Controller (IOC) */ |
149 | BFI_MC_LL = 7, /* Link Layer */ | 149 | BFI_MC_LL = 7, /* Link Layer */ |
150 | BFI_MC_UF = 8, /* Unsolicited frame receive */ | 150 | BFI_MC_UF = 8, /* Unsolicited frame receive */ |
diff --git a/drivers/scsi/bfa/include/bfi/bfi_cbreg.h b/drivers/scsi/bfa/include/bfi/bfi_cbreg.h index b3bb52b565b1..a51ee61ddb19 100644 --- a/drivers/scsi/bfa/include/bfi/bfi_cbreg.h +++ b/drivers/scsi/bfa/include/bfi/bfi_cbreg.h | |||
@@ -177,7 +177,21 @@ | |||
177 | #define __PSS_LMEM_INIT_EN 0x00000100 | 177 | #define __PSS_LMEM_INIT_EN 0x00000100 |
178 | #define __PSS_LPU1_RESET 0x00000002 | 178 | #define __PSS_LPU1_RESET 0x00000002 |
179 | #define __PSS_LPU0_RESET 0x00000001 | 179 | #define __PSS_LPU0_RESET 0x00000001 |
180 | 180 | #define PSS_ERR_STATUS_REG 0x00018810 | |
181 | #define __PSS_LMEM1_CORR_ERR 0x00000800 | ||
182 | #define __PSS_LMEM0_CORR_ERR 0x00000400 | ||
183 | #define __PSS_LMEM1_UNCORR_ERR 0x00000200 | ||
184 | #define __PSS_LMEM0_UNCORR_ERR 0x00000100 | ||
185 | #define __PSS_BAL_PERR 0x00000080 | ||
186 | #define __PSS_DIP_IF_ERR 0x00000040 | ||
187 | #define __PSS_IOH_IF_ERR 0x00000020 | ||
188 | #define __PSS_TDS_IF_ERR 0x00000010 | ||
189 | #define __PSS_RDS_IF_ERR 0x00000008 | ||
190 | #define __PSS_SGM_IF_ERR 0x00000004 | ||
191 | #define __PSS_LPU1_RAM_ERR 0x00000002 | ||
192 | #define __PSS_LPU0_RAM_ERR 0x00000001 | ||
193 | #define ERR_SET_REG 0x00018818 | ||
194 | #define __PSS_ERR_STATUS_SET 0x00000fff | ||
181 | 195 | ||
182 | /* | 196 | /* |
183 | * These definitions are either in error/missing in spec. Its auto-generated | 197 | * These definitions are either in error/missing in spec. Its auto-generated |
diff --git a/drivers/scsi/bfa/include/bfi/bfi_ctreg.h b/drivers/scsi/bfa/include/bfi/bfi_ctreg.h index d3caa58c0a0a..57a8497105af 100644 --- a/drivers/scsi/bfa/include/bfi/bfi_ctreg.h +++ b/drivers/scsi/bfa/include/bfi/bfi_ctreg.h | |||
@@ -430,6 +430,31 @@ enum { | |||
430 | #define __PSS_LMEM_INIT_EN 0x00000100 | 430 | #define __PSS_LMEM_INIT_EN 0x00000100 |
431 | #define __PSS_LPU1_RESET 0x00000002 | 431 | #define __PSS_LPU1_RESET 0x00000002 |
432 | #define __PSS_LPU0_RESET 0x00000001 | 432 | #define __PSS_LPU0_RESET 0x00000001 |
433 | #define PSS_ERR_STATUS_REG 0x00018810 | ||
434 | #define __PSS_LPU1_TCM_READ_ERR 0x00200000 | ||
435 | #define __PSS_LPU0_TCM_READ_ERR 0x00100000 | ||
436 | #define __PSS_LMEM5_CORR_ERR 0x00080000 | ||
437 | #define __PSS_LMEM4_CORR_ERR 0x00040000 | ||
438 | #define __PSS_LMEM3_CORR_ERR 0x00020000 | ||
439 | #define __PSS_LMEM2_CORR_ERR 0x00010000 | ||
440 | #define __PSS_LMEM1_CORR_ERR 0x00008000 | ||
441 | #define __PSS_LMEM0_CORR_ERR 0x00004000 | ||
442 | #define __PSS_LMEM5_UNCORR_ERR 0x00002000 | ||
443 | #define __PSS_LMEM4_UNCORR_ERR 0x00001000 | ||
444 | #define __PSS_LMEM3_UNCORR_ERR 0x00000800 | ||
445 | #define __PSS_LMEM2_UNCORR_ERR 0x00000400 | ||
446 | #define __PSS_LMEM1_UNCORR_ERR 0x00000200 | ||
447 | #define __PSS_LMEM0_UNCORR_ERR 0x00000100 | ||
448 | #define __PSS_BAL_PERR 0x00000080 | ||
449 | #define __PSS_DIP_IF_ERR 0x00000040 | ||
450 | #define __PSS_IOH_IF_ERR 0x00000020 | ||
451 | #define __PSS_TDS_IF_ERR 0x00000010 | ||
452 | #define __PSS_RDS_IF_ERR 0x00000008 | ||
453 | #define __PSS_SGM_IF_ERR 0x00000004 | ||
454 | #define __PSS_LPU1_RAM_ERR 0x00000002 | ||
455 | #define __PSS_LPU0_RAM_ERR 0x00000001 | ||
456 | #define ERR_SET_REG 0x00018818 | ||
457 | #define __PSS_ERR_STATUS_SET 0x003fffff | ||
433 | #define HQM_QSET0_RXQ_DRBL_P0 0x00038000 | 458 | #define HQM_QSET0_RXQ_DRBL_P0 0x00038000 |
434 | #define __RXQ0_ADD_VECTORS_P 0x80000000 | 459 | #define __RXQ0_ADD_VECTORS_P 0x80000000 |
435 | #define __RXQ0_STOP_P 0x40000000 | 460 | #define __RXQ0_STOP_P 0x40000000 |
@@ -589,6 +614,7 @@ enum { | |||
589 | #define __HFN_INT_MBOX_LPU1 0x00200000U | 614 | #define __HFN_INT_MBOX_LPU1 0x00200000U |
590 | #define __HFN_INT_MBOX1_LPU0 0x00400000U | 615 | #define __HFN_INT_MBOX1_LPU0 0x00400000U |
591 | #define __HFN_INT_MBOX1_LPU1 0x00800000U | 616 | #define __HFN_INT_MBOX1_LPU1 0x00800000U |
617 | #define __HFN_INT_LL_HALT 0x01000000U | ||
592 | #define __HFN_INT_CPE_MASK 0x000000ffU | 618 | #define __HFN_INT_CPE_MASK 0x000000ffU |
593 | #define __HFN_INT_RME_MASK 0x0000ff00U | 619 | #define __HFN_INT_RME_MASK 0x0000ff00U |
594 | 620 | ||
diff --git a/drivers/scsi/bfa/include/bfi/bfi_ioc.h b/drivers/scsi/bfa/include/bfi/bfi_ioc.h index 96ef05670659..a0158aac0024 100644 --- a/drivers/scsi/bfa/include/bfi/bfi_ioc.h +++ b/drivers/scsi/bfa/include/bfi/bfi_ioc.h | |||
@@ -123,7 +123,7 @@ enum bfi_ioc_state { | |||
123 | BFI_IOC_DISABLING = 5, /* IOC is being disabled */ | 123 | BFI_IOC_DISABLING = 5, /* IOC is being disabled */ |
124 | BFI_IOC_DISABLED = 6, /* IOC is disabled */ | 124 | BFI_IOC_DISABLED = 6, /* IOC is disabled */ |
125 | BFI_IOC_CFG_DISABLED = 7, /* IOC is being disabled;transient */ | 125 | BFI_IOC_CFG_DISABLED = 7, /* IOC is being disabled;transient */ |
126 | BFI_IOC_HBFAIL = 8, /* IOC heart-beat failure */ | 126 | BFI_IOC_FAIL = 8, /* IOC heart-beat failure */ |
127 | BFI_IOC_MEMTEST = 9, /* IOC is doing memtest */ | 127 | BFI_IOC_MEMTEST = 9, /* IOC is doing memtest */ |
128 | }; | 128 | }; |
129 | 129 | ||
diff --git a/drivers/scsi/bfa/include/bfi/bfi_lps.h b/drivers/scsi/bfa/include/bfi/bfi_lps.h index c59d47badb4b..7ed31bbb8696 100644 --- a/drivers/scsi/bfa/include/bfi/bfi_lps.h +++ b/drivers/scsi/bfa/include/bfi/bfi_lps.h | |||
@@ -30,6 +30,7 @@ enum bfi_lps_h2i_msgs { | |||
30 | enum bfi_lps_i2h_msgs { | 30 | enum bfi_lps_i2h_msgs { |
31 | BFI_LPS_H2I_LOGIN_RSP = BFA_I2HM(1), | 31 | BFI_LPS_H2I_LOGIN_RSP = BFA_I2HM(1), |
32 | BFI_LPS_H2I_LOGOUT_RSP = BFA_I2HM(2), | 32 | BFI_LPS_H2I_LOGOUT_RSP = BFA_I2HM(2), |
33 | BFI_LPS_H2I_CVL_EVENT = BFA_I2HM(3), | ||
33 | }; | 34 | }; |
34 | 35 | ||
35 | struct bfi_lps_login_req_s { | 36 | struct bfi_lps_login_req_s { |
@@ -77,6 +78,12 @@ struct bfi_lps_logout_rsp_s { | |||
77 | u8 rsvd[2]; | 78 | u8 rsvd[2]; |
78 | }; | 79 | }; |
79 | 80 | ||
81 | struct bfi_lps_cvl_event_s { | ||
82 | struct bfi_mhdr_s mh; /* common msg header */ | ||
83 | u8 lp_tag; | ||
84 | u8 rsvd[3]; | ||
85 | }; | ||
86 | |||
80 | union bfi_lps_h2i_msg_u { | 87 | union bfi_lps_h2i_msg_u { |
81 | struct bfi_mhdr_s *msg; | 88 | struct bfi_mhdr_s *msg; |
82 | struct bfi_lps_login_req_s *login_req; | 89 | struct bfi_lps_login_req_s *login_req; |
@@ -87,6 +94,7 @@ union bfi_lps_i2h_msg_u { | |||
87 | struct bfi_msg_s *msg; | 94 | struct bfi_msg_s *msg; |
88 | struct bfi_lps_login_rsp_s *login_rsp; | 95 | struct bfi_lps_login_rsp_s *login_rsp; |
89 | struct bfi_lps_logout_rsp_s *logout_rsp; | 96 | struct bfi_lps_logout_rsp_s *logout_rsp; |
97 | struct bfi_lps_cvl_event_s *cvl_event; | ||
90 | }; | 98 | }; |
91 | 99 | ||
92 | #pragma pack() | 100 | #pragma pack() |
diff --git a/drivers/scsi/bfa/include/bfi/bfi_pport.h b/drivers/scsi/bfa/include/bfi/bfi_pport.h index c96d246851af..50dcf45c7470 100644 --- a/drivers/scsi/bfa/include/bfi/bfi_pport.h +++ b/drivers/scsi/bfa/include/bfi/bfi_pport.h | |||
@@ -22,163 +22,97 @@ | |||
22 | 22 | ||
23 | #pragma pack(1) | 23 | #pragma pack(1) |
24 | 24 | ||
25 | enum bfi_pport_h2i { | 25 | enum bfi_fcport_h2i { |
26 | BFI_PPORT_H2I_ENABLE_REQ = (1), | 26 | BFI_FCPORT_H2I_ENABLE_REQ = (1), |
27 | BFI_PPORT_H2I_DISABLE_REQ = (2), | 27 | BFI_FCPORT_H2I_DISABLE_REQ = (2), |
28 | BFI_PPORT_H2I_GET_STATS_REQ = (3), | 28 | BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ = (3), |
29 | BFI_PPORT_H2I_CLEAR_STATS_REQ = (4), | 29 | BFI_FCPORT_H2I_STATS_GET_REQ = (4), |
30 | BFI_PPORT_H2I_SET_SVC_PARAMS_REQ = (5), | 30 | BFI_FCPORT_H2I_STATS_CLEAR_REQ = (5), |
31 | BFI_PPORT_H2I_ENABLE_RX_VF_TAG_REQ = (6), | ||
32 | BFI_PPORT_H2I_ENABLE_TX_VF_TAG_REQ = (7), | ||
33 | BFI_PPORT_H2I_GET_QOS_STATS_REQ = (8), | ||
34 | BFI_PPORT_H2I_CLEAR_QOS_STATS_REQ = (9), | ||
35 | }; | 31 | }; |
36 | 32 | ||
37 | enum bfi_pport_i2h { | 33 | enum bfi_fcport_i2h { |
38 | BFI_PPORT_I2H_ENABLE_RSP = BFA_I2HM(1), | 34 | BFI_FCPORT_I2H_ENABLE_RSP = BFA_I2HM(1), |
39 | BFI_PPORT_I2H_DISABLE_RSP = BFA_I2HM(2), | 35 | BFI_FCPORT_I2H_DISABLE_RSP = BFA_I2HM(2), |
40 | BFI_PPORT_I2H_GET_STATS_RSP = BFA_I2HM(3), | 36 | BFI_FCPORT_I2H_SET_SVC_PARAMS_RSP = BFA_I2HM(3), |
41 | BFI_PPORT_I2H_CLEAR_STATS_RSP = BFA_I2HM(4), | 37 | BFI_FCPORT_I2H_STATS_GET_RSP = BFA_I2HM(4), |
42 | BFI_PPORT_I2H_SET_SVC_PARAMS_RSP = BFA_I2HM(5), | 38 | BFI_FCPORT_I2H_STATS_CLEAR_RSP = BFA_I2HM(5), |
43 | BFI_PPORT_I2H_ENABLE_RX_VF_TAG_RSP = BFA_I2HM(6), | 39 | BFI_FCPORT_I2H_EVENT = BFA_I2HM(6), |
44 | BFI_PPORT_I2H_ENABLE_TX_VF_TAG_RSP = BFA_I2HM(7), | ||
45 | BFI_PPORT_I2H_EVENT = BFA_I2HM(8), | ||
46 | BFI_PPORT_I2H_GET_QOS_STATS_RSP = BFA_I2HM(9), | ||
47 | BFI_PPORT_I2H_CLEAR_QOS_STATS_RSP = BFA_I2HM(10), | ||
48 | }; | 40 | }; |
49 | 41 | ||
50 | /** | 42 | /** |
51 | * Generic REQ type | 43 | * Generic REQ type |
52 | */ | 44 | */ |
53 | struct bfi_pport_generic_req_s { | 45 | struct bfi_fcport_req_s { |
54 | struct bfi_mhdr_s mh; /* msg header */ | 46 | struct bfi_mhdr_s mh; /* msg header */ |
55 | u32 msgtag; /* msgtag for reply */ | 47 | u32 msgtag; /* msgtag for reply */ |
56 | }; | 48 | }; |
57 | 49 | ||
58 | /** | 50 | /** |
59 | * Generic RSP type | 51 | * Generic RSP type |
60 | */ | 52 | */ |
61 | struct bfi_pport_generic_rsp_s { | 53 | struct bfi_fcport_rsp_s { |
62 | struct bfi_mhdr_s mh; /* common msg header */ | 54 | struct bfi_mhdr_s mh; /* common msg header */ |
63 | u8 status; /* port enable status */ | 55 | u8 status; /* port enable status */ |
64 | u8 rsvd[3]; | 56 | u8 rsvd[3]; |
65 | u32 msgtag; /* msgtag for reply */ | 57 | u32 msgtag; /* msgtag for reply */ |
66 | }; | 58 | }; |
67 | 59 | ||
68 | /** | 60 | /** |
69 | * BFI_PPORT_H2I_ENABLE_REQ | 61 | * BFI_FCPORT_H2I_ENABLE_REQ |
70 | */ | 62 | */ |
71 | struct bfi_pport_enable_req_s { | 63 | struct bfi_fcport_enable_req_s { |
72 | struct bfi_mhdr_s mh; /* msg header */ | 64 | struct bfi_mhdr_s mh; /* msg header */ |
73 | u32 rsvd1; | 65 | u32 rsvd1; |
74 | wwn_t nwwn; /* node wwn of physical port */ | 66 | wwn_t nwwn; /* node wwn of physical port */ |
75 | wwn_t pwwn; /* port wwn of physical port */ | 67 | wwn_t pwwn; /* port wwn of physical port */ |
76 | struct bfa_pport_cfg_s port_cfg; /* port configuration */ | 68 | struct bfa_pport_cfg_s port_cfg; /* port configuration */ |
77 | union bfi_addr_u stats_dma_addr; /* DMA address for stats */ | 69 | union bfi_addr_u stats_dma_addr; /* DMA address for stats */ |
78 | u32 msgtag; /* msgtag for reply */ | 70 | u32 msgtag; /* msgtag for reply */ |
79 | u32 rsvd2; | 71 | u32 rsvd2; |
80 | }; | 72 | }; |
81 | 73 | ||
82 | /** | 74 | /** |
83 | * BFI_PPORT_I2H_ENABLE_RSP | 75 | * BFI_FCPORT_H2I_SET_SVC_PARAMS_REQ |
84 | */ | 76 | */ |
85 | #define bfi_pport_enable_rsp_t struct bfi_pport_generic_rsp_s | 77 | struct bfi_fcport_set_svc_params_req_s { |
86 | |||
87 | /** | ||
88 | * BFI_PPORT_H2I_DISABLE_REQ | ||
89 | */ | ||
90 | #define bfi_pport_disable_req_t struct bfi_pport_generic_req_s | ||
91 | |||
92 | /** | ||
93 | * BFI_PPORT_I2H_DISABLE_RSP | ||
94 | */ | ||
95 | #define bfi_pport_disable_rsp_t struct bfi_pport_generic_rsp_s | ||
96 | |||
97 | /** | ||
98 | * BFI_PPORT_H2I_GET_STATS_REQ | ||
99 | */ | ||
100 | #define bfi_pport_get_stats_req_t struct bfi_pport_generic_req_s | ||
101 | |||
102 | /** | ||
103 | * BFI_PPORT_I2H_GET_STATS_RSP | ||
104 | */ | ||
105 | #define bfi_pport_get_stats_rsp_t struct bfi_pport_generic_rsp_s | ||
106 | |||
107 | /** | ||
108 | * BFI_PPORT_H2I_CLEAR_STATS_REQ | ||
109 | */ | ||
110 | #define bfi_pport_clear_stats_req_t struct bfi_pport_generic_req_s | ||
111 | |||
112 | /** | ||
113 | * BFI_PPORT_I2H_CLEAR_STATS_RSP | ||
114 | */ | ||
115 | #define bfi_pport_clear_stats_rsp_t struct bfi_pport_generic_rsp_s | ||
116 | |||
117 | /** | ||
118 | * BFI_PPORT_H2I_GET_QOS_STATS_REQ | ||
119 | */ | ||
120 | #define bfi_pport_get_qos_stats_req_t struct bfi_pport_generic_req_s | ||
121 | |||
122 | /** | ||
123 | * BFI_PPORT_H2I_GET_QOS_STATS_RSP | ||
124 | */ | ||
125 | #define bfi_pport_get_qos_stats_rsp_t struct bfi_pport_generic_rsp_s | ||
126 | |||
127 | /** | ||
128 | * BFI_PPORT_H2I_CLEAR_QOS_STATS_REQ | ||
129 | */ | ||
130 | #define bfi_pport_clear_qos_stats_req_t struct bfi_pport_generic_req_s | ||
131 | |||
132 | /** | ||
133 | * BFI_PPORT_H2I_CLEAR_QOS_STATS_RSP | ||
134 | */ | ||
135 | #define bfi_pport_clear_qos_stats_rsp_t struct bfi_pport_generic_rsp_s | ||
136 | |||
137 | /** | ||
138 | * BFI_PPORT_H2I_SET_SVC_PARAMS_REQ | ||
139 | */ | ||
140 | struct bfi_pport_set_svc_params_req_s { | ||
141 | struct bfi_mhdr_s mh; /* msg header */ | 78 | struct bfi_mhdr_s mh; /* msg header */ |
142 | u16 tx_bbcredit; /* Tx credits */ | 79 | u16 tx_bbcredit; /* Tx credits */ |
143 | u16 rsvd; | 80 | u16 rsvd; |
144 | }; | 81 | }; |
145 | 82 | ||
146 | /** | 83 | /** |
147 | * BFI_PPORT_I2H_SET_SVC_PARAMS_RSP | 84 | * BFI_FCPORT_I2H_EVENT |
148 | */ | ||
149 | |||
150 | /** | ||
151 | * BFI_PPORT_I2H_EVENT | ||
152 | */ | 85 | */ |
153 | struct bfi_pport_event_s { | 86 | struct bfi_fcport_event_s { |
154 | struct bfi_mhdr_s mh; /* common msg header */ | 87 | struct bfi_mhdr_s mh; /* common msg header */ |
155 | struct bfa_pport_link_s link_state; | 88 | struct bfa_pport_link_s link_state; |
156 | }; | 89 | }; |
157 | 90 | ||
158 | union bfi_pport_h2i_msg_u { | 91 | /** |
92 | * fcport H2I message | ||
93 | */ | ||
94 | union bfi_fcport_h2i_msg_u { | ||
159 | struct bfi_mhdr_s *mhdr; | 95 | struct bfi_mhdr_s *mhdr; |
160 | struct bfi_pport_enable_req_s *penable; | 96 | struct bfi_fcport_enable_req_s *penable; |
161 | struct bfi_pport_generic_req_s *pdisable; | 97 | struct bfi_fcport_req_s *pdisable; |
162 | struct bfi_pport_generic_req_s *pgetstats; | 98 | struct bfi_fcport_set_svc_params_req_s *psetsvcparams; |
163 | struct bfi_pport_generic_req_s *pclearstats; | 99 | struct bfi_fcport_req_s *pstatsget; |
164 | struct bfi_pport_set_svc_params_req_s *psetsvcparams; | 100 | struct bfi_fcport_req_s *pstatsclear; |
165 | struct bfi_pport_get_qos_stats_req_s *pgetqosstats; | ||
166 | struct bfi_pport_generic_req_s *pclearqosstats; | ||
167 | }; | 101 | }; |
168 | 102 | ||
169 | union bfi_pport_i2h_msg_u { | 103 | /** |
104 | * fcport I2H message | ||
105 | */ | ||
106 | union bfi_fcport_i2h_msg_u { | ||
170 | struct bfi_msg_s *msg; | 107 | struct bfi_msg_s *msg; |
171 | struct bfi_pport_generic_rsp_s *enable_rsp; | 108 | struct bfi_fcport_rsp_s *penable_rsp; |
172 | struct bfi_pport_disable_rsp_s *disable_rsp; | 109 | struct bfi_fcport_rsp_s *pdisable_rsp; |
173 | struct bfi_pport_generic_rsp_s *getstats_rsp; | 110 | struct bfi_fcport_rsp_s *psetsvcparams_rsp; |
174 | struct bfi_pport_clear_stats_rsp_s *clearstats_rsp; | 111 | struct bfi_fcport_rsp_s *pstatsget_rsp; |
175 | struct bfi_pport_set_svc_params_rsp_s *setsvcparasm_rsp; | 112 | struct bfi_fcport_rsp_s *pstatsclear_rsp; |
176 | struct bfi_pport_get_qos_stats_rsp_s *getqosstats_rsp; | 113 | struct bfi_fcport_event_s *event; |
177 | struct bfi_pport_clear_qos_stats_rsp_s *clearqosstats_rsp; | ||
178 | struct bfi_pport_event_s *event; | ||
179 | }; | 114 | }; |
180 | 115 | ||
181 | #pragma pack() | 116 | #pragma pack() |
182 | 117 | ||
183 | #endif /* __BFI_PPORT_H__ */ | 118 | #endif /* __BFI_PPORT_H__ */ |
184 | |||
diff --git a/drivers/scsi/bfa/include/cna/bfa_cna_trcmod.h b/drivers/scsi/bfa/include/cna/bfa_cna_trcmod.h index 43ba7064e81a..a75a1f3be315 100644 --- a/drivers/scsi/bfa/include/cna/bfa_cna_trcmod.h +++ b/drivers/scsi/bfa/include/cna/bfa_cna_trcmod.h | |||
@@ -31,6 +31,10 @@ | |||
31 | enum { | 31 | enum { |
32 | BFA_TRC_CNA_CEE = 1, | 32 | BFA_TRC_CNA_CEE = 1, |
33 | BFA_TRC_CNA_PORT = 2, | 33 | BFA_TRC_CNA_PORT = 2, |
34 | BFA_TRC_CNA_IOC = 3, | ||
35 | BFA_TRC_CNA_DIAG = 4, | ||
36 | BFA_TRC_CNA_IOC_CB = 5, | ||
37 | BFA_TRC_CNA_IOC_CT = 6, | ||
34 | }; | 38 | }; |
35 | 39 | ||
36 | #endif /* __BFA_CNA_TRCMOD_H__ */ | 40 | #endif /* __BFA_CNA_TRCMOD_H__ */ |
diff --git a/drivers/scsi/bfa/include/cs/bfa_log.h b/drivers/scsi/bfa/include/cs/bfa_log.h index 761cbe22130a..bc334e0a93fa 100644 --- a/drivers/scsi/bfa/include/cs/bfa_log.h +++ b/drivers/scsi/bfa/include/cs/bfa_log.h | |||
@@ -157,7 +157,7 @@ typedef void (*bfa_log_cb_t)(struct bfa_log_mod_s *log_mod, u32 msg_id, | |||
157 | 157 | ||
158 | 158 | ||
159 | struct bfa_log_mod_s { | 159 | struct bfa_log_mod_s { |
160 | char instance_info[16]; /* instance info */ | 160 | char instance_info[BFA_STRING_32]; /* instance info */ |
161 | int log_level[BFA_LOG_MODULE_ID_MAX + 1]; | 161 | int log_level[BFA_LOG_MODULE_ID_MAX + 1]; |
162 | /* log level for modules */ | 162 | /* log level for modules */ |
163 | bfa_log_cb_t cbfn; /* callback function */ | 163 | bfa_log_cb_t cbfn; /* callback function */ |
diff --git a/drivers/scsi/bfa/include/cs/bfa_plog.h b/drivers/scsi/bfa/include/cs/bfa_plog.h index 670f86e5fc6e..f5bef63b5877 100644 --- a/drivers/scsi/bfa/include/cs/bfa_plog.h +++ b/drivers/scsi/bfa/include/cs/bfa_plog.h | |||
@@ -80,7 +80,8 @@ enum bfa_plog_mid { | |||
80 | BFA_PL_MID_HAL_FCXP = 4, | 80 | BFA_PL_MID_HAL_FCXP = 4, |
81 | BFA_PL_MID_HAL_UF = 5, | 81 | BFA_PL_MID_HAL_UF = 5, |
82 | BFA_PL_MID_FCS = 6, | 82 | BFA_PL_MID_FCS = 6, |
83 | BFA_PL_MID_MAX = 7 | 83 | BFA_PL_MID_LPS = 7, |
84 | BFA_PL_MID_MAX = 8 | ||
84 | }; | 85 | }; |
85 | 86 | ||
86 | #define BFA_PL_MID_STRLEN 8 | 87 | #define BFA_PL_MID_STRLEN 8 |
@@ -118,7 +119,11 @@ enum bfa_plog_eid { | |||
118 | BFA_PL_EID_RSCN = 17, | 119 | BFA_PL_EID_RSCN = 17, |
119 | BFA_PL_EID_DEBUG = 18, | 120 | BFA_PL_EID_DEBUG = 18, |
120 | BFA_PL_EID_MISC = 19, | 121 | BFA_PL_EID_MISC = 19, |
121 | BFA_PL_EID_MAX = 20 | 122 | BFA_PL_EID_FIP_FCF_DISC = 20, |
123 | BFA_PL_EID_FIP_FCF_CVL = 21, | ||
124 | BFA_PL_EID_LOGIN = 22, | ||
125 | BFA_PL_EID_LOGO = 23, | ||
126 | BFA_PL_EID_MAX = 24 | ||
122 | }; | 127 | }; |
123 | 128 | ||
124 | #define BFA_PL_ENAME_STRLEN 8 | 129 | #define BFA_PL_ENAME_STRLEN 8 |
diff --git a/drivers/scsi/bfa/include/cs/bfa_sm.h b/drivers/scsi/bfa/include/cs/bfa_sm.h index b0a92baf6657..11fba9082f05 100644 --- a/drivers/scsi/bfa/include/cs/bfa_sm.h +++ b/drivers/scsi/bfa/include/cs/bfa_sm.h | |||
@@ -23,6 +23,14 @@ | |||
23 | #define __BFA_SM_H__ | 23 | #define __BFA_SM_H__ |
24 | 24 | ||
25 | typedef void (*bfa_sm_t)(void *sm, int event); | 25 | typedef void (*bfa_sm_t)(void *sm, int event); |
26 | /** | ||
27 | * oc - object class eg. bfa_ioc | ||
28 | * st - state, eg. reset | ||
29 | * otype - object type, eg. struct bfa_ioc_s | ||
30 | * etype - object type, eg. enum ioc_event | ||
31 | */ | ||
32 | #define bfa_sm_state_decl(oc, st, otype, etype) \ | ||
33 | static void oc ## _sm_ ## st(otype * fsm, etype event) | ||
26 | 34 | ||
27 | #define bfa_sm_set_state(_sm, _state) ((_sm)->sm = (bfa_sm_t)(_state)) | 35 | #define bfa_sm_set_state(_sm, _state) ((_sm)->sm = (bfa_sm_t)(_state)) |
28 | #define bfa_sm_send_event(_sm, _event) ((_sm)->sm((_sm), (_event))) | 36 | #define bfa_sm_send_event(_sm, _event) ((_sm)->sm((_sm), (_event))) |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_aen.h b/drivers/scsi/bfa/include/defs/bfa_defs_aen.h index 4c81a613db3d..35244698fcdc 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_aen.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_aen.h | |||
@@ -30,6 +30,16 @@ | |||
30 | #include <defs/bfa_defs_audit.h> | 30 | #include <defs/bfa_defs_audit.h> |
31 | #include <defs/bfa_defs_ethport.h> | 31 | #include <defs/bfa_defs_ethport.h> |
32 | 32 | ||
33 | #define BFA_AEN_MAX_APP 5 | ||
34 | |||
35 | enum bfa_aen_app { | ||
36 | bfa_aen_app_bcu = 0, /* No thread for bcu */ | ||
37 | bfa_aen_app_hcm = 1, | ||
38 | bfa_aen_app_cim = 2, | ||
39 | bfa_aen_app_snia = 3, | ||
40 | bfa_aen_app_test = 4, /* To be removed after unit test */ | ||
41 | }; | ||
42 | |||
33 | enum bfa_aen_category { | 43 | enum bfa_aen_category { |
34 | BFA_AEN_CAT_ADAPTER = 1, | 44 | BFA_AEN_CAT_ADAPTER = 1, |
35 | BFA_AEN_CAT_PORT = 2, | 45 | BFA_AEN_CAT_PORT = 2, |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_auth.h b/drivers/scsi/bfa/include/defs/bfa_defs_auth.h index dd19c83aba58..45df32820911 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_auth.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_auth.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #define PRIVATE_KEY 19009 | 23 | #define PRIVATE_KEY 19009 |
24 | #define KEY_LEN 32399 | 24 | #define KEY_LEN 32399 |
25 | #define BFA_AUTH_SECRET_STRING_LEN 256 | 25 | #define BFA_AUTH_SECRET_STRING_LEN 256 |
26 | #define BFA_AUTH_FAIL_NO_PASSWORD 0xFE | ||
26 | #define BFA_AUTH_FAIL_TIMEOUT 0xFF | 27 | #define BFA_AUTH_FAIL_TIMEOUT 0xFF |
27 | 28 | ||
28 | /** | 29 | /** |
@@ -41,6 +42,27 @@ enum bfa_auth_status { | |||
41 | BFA_AUTH_STATUS_UNKNOWN = 9, /* authentication status unknown */ | 42 | BFA_AUTH_STATUS_UNKNOWN = 9, /* authentication status unknown */ |
42 | }; | 43 | }; |
43 | 44 | ||
45 | enum bfa_auth_rej_code { | ||
46 | BFA_AUTH_RJT_CODE_AUTH_FAILURE = 1, /* auth failure */ | ||
47 | BFA_AUTH_RJT_CODE_LOGICAL_ERR = 2, /* logical error */ | ||
48 | }; | ||
49 | |||
50 | /** | ||
51 | * Authentication reject codes | ||
52 | */ | ||
53 | enum bfa_auth_rej_code_exp { | ||
54 | BFA_AUTH_MECH_NOT_USABLE = 1, /* auth. mechanism not usable */ | ||
55 | BFA_AUTH_DH_GROUP_NOT_USABLE = 2, /* DH Group not usable */ | ||
56 | BFA_AUTH_HASH_FUNC_NOT_USABLE = 3, /* hash Function not usable */ | ||
57 | BFA_AUTH_AUTH_XACT_STARTED = 4, /* auth xact started */ | ||
58 | BFA_AUTH_AUTH_FAILED = 5, /* auth failed */ | ||
59 | BFA_AUTH_INCORRECT_PLD = 6, /* incorrect payload */ | ||
60 | BFA_AUTH_INCORRECT_PROTO_MSG = 7, /* incorrect proto msg */ | ||
61 | BFA_AUTH_RESTART_AUTH_PROTO = 8, /* restart auth protocol */ | ||
62 | BFA_AUTH_AUTH_CONCAT_NOT_SUPP = 9, /* auth concat not supported */ | ||
63 | BFA_AUTH_PROTO_VER_NOT_SUPP = 10,/* proto version not supported */ | ||
64 | }; | ||
65 | |||
44 | struct auth_proto_stats_s { | 66 | struct auth_proto_stats_s { |
45 | u32 auth_rjts; | 67 | u32 auth_rjts; |
46 | u32 auth_negs; | 68 | u32 auth_negs; |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_cee.h b/drivers/scsi/bfa/include/defs/bfa_defs_cee.h index 520a22f52dd1..b0ac9ac15c5d 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_cee.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_cee.h | |||
@@ -28,10 +28,6 @@ | |||
28 | 28 | ||
29 | #define BFA_CEE_LLDP_MAX_STRING_LEN (128) | 29 | #define BFA_CEE_LLDP_MAX_STRING_LEN (128) |
30 | 30 | ||
31 | |||
32 | /* FIXME: this is coming from the protocol spec. Can the host & apps share the | ||
33 | protocol .h files ? | ||
34 | */ | ||
35 | #define BFA_CEE_LLDP_SYS_CAP_OTHER 0x0001 | 31 | #define BFA_CEE_LLDP_SYS_CAP_OTHER 0x0001 |
36 | #define BFA_CEE_LLDP_SYS_CAP_REPEATER 0x0002 | 32 | #define BFA_CEE_LLDP_SYS_CAP_REPEATER 0x0002 |
37 | #define BFA_CEE_LLDP_SYS_CAP_MAC_BRIDGE 0x0004 | 33 | #define BFA_CEE_LLDP_SYS_CAP_MAC_BRIDGE 0x0004 |
@@ -94,9 +90,10 @@ struct bfa_cee_dcbx_cfg_s { | |||
94 | /* CEE status */ | 90 | /* CEE status */ |
95 | /* Making this to tri-state for the benefit of port list command */ | 91 | /* Making this to tri-state for the benefit of port list command */ |
96 | enum bfa_cee_status_e { | 92 | enum bfa_cee_status_e { |
97 | CEE_PHY_DOWN = 0, | 93 | CEE_UP = 0, |
98 | CEE_PHY_UP = 1, | 94 | CEE_PHY_UP = 1, |
99 | CEE_UP = 2, | 95 | CEE_LOOPBACK = 2, |
96 | CEE_PHY_DOWN = 3, | ||
100 | }; | 97 | }; |
101 | 98 | ||
102 | /* CEE Query */ | 99 | /* CEE Query */ |
@@ -107,7 +104,8 @@ struct bfa_cee_attr_s { | |||
107 | struct bfa_cee_dcbx_cfg_s dcbx_remote; | 104 | struct bfa_cee_dcbx_cfg_s dcbx_remote; |
108 | mac_t src_mac; | 105 | mac_t src_mac; |
109 | u8 link_speed; | 106 | u8 link_speed; |
110 | u8 filler[3]; | 107 | u8 nw_priority; |
108 | u8 filler[2]; | ||
111 | }; | 109 | }; |
112 | 110 | ||
113 | 111 | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_driver.h b/drivers/scsi/bfa/include/defs/bfa_defs_driver.h index 57049805762b..50382dd2ab41 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_driver.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_driver.h | |||
@@ -21,6 +21,7 @@ | |||
21 | /** | 21 | /** |
22 | * Driver statistics | 22 | * Driver statistics |
23 | */ | 23 | */ |
24 | struct bfa_driver_stats_s { | ||
24 | u16 tm_io_abort; | 25 | u16 tm_io_abort; |
25 | u16 tm_io_abort_comp; | 26 | u16 tm_io_abort_comp; |
26 | u16 tm_lun_reset; | 27 | u16 tm_lun_reset; |
@@ -34,7 +35,7 @@ | |||
34 | u64 output_req; | 35 | u64 output_req; |
35 | u64 input_words; | 36 | u64 input_words; |
36 | u64 output_words; | 37 | u64 output_words; |
37 | } bfa_driver_stats_t; | 38 | }; |
38 | 39 | ||
39 | 40 | ||
40 | #endif /* __BFA_DEFS_DRIVER_H__ */ | 41 | #endif /* __BFA_DEFS_DRIVER_H__ */ |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_ethport.h b/drivers/scsi/bfa/include/defs/bfa_defs_ethport.h index 79f9b3e146f7..b4fa0923aa89 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_ethport.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_ethport.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #define __BFA_DEFS_ETHPORT_H__ | 19 | #define __BFA_DEFS_ETHPORT_H__ |
20 | 20 | ||
21 | #include <defs/bfa_defs_status.h> | 21 | #include <defs/bfa_defs_status.h> |
22 | #include <defs/bfa_defs_port.h> | ||
22 | #include <protocol/types.h> | 23 | #include <protocol/types.h> |
23 | #include <cna/pstats/phyport_defs.h> | 24 | #include <cna/pstats/phyport_defs.h> |
24 | #include <cna/pstats/ethport_defs.h> | 25 | #include <cna/pstats/ethport_defs.h> |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_fcport.h b/drivers/scsi/bfa/include/defs/bfa_defs_fcport.h new file mode 100644 index 000000000000..a07ef4a3cd78 --- /dev/null +++ b/drivers/scsi/bfa/include/defs/bfa_defs_fcport.h | |||
@@ -0,0 +1,94 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. | ||
3 | * All rights reserved | ||
4 | * www.brocade.com | ||
5 | * | ||
6 | * bfa_defs_fcport.h | ||
7 | * | ||
8 | * Linux driver for Brocade Fibre Channel Host Bus Adapter. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License (GPL) Version 2 as | ||
12 | * published by the Free Software Foundation | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, but | ||
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | * General Public License for more details. | ||
18 | */ | ||
19 | #ifndef __BFA_DEFS_FCPORT_H__ | ||
20 | #define __BFA_DEFS_FCPORT_H__ | ||
21 | |||
22 | #include <defs/bfa_defs_types.h> | ||
23 | #include <protocol/types.h> | ||
24 | |||
25 | #pragma pack(1) | ||
26 | |||
27 | /** | ||
28 | * FCoE statistics | ||
29 | */ | ||
30 | struct bfa_fcoe_stats_s { | ||
31 | u64 secs_reset; /* Seconds since stats reset */ | ||
32 | u64 cee_linkups; /* CEE link up */ | ||
33 | u64 cee_linkdns; /* CEE link down */ | ||
34 | u64 fip_linkups; /* FIP link up */ | ||
35 | u64 fip_linkdns; /* FIP link down */ | ||
36 | u64 fip_fails; /* FIP failures */ | ||
37 | u64 mac_invalids; /* Invalid mac assignments */ | ||
38 | u64 vlan_req; /* Vlan requests */ | ||
39 | u64 vlan_notify; /* Vlan notifications */ | ||
40 | u64 vlan_err; /* Vlan notification errors */ | ||
41 | u64 vlan_timeouts; /* Vlan request timeouts */ | ||
42 | u64 vlan_invalids; /* Vlan invalids */ | ||
43 | u64 disc_req; /* Discovery requests */ | ||
44 | u64 disc_rsp; /* Discovery responses */ | ||
45 | u64 disc_err; /* Discovery error frames */ | ||
46 | u64 disc_unsol; /* Discovery unsolicited */ | ||
47 | u64 disc_timeouts; /* Discovery timeouts */ | ||
48 | u64 disc_fcf_unavail; /* Discovery FCF not avail */ | ||
49 | u64 linksvc_unsupp; /* FIP link service req unsupp. */ | ||
50 | u64 linksvc_err; /* FIP link service req errors */ | ||
51 | u64 logo_req; /* FIP logo */ | ||
52 | u64 clrvlink_req; /* Clear virtual link requests */ | ||
53 | u64 op_unsupp; /* FIP operation unsupp. */ | ||
54 | u64 untagged; /* FIP untagged frames */ | ||
55 | u64 txf_ucast; /* Tx FCoE unicast frames */ | ||
56 | u64 txf_ucast_vlan; /* Tx FCoE unicast vlan frames */ | ||
57 | u64 txf_ucast_octets; /* Tx FCoE unicast octets */ | ||
58 | u64 txf_mcast; /* Tx FCoE mutlicast frames */ | ||
59 | u64 txf_mcast_vlan; /* Tx FCoE mutlicast vlan frames */ | ||
60 | u64 txf_mcast_octets; /* Tx FCoE multicast octets */ | ||
61 | u64 txf_bcast; /* Tx FCoE broadcast frames */ | ||
62 | u64 txf_bcast_vlan; /* Tx FCoE broadcast vlan frames */ | ||
63 | u64 txf_bcast_octets; /* Tx FCoE broadcast octets */ | ||
64 | u64 txf_timeout; /* Tx timeouts */ | ||
65 | u64 txf_parity_errors; /* Transmit parity err */ | ||
66 | u64 txf_fid_parity_errors; /* Transmit FID parity err */ | ||
67 | u64 tx_pause; /* Tx pause frames */ | ||
68 | u64 tx_zero_pause; /* Tx zero pause frames */ | ||
69 | u64 tx_first_pause; /* Tx first pause frames */ | ||
70 | u64 rx_pause; /* Rx pause frames */ | ||
71 | u64 rx_zero_pause; /* Rx zero pause frames */ | ||
72 | u64 rx_first_pause; /* Rx first pause frames */ | ||
73 | u64 rxf_ucast_octets; /* Rx unicast octets */ | ||
74 | u64 rxf_ucast; /* Rx unicast frames */ | ||
75 | u64 rxf_ucast_vlan; /* Rx unicast vlan frames */ | ||
76 | u64 rxf_mcast_octets; /* Rx multicast octets */ | ||
77 | u64 rxf_mcast; /* Rx multicast frames */ | ||
78 | u64 rxf_mcast_vlan; /* Rx multicast vlan frames */ | ||
79 | u64 rxf_bcast_octets; /* Rx broadcast octests */ | ||
80 | u64 rxf_bcast; /* Rx broadcast frames */ | ||
81 | u64 rxf_bcast_vlan; /* Rx broadcast vlan frames */ | ||
82 | }; | ||
83 | |||
84 | /** | ||
85 | * QoS or FCoE stats (fcport stats excluding physical FC port stats) | ||
86 | */ | ||
87 | union bfa_fcport_stats_u { | ||
88 | struct bfa_qos_stats_s fcqos; | ||
89 | struct bfa_fcoe_stats_s fcoe; | ||
90 | }; | ||
91 | |||
92 | #pragma pack() | ||
93 | |||
94 | #endif /* __BFA_DEFS_FCPORT_H__ */ | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_im_common.h b/drivers/scsi/bfa/include/defs/bfa_defs_im_common.h deleted file mode 100644 index 9ccf53bef65a..000000000000 --- a/drivers/scsi/bfa/include/defs/bfa_defs_im_common.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. | ||
3 | * All rights reserved | ||
4 | * www.brocade.com | ||
5 | * | ||
6 | * Linux driver for Brocade Fibre Channel Host Bus Adapter. | ||
7 | * | ||
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 | ||
11 | * | ||
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. | ||
16 | */ | ||
17 | |||
18 | #ifndef __BFA_DEFS_IM_COMMON_H__ | ||
19 | #define __BFA_DEFS_IM_COMMON_H__ | ||
20 | |||
21 | #define BFA_ADAPTER_NAME_LEN 256 | ||
22 | #define BFA_ADAPTER_GUID_LEN 256 | ||
23 | #define RESERVED_VLAN_NAME L"PORT VLAN" | ||
24 | #define PASSTHRU_VLAN_NAME L"PASSTHRU VLAN" | ||
25 | |||
26 | u64 tx_pkt_cnt; | ||
27 | u64 rx_pkt_cnt; | ||
28 | u32 duration; | ||
29 | u8 status; | ||
30 | } bfa_im_stats_t, *pbfa_im_stats_t; | ||
31 | |||
32 | #endif /* __BFA_DEFS_IM_COMMON_H__ */ | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_im_team.h b/drivers/scsi/bfa/include/defs/bfa_defs_im_team.h deleted file mode 100644 index a486a7eb81d6..000000000000 --- a/drivers/scsi/bfa/include/defs/bfa_defs_im_team.h +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. | ||
3 | * All rights reserved | ||
4 | * www.brocade.com | ||
5 | * | ||
6 | * Linux driver for Brocade Fibre Channel Host Bus Adapter. | ||
7 | * | ||
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 | ||
11 | * | ||
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. | ||
16 | */ | ||
17 | |||
18 | #ifndef __BFA_DEFS_IM_TEAM_H__ | ||
19 | #define __BFA_DEFS_IM_TEAM_H__ | ||
20 | |||
21 | #include <protocol/types.h> | ||
22 | |||
23 | #define BFA_TEAM_MAX_PORTS 8 | ||
24 | #define BFA_TEAM_NAME_LEN 256 | ||
25 | #define BFA_MAX_NUM_TEAMS 16 | ||
26 | #define BFA_TEAM_INVALID_DELAY -1 | ||
27 | |||
28 | BFA_LACP_RATE_SLOW = 1, | ||
29 | BFA_LACP_RATE_FAST | ||
30 | } bfa_im_lacp_rate_t; | ||
31 | |||
32 | BFA_TEAM_MODE_FAIL_OVER = 1, | ||
33 | BFA_TEAM_MODE_FAIL_BACK, | ||
34 | BFA_TEAM_MODE_LACP, | ||
35 | BFA_TEAM_MODE_NONE | ||
36 | } bfa_im_team_mode_t; | ||
37 | |||
38 | BFA_XMIT_POLICY_L2 = 1, | ||
39 | BFA_XMIT_POLICY_L3_L4 | ||
40 | } bfa_im_xmit_policy_t; | ||
41 | |||
42 | bfa_im_team_mode_t team_mode; | ||
43 | bfa_im_lacp_rate_t lacp_rate; | ||
44 | bfa_im_xmit_policy_t xmit_policy; | ||
45 | int delay; | ||
46 | wchar_t primary[BFA_ADAPTER_NAME_LEN]; | ||
47 | wchar_t preferred_primary[BFA_ADAPTER_NAME_LEN]; | ||
48 | mac_t mac; | ||
49 | u16 num_ports; | ||
50 | u16 num_vlans; | ||
51 | u16 vlan_list[BFA_MAX_VLANS_PER_PORT]; | ||
52 | wchar_t team_guid_list[BFA_TEAM_MAX_PORTS][BFA_ADAPTER_GUID_LEN]; | ||
53 | wchar_t ioc_name_list[BFA_TEAM_MAX_PORTS][BFA_ADAPTER_NAME_LEN]; | ||
54 | } bfa_im_team_attr_t; | ||
55 | |||
56 | wchar_t team_name[BFA_TEAM_NAME_LEN]; | ||
57 | bfa_im_xmit_policy_t xmit_policy; | ||
58 | int delay; | ||
59 | wchar_t primary[BFA_ADAPTER_NAME_LEN]; | ||
60 | wchar_t preferred_primary[BFA_ADAPTER_NAME_LEN]; | ||
61 | } bfa_im_team_edit_t, *pbfa_im_team_edit_t; | ||
62 | |||
63 | wchar_t team_name[BFA_TEAM_NAME_LEN]; | ||
64 | bfa_im_team_mode_t team_mode; | ||
65 | mac_t mac; | ||
66 | } bfa_im_team_info_t; | ||
67 | |||
68 | bfa_im_team_info_t team_info[BFA_MAX_NUM_TEAMS]; | ||
69 | u16 num_teams; | ||
70 | } bfa_im_team_list_t, *pbfa_im_team_list_t; | ||
71 | |||
72 | #endif /* __BFA_DEFS_IM_TEAM_H__ */ | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_ioc.h b/drivers/scsi/bfa/include/defs/bfa_defs_ioc.h index b1d532da3a9d..8d8e6a966537 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_ioc.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_ioc.h | |||
@@ -126,6 +126,7 @@ struct bfa_ioc_attr_s { | |||
126 | struct bfa_ioc_driver_attr_s driver_attr; /* driver attr */ | 126 | struct bfa_ioc_driver_attr_s driver_attr; /* driver attr */ |
127 | struct bfa_ioc_pci_attr_s pci_attr; | 127 | struct bfa_ioc_pci_attr_s pci_attr; |
128 | u8 port_id; /* port number */ | 128 | u8 port_id; /* port number */ |
129 | u8 rsvd[7]; /*!< 64bit align */ | ||
129 | }; | 130 | }; |
130 | 131 | ||
131 | /** | 132 | /** |
@@ -143,8 +144,8 @@ enum bfa_ioc_aen_event { | |||
143 | * BFA IOC level event data, now just a place holder | 144 | * BFA IOC level event data, now just a place holder |
144 | */ | 145 | */ |
145 | struct bfa_ioc_aen_data_s { | 146 | struct bfa_ioc_aen_data_s { |
146 | enum bfa_ioc_type_e ioc_type; | ||
147 | wwn_t pwwn; | 147 | wwn_t pwwn; |
148 | s16 ioc_type; | ||
148 | mac_t mac; | 149 | mac_t mac; |
149 | }; | 150 | }; |
150 | 151 | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_iocfc.h b/drivers/scsi/bfa/include/defs/bfa_defs_iocfc.h index d76bcbd9820f..c290fb13d2d1 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_iocfc.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_iocfc.h | |||
@@ -26,6 +26,8 @@ | |||
26 | 26 | ||
27 | #define BFA_IOCFC_INTR_DELAY 1125 | 27 | #define BFA_IOCFC_INTR_DELAY 1125 |
28 | #define BFA_IOCFC_INTR_LATENCY 225 | 28 | #define BFA_IOCFC_INTR_LATENCY 225 |
29 | #define BFA_IOCFCOE_INTR_DELAY 25 | ||
30 | #define BFA_IOCFCOE_INTR_LATENCY 5 | ||
29 | 31 | ||
30 | /** | 32 | /** |
31 | * Interrupt coalescing configuration. | 33 | * Interrupt coalescing configuration. |
@@ -50,7 +52,7 @@ struct bfa_iocfc_fwcfg_s { | |||
50 | u16 num_fcxp_reqs; /* unassisted FC exchanges */ | 52 | u16 num_fcxp_reqs; /* unassisted FC exchanges */ |
51 | u16 num_uf_bufs; /* unsolicited recv buffers */ | 53 | u16 num_uf_bufs; /* unsolicited recv buffers */ |
52 | u8 num_cqs; | 54 | u8 num_cqs; |
53 | u8 rsvd; | 55 | u8 rsvd[5]; |
54 | }; | 56 | }; |
55 | 57 | ||
56 | struct bfa_iocfc_drvcfg_s { | 58 | struct bfa_iocfc_drvcfg_s { |
@@ -224,18 +226,24 @@ struct bfa_fw_port_physm_stats_s { | |||
224 | 226 | ||
225 | 227 | ||
226 | struct bfa_fw_fip_stats_s { | 228 | struct bfa_fw_fip_stats_s { |
229 | u32 vlan_req; /* vlan discovery requests */ | ||
230 | u32 vlan_notify; /* vlan notifications */ | ||
231 | u32 vlan_err; /* vlan response error */ | ||
232 | u32 vlan_timeouts; /* vlan disvoery timeouts */ | ||
233 | u32 vlan_invalids; /* invalid vlan in discovery advert. */ | ||
227 | u32 disc_req; /* Discovery solicit requests */ | 234 | u32 disc_req; /* Discovery solicit requests */ |
228 | u32 disc_rsp; /* Discovery solicit response */ | 235 | u32 disc_rsp; /* Discovery solicit response */ |
229 | u32 disc_err; /* Discovery advt. parse errors */ | 236 | u32 disc_err; /* Discovery advt. parse errors */ |
230 | u32 disc_unsol; /* Discovery unsolicited */ | 237 | u32 disc_unsol; /* Discovery unsolicited */ |
231 | u32 disc_timeouts; /* Discovery timeouts */ | 238 | u32 disc_timeouts; /* Discovery timeouts */ |
239 | u32 disc_fcf_unavail; /* Discovery FCF Not Avail. */ | ||
232 | u32 linksvc_unsupp; /* Unsupported link service req */ | 240 | u32 linksvc_unsupp; /* Unsupported link service req */ |
233 | u32 linksvc_err; /* Parse error in link service req */ | 241 | u32 linksvc_err; /* Parse error in link service req */ |
234 | u32 logo_req; /* Number of FIP logos received */ | 242 | u32 logo_req; /* Number of FIP logos received */ |
235 | u32 clrvlink_req; /* Clear virtual link req */ | 243 | u32 clrvlink_req; /* Clear virtual link req */ |
236 | u32 op_unsupp; /* Unsupported FIP operation */ | 244 | u32 op_unsupp; /* Unsupported FIP operation */ |
237 | u32 untagged; /* Untagged frames (ignored) */ | 245 | u32 untagged; /* Untagged frames (ignored) */ |
238 | u32 rsvd; | 246 | u32 invalid_version; /*!< Invalid FIP version */ |
239 | }; | 247 | }; |
240 | 248 | ||
241 | 249 | ||
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_lport.h b/drivers/scsi/bfa/include/defs/bfa_defs_lport.h index 7359f82aacfc..0952a139c47c 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_lport.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_lport.h | |||
@@ -59,8 +59,8 @@ enum bfa_lport_aen_event { | |||
59 | */ | 59 | */ |
60 | struct bfa_lport_aen_data_s { | 60 | struct bfa_lport_aen_data_s { |
61 | u16 vf_id; /* vf_id of this logical port */ | 61 | u16 vf_id; /* vf_id of this logical port */ |
62 | u16 rsvd; | 62 | s16 roles; /* Logical port mode,IM/TM/IP etc */ |
63 | enum bfa_port_role roles; /* Logical port mode,IM/TM/IP etc */ | 63 | u32 rsvd; |
64 | wwn_t ppwwn; /* WWN of its physical port */ | 64 | wwn_t ppwwn; /* WWN of its physical port */ |
65 | wwn_t lpwwn; /* WWN of this logical port */ | 65 | wwn_t lpwwn; /* WWN of this logical port */ |
66 | }; | 66 | }; |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_mfg.h b/drivers/scsi/bfa/include/defs/bfa_defs_mfg.h index 13fd4ab6aae2..c5bd9c36ad4d 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_mfg.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_mfg.h | |||
@@ -22,7 +22,47 @@ | |||
22 | /** | 22 | /** |
23 | * Manufacturing block version | 23 | * Manufacturing block version |
24 | */ | 24 | */ |
25 | #define BFA_MFG_VERSION 1 | 25 | #define BFA_MFG_VERSION 2 |
26 | |||
27 | /** | ||
28 | * Manufacturing block encrypted version | ||
29 | */ | ||
30 | #define BFA_MFG_ENC_VER 2 | ||
31 | |||
32 | /** | ||
33 | * Manufacturing block version 1 length | ||
34 | */ | ||
35 | #define BFA_MFG_VER1_LEN 128 | ||
36 | |||
37 | /** | ||
38 | * Manufacturing block header length | ||
39 | */ | ||
40 | #define BFA_MFG_HDR_LEN 4 | ||
41 | |||
42 | /** | ||
43 | * Checksum size | ||
44 | */ | ||
45 | #define BFA_MFG_CHKSUM_SIZE 16 | ||
46 | |||
47 | /** | ||
48 | * Manufacturing block encrypted version | ||
49 | */ | ||
50 | #define BFA_MFG_ENC_VER 2 | ||
51 | |||
52 | /** | ||
53 | * Manufacturing block version 1 length | ||
54 | */ | ||
55 | #define BFA_MFG_VER1_LEN 128 | ||
56 | |||
57 | /** | ||
58 | * Manufacturing block header length | ||
59 | */ | ||
60 | #define BFA_MFG_HDR_LEN 4 | ||
61 | |||
62 | /** | ||
63 | * Checksum size | ||
64 | */ | ||
65 | #define BFA_MFG_CHKSUM_SIZE 16 | ||
26 | 66 | ||
27 | /** | 67 | /** |
28 | * Manufacturing block format | 68 | * Manufacturing block format |
@@ -30,29 +70,74 @@ | |||
30 | #define BFA_MFG_SERIALNUM_SIZE 11 | 70 | #define BFA_MFG_SERIALNUM_SIZE 11 |
31 | #define BFA_MFG_PARTNUM_SIZE 14 | 71 | #define BFA_MFG_PARTNUM_SIZE 14 |
32 | #define BFA_MFG_SUPPLIER_ID_SIZE 10 | 72 | #define BFA_MFG_SUPPLIER_ID_SIZE 10 |
33 | #define BFA_MFG_SUPPLIER_PARTNUM_SIZE 20 | 73 | #define BFA_MFG_SUPPLIER_PARTNUM_SIZE 20 |
34 | #define BFA_MFG_SUPPLIER_SERIALNUM_SIZE 20 | 74 | #define BFA_MFG_SUPPLIER_SERIALNUM_SIZE 20 |
35 | #define BFA_MFG_SUPPLIER_REVISION_SIZE 4 | 75 | #define BFA_MFG_SUPPLIER_REVISION_SIZE 4 |
36 | #define STRSZ(_n) (((_n) + 4) & ~3) | 76 | #define STRSZ(_n) (((_n) + 4) & ~3) |
37 | 77 | ||
38 | /** | 78 | /** |
79 | * Manufacturing card type | ||
80 | */ | ||
81 | enum { | ||
82 | BFA_MFG_TYPE_CB_MAX = 825, /* Crossbow card type max */ | ||
83 | BFA_MFG_TYPE_FC8P2 = 825, /* 8G 2port FC card */ | ||
84 | BFA_MFG_TYPE_FC8P1 = 815, /* 8G 1port FC card */ | ||
85 | BFA_MFG_TYPE_FC4P2 = 425, /* 4G 2port FC card */ | ||
86 | BFA_MFG_TYPE_FC4P1 = 415, /* 4G 1port FC card */ | ||
87 | BFA_MFG_TYPE_CNA10P2 = 1020, /* 10G 2port CNA card */ | ||
88 | BFA_MFG_TYPE_CNA10P1 = 1010, /* 10G 1port CNA card */ | ||
89 | }; | ||
90 | |||
91 | #pragma pack(1) | ||
92 | |||
93 | /** | ||
94 | * Card type to port number conversion | ||
95 | */ | ||
96 | #define bfa_mfg_type2port_num(card_type) (((card_type) / 10) % 10) | ||
97 | |||
98 | |||
99 | /** | ||
100 | * All numerical fields are in big-endian format. | ||
101 | */ | ||
102 | struct bfa_mfg_block_s { | ||
103 | }; | ||
104 | |||
105 | /** | ||
39 | * VPD data length | 106 | * VPD data length |
40 | */ | 107 | */ |
41 | #define BFA_MFG_VPD_LEN 256 | 108 | #define BFA_MFG_VPD_LEN 512 |
109 | |||
110 | #define BFA_MFG_VPD_PCI_HDR_OFF 137 | ||
111 | #define BFA_MFG_VPD_PCI_VER_MASK 0x07 /* version mask 3 bits */ | ||
112 | #define BFA_MFG_VPD_PCI_VDR_MASK 0xf8 /* vendor mask 5 bits */ | ||
113 | |||
114 | /** | ||
115 | * VPD vendor tag | ||
116 | */ | ||
117 | enum { | ||
118 | BFA_MFG_VPD_UNKNOWN = 0, /* vendor unknown */ | ||
119 | BFA_MFG_VPD_IBM = 1, /* vendor IBM */ | ||
120 | BFA_MFG_VPD_HP = 2, /* vendor HP */ | ||
121 | BFA_MFG_VPD_DELL = 3, /* vendor DELL */ | ||
122 | BFA_MFG_VPD_PCI_IBM = 0x08, /* PCI VPD IBM */ | ||
123 | BFA_MFG_VPD_PCI_HP = 0x10, /* PCI VPD HP */ | ||
124 | BFA_MFG_VPD_PCI_DELL = 0x20, /* PCI VPD DELL */ | ||
125 | BFA_MFG_VPD_PCI_BRCD = 0xf8, /* PCI VPD Brocade */ | ||
126 | }; | ||
42 | 127 | ||
43 | /** | 128 | /** |
44 | * All numerical fields are in big-endian format. | 129 | * All numerical fields are in big-endian format. |
45 | */ | 130 | */ |
46 | struct bfa_mfg_vpd_s { | 131 | struct bfa_mfg_vpd_s { |
47 | u8 version; /* vpd data version */ | 132 | u8 version; /* vpd data version */ |
48 | u8 vpd_sig[3]; /* characters 'V', 'P', 'D' */ | 133 | u8 vpd_sig[3]; /* characters 'V', 'P', 'D' */ |
49 | u8 chksum; /* u8 checksum */ | 134 | u8 chksum; /* u8 checksum */ |
50 | u8 vendor; /* vendor */ | 135 | u8 vendor; /* vendor */ |
51 | u8 len; /* vpd data length excluding header */ | 136 | u8 len; /* vpd data length excluding header */ |
52 | u8 rsv; | 137 | u8 rsv; |
53 | u8 data[BFA_MFG_VPD_LEN]; /* vpd data */ | 138 | u8 data[BFA_MFG_VPD_LEN]; /* vpd data */ |
54 | }; | 139 | }; |
55 | 140 | ||
56 | #pragma pack(1) | 141 | #pragma pack() |
57 | 142 | ||
58 | #endif /* __BFA_DEFS_MFG_H__ */ | 143 | #endif /* __BFA_DEFS_MFG_H__ */ |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_port.h b/drivers/scsi/bfa/include/defs/bfa_defs_port.h index de0696c81bc4..501bc9739d9d 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_port.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_port.h | |||
@@ -185,6 +185,8 @@ struct bfa_port_attr_s { | |||
185 | wwn_t fabric_name; /* attached switch's nwwn */ | 185 | wwn_t fabric_name; /* attached switch's nwwn */ |
186 | u8 fabric_ip_addr[BFA_FCS_FABRIC_IPADDR_SZ]; /* attached | 186 | u8 fabric_ip_addr[BFA_FCS_FABRIC_IPADDR_SZ]; /* attached |
187 | * fabric's ip addr */ | 187 | * fabric's ip addr */ |
188 | struct mac_s fpma_mac; /* Lport's FPMA Mac address */ | ||
189 | u16 authfail; /* auth failed state */ | ||
188 | }; | 190 | }; |
189 | 191 | ||
190 | /** | 192 | /** |
@@ -232,14 +234,15 @@ enum bfa_port_aen_sfp_pom { | |||
232 | }; | 234 | }; |
233 | 235 | ||
234 | struct bfa_port_aen_data_s { | 236 | struct bfa_port_aen_data_s { |
235 | enum bfa_ioc_type_e ioc_type; | 237 | wwn_t pwwn; /* WWN of the physical port */ |
236 | wwn_t pwwn; /* WWN of the physical port */ | 238 | wwn_t fwwn; /* WWN of the fabric port */ |
237 | wwn_t fwwn; /* WWN of the fabric port */ | 239 | s32 phy_port_num; /*! For SFP related events */ |
238 | mac_t mac; /* MAC addres of the ethernet port, | 240 | s16 ioc_type; |
239 | * applicable to CNA port only */ | 241 | s16 level; /* Only transitions will |
240 | int phy_port_num; /*! For SFP related events */ | 242 | * be informed */ |
241 | enum bfa_port_aen_sfp_pom level; /* Only transitions will | 243 | struct mac_s mac; /* MAC address of the ethernet port, |
242 | * be informed */ | 244 | * applicable to CNA port only */ |
245 | s16 rsvd; | ||
243 | }; | 246 | }; |
244 | 247 | ||
245 | #endif /* __BFA_DEFS_PORT_H__ */ | 248 | #endif /* __BFA_DEFS_PORT_H__ */ |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_pport.h b/drivers/scsi/bfa/include/defs/bfa_defs_pport.h index bf320412ee24..26e5cc78095d 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_pport.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_pport.h | |||
@@ -232,7 +232,7 @@ struct bfa_pport_attr_s { | |||
232 | u32 pid; /* port ID */ | 232 | u32 pid; /* port ID */ |
233 | enum bfa_pport_type port_type; /* current topology */ | 233 | enum bfa_pport_type port_type; /* current topology */ |
234 | u32 loopback; /* external loopback */ | 234 | u32 loopback; /* external loopback */ |
235 | u32 rsvd1; | 235 | u32 authfail; /* auth fail state */ |
236 | u32 rsvd2; /* padding for 64 bit */ | 236 | u32 rsvd2; /* padding for 64 bit */ |
237 | }; | 237 | }; |
238 | 238 | ||
@@ -240,73 +240,79 @@ struct bfa_pport_attr_s { | |||
240 | * FC Port statistics. | 240 | * FC Port statistics. |
241 | */ | 241 | */ |
242 | struct bfa_pport_fc_stats_s { | 242 | struct bfa_pport_fc_stats_s { |
243 | u64 secs_reset; /* seconds since stats is reset */ | 243 | u64 secs_reset; /* Seconds since stats is reset */ |
244 | u64 tx_frames; /* transmitted frames */ | 244 | u64 tx_frames; /* Tx frames */ |
245 | u64 tx_words; /* transmitted words */ | 245 | u64 tx_words; /* Tx words */ |
246 | u64 rx_frames; /* received frames */ | 246 | u64 tx_lip; /* TX LIP */ |
247 | u64 rx_words; /* received words */ | 247 | u64 tx_nos; /* Tx NOS */ |
248 | u64 lip_count; /* LIPs seen */ | 248 | u64 tx_ols; /* Tx OLS */ |
249 | u64 nos_count; /* NOS count */ | 249 | u64 tx_lr; /* Tx LR */ |
250 | u64 error_frames; /* errored frames (sent?) */ | 250 | u64 tx_lrr; /* Tx LRR */ |
251 | u64 dropped_frames; /* dropped frames */ | 251 | u64 rx_frames; /* Rx frames */ |
252 | u64 link_failures; /* link failure count */ | 252 | u64 rx_words; /* Rx words */ |
253 | u64 loss_of_syncs; /* loss of sync count */ | 253 | u64 lip_count; /* Rx LIP */ |
254 | u64 loss_of_signals;/* loss of signal count */ | 254 | u64 nos_count; /* Rx NOS */ |
255 | u64 primseq_errs; /* primitive sequence protocol */ | 255 | u64 ols_count; /* Rx OLS */ |
256 | u64 bad_os_count; /* invalid ordered set */ | 256 | u64 lr_count; /* Rx LR */ |
257 | u64 err_enc_out; /* Encoding error outside frame */ | 257 | u64 lrr_count; /* Rx LRR */ |
258 | u64 invalid_crcs; /* frames received with invalid CRC*/ | 258 | u64 invalid_crcs; /* Rx CRC err frames */ |
259 | u64 undersized_frm; /* undersized frames */ | 259 | u64 invalid_crc_gd_eof; /* Rx CRC err good EOF frames */ |
260 | u64 oversized_frm; /* oversized frames */ | 260 | u64 undersized_frm; /* Rx undersized frames */ |
261 | u64 bad_eof_frm; /* frames with bad EOF */ | 261 | u64 oversized_frm; /* Rx oversized frames */ |
262 | struct bfa_qos_stats_s qos_stats; /* QoS statistics */ | 262 | u64 bad_eof_frm; /* Rx frames with bad EOF */ |
263 | u64 error_frames; /* Errored frames */ | ||
264 | u64 dropped_frames; /* Dropped frames */ | ||
265 | u64 link_failures; /* Link Failure (LF) count */ | ||
266 | u64 loss_of_syncs; /* Loss of sync count */ | ||
267 | u64 loss_of_signals;/* Loss of signal count */ | ||
268 | u64 primseq_errs; /* Primitive sequence protocol err. */ | ||
269 | u64 bad_os_count; /* Invalid ordered sets */ | ||
270 | u64 err_enc_out; /* Encoding err nonframe_8b10b */ | ||
271 | u64 err_enc; /* Encoding err frame_8b10b */ | ||
263 | }; | 272 | }; |
264 | 273 | ||
265 | /** | 274 | /** |
266 | * Eth Port statistics. | 275 | * Eth Port statistics. |
267 | */ | 276 | */ |
268 | struct bfa_pport_eth_stats_s { | 277 | struct bfa_pport_eth_stats_s { |
269 | u64 secs_reset; /* seconds since stats is reset */ | 278 | u64 secs_reset; /* Seconds since stats is reset */ |
270 | u64 frame_64; /* both rx and tx counter */ | 279 | u64 frame_64; /* Frames 64 bytes */ |
271 | u64 frame_65_127; /* both rx and tx counter */ | 280 | u64 frame_65_127; /* Frames 65-127 bytes */ |
272 | u64 frame_128_255; /* both rx and tx counter */ | 281 | u64 frame_128_255; /* Frames 128-255 bytes */ |
273 | u64 frame_256_511; /* both rx and tx counter */ | 282 | u64 frame_256_511; /* Frames 256-511 bytes */ |
274 | u64 frame_512_1023; /* both rx and tx counter */ | 283 | u64 frame_512_1023; /* Frames 512-1023 bytes */ |
275 | u64 frame_1024_1518; /* both rx and tx counter */ | 284 | u64 frame_1024_1518; /* Frames 1024-1518 bytes */ |
276 | u64 frame_1519_1522; /* both rx and tx counter */ | 285 | u64 frame_1519_1522; /* Frames 1519-1522 bytes */ |
277 | 286 | u64 tx_bytes; /* Tx bytes */ | |
278 | u64 tx_bytes; | 287 | u64 tx_packets; /* Tx packets */ |
279 | u64 tx_packets; | 288 | u64 tx_mcast_packets; /* Tx multicast packets */ |
280 | u64 tx_mcast_packets; | 289 | u64 tx_bcast_packets; /* Tx broadcast packets */ |
281 | u64 tx_bcast_packets; | 290 | u64 tx_control_frame; /* Tx control frame */ |
282 | u64 tx_control_frame; | 291 | u64 tx_drop; /* Tx drops */ |
283 | u64 tx_drop; | 292 | u64 tx_jabber; /* Tx jabber */ |
284 | u64 tx_jabber; | 293 | u64 tx_fcs_error; /* Tx FCS error */ |
285 | u64 tx_fcs_error; | 294 | u64 tx_fragments; /* Tx fragments */ |
286 | u64 tx_fragments; | 295 | u64 rx_bytes; /* Rx bytes */ |
287 | 296 | u64 rx_packets; /* Rx packets */ | |
288 | u64 rx_bytes; | 297 | u64 rx_mcast_packets; /* Rx multicast packets */ |
289 | u64 rx_packets; | 298 | u64 rx_bcast_packets; /* Rx broadcast packets */ |
290 | u64 rx_mcast_packets; | 299 | u64 rx_control_frames; /* Rx control frames */ |
291 | u64 rx_bcast_packets; | 300 | u64 rx_unknown_opcode; /* Rx unknown opcode */ |
292 | u64 rx_control_frames; | 301 | u64 rx_drop; /* Rx drops */ |
293 | u64 rx_unknown_opcode; | 302 | u64 rx_jabber; /* Rx jabber */ |
294 | u64 rx_drop; | 303 | u64 rx_fcs_error; /* Rx FCS errors */ |
295 | u64 rx_jabber; | 304 | u64 rx_alignment_error; /* Rx alignment errors */ |
296 | u64 rx_fcs_error; | 305 | u64 rx_frame_length_error; /* Rx frame len errors */ |
297 | u64 rx_alignment_error; | 306 | u64 rx_code_error; /* Rx code errors */ |
298 | u64 rx_frame_length_error; | 307 | u64 rx_fragments; /* Rx fragments */ |
299 | u64 rx_code_error; | 308 | u64 rx_pause; /* Rx pause */ |
300 | u64 rx_fragments; | 309 | u64 rx_zero_pause; /* Rx zero pause */ |
301 | 310 | u64 tx_pause; /* Tx pause */ | |
302 | u64 rx_pause; /* BPC */ | 311 | u64 tx_zero_pause; /* Tx zero pause */ |
303 | u64 rx_zero_pause; /* BPC Pause cancellation */ | 312 | u64 rx_fcoe_pause; /* Rx fcoe pause */ |
304 | u64 tx_pause; /* BPC */ | 313 | u64 rx_fcoe_zero_pause; /* Rx FCoE zero pause */ |
305 | u64 tx_zero_pause; /* BPC Pause cancellation */ | 314 | u64 tx_fcoe_pause; /* Tx FCoE pause */ |
306 | u64 rx_fcoe_pause; /* BPC */ | 315 | u64 tx_fcoe_zero_pause; /* Tx FCoE zero pause */ |
307 | u64 rx_fcoe_zero_pause; /* BPC Pause cancellation */ | ||
308 | u64 tx_fcoe_pause; /* BPC */ | ||
309 | u64 tx_fcoe_zero_pause; /* BPC Pause cancellation */ | ||
310 | }; | 316 | }; |
311 | 317 | ||
312 | /** | 318 | /** |
@@ -333,8 +339,7 @@ struct bfa_pport_fcpmap_s { | |||
333 | }; | 339 | }; |
334 | 340 | ||
335 | /** | 341 | /** |
336 | * Port RNID info. | 342 | * Port RNI */ |
337 | */ | ||
338 | struct bfa_pport_rnid_s { | 343 | struct bfa_pport_rnid_s { |
339 | wwn_t wwn; | 344 | wwn_t wwn; |
340 | u32 unittype; | 345 | u32 unittype; |
@@ -347,6 +352,23 @@ struct bfa_pport_rnid_s { | |||
347 | u16 topologydiscoveryflags; | 352 | u16 topologydiscoveryflags; |
348 | }; | 353 | }; |
349 | 354 | ||
355 | struct bfa_fcport_fcf_s { | ||
356 | wwn_t name; /* FCF name */ | ||
357 | wwn_t fabric_name; /* Fabric Name */ | ||
358 | u8 fipenabled; /* FIP enabled or not */ | ||
359 | u8 fipfailed; /* FIP failed or not */ | ||
360 | u8 resv[2]; | ||
361 | u8 pri; /* FCF priority */ | ||
362 | u8 version; /* FIP version used */ | ||
363 | u8 available; /* Available for login */ | ||
364 | u8 fka_disabled; /* FKA is disabled */ | ||
365 | u8 maxsz_verified; /* FCoE max size verified */ | ||
366 | u8 fc_map[3]; /* FC map */ | ||
367 | u16 vlan; /* FCoE vlan tag/priority */ | ||
368 | u32 fka_adv_per; /* FIP ka advert. period */ | ||
369 | struct mac_s mac; /* FCF mac */ | ||
370 | }; | ||
371 | |||
350 | /** | 372 | /** |
351 | * Link state information | 373 | * Link state information |
352 | */ | 374 | */ |
@@ -378,6 +400,7 @@ struct bfa_pport_link_s { | |||
378 | struct fc_alpabm_s alpabm; /* alpa bitmap */ | 400 | struct fc_alpabm_s alpabm; /* alpa bitmap */ |
379 | } loop_info; | 401 | } loop_info; |
380 | } tl; | 402 | } tl; |
403 | struct bfa_fcport_fcf_s fcf; /*!< FCF information (for FCoE) */ | ||
381 | }; | 404 | }; |
382 | 405 | ||
383 | #endif /* __BFA_DEFS_PPORT_H__ */ | 406 | #endif /* __BFA_DEFS_PPORT_H__ */ |
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_status.h b/drivers/scsi/bfa/include/defs/bfa_defs_status.h index cdceaeb9f4b8..4374494bd566 100644 --- a/drivers/scsi/bfa/include/defs/bfa_defs_status.h +++ b/drivers/scsi/bfa/include/defs/bfa_defs_status.h | |||
@@ -180,8 +180,8 @@ enum bfa_status { | |||
180 | BFA_STATUS_IM_ADAPT_ALREADY_IN_TEAM = 114, /* Given adapter is part | 180 | BFA_STATUS_IM_ADAPT_ALREADY_IN_TEAM = 114, /* Given adapter is part |
181 | * of another team */ | 181 | * of another team */ |
182 | BFA_STATUS_IM_ADAPT_HAS_VLANS = 115, /* Adapter has VLANs configured. | 182 | BFA_STATUS_IM_ADAPT_HAS_VLANS = 115, /* Adapter has VLANs configured. |
183 | * Delete all VLANs before | 183 | * Delete all VLANs to become |
184 | * creating team */ | 184 | * part of the team */ |
185 | BFA_STATUS_IM_PVID_MISMATCH = 116, /* Mismatching PVIDs configured | 185 | BFA_STATUS_IM_PVID_MISMATCH = 116, /* Mismatching PVIDs configured |
186 | * for adapters */ | 186 | * for adapters */ |
187 | BFA_STATUS_IM_LINK_SPEED_MISMATCH = 117, /* Mismatching link speeds | 187 | BFA_STATUS_IM_LINK_SPEED_MISMATCH = 117, /* Mismatching link speeds |
@@ -213,7 +213,7 @@ enum bfa_status { | |||
213 | * loaded */ | 213 | * loaded */ |
214 | BFA_STATUS_CARD_TYPE_MISMATCH = 131, /* Card type mismatch */ | 214 | BFA_STATUS_CARD_TYPE_MISMATCH = 131, /* Card type mismatch */ |
215 | BFA_STATUS_BAD_ASICBLK = 132, /* Bad ASIC block */ | 215 | BFA_STATUS_BAD_ASICBLK = 132, /* Bad ASIC block */ |
216 | BFA_STATUS_NO_DRIVER = 133, /* Storage/Ethernet driver not loaded */ | 216 | BFA_STATUS_NO_DRIVER = 133, /* Brocade adapter/driver not installed or loaded */ |
217 | BFA_STATUS_INVALID_MAC = 134, /* Invalid mac address */ | 217 | BFA_STATUS_INVALID_MAC = 134, /* Invalid mac address */ |
218 | BFA_STATUS_IM_NO_VLAN = 135, /* No VLANs configured on the adapter */ | 218 | BFA_STATUS_IM_NO_VLAN = 135, /* No VLANs configured on the adapter */ |
219 | BFA_STATUS_IM_ETH_LB_FAILED = 136, /* Ethernet loopback test failed */ | 219 | BFA_STATUS_IM_ETH_LB_FAILED = 136, /* Ethernet loopback test failed */ |
@@ -228,8 +228,7 @@ enum bfa_status { | |||
228 | BFA_STATUS_IM_GET_INETCFG_FAILED = 142, /* Acquiring Network Subsytem | 228 | BFA_STATUS_IM_GET_INETCFG_FAILED = 142, /* Acquiring Network Subsytem |
229 | * handle Failed. Please try | 229 | * handle Failed. Please try |
230 | * after some time */ | 230 | * after some time */ |
231 | BFA_STATUS_IM_NOT_BOUND = 143, /* Brocade 10G Ethernet Service is not | 231 | BFA_STATUS_IM_NOT_BOUND = 143, /* IM driver is not active */ |
232 | * Enabled on this port */ | ||
233 | BFA_STATUS_INSUFFICIENT_PERMS = 144, /* User doesn't have sufficient | 232 | BFA_STATUS_INSUFFICIENT_PERMS = 144, /* User doesn't have sufficient |
234 | * permissions to execute the BCU | 233 | * permissions to execute the BCU |
235 | * application */ | 234 | * application */ |
@@ -242,6 +241,14 @@ enum bfa_status { | |||
242 | * failed */ | 241 | * failed */ |
243 | BFA_STATUS_IM_UNBIND_FAILED = 149, /* ! < IM Driver unbind operation | 242 | BFA_STATUS_IM_UNBIND_FAILED = 149, /* ! < IM Driver unbind operation |
244 | * failed */ | 243 | * failed */ |
244 | BFA_STATUS_IM_PORT_IN_TEAM = 150, /* Port is already part of the | ||
245 | * team */ | ||
246 | BFA_STATUS_IM_VLAN_NOT_FOUND = 151, /* VLAN ID doesn't exists */ | ||
247 | BFA_STATUS_IM_TEAM_NOT_FOUND = 152, /* Teaming configuration doesn't | ||
248 | * exists */ | ||
249 | BFA_STATUS_IM_TEAM_CFG_NOT_ALLOWED = 153, /* Given settings are not | ||
250 | * allowed for the current | ||
251 | * Teaming mode */ | ||
245 | BFA_STATUS_MAX_VAL /* Unknown error code */ | 252 | BFA_STATUS_MAX_VAL /* Unknown error code */ |
246 | }; | 253 | }; |
247 | #define bfa_status_t enum bfa_status | 254 | #define bfa_status_t enum bfa_status |
diff --git a/drivers/scsi/bfa/include/fcb/bfa_fcb_fcpim.h b/drivers/scsi/bfa/include/fcb/bfa_fcb_fcpim.h index a6c70aee0aa3..52585d3dd891 100644 --- a/drivers/scsi/bfa/include/fcb/bfa_fcb_fcpim.h +++ b/drivers/scsi/bfa/include/fcb/bfa_fcb_fcpim.h | |||
@@ -70,7 +70,6 @@ void bfa_fcb_itnim_online(struct bfad_itnim_s *itnim_drv); | |||
70 | */ | 70 | */ |
71 | void bfa_fcb_itnim_offline(struct bfad_itnim_s *itnim_drv); | 71 | void bfa_fcb_itnim_offline(struct bfad_itnim_s *itnim_drv); |
72 | 72 | ||
73 | void bfa_fcb_itnim_tov_begin(struct bfad_itnim_s *itnim_drv); | ||
74 | void bfa_fcb_itnim_tov(struct bfad_itnim_s *itnim_drv); | 73 | void bfa_fcb_itnim_tov(struct bfad_itnim_s *itnim_drv); |
75 | 74 | ||
76 | #endif /* __BFAD_FCB_FCPIM_H__ */ | 75 | #endif /* __BFAD_FCB_FCPIM_H__ */ |
diff --git a/drivers/scsi/bfa/include/fcs/bfa_fcs.h b/drivers/scsi/bfa/include/fcs/bfa_fcs.h index 627669c65546..f2fd35fdee28 100644 --- a/drivers/scsi/bfa/include/fcs/bfa_fcs.h +++ b/drivers/scsi/bfa/include/fcs/bfa_fcs.h | |||
@@ -49,6 +49,7 @@ struct bfa_fcs_s { | |||
49 | struct bfa_trc_mod_s *trcmod; /* tracing module */ | 49 | struct bfa_trc_mod_s *trcmod; /* tracing module */ |
50 | struct bfa_aen_s *aen; /* aen component */ | 50 | struct bfa_aen_s *aen; /* aen component */ |
51 | bfa_boolean_t vf_enabled; /* VF mode is enabled */ | 51 | bfa_boolean_t vf_enabled; /* VF mode is enabled */ |
52 | bfa_boolean_t fdmi_enabled; /*!< FDMI is enabled */ | ||
52 | bfa_boolean_t min_cfg; /* min cfg enabled/disabled */ | 53 | bfa_boolean_t min_cfg; /* min cfg enabled/disabled */ |
53 | u16 port_vfid; /* port default VF ID */ | 54 | u16 port_vfid; /* port default VF ID */ |
54 | struct bfa_fcs_driver_info_s driver_info; | 55 | struct bfa_fcs_driver_info_s driver_info; |
@@ -60,10 +61,12 @@ struct bfa_fcs_s { | |||
60 | /* | 61 | /* |
61 | * bfa fcs API functions | 62 | * bfa fcs API functions |
62 | */ | 63 | */ |
63 | void bfa_fcs_init(struct bfa_fcs_s *fcs, struct bfa_s *bfa, struct bfad_s *bfad, | 64 | void bfa_fcs_attach(struct bfa_fcs_s *fcs, struct bfa_s *bfa, struct bfad_s *bfad, |
64 | bfa_boolean_t min_cfg); | 65 | bfa_boolean_t min_cfg); |
66 | void bfa_fcs_init(struct bfa_fcs_s *fcs); | ||
65 | void bfa_fcs_driver_info_init(struct bfa_fcs_s *fcs, | 67 | void bfa_fcs_driver_info_init(struct bfa_fcs_s *fcs, |
66 | struct bfa_fcs_driver_info_s *driver_info); | 68 | struct bfa_fcs_driver_info_s *driver_info); |
69 | void bfa_fcs_set_fdmi_param(struct bfa_fcs_s *fcs, bfa_boolean_t fdmi_enable); | ||
67 | void bfa_fcs_exit(struct bfa_fcs_s *fcs); | 70 | void bfa_fcs_exit(struct bfa_fcs_s *fcs); |
68 | void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod); | 71 | void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod); |
69 | void bfa_fcs_log_init(struct bfa_fcs_s *fcs, struct bfa_log_mod_s *logmod); | 72 | void bfa_fcs_log_init(struct bfa_fcs_s *fcs, struct bfa_log_mod_s *logmod); |
diff --git a/drivers/scsi/bfa/include/fcs/bfa_fcs_lport.h b/drivers/scsi/bfa/include/fcs/bfa_fcs_lport.h index 967ceb0eb074..ceaefd3060f4 100644 --- a/drivers/scsi/bfa/include/fcs/bfa_fcs_lport.h +++ b/drivers/scsi/bfa/include/fcs/bfa_fcs_lport.h | |||
@@ -34,14 +34,6 @@ struct bfa_fcs_s; | |||
34 | struct bfa_fcs_fabric_s; | 34 | struct bfa_fcs_fabric_s; |
35 | 35 | ||
36 | /* | 36 | /* |
37 | * @todo : need to move to a global config file. | ||
38 | * Maximum Vports supported per physical port or vf. | ||
39 | */ | ||
40 | #define BFA_FCS_MAX_VPORTS_SUPP_CB 255 | ||
41 | #define BFA_FCS_MAX_VPORTS_SUPP_CT 191 | ||
42 | |||
43 | /* | ||
44 | * @todo : need to move to a global config file. | ||
45 | * Maximum Rports supported per port (physical/logical). | 37 | * Maximum Rports supported per port (physical/logical). |
46 | */ | 38 | */ |
47 | #define BFA_FCS_MAX_RPORTS_SUPP 256 /* @todo : tentative value */ | 39 | #define BFA_FCS_MAX_RPORTS_SUPP 256 /* @todo : tentative value */ |
diff --git a/drivers/scsi/bfa/include/log/bfa_log_hal.h b/drivers/scsi/bfa/include/log/bfa_log_hal.h index 0412aea2ec30..5f8f5e30b9e8 100644 --- a/drivers/scsi/bfa/include/log/bfa_log_hal.h +++ b/drivers/scsi/bfa/include/log/bfa_log_hal.h | |||
@@ -27,4 +27,10 @@ | |||
27 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 3) | 27 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 3) |
28 | #define BFA_LOG_HAL_SM_ASSERT \ | 28 | #define BFA_LOG_HAL_SM_ASSERT \ |
29 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 4) | 29 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 4) |
30 | #define BFA_LOG_HAL_DRIVER_ERROR \ | ||
31 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 5) | ||
32 | #define BFA_LOG_HAL_DRIVER_CONFIG_ERROR \ | ||
33 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 6) | ||
34 | #define BFA_LOG_HAL_MBOX_ERROR \ | ||
35 | (((u32) BFA_LOG_HAL_ID << BFA_LOG_MODID_OFFSET) | 7) | ||
30 | #endif | 36 | #endif |
diff --git a/drivers/scsi/bfa/include/log/bfa_log_linux.h b/drivers/scsi/bfa/include/log/bfa_log_linux.h index 317c0547ee16..bd451db4c30a 100644 --- a/drivers/scsi/bfa/include/log/bfa_log_linux.h +++ b/drivers/scsi/bfa/include/log/bfa_log_linux.h | |||
@@ -41,4 +41,20 @@ | |||
41 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 10) | 41 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 10) |
42 | #define BFA_LOG_LINUX_SCSI_ABORT_COMP \ | 42 | #define BFA_LOG_LINUX_SCSI_ABORT_COMP \ |
43 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 11) | 43 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 11) |
44 | #define BFA_LOG_LINUX_DRIVER_CONFIG_ERROR \ | ||
45 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 12) | ||
46 | #define BFA_LOG_LINUX_BNA_STATE_MACHINE \ | ||
47 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 13) | ||
48 | #define BFA_LOG_LINUX_IOC_ERROR \ | ||
49 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 14) | ||
50 | #define BFA_LOG_LINUX_RESOURCE_ALLOC_ERROR \ | ||
51 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 15) | ||
52 | #define BFA_LOG_LINUX_RING_BUFFER_ERROR \ | ||
53 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 16) | ||
54 | #define BFA_LOG_LINUX_DRIVER_ERROR \ | ||
55 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 17) | ||
56 | #define BFA_LOG_LINUX_DRIVER_DIAG \ | ||
57 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 18) | ||
58 | #define BFA_LOG_LINUX_DRIVER_AEN \ | ||
59 | (((u32) BFA_LOG_LINUX_ID << BFA_LOG_MODID_OFFSET) | 19) | ||
44 | #endif | 60 | #endif |
diff --git a/drivers/scsi/bfa/include/protocol/fc.h b/drivers/scsi/bfa/include/protocol/fc.h index 14969eecf6a9..8d1038035a76 100644 --- a/drivers/scsi/bfa/include/protocol/fc.h +++ b/drivers/scsi/bfa/include/protocol/fc.h | |||
@@ -50,6 +50,11 @@ struct fchs_s { | |||
50 | 50 | ||
51 | u32 ro; /* relative offset */ | 51 | u32 ro; /* relative offset */ |
52 | }; | 52 | }; |
53 | |||
54 | #define FC_SOF_LEN 4 | ||
55 | #define FC_EOF_LEN 4 | ||
56 | #define FC_CRC_LEN 4 | ||
57 | |||
53 | /* | 58 | /* |
54 | * Fibre Channel BB_E Header Structure | 59 | * Fibre Channel BB_E Header Structure |
55 | */ | 60 | */ |
diff --git a/drivers/scsi/bfa/include/protocol/pcifw.h b/drivers/scsi/bfa/include/protocol/pcifw.h deleted file mode 100644 index 6830dc3ee58a..000000000000 --- a/drivers/scsi/bfa/include/protocol/pcifw.h +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. | ||
3 | * All rights reserved | ||
4 | * www.brocade.com | ||
5 | * | ||
6 | * Linux driver for Brocade Fibre Channel Host Bus Adapter. | ||
7 | * | ||
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 | ||
11 | * | ||
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. | ||
16 | */ | ||
17 | |||
18 | /** | ||
19 | * pcifw.h PCI FW related headers | ||
20 | */ | ||
21 | |||
22 | #ifndef __PCIFW_H__ | ||
23 | #define __PCIFW_H__ | ||
24 | |||
25 | #pragma pack(1) | ||
26 | |||
27 | struct pnp_hdr_s{ | ||
28 | u32 signature; /* "$PnP" */ | ||
29 | u8 rev; /* Struct revision */ | ||
30 | u8 len; /* Header structure len in multiples | ||
31 | * of 16 bytes */ | ||
32 | u16 off; /* Offset to next header 00 if none */ | ||
33 | u8 rsvd; /* Reserved byte */ | ||
34 | u8 cksum; /* 8-bit checksum for this header */ | ||
35 | u32 pnp_dev_id; /* PnP Device Id */ | ||
36 | u16 mfstr; /* Pointer to manufacturer string */ | ||
37 | u16 prstr; /* Pointer to product string */ | ||
38 | u8 devtype[3]; /* Device Type Code */ | ||
39 | u8 devind; /* Device Indicator */ | ||
40 | u16 bcventr; /* Bootstrap entry vector */ | ||
41 | u16 rsvd2; /* Reserved */ | ||
42 | u16 sriv; /* Static resource information vector */ | ||
43 | }; | ||
44 | |||
45 | struct pci_3_0_ds_s{ | ||
46 | u32 sig; /* Signature "PCIR" */ | ||
47 | u16 vendid; /* Vendor ID */ | ||
48 | u16 devid; /* Device ID */ | ||
49 | u16 devlistoff; /* Device List Offset */ | ||
50 | u16 len; /* PCI Data Structure Length */ | ||
51 | u8 rev; /* PCI Data Structure Revision */ | ||
52 | u8 clcode[3]; /* Class Code */ | ||
53 | u16 imglen; /* Code image length in multiples of | ||
54 | * 512 bytes */ | ||
55 | u16 coderev; /* Revision level of code/data */ | ||
56 | u8 codetype; /* Code type 0x00 - BIOS */ | ||
57 | u8 indr; /* Last image indicator */ | ||
58 | u16 mrtimglen; /* Max Run Time Image Length */ | ||
59 | u16 cuoff; /* Config Utility Code Header Offset */ | ||
60 | u16 dmtfclp; /* DMTF CLP entry point offset */ | ||
61 | }; | ||
62 | |||
63 | struct pci_optrom_hdr_s{ | ||
64 | u16 sig; /* Signature 0x55AA */ | ||
65 | u8 len; /* Option ROM length in units of 512 bytes */ | ||
66 | u8 inivec[3]; /* Initialization vector */ | ||
67 | u8 rsvd[16]; /* Reserved field */ | ||
68 | u16 verptr; /* Pointer to version string - private */ | ||
69 | u16 pcids; /* Pointer to PCI data structure */ | ||
70 | u16 pnphdr; /* Pointer to PnP expansion header */ | ||
71 | }; | ||
72 | |||
73 | #pragma pack() | ||
74 | |||
75 | #endif | ||