aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-10 13:36:08 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-10 13:36:08 -0500
commitd04baa157d1b35cbd27c87b4a13111d9675b61f3 (patch)
treec46966fbea1c34bed2bd38629ce948d5a088281c /drivers/scsi/bfa
parent88266917b518e2ca954d85983470592aaaf82993 (diff)
parent5c41dc3a79150e93e5d050871a10b761be8281a1 (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.h4
-rw-r--r--drivers/scsi/bfa/bfa_defs_svc.h437
-rw-r--r--drivers/scsi/bfa/bfa_ioc.c6
-rw-r--r--drivers/scsi/bfa/bfad_debugfs.c3
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 {
902union sfp_xcvr_e10g_code_u { 902union 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 {
982union sfp_xcvr_fc3_code_u { 982union 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 @@
34struct bfa_iocfc_intr_attr_s { 34struct 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 */
44struct bfa_iocfc_fwcfg_s { 44struct 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
59struct bfa_iocfc_drvcfg_s { 59struct 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
158struct bfa_fw_tio_stats_s { 157struct 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
210struct bfa_fw_port_fpg_stats_s { 211struct 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
240struct bfa_fw_port_lksm_stats_s { 241struct 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
262struct bfa_fw_port_snsm_stats_s { 263struct 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
274struct bfa_fw_port_physm_stats_s { 275struct 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
283struct bfa_fw_fip_stats_s { 284struct 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
304struct bfa_fw_lps_stats_s { 305struct 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
309struct bfa_fw_fcoe_stats_s { 310struct 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 */
321struct bfa_fw_fcoe_port_stats_s { 322struct 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 */
337union bfa_fw_fc_port_stats_s { 338union 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 */
367struct bfa_fw_trunk_stats_s { 368struct 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
378struct bfa_fw_advsm_stats_s { 379struct 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 {
531struct bfa_qos_stats_s { 532struct 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 */
549struct bfa_fcoe_stats_s { 550struct 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 */
912struct bfa_port_fcpmap_s { 915struct 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 */
927struct bfa_port_rnid_s { 930struct 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)
940struct bfa_fcport_fcf_s { 943struct 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 */
1071struct bfa_rport_qos_attr_s { 1074struct 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;