diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 13:36:08 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 13:36:08 -0500 |
commit | d04baa157d1b35cbd27c87b4a13111d9675b61f3 (patch) | |
tree | c46966fbea1c34bed2bd38629ce948d5a088281c /drivers/scsi/bfa | |
parent | 88266917b518e2ca954d85983470592aaaf82993 (diff) | |
parent | 5c41dc3a79150e93e5d050871a10b761be8281a1 (diff) |
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
SCSI updates for post 3.2 merge window
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (67 commits)
[SCSI] lpfc 8.3.28: Update driver version to 8.3.28
[SCSI] lpfc 8.3.28: Add Loopback support for SLI4 adapters
[SCSI] lpfc 8.3.28: Critical Miscellaneous fixes
[SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
[SCSI] lpfc 8.3.28: Add support for ABTS failure handling
[SCSI] lpfc 8.3.28: SLI fixes and added SLI4 support
[SCSI] lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
[SCSI] mpt2sas: Removed redundant calling of _scsih_probe_devices() from _scsih_probe
[SCSI] mac_scsi: Remove obsolete IRQ_FLG_* users
[SCSI] qla4xxx: Update driver version to 5.02.00-k10
[SCSI] qla4xxx: check for FW alive before calling chip_reset
[SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly
[SCSI] qla4xxx: Fix the IDC locking mechanism
[SCSI] qla4xxx: Wait for disable_acb before doing set_acb
[SCSI] qla4xxx: Don't recover adapter if device state is FAILED
[SCSI] qla4xxx: fix call trace on rmmod with ql4xdontresethba=1
[SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
[SCSI] qla4xxx: Perform context resets in case of context failures.
[SCSI] iscsi class: export pid of process that created
[SCSI] mpt2sas: Remove unused duplicate diag_buffer_enable param
...
Diffstat (limited to 'drivers/scsi/bfa')
-rw-r--r-- | drivers/scsi/bfa/bfa_defs.h | 4 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfa_defs_svc.h | 437 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.c | 6 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfad_debugfs.c | 3 |
4 files changed, 226 insertions, 224 deletions
diff --git a/drivers/scsi/bfa/bfa_defs.h b/drivers/scsi/bfa/bfa_defs.h index 7b3d235d20b4..b5a1595cc0a5 100644 --- a/drivers/scsi/bfa/bfa_defs.h +++ b/drivers/scsi/bfa/bfa_defs.h | |||
@@ -902,7 +902,7 @@ struct sfp_mem_s { | |||
902 | union sfp_xcvr_e10g_code_u { | 902 | union sfp_xcvr_e10g_code_u { |
903 | u8 b; | 903 | u8 b; |
904 | struct { | 904 | struct { |
905 | #ifdef __BIGENDIAN | 905 | #ifdef __BIG_ENDIAN |
906 | u8 e10g_unall:1; /* 10G Ethernet compliance */ | 906 | u8 e10g_unall:1; /* 10G Ethernet compliance */ |
907 | u8 e10g_lrm:1; | 907 | u8 e10g_lrm:1; |
908 | u8 e10g_lr:1; | 908 | u8 e10g_lr:1; |
@@ -982,7 +982,7 @@ union sfp_xcvr_fc2_code_u { | |||
982 | union sfp_xcvr_fc3_code_u { | 982 | union sfp_xcvr_fc3_code_u { |
983 | u8 b; | 983 | u8 b; |
984 | struct { | 984 | struct { |
985 | #ifdef __BIGENDIAN | 985 | #ifdef __BIG_ENDIAN |
986 | u8 rsv4:1; | 986 | u8 rsv4:1; |
987 | u8 mb800:1; /* 800 Mbytes/sec */ | 987 | u8 mb800:1; /* 800 Mbytes/sec */ |
988 | u8 mb1600:1; /* 1600 Mbytes/sec */ | 988 | u8 mb1600:1; /* 1600 Mbytes/sec */ |
diff --git a/drivers/scsi/bfa/bfa_defs_svc.h b/drivers/scsi/bfa/bfa_defs_svc.h index 863c6ba7d5eb..78963be2c4fb 100644 --- a/drivers/scsi/bfa/bfa_defs_svc.h +++ b/drivers/scsi/bfa/bfa_defs_svc.h | |||
@@ -34,22 +34,22 @@ | |||
34 | struct bfa_iocfc_intr_attr_s { | 34 | struct bfa_iocfc_intr_attr_s { |
35 | u8 coalesce; /* enable/disable coalescing */ | 35 | u8 coalesce; /* enable/disable coalescing */ |
36 | u8 rsvd[3]; | 36 | u8 rsvd[3]; |
37 | __be16 latency; /* latency in microseconds */ | 37 | __be16 latency; /* latency in microseconds */ |
38 | __be16 delay; /* delay in microseconds */ | 38 | __be16 delay; /* delay in microseconds */ |
39 | }; | 39 | }; |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * IOC firmware configuraton | 42 | * IOC firmware configuraton |
43 | */ | 43 | */ |
44 | struct bfa_iocfc_fwcfg_s { | 44 | struct bfa_iocfc_fwcfg_s { |
45 | u16 num_fabrics; /* number of fabrics */ | 45 | u16 num_fabrics; /* number of fabrics */ |
46 | u16 num_lports; /* number of local lports */ | 46 | u16 num_lports; /* number of local lports */ |
47 | u16 num_rports; /* number of remote ports */ | 47 | u16 num_rports; /* number of remote ports */ |
48 | u16 num_ioim_reqs; /* number of IO reqs */ | 48 | u16 num_ioim_reqs; /* number of IO reqs */ |
49 | u16 num_tskim_reqs; /* task management requests */ | 49 | u16 num_tskim_reqs; /* task management requests */ |
50 | u16 num_fwtio_reqs; /* number of TM IO reqs in FW */ | 50 | u16 num_fwtio_reqs; /* number of TM IO reqs in FW */ |
51 | u16 num_fcxp_reqs; /* unassisted FC exchanges */ | 51 | u16 num_fcxp_reqs; /* unassisted FC exchanges */ |
52 | u16 num_uf_bufs; /* unsolicited recv buffers */ | 52 | u16 num_uf_bufs; /* unsolicited recv buffers */ |
53 | u8 num_cqs; | 53 | u8 num_cqs; |
54 | u8 fw_tick_res; /* FW clock resolution in ms */ | 54 | u8 fw_tick_res; /* FW clock resolution in ms */ |
55 | u8 rsvd[2]; | 55 | u8 rsvd[2]; |
@@ -57,19 +57,19 @@ struct bfa_iocfc_fwcfg_s { | |||
57 | #pragma pack() | 57 | #pragma pack() |
58 | 58 | ||
59 | struct bfa_iocfc_drvcfg_s { | 59 | struct bfa_iocfc_drvcfg_s { |
60 | u16 num_reqq_elems; /* number of req queue elements */ | 60 | u16 num_reqq_elems; /* number of req queue elements */ |
61 | u16 num_rspq_elems; /* number of rsp queue elements */ | 61 | u16 num_rspq_elems; /* number of rsp queue elements */ |
62 | u16 num_sgpgs; /* number of total SG pages */ | 62 | u16 num_sgpgs; /* number of total SG pages */ |
63 | u16 num_sboot_tgts; /* number of SAN boot targets */ | 63 | u16 num_sboot_tgts; /* number of SAN boot targets */ |
64 | u16 num_sboot_luns; /* number of SAN boot luns */ | 64 | u16 num_sboot_luns; /* number of SAN boot luns */ |
65 | u16 ioc_recover; /* IOC recovery mode */ | 65 | u16 ioc_recover; /* IOC recovery mode */ |
66 | u16 min_cfg; /* minimum configuration */ | 66 | u16 min_cfg; /* minimum configuration */ |
67 | u16 path_tov; /* device path timeout */ | 67 | u16 path_tov; /* device path timeout */ |
68 | u16 num_tio_reqs; /*!< number of TM IO reqs */ | 68 | u16 num_tio_reqs; /* number of TM IO reqs */ |
69 | u8 port_mode; | 69 | u8 port_mode; |
70 | u8 rsvd_a; | 70 | u8 rsvd_a; |
71 | bfa_boolean_t delay_comp; /* delay completion of | 71 | bfa_boolean_t delay_comp; /* delay completion of failed |
72 | failed inflight IOs */ | 72 | * inflight IOs */ |
73 | u16 num_ttsk_reqs; /* TM task management requests */ | 73 | u16 num_ttsk_reqs; /* TM task management requests */ |
74 | u32 rsvd; | 74 | u32 rsvd; |
75 | }; | 75 | }; |
@@ -101,8 +101,8 @@ struct bfa_fw_ioim_stats_s { | |||
101 | u32 fw_frm_drop; /* f/w drop the frame */ | 101 | u32 fw_frm_drop; /* f/w drop the frame */ |
102 | 102 | ||
103 | u32 rec_timeout; /* FW rec timed out */ | 103 | u32 rec_timeout; /* FW rec timed out */ |
104 | u32 error_rec; /* FW sending rec on | 104 | u32 error_rec; /* FW sending rec on |
105 | * an error condition*/ | 105 | * an error condition*/ |
106 | u32 wait_for_si; /* FW wait for SI */ | 106 | u32 wait_for_si; /* FW wait for SI */ |
107 | u32 rec_rsp_inval; /* REC rsp invalid */ | 107 | u32 rec_rsp_inval; /* REC rsp invalid */ |
108 | u32 seqr_io_abort; /* target does not know cmd so abort */ | 108 | u32 seqr_io_abort; /* target does not know cmd so abort */ |
@@ -124,9 +124,9 @@ struct bfa_fw_ioim_stats_s { | |||
124 | u32 unexp_fcp_rsp; /* fcp response in wrong state */ | 124 | u32 unexp_fcp_rsp; /* fcp response in wrong state */ |
125 | 125 | ||
126 | u32 fcp_rsp_under_run; /* fcp rsp IO underrun */ | 126 | u32 fcp_rsp_under_run; /* fcp rsp IO underrun */ |
127 | u32 fcp_rsp_under_run_wr; /* fcp rsp IO underrun for write */ | 127 | u32 fcp_rsp_under_run_wr; /* fcp rsp IO underrun for write */ |
128 | u32 fcp_rsp_under_run_err; /* fcp rsp IO underrun error */ | 128 | u32 fcp_rsp_under_run_err; /* fcp rsp IO underrun error */ |
129 | u32 fcp_rsp_resid_inval; /* invalid residue */ | 129 | u32 fcp_rsp_resid_inval; /* invalid residue */ |
130 | u32 fcp_rsp_over_run; /* fcp rsp IO overrun */ | 130 | u32 fcp_rsp_over_run; /* fcp rsp IO overrun */ |
131 | u32 fcp_rsp_over_run_err; /* fcp rsp IO overrun error */ | 131 | u32 fcp_rsp_over_run_err; /* fcp rsp IO overrun error */ |
132 | u32 fcp_rsp_proto_err; /* protocol error in fcp rsp */ | 132 | u32 fcp_rsp_proto_err; /* protocol error in fcp rsp */ |
@@ -142,21 +142,20 @@ struct bfa_fw_ioim_stats_s { | |||
142 | u32 ioh_hit_class2_event; /* IOH hit class2 */ | 142 | u32 ioh_hit_class2_event; /* IOH hit class2 */ |
143 | u32 ioh_miss_other_event; /* IOH miss other */ | 143 | u32 ioh_miss_other_event; /* IOH miss other */ |
144 | u32 ioh_seq_cnt_err_event; /* IOH seq cnt error */ | 144 | u32 ioh_seq_cnt_err_event; /* IOH seq cnt error */ |
145 | u32 ioh_len_err_event; /* IOH len error - fcp_dl != | 145 | u32 ioh_len_err_event; /* IOH len error - fcp_dl != |
146 | * bytes xfered */ | 146 | * bytes xfered */ |
147 | u32 ioh_seq_len_err_event; /* IOH seq len error */ | 147 | u32 ioh_seq_len_err_event; /* IOH seq len error */ |
148 | u32 ioh_data_oor_event; /* Data out of range */ | 148 | u32 ioh_data_oor_event; /* Data out of range */ |
149 | u32 ioh_ro_ooo_event; /* Relative offset out of range */ | 149 | u32 ioh_ro_ooo_event; /* Relative offset out of range */ |
150 | u32 ioh_cpu_owned_event; /* IOH hit -iost owned by f/w */ | 150 | u32 ioh_cpu_owned_event; /* IOH hit -iost owned by f/w */ |
151 | u32 ioh_unexp_frame_event; /* unexpected frame received | 151 | u32 ioh_unexp_frame_event; /* unexpected frame received |
152 | * count */ | 152 | * count */ |
153 | u32 ioh_err_int; /* IOH error int during data-phase | 153 | u32 ioh_err_int; /* IOH error int during data-phase |
154 | * for scsi write | 154 | * for scsi write */ |
155 | */ | ||
156 | }; | 155 | }; |
157 | 156 | ||
158 | struct bfa_fw_tio_stats_s { | 157 | struct bfa_fw_tio_stats_s { |
159 | u32 tio_conf_proc; /* TIO CONF processed */ | 158 | u32 tio_conf_proc; /* TIO CONF processed */ |
160 | u32 tio_conf_drop; /* TIO CONF dropped */ | 159 | u32 tio_conf_drop; /* TIO CONF dropped */ |
161 | u32 tio_cleanup_req; /* TIO cleanup requested */ | 160 | u32 tio_cleanup_req; /* TIO cleanup requested */ |
162 | u32 tio_cleanup_comp; /* TIO cleanup completed */ | 161 | u32 tio_cleanup_comp; /* TIO cleanup completed */ |
@@ -164,34 +163,36 @@ struct bfa_fw_tio_stats_s { | |||
164 | u32 tio_abort_rsp_comp; /* TIO abort rsp completed */ | 163 | u32 tio_abort_rsp_comp; /* TIO abort rsp completed */ |
165 | u32 tio_abts_req; /* TIO ABTS requested */ | 164 | u32 tio_abts_req; /* TIO ABTS requested */ |
166 | u32 tio_abts_ack; /* TIO ABTS ack-ed */ | 165 | u32 tio_abts_ack; /* TIO ABTS ack-ed */ |
167 | u32 tio_abts_ack_nocomp; /* TIO ABTS ack-ed but not completed */ | 166 | u32 tio_abts_ack_nocomp;/* TIO ABTS ack-ed but not completed */ |
168 | u32 tio_abts_tmo; /* TIO ABTS timeout */ | 167 | u32 tio_abts_tmo; /* TIO ABTS timeout */ |
169 | u32 tio_snsdata_dma; /* TIO sense data DMA */ | 168 | u32 tio_snsdata_dma; /* TIO sense data DMA */ |
170 | u32 tio_rxwchan_wait; /* TIO waiting for RX wait channel */ | 169 | u32 tio_rxwchan_wait; /* TIO waiting for RX wait channel */ |
171 | u32 tio_rxwchan_avail; /* TIO RX wait channel available */ | 170 | u32 tio_rxwchan_avail; /* TIO RX wait channel available */ |
172 | u32 tio_hit_bls; /* TIO IOH BLS event */ | 171 | u32 tio_hit_bls; /* TIO IOH BLS event */ |
173 | u32 tio_uf_recv; /* TIO received UF */ | 172 | u32 tio_uf_recv; /* TIO received UF */ |
174 | u32 tio_rd_invalid_sm; /* TIO read reqst in wrong state machine */ | 173 | u32 tio_rd_invalid_sm; /* TIO read reqst in wrong state machine */ |
175 | u32 tio_wr_invalid_sm;/* TIO write reqst in wrong state machine */ | 174 | u32 tio_wr_invalid_sm; /* TIO write reqst in wrong state machine */ |
176 | 175 | ||
177 | u32 ds_rxwchan_wait; /* DS waiting for RX wait channel */ | 176 | u32 ds_rxwchan_wait; /* DS waiting for RX wait channel */ |
178 | u32 ds_rxwchan_avail; /* DS RX wait channel available */ | 177 | u32 ds_rxwchan_avail; /* DS RX wait channel available */ |
179 | u32 ds_unaligned_rd; /* DS unaligned read */ | 178 | u32 ds_unaligned_rd; /* DS unaligned read */ |
180 | u32 ds_rdcomp_invalid_sm; /* DS read completed in wrong state machine */ | 179 | u32 ds_rdcomp_invalid_sm; /* DS read completed in wrong state |
181 | u32 ds_wrcomp_invalid_sm; /* DS write completed in wrong state machine */ | 180 | * machine */ |
181 | u32 ds_wrcomp_invalid_sm; /* DS write completed in wrong state | ||
182 | * machine */ | ||
182 | u32 ds_flush_req; /* DS flush requested */ | 183 | u32 ds_flush_req; /* DS flush requested */ |
183 | u32 ds_flush_comp; /* DS flush completed */ | 184 | u32 ds_flush_comp; /* DS flush completed */ |
184 | u32 ds_xfrdy_exp; /* DS XFER_RDY expired */ | 185 | u32 ds_xfrdy_exp; /* DS XFER_RDY expired */ |
185 | u32 ds_seq_cnt_err; /* DS seq cnt error */ | 186 | u32 ds_seq_cnt_err; /* DS seq cnt error */ |
186 | u32 ds_seq_len_err; /* DS seq len error */ | 187 | u32 ds_seq_len_err; /* DS seq len error */ |
187 | u32 ds_data_oor; /* DS data out of order */ | 188 | u32 ds_data_oor; /* DS data out of order */ |
188 | u32 ds_hit_bls; /* DS hit BLS */ | 189 | u32 ds_hit_bls; /* DS hit BLS */ |
189 | u32 ds_edtov_timer_exp; /* DS edtov expired */ | 190 | u32 ds_edtov_timer_exp; /* DS edtov expired */ |
190 | u32 ds_cpu_owned; /* DS cpu owned */ | 191 | u32 ds_cpu_owned; /* DS cpu owned */ |
191 | u32 ds_hit_class2; /* DS hit class2 */ | 192 | u32 ds_hit_class2; /* DS hit class2 */ |
192 | u32 ds_length_err; /* DS length error */ | 193 | u32 ds_length_err; /* DS length error */ |
193 | u32 ds_ro_ooo_err; /* DS relative offset out-of-order error */ | 194 | u32 ds_ro_ooo_err; /* DS relative offset out-of-order error */ |
194 | u32 ds_rectov_timer_exp; /* DS rectov expired */ | 195 | u32 ds_rectov_timer_exp;/* DS rectov expired */ |
195 | u32 ds_unexp_fr_err; /* DS unexp frame error */ | 196 | u32 ds_unexp_fr_err; /* DS unexp frame error */ |
196 | }; | 197 | }; |
197 | 198 | ||
@@ -208,119 +209,119 @@ struct bfa_fw_io_stats_s { | |||
208 | */ | 209 | */ |
209 | 210 | ||
210 | struct bfa_fw_port_fpg_stats_s { | 211 | struct bfa_fw_port_fpg_stats_s { |
211 | u32 intr_evt; | 212 | u32 intr_evt; |
212 | u32 intr; | 213 | u32 intr; |
213 | u32 intr_excess; | 214 | u32 intr_excess; |
214 | u32 intr_cause0; | 215 | u32 intr_cause0; |
215 | u32 intr_other; | 216 | u32 intr_other; |
216 | u32 intr_other_ign; | 217 | u32 intr_other_ign; |
217 | u32 sig_lost; | 218 | u32 sig_lost; |
218 | u32 sig_regained; | 219 | u32 sig_regained; |
219 | u32 sync_lost; | 220 | u32 sync_lost; |
220 | u32 sync_to; | 221 | u32 sync_to; |
221 | u32 sync_regained; | 222 | u32 sync_regained; |
222 | u32 div2_overflow; | 223 | u32 div2_overflow; |
223 | u32 div2_underflow; | 224 | u32 div2_underflow; |
224 | u32 efifo_overflow; | 225 | u32 efifo_overflow; |
225 | u32 efifo_underflow; | 226 | u32 efifo_underflow; |
226 | u32 idle_rx; | 227 | u32 idle_rx; |
227 | u32 lrr_rx; | 228 | u32 lrr_rx; |
228 | u32 lr_rx; | 229 | u32 lr_rx; |
229 | u32 ols_rx; | 230 | u32 ols_rx; |
230 | u32 nos_rx; | 231 | u32 nos_rx; |
231 | u32 lip_rx; | 232 | u32 lip_rx; |
232 | u32 arbf0_rx; | 233 | u32 arbf0_rx; |
233 | u32 arb_rx; | 234 | u32 arb_rx; |
234 | u32 mrk_rx; | 235 | u32 mrk_rx; |
235 | u32 const_mrk_rx; | 236 | u32 const_mrk_rx; |
236 | u32 prim_unknown; | 237 | u32 prim_unknown; |
237 | }; | 238 | }; |
238 | 239 | ||
239 | 240 | ||
240 | struct bfa_fw_port_lksm_stats_s { | 241 | struct bfa_fw_port_lksm_stats_s { |
241 | u32 hwsm_success; /* hwsm state machine success */ | 242 | u32 hwsm_success; /* hwsm state machine success */ |
242 | u32 hwsm_fails; /* hwsm fails */ | 243 | u32 hwsm_fails; /* hwsm fails */ |
243 | u32 hwsm_wdtov; /* hwsm timed out */ | 244 | u32 hwsm_wdtov; /* hwsm timed out */ |
244 | u32 swsm_success; /* swsm success */ | 245 | u32 swsm_success; /* swsm success */ |
245 | u32 swsm_fails; /* swsm fails */ | 246 | u32 swsm_fails; /* swsm fails */ |
246 | u32 swsm_wdtov; /* swsm timed out */ | 247 | u32 swsm_wdtov; /* swsm timed out */ |
247 | u32 busybufs; /* link init failed due to busybuf */ | 248 | u32 busybufs; /* link init failed due to busybuf */ |
248 | u32 buf_waits; /* bufwait state entries */ | 249 | u32 buf_waits; /* bufwait state entries */ |
249 | u32 link_fails; /* link failures */ | 250 | u32 link_fails; /* link failures */ |
250 | u32 psp_errors; /* primitive sequence protocol errors */ | 251 | u32 psp_errors; /* primitive sequence protocol errors */ |
251 | u32 lr_unexp; /* No. of times LR rx-ed unexpectedly */ | 252 | u32 lr_unexp; /* No. of times LR rx-ed unexpectedly */ |
252 | u32 lrr_unexp; /* No. of times LRR rx-ed unexpectedly */ | 253 | u32 lrr_unexp; /* No. of times LRR rx-ed unexpectedly */ |
253 | u32 lr_tx; /* No. of times LR tx started */ | 254 | u32 lr_tx; /* No. of times LR tx started */ |
254 | u32 lrr_tx; /* No. of times LRR tx started */ | 255 | u32 lrr_tx; /* No. of times LRR tx started */ |
255 | u32 ols_tx; /* No. of times OLS tx started */ | 256 | u32 ols_tx; /* No. of times OLS tx started */ |
256 | u32 nos_tx; /* No. of times NOS tx started */ | 257 | u32 nos_tx; /* No. of times NOS tx started */ |
257 | u32 hwsm_lrr_rx; /* No. of times LRR rx-ed by HWSM */ | 258 | u32 hwsm_lrr_rx; /* No. of times LRR rx-ed by HWSM */ |
258 | u32 hwsm_lr_rx; /* No. of times LR rx-ed by HWSM */ | 259 | u32 hwsm_lr_rx; /* No. of times LR rx-ed by HWSM */ |
259 | u32 bbsc_lr; /* LKSM LR tx for credit recovery */ | 260 | u32 bbsc_lr; /* LKSM LR tx for credit recovery */ |
260 | }; | 261 | }; |
261 | 262 | ||
262 | struct bfa_fw_port_snsm_stats_s { | 263 | struct bfa_fw_port_snsm_stats_s { |
263 | u32 hwsm_success; /* Successful hwsm terminations */ | 264 | u32 hwsm_success; /* Successful hwsm terminations */ |
264 | u32 hwsm_fails; /* hwsm fail count */ | 265 | u32 hwsm_fails; /* hwsm fail count */ |
265 | u32 hwsm_wdtov; /* hwsm timed out */ | 266 | u32 hwsm_wdtov; /* hwsm timed out */ |
266 | u32 swsm_success; /* swsm success */ | 267 | u32 swsm_success; /* swsm success */ |
267 | u32 swsm_wdtov; /* swsm timed out */ | 268 | u32 swsm_wdtov; /* swsm timed out */ |
268 | u32 error_resets; /* error resets initiated by upsm */ | 269 | u32 error_resets; /* error resets initiated by upsm */ |
269 | u32 sync_lost; /* Sync loss count */ | 270 | u32 sync_lost; /* Sync loss count */ |
270 | u32 sig_lost; /* Signal loss count */ | 271 | u32 sig_lost; /* Signal loss count */ |
271 | u32 asn8g_attempts; /* SNSM HWSM at 8Gbps attempts */ | 272 | u32 asn8g_attempts; /* SNSM HWSM at 8Gbps attempts */ |
272 | }; | 273 | }; |
273 | 274 | ||
274 | struct bfa_fw_port_physm_stats_s { | 275 | struct bfa_fw_port_physm_stats_s { |
275 | u32 module_inserts; /* Module insert count */ | 276 | u32 module_inserts; /* Module insert count */ |
276 | u32 module_xtracts; /* Module extracts count */ | 277 | u32 module_xtracts; /* Module extracts count */ |
277 | u32 module_invalids; /* Invalid module inserted count */ | 278 | u32 module_invalids; /* Invalid module inserted count */ |
278 | u32 module_read_ign; /* Module validation status ignored */ | 279 | u32 module_read_ign; /* Module validation status ignored */ |
279 | u32 laser_faults; /* Laser fault count */ | 280 | u32 laser_faults; /* Laser fault count */ |
280 | u32 rsvd; | 281 | u32 rsvd; |
281 | }; | 282 | }; |
282 | 283 | ||
283 | struct bfa_fw_fip_stats_s { | 284 | struct bfa_fw_fip_stats_s { |
284 | u32 vlan_req; /* vlan discovery requests */ | 285 | u32 vlan_req; /* vlan discovery requests */ |
285 | u32 vlan_notify; /* vlan notifications */ | 286 | u32 vlan_notify; /* vlan notifications */ |
286 | u32 vlan_err; /* vlan response error */ | 287 | u32 vlan_err; /* vlan response error */ |
287 | u32 vlan_timeouts; /* vlan disvoery timeouts */ | 288 | u32 vlan_timeouts; /* vlan disvoery timeouts */ |
288 | u32 vlan_invalids; /* invalid vlan in discovery advert. */ | 289 | u32 vlan_invalids; /* invalid vlan in discovery advert. */ |
289 | u32 disc_req; /* Discovery solicit requests */ | 290 | u32 disc_req; /* Discovery solicit requests */ |
290 | u32 disc_rsp; /* Discovery solicit response */ | 291 | u32 disc_rsp; /* Discovery solicit response */ |
291 | u32 disc_err; /* Discovery advt. parse errors */ | 292 | u32 disc_err; /* Discovery advt. parse errors */ |
292 | u32 disc_unsol; /* Discovery unsolicited */ | 293 | u32 disc_unsol; /* Discovery unsolicited */ |
293 | u32 disc_timeouts; /* Discovery timeouts */ | 294 | u32 disc_timeouts; /* Discovery timeouts */ |
294 | u32 disc_fcf_unavail; /* Discovery FCF Not Avail. */ | 295 | u32 disc_fcf_unavail; /* Discovery FCF Not Avail. */ |
295 | u32 linksvc_unsupp; /* Unsupported link service req */ | 296 | u32 linksvc_unsupp; /* Unsupported link service req */ |
296 | u32 linksvc_err; /* Parse error in link service req */ | 297 | u32 linksvc_err; /* Parse error in link service req */ |
297 | u32 logo_req; /* FIP logos received */ | 298 | u32 logo_req; /* FIP logos received */ |
298 | u32 clrvlink_req; /* Clear virtual link req */ | 299 | u32 clrvlink_req; /* Clear virtual link req */ |
299 | u32 op_unsupp; /* Unsupported FIP operation */ | 300 | u32 op_unsupp; /* Unsupported FIP operation */ |
300 | u32 untagged; /* Untagged frames (ignored) */ | 301 | u32 untagged; /* Untagged frames (ignored) */ |
301 | u32 invalid_version; /* Invalid FIP version */ | 302 | u32 invalid_version; /* Invalid FIP version */ |
302 | }; | 303 | }; |
303 | 304 | ||
304 | struct bfa_fw_lps_stats_s { | 305 | struct bfa_fw_lps_stats_s { |
305 | u32 mac_invalids; /* Invalid mac assigned */ | 306 | u32 mac_invalids; /* Invalid mac assigned */ |
306 | u32 rsvd; | 307 | u32 rsvd; |
307 | }; | 308 | }; |
308 | 309 | ||
309 | struct bfa_fw_fcoe_stats_s { | 310 | struct bfa_fw_fcoe_stats_s { |
310 | u32 cee_linkups; /* CEE link up count */ | 311 | u32 cee_linkups; /* CEE link up count */ |
311 | u32 cee_linkdns; /* CEE link down count */ | 312 | u32 cee_linkdns; /* CEE link down count */ |
312 | u32 fip_linkups; /* FIP link up count */ | 313 | u32 fip_linkups; /* FIP link up count */ |
313 | u32 fip_linkdns; /* FIP link up count */ | 314 | u32 fip_linkdns; /* FIP link up count */ |
314 | u32 fip_fails; /* FIP fail count */ | 315 | u32 fip_fails; /* FIP fail count */ |
315 | u32 mac_invalids; /* Invalid mac assigned */ | 316 | u32 mac_invalids; /* Invalid mac assigned */ |
316 | }; | 317 | }; |
317 | 318 | ||
318 | /* | 319 | /* |
319 | * IOC firmware FCoE port stats | 320 | * IOC firmware FCoE port stats |
320 | */ | 321 | */ |
321 | struct bfa_fw_fcoe_port_stats_s { | 322 | struct bfa_fw_fcoe_port_stats_s { |
322 | struct bfa_fw_fcoe_stats_s fcoe_stats; | 323 | struct bfa_fw_fcoe_stats_s fcoe_stats; |
323 | struct bfa_fw_fip_stats_s fip_stats; | 324 | struct bfa_fw_fip_stats_s fip_stats; |
324 | }; | 325 | }; |
325 | 326 | ||
326 | /* | 327 | /* |
@@ -335,8 +336,8 @@ struct bfa_fw_fc_uport_stats_s { | |||
335 | * IOC firmware FC port stats | 336 | * IOC firmware FC port stats |
336 | */ | 337 | */ |
337 | union bfa_fw_fc_port_stats_s { | 338 | union bfa_fw_fc_port_stats_s { |
338 | struct bfa_fw_fc_uport_stats_s fc_stats; | 339 | struct bfa_fw_fc_uport_stats_s fc_stats; |
339 | struct bfa_fw_fcoe_port_stats_s fcoe_stats; | 340 | struct bfa_fw_fcoe_port_stats_s fcoe_stats; |
340 | }; | 341 | }; |
341 | 342 | ||
342 | /* | 343 | /* |
@@ -366,25 +367,25 @@ struct bfa_fw_lpsm_stats_s { | |||
366 | */ | 367 | */ |
367 | struct bfa_fw_trunk_stats_s { | 368 | struct bfa_fw_trunk_stats_s { |
368 | u32 emt_recvd; /* Trunk EMT received */ | 369 | u32 emt_recvd; /* Trunk EMT received */ |
369 | u32 emt_accepted; /* Trunk EMT Accepted */ | 370 | u32 emt_accepted; /* Trunk EMT Accepted */ |
370 | u32 emt_rejected; /* Trunk EMT rejected */ | 371 | u32 emt_rejected; /* Trunk EMT rejected */ |
371 | u32 etp_recvd; /* Trunk ETP received */ | 372 | u32 etp_recvd; /* Trunk ETP received */ |
372 | u32 etp_accepted; /* Trunk ETP Accepted */ | 373 | u32 etp_accepted; /* Trunk ETP Accepted */ |
373 | u32 etp_rejected; /* Trunk ETP rejected */ | 374 | u32 etp_rejected; /* Trunk ETP rejected */ |
374 | u32 lr_recvd; /* Trunk LR received */ | 375 | u32 lr_recvd; /* Trunk LR received */ |
375 | u32 rsvd; /* padding for 64 bit alignment */ | 376 | u32 rsvd; /* padding for 64 bit alignment */ |
376 | }; | 377 | }; |
377 | 378 | ||
378 | struct bfa_fw_advsm_stats_s { | 379 | struct bfa_fw_advsm_stats_s { |
379 | u32 flogi_sent; /* Flogi sent */ | 380 | u32 flogi_sent; /* Flogi sent */ |
380 | u32 flogi_acc_recvd; /* Flogi Acc received */ | 381 | u32 flogi_acc_recvd; /* Flogi Acc received */ |
381 | u32 flogi_rjt_recvd; /* Flogi rejects received */ | 382 | u32 flogi_rjt_recvd; /* Flogi rejects received */ |
382 | u32 flogi_retries; /* Flogi retries */ | 383 | u32 flogi_retries; /* Flogi retries */ |
383 | 384 | ||
384 | u32 elp_recvd; /* ELP received */ | 385 | u32 elp_recvd; /* ELP received */ |
385 | u32 elp_accepted; /* ELP Accepted */ | 386 | u32 elp_accepted; /* ELP Accepted */ |
386 | u32 elp_rejected; /* ELP rejected */ | 387 | u32 elp_rejected; /* ELP rejected */ |
387 | u32 elp_dropped; /* ELP dropped */ | 388 | u32 elp_dropped; /* ELP dropped */ |
388 | }; | 389 | }; |
389 | 390 | ||
390 | /* | 391 | /* |
@@ -521,7 +522,7 @@ struct bfa_qos_vc_attr_s { | |||
521 | u16 total_vc_count; /* Total VC Count */ | 522 | u16 total_vc_count; /* Total VC Count */ |
522 | u16 shared_credit; | 523 | u16 shared_credit; |
523 | u32 elp_opmode_flags; | 524 | u32 elp_opmode_flags; |
524 | struct bfa_qos_vc_info_s vc_info[BFA_QOS_MAX_VC]; /* as many as | 525 | struct bfa_qos_vc_info_s vc_info[BFA_QOS_MAX_VC]; /* as many as |
525 | * total_vc_count */ | 526 | * total_vc_count */ |
526 | }; | 527 | }; |
527 | 528 | ||
@@ -531,16 +532,16 @@ struct bfa_qos_vc_attr_s { | |||
531 | struct bfa_qos_stats_s { | 532 | struct bfa_qos_stats_s { |
532 | u32 flogi_sent; /* QoS Flogi sent */ | 533 | u32 flogi_sent; /* QoS Flogi sent */ |
533 | u32 flogi_acc_recvd; /* QoS Flogi Acc received */ | 534 | u32 flogi_acc_recvd; /* QoS Flogi Acc received */ |
534 | u32 flogi_rjt_recvd; /* QoS Flogi rejects received */ | 535 | u32 flogi_rjt_recvd; /* QoS Flogi rejects received */ |
535 | u32 flogi_retries; /* QoS Flogi retries */ | 536 | u32 flogi_retries; /* QoS Flogi retries */ |
536 | 537 | ||
537 | u32 elp_recvd; /* QoS ELP received */ | 538 | u32 elp_recvd; /* QoS ELP received */ |
538 | u32 elp_accepted; /* QoS ELP Accepted */ | 539 | u32 elp_accepted; /* QoS ELP Accepted */ |
539 | u32 elp_rejected; /* QoS ELP rejected */ | 540 | u32 elp_rejected; /* QoS ELP rejected */ |
540 | u32 elp_dropped; /* QoS ELP dropped */ | 541 | u32 elp_dropped; /* QoS ELP dropped */ |
541 | 542 | ||
542 | u32 qos_rscn_recvd; /* QoS RSCN received */ | 543 | u32 qos_rscn_recvd; /* QoS RSCN received */ |
543 | u32 rsvd; /* padding for 64 bit alignment */ | 544 | u32 rsvd; /* padding for 64 bit alignment */ |
544 | }; | 545 | }; |
545 | 546 | ||
546 | /* | 547 | /* |
@@ -548,9 +549,9 @@ struct bfa_qos_stats_s { | |||
548 | */ | 549 | */ |
549 | struct bfa_fcoe_stats_s { | 550 | struct bfa_fcoe_stats_s { |
550 | u64 secs_reset; /* Seconds since stats reset */ | 551 | u64 secs_reset; /* Seconds since stats reset */ |
551 | u64 cee_linkups; /* CEE link up */ | 552 | u64 cee_linkups; /* CEE link up */ |
552 | u64 cee_linkdns; /* CEE link down */ | 553 | u64 cee_linkdns; /* CEE link down */ |
553 | u64 fip_linkups; /* FIP link up */ | 554 | u64 fip_linkups; /* FIP link up */ |
554 | u64 fip_linkdns; /* FIP link down */ | 555 | u64 fip_linkdns; /* FIP link down */ |
555 | u64 fip_fails; /* FIP failures */ | 556 | u64 fip_fails; /* FIP failures */ |
556 | u64 mac_invalids; /* Invalid mac assignments */ | 557 | u64 mac_invalids; /* Invalid mac assignments */ |
@@ -560,38 +561,38 @@ struct bfa_fcoe_stats_s { | |||
560 | u64 vlan_timeouts; /* Vlan request timeouts */ | 561 | u64 vlan_timeouts; /* Vlan request timeouts */ |
561 | u64 vlan_invalids; /* Vlan invalids */ | 562 | u64 vlan_invalids; /* Vlan invalids */ |
562 | u64 disc_req; /* Discovery requests */ | 563 | u64 disc_req; /* Discovery requests */ |
563 | u64 disc_rsp; /* Discovery responses */ | 564 | u64 disc_rsp; /* Discovery responses */ |
564 | u64 disc_err; /* Discovery error frames */ | 565 | u64 disc_err; /* Discovery error frames */ |
565 | u64 disc_unsol; /* Discovery unsolicited */ | 566 | u64 disc_unsol; /* Discovery unsolicited */ |
566 | u64 disc_timeouts; /* Discovery timeouts */ | 567 | u64 disc_timeouts; /* Discovery timeouts */ |
567 | u64 disc_fcf_unavail; /* Discovery FCF not avail */ | 568 | u64 disc_fcf_unavail; /* Discovery FCF not avail */ |
568 | u64 linksvc_unsupp; /* FIP link service req unsupp. */ | 569 | u64 linksvc_unsupp; /* FIP link service req unsupp */ |
569 | u64 linksvc_err; /* FIP link service req errors */ | 570 | u64 linksvc_err; /* FIP link service req errors */ |
570 | u64 logo_req; /* FIP logos received */ | 571 | u64 logo_req; /* FIP logos received */ |
571 | u64 clrvlink_req; /* Clear virtual link requests */ | 572 | u64 clrvlink_req; /* Clear virtual link requests */ |
572 | u64 op_unsupp; /* FIP operation unsupp. */ | 573 | u64 op_unsupp; /* FIP operation unsupp. */ |
573 | u64 untagged; /* FIP untagged frames */ | 574 | u64 untagged; /* FIP untagged frames */ |
574 | u64 txf_ucast; /* Tx FCoE unicast frames */ | 575 | u64 txf_ucast; /* Tx FCoE unicast frames */ |
575 | u64 txf_ucast_vlan; /* Tx FCoE unicast vlan frames */ | 576 | u64 txf_ucast_vlan; /* Tx FCoE unicast vlan frames */ |
576 | u64 txf_ucast_octets; /* Tx FCoE unicast octets */ | 577 | u64 txf_ucast_octets; /* Tx FCoE unicast octets */ |
577 | u64 txf_mcast; /* Tx FCoE multicast frames */ | 578 | u64 txf_mcast; /* Tx FCoE multicast frames */ |
578 | u64 txf_mcast_vlan; /* Tx FCoE multicast vlan frames */ | 579 | u64 txf_mcast_vlan; /* Tx FCoE multicast vlan frames */ |
579 | u64 txf_mcast_octets; /* Tx FCoE multicast octets */ | 580 | u64 txf_mcast_octets; /* Tx FCoE multicast octets */ |
580 | u64 txf_bcast; /* Tx FCoE broadcast frames */ | 581 | u64 txf_bcast; /* Tx FCoE broadcast frames */ |
581 | u64 txf_bcast_vlan; /* Tx FCoE broadcast vlan frames */ | 582 | u64 txf_bcast_vlan; /* Tx FCoE broadcast vlan frames */ |
582 | u64 txf_bcast_octets; /* Tx FCoE broadcast octets */ | 583 | u64 txf_bcast_octets; /* Tx FCoE broadcast octets */ |
583 | u64 txf_timeout; /* Tx timeouts */ | 584 | u64 txf_timeout; /* Tx timeouts */ |
584 | u64 txf_parity_errors; /* Transmit parity err */ | 585 | u64 txf_parity_errors; /* Transmit parity err */ |
585 | u64 txf_fid_parity_errors; /* Transmit FID parity err */ | 586 | u64 txf_fid_parity_errors; /* Transmit FID parity err */ |
586 | u64 rxf_ucast_octets; /* Rx FCoE unicast octets */ | 587 | u64 rxf_ucast_octets; /* Rx FCoE unicast octets */ |
587 | u64 rxf_ucast; /* Rx FCoE unicast frames */ | 588 | u64 rxf_ucast; /* Rx FCoE unicast frames */ |
588 | u64 rxf_ucast_vlan; /* Rx FCoE unicast vlan frames */ | 589 | u64 rxf_ucast_vlan; /* Rx FCoE unicast vlan frames */ |
589 | u64 rxf_mcast_octets; /* Rx FCoE multicast octets */ | 590 | u64 rxf_mcast_octets; /* Rx FCoE multicast octets */ |
590 | u64 rxf_mcast; /* Rx FCoE multicast frames */ | 591 | u64 rxf_mcast; /* Rx FCoE multicast frames */ |
591 | u64 rxf_mcast_vlan; /* Rx FCoE multicast vlan frames */ | 592 | u64 rxf_mcast_vlan; /* Rx FCoE multicast vlan frames */ |
592 | u64 rxf_bcast_octets; /* Rx FCoE broadcast octets */ | 593 | u64 rxf_bcast_octets; /* Rx FCoE broadcast octets */ |
593 | u64 rxf_bcast; /* Rx FCoE broadcast frames */ | 594 | u64 rxf_bcast; /* Rx FCoE broadcast frames */ |
594 | u64 rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames */ | 595 | u64 rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames */ |
595 | }; | 596 | }; |
596 | 597 | ||
597 | /* | 598 | /* |
@@ -852,12 +853,12 @@ struct bfa_port_cfg_s { | |||
852 | u8 tx_bbcredit; /* transmit buffer credits */ | 853 | u8 tx_bbcredit; /* transmit buffer credits */ |
853 | u8 ratelimit; /* ratelimit enabled or not */ | 854 | u8 ratelimit; /* ratelimit enabled or not */ |
854 | u8 trl_def_speed; /* ratelimit default speed */ | 855 | u8 trl_def_speed; /* ratelimit default speed */ |
855 | u8 bb_scn; /* BB_SCN value from FLOGI Exchg */ | 856 | u8 bb_scn; /* BB_SCN value from FLOGI Exchg */ |
856 | u8 bb_scn_state; /* Config state of BB_SCN */ | 857 | u8 bb_scn_state; /* Config state of BB_SCN */ |
857 | u8 faa_state; /* FAA enabled/disabled */ | 858 | u8 faa_state; /* FAA enabled/disabled */ |
858 | u8 rsvd[1]; | 859 | u8 rsvd[1]; |
859 | u16 path_tov; /* device path timeout */ | 860 | u16 path_tov; /* device path timeout */ |
860 | u16 q_depth; /* SCSI Queue depth */ | 861 | u16 q_depth; /* SCSI Queue depth */ |
861 | }; | 862 | }; |
862 | #pragma pack() | 863 | #pragma pack() |
863 | 864 | ||
@@ -868,20 +869,21 @@ struct bfa_port_attr_s { | |||
868 | /* | 869 | /* |
869 | * Static fields | 870 | * Static fields |
870 | */ | 871 | */ |
871 | wwn_t nwwn; /* node wwn */ | 872 | wwn_t nwwn; /* node wwn */ |
872 | wwn_t pwwn; /* port wwn */ | 873 | wwn_t pwwn; /* port wwn */ |
873 | wwn_t factorynwwn; /* factory node wwn */ | 874 | wwn_t factorynwwn; /* factory node wwn */ |
874 | wwn_t factorypwwn; /* factory port wwn */ | 875 | wwn_t factorypwwn; /* factory port wwn */ |
875 | enum fc_cos cos_supported; /* supported class of services */ | 876 | enum fc_cos cos_supported; /* supported class of |
876 | u32 rsvd; | 877 | * services */ |
878 | u32 rsvd; | ||
877 | struct fc_symname_s port_symname; /* port symbolic name */ | 879 | struct fc_symname_s port_symname; /* port symbolic name */ |
878 | enum bfa_port_speed speed_supported; /* supported speeds */ | 880 | enum bfa_port_speed speed_supported; /* supported speeds */ |
879 | bfa_boolean_t pbind_enabled; | 881 | bfa_boolean_t pbind_enabled; |
880 | 882 | ||
881 | /* | 883 | /* |
882 | * Configured values | 884 | * Configured values |
883 | */ | 885 | */ |
884 | struct bfa_port_cfg_s pport_cfg; /* pport cfg */ | 886 | struct bfa_port_cfg_s pport_cfg; /* pport cfg */ |
885 | 887 | ||
886 | /* | 888 | /* |
887 | * Dynamic field - info from BFA | 889 | * Dynamic field - info from BFA |
@@ -890,19 +892,20 @@ struct bfa_port_attr_s { | |||
890 | enum bfa_port_speed speed; /* current speed */ | 892 | enum bfa_port_speed speed; /* current speed */ |
891 | enum bfa_port_topology topology; /* current topology */ | 893 | enum bfa_port_topology topology; /* current topology */ |
892 | bfa_boolean_t beacon; /* current beacon status */ | 894 | bfa_boolean_t beacon; /* current beacon status */ |
893 | bfa_boolean_t link_e2e_beacon; /* link beacon is on */ | 895 | bfa_boolean_t link_e2e_beacon; /* link beacon is on */ |
894 | bfa_boolean_t bbsc_op_status; /* fc credit recovery oper state */ | 896 | bfa_boolean_t bbsc_op_status; /* fc credit recovery oper |
897 | * state */ | ||
895 | 898 | ||
896 | /* | 899 | /* |
897 | * Dynamic field - info from FCS | 900 | * Dynamic field - info from FCS |
898 | */ | 901 | */ |
899 | u32 pid; /* port ID */ | 902 | u32 pid; /* port ID */ |
900 | enum bfa_port_type port_type; /* current topology */ | 903 | enum bfa_port_type port_type; /* current topology */ |
901 | u32 loopback; /* external loopback */ | 904 | u32 loopback; /* external loopback */ |
902 | u32 authfail; /* auth fail state */ | 905 | u32 authfail; /* auth fail state */ |
903 | 906 | ||
904 | /* FCoE specific */ | 907 | /* FCoE specific */ |
905 | u16 fcoe_vlan; | 908 | u16 fcoe_vlan; |
906 | u8 rsvd1[2]; | 909 | u8 rsvd1[2]; |
907 | }; | 910 | }; |
908 | 911 | ||
@@ -910,48 +913,48 @@ struct bfa_port_attr_s { | |||
910 | * Port FCP mappings. | 913 | * Port FCP mappings. |
911 | */ | 914 | */ |
912 | struct bfa_port_fcpmap_s { | 915 | struct bfa_port_fcpmap_s { |
913 | char osdevname[256]; | 916 | char osdevname[256]; |
914 | u32 bus; | 917 | u32 bus; |
915 | u32 target; | 918 | u32 target; |
916 | u32 oslun; | 919 | u32 oslun; |
917 | u32 fcid; | 920 | u32 fcid; |
918 | wwn_t nwwn; | 921 | wwn_t nwwn; |
919 | wwn_t pwwn; | 922 | wwn_t pwwn; |
920 | u64 fcplun; | 923 | u64 fcplun; |
921 | char luid[256]; | 924 | char luid[256]; |
922 | }; | 925 | }; |
923 | 926 | ||
924 | /* | 927 | /* |
925 | * Port RNID info. | 928 | * Port RNID info. |
926 | */ | 929 | */ |
927 | struct bfa_port_rnid_s { | 930 | struct bfa_port_rnid_s { |
928 | wwn_t wwn; | 931 | wwn_t wwn; |
929 | u32 unittype; | 932 | u32 unittype; |
930 | u32 portid; | 933 | u32 portid; |
931 | u32 attached_nodes_num; | 934 | u32 attached_nodes_num; |
932 | u16 ip_version; | 935 | u16 ip_version; |
933 | u16 udp_port; | 936 | u16 udp_port; |
934 | u8 ipaddr[16]; | 937 | u8 ipaddr[16]; |
935 | u16 rsvd; | 938 | u16 rsvd; |
936 | u16 topologydiscoveryflags; | 939 | u16 topologydiscoveryflags; |
937 | }; | 940 | }; |
938 | 941 | ||
939 | #pragma pack(1) | 942 | #pragma pack(1) |
940 | struct bfa_fcport_fcf_s { | 943 | struct bfa_fcport_fcf_s { |
941 | wwn_t name; /* FCF name */ | 944 | wwn_t name; /* FCF name */ |
942 | wwn_t fabric_name; /* Fabric Name */ | 945 | wwn_t fabric_name; /* Fabric Name */ |
943 | u8 fipenabled; /* FIP enabled or not */ | 946 | u8 fipenabled; /* FIP enabled or not */ |
944 | u8 fipfailed; /* FIP failed or not */ | 947 | u8 fipfailed; /* FIP failed or not */ |
945 | u8 resv[2]; | 948 | u8 resv[2]; |
946 | u8 pri; /* FCF priority */ | 949 | u8 pri; /* FCF priority */ |
947 | u8 version; /* FIP version used */ | 950 | u8 version; /* FIP version used */ |
948 | u8 available; /* Available for login */ | 951 | u8 available; /* Available for login */ |
949 | u8 fka_disabled; /* FKA is disabled */ | 952 | u8 fka_disabled; /* FKA is disabled */ |
950 | u8 maxsz_verified; /* FCoE max size verified */ | 953 | u8 maxsz_verified; /* FCoE max size verified */ |
951 | u8 fc_map[3]; /* FC map */ | 954 | u8 fc_map[3]; /* FC map */ |
952 | __be16 vlan; /* FCoE vlan tag/priority */ | 955 | __be16 vlan; /* FCoE vlan tag/priority */ |
953 | u32 fka_adv_per; /* FIP ka advert. period */ | 956 | u32 fka_adv_per; /* FIP ka advert. period */ |
954 | mac_t mac; /* FCF mac */ | 957 | mac_t mac; /* FCF mac */ |
955 | }; | 958 | }; |
956 | 959 | ||
957 | /* | 960 | /* |
@@ -981,7 +984,7 @@ struct bfa_port_link_s { | |||
981 | u8 linkstate_rsn; /* bfa_port_linkstate_rsn_t */ | 984 | u8 linkstate_rsn; /* bfa_port_linkstate_rsn_t */ |
982 | u8 topology; /* P2P/LOOP bfa_port_topology */ | 985 | u8 topology; /* P2P/LOOP bfa_port_topology */ |
983 | u8 speed; /* Link speed (1/2/4/8 G) */ | 986 | u8 speed; /* Link speed (1/2/4/8 G) */ |
984 | u32 linkstate_opt; /* Linkstate optional data (debug) */ | 987 | u32 linkstate_opt; /* Linkstate optional data (debug) */ |
985 | u8 trunked; /* Trunked or not (1 or 0) */ | 988 | u8 trunked; /* Trunked or not (1 or 0) */ |
986 | u8 resvd[3]; | 989 | u8 resvd[3]; |
987 | struct bfa_qos_attr_s qos_attr; /* QoS Attributes */ | 990 | struct bfa_qos_attr_s qos_attr; /* QoS Attributes */ |
@@ -1035,7 +1038,7 @@ struct bfa_rport_hal_stats_s { | |||
1035 | u32 sm_fwc_del; /* fw create: delete events */ | 1038 | u32 sm_fwc_del; /* fw create: delete events */ |
1036 | u32 sm_fwc_off; /* fw create: offline events */ | 1039 | u32 sm_fwc_off; /* fw create: offline events */ |
1037 | u32 sm_fwc_hwf; /* fw create: IOC down */ | 1040 | u32 sm_fwc_hwf; /* fw create: IOC down */ |
1038 | u32 sm_fwc_unexp; /* fw create: exception events*/ | 1041 | u32 sm_fwc_unexp; /* fw create: exception events*/ |
1039 | u32 sm_on_off; /* online: offline events */ | 1042 | u32 sm_on_off; /* online: offline events */ |
1040 | u32 sm_on_del; /* online: delete events */ | 1043 | u32 sm_on_del; /* online: delete events */ |
1041 | u32 sm_on_hwf; /* online: IOC down events */ | 1044 | u32 sm_on_hwf; /* online: IOC down events */ |
@@ -1043,25 +1046,25 @@ struct bfa_rport_hal_stats_s { | |||
1043 | u32 sm_fwd_rsp; /* fw delete: fw responses */ | 1046 | u32 sm_fwd_rsp; /* fw delete: fw responses */ |
1044 | u32 sm_fwd_del; /* fw delete: delete events */ | 1047 | u32 sm_fwd_del; /* fw delete: delete events */ |
1045 | u32 sm_fwd_hwf; /* fw delete: IOC down events */ | 1048 | u32 sm_fwd_hwf; /* fw delete: IOC down events */ |
1046 | u32 sm_fwd_unexp; /* fw delete: exception events*/ | 1049 | u32 sm_fwd_unexp; /* fw delete: exception events*/ |
1047 | u32 sm_off_del; /* offline: delete events */ | 1050 | u32 sm_off_del; /* offline: delete events */ |
1048 | u32 sm_off_on; /* offline: online events */ | 1051 | u32 sm_off_on; /* offline: online events */ |
1049 | u32 sm_off_hwf; /* offline: IOC down events */ | 1052 | u32 sm_off_hwf; /* offline: IOC down events */ |
1050 | u32 sm_off_unexp; /* offline: exception events */ | 1053 | u32 sm_off_unexp; /* offline: exception events */ |
1051 | u32 sm_del_fwrsp; /* delete: fw responses */ | 1054 | u32 sm_del_fwrsp; /* delete: fw responses */ |
1052 | u32 sm_del_hwf; /* delete: IOC down events */ | 1055 | u32 sm_del_hwf; /* delete: IOC down events */ |
1053 | u32 sm_del_unexp; /* delete: exception events */ | 1056 | u32 sm_del_unexp; /* delete: exception events */ |
1054 | u32 sm_delp_fwrsp; /* delete pend: fw responses */ | 1057 | u32 sm_delp_fwrsp; /* delete pend: fw responses */ |
1055 | u32 sm_delp_hwf; /* delete pend: IOC downs */ | 1058 | u32 sm_delp_hwf; /* delete pend: IOC downs */ |
1056 | u32 sm_delp_unexp; /* delete pend: exceptions */ | 1059 | u32 sm_delp_unexp; /* delete pend: exceptions */ |
1057 | u32 sm_offp_fwrsp; /* off-pending: fw responses */ | 1060 | u32 sm_offp_fwrsp; /* off-pending: fw responses */ |
1058 | u32 sm_offp_del; /* off-pending: deletes */ | 1061 | u32 sm_offp_del; /* off-pending: deletes */ |
1059 | u32 sm_offp_hwf; /* off-pending: IOC downs */ | 1062 | u32 sm_offp_hwf; /* off-pending: IOC downs */ |
1060 | u32 sm_offp_unexp; /* off-pending: exceptions */ | 1063 | u32 sm_offp_unexp; /* off-pending: exceptions */ |
1061 | u32 sm_iocd_off; /* IOC down: offline events */ | 1064 | u32 sm_iocd_off; /* IOC down: offline events */ |
1062 | u32 sm_iocd_del; /* IOC down: delete events */ | 1065 | u32 sm_iocd_del; /* IOC down: delete events */ |
1063 | u32 sm_iocd_on; /* IOC down: online events */ | 1066 | u32 sm_iocd_on; /* IOC down: online events */ |
1064 | u32 sm_iocd_unexp; /* IOC down: exceptions */ | 1067 | u32 sm_iocd_unexp; /* IOC down: exceptions */ |
1065 | u32 rsvd; | 1068 | u32 rsvd; |
1066 | }; | 1069 | }; |
1067 | #pragma pack(1) | 1070 | #pragma pack(1) |
@@ -1069,9 +1072,9 @@ struct bfa_rport_hal_stats_s { | |||
1069 | * Rport's QoS attributes | 1072 | * Rport's QoS attributes |
1070 | */ | 1073 | */ |
1071 | struct bfa_rport_qos_attr_s { | 1074 | struct bfa_rport_qos_attr_s { |
1072 | u8 qos_priority; /* rport's QoS priority */ | 1075 | u8 qos_priority; /* rport's QoS priority */ |
1073 | u8 rsvd[3]; | 1076 | u8 rsvd[3]; |
1074 | u32 qos_flow_id; /* QoS flow Id */ | 1077 | u32 qos_flow_id; /* QoS flow Id */ |
1075 | }; | 1078 | }; |
1076 | #pragma pack() | 1079 | #pragma pack() |
1077 | 1080 | ||
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c index 1ac5aecf25a6..eca7ab78085b 100644 --- a/drivers/scsi/bfa/bfa_ioc.c +++ b/drivers/scsi/bfa/bfa_ioc.c | |||
@@ -3727,11 +3727,11 @@ bfa_sfp_media_get(struct bfa_sfp_s *sfp) | |||
3727 | (xmtr_tech & SFP_XMTR_TECH_SA)) | 3727 | (xmtr_tech & SFP_XMTR_TECH_SA)) |
3728 | *media = BFA_SFP_MEDIA_SW; | 3728 | *media = BFA_SFP_MEDIA_SW; |
3729 | /* Check 10G Ethernet Compilance code */ | 3729 | /* Check 10G Ethernet Compilance code */ |
3730 | else if (e10g.b & 0x10) | 3730 | else if (e10g.r.e10g_sr) |
3731 | *media = BFA_SFP_MEDIA_SW; | 3731 | *media = BFA_SFP_MEDIA_SW; |
3732 | else if (e10g.b & 0x60) | 3732 | else if (e10g.r.e10g_lrm && e10g.r.e10g_lr) |
3733 | *media = BFA_SFP_MEDIA_LW; | 3733 | *media = BFA_SFP_MEDIA_LW; |
3734 | else if (e10g.r.e10g_unall & 0x80) | 3734 | else if (e10g.r.e10g_unall) |
3735 | *media = BFA_SFP_MEDIA_UNKNOWN; | 3735 | *media = BFA_SFP_MEDIA_UNKNOWN; |
3736 | else | 3736 | else |
3737 | bfa_trc(sfp, 0); | 3737 | bfa_trc(sfp, 0); |
diff --git a/drivers/scsi/bfa/bfad_debugfs.c b/drivers/scsi/bfa/bfad_debugfs.c index caca9b7c8309..439c012be763 100644 --- a/drivers/scsi/bfa/bfad_debugfs.c +++ b/drivers/scsi/bfa/bfad_debugfs.c | |||
@@ -557,8 +557,7 @@ bfad_debugfs_exit(struct bfad_port_s *port) | |||
557 | } | 557 | } |
558 | } | 558 | } |
559 | 559 | ||
560 | /* | 560 | /* Remove the pci_dev debugfs directory for the port */ |
561 | * Remove the pci_dev debugfs directory for the port */ | ||
562 | if (port->port_debugfs_root) { | 561 | if (port->port_debugfs_root) { |
563 | debugfs_remove(port->port_debugfs_root); | 562 | debugfs_remove(port->port_debugfs_root); |
564 | port->port_debugfs_root = NULL; | 563 | port->port_debugfs_root = NULL; |