aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaggie Zhang <xmzhang@brocade.com>2010-12-09 22:07:46 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:24:50 -0500
commitdf0f1933eb5454a5c481311837076056557467ad (patch)
tree6eb376420c7fd6db38b0b6b045a3b6eda28d9281
parent402c6eec1bd04581c04de758e4efddc020b78f91 (diff)
[SCSI] bfa: remove unused and empty functions
Removed unused and empty functions. Signed-off-by: Maggie Zhang <xmzhang@brocade.com> Signed-off-by: Jing Huang <xmzhang@brocade.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/bfa/bfa.h10
-rw-r--r--drivers/scsi/bfa/bfa_core.c79
-rw-r--r--drivers/scsi/bfa/bfa_fcpim.c82
-rw-r--r--drivers/scsi/bfa/bfa_fcpim.h4
-rw-r--r--drivers/scsi/bfa/bfa_fcs.c20
-rw-r--r--drivers/scsi/bfa/bfa_fcs.h20
-rw-r--r--drivers/scsi/bfa/bfa_fcs_lport.c49
-rw-r--r--drivers/scsi/bfa/bfa_fcs_rport.c116
-rw-r--r--drivers/scsi/bfa/bfa_ioc.c23
-rw-r--r--drivers/scsi/bfa/bfa_ioc.h1
-rw-r--r--drivers/scsi/bfa/bfa_plog.h3
-rw-r--r--drivers/scsi/bfa/bfa_port.c14
-rw-r--r--drivers/scsi/bfa/bfa_port.h1
-rw-r--r--drivers/scsi/bfa/bfa_svc.c260
-rw-r--r--drivers/scsi/bfa/bfa_svc.h32
15 files changed, 4 insertions, 710 deletions
diff --git a/drivers/scsi/bfa/bfa.h b/drivers/scsi/bfa/bfa.h
index ff2bd07161f7..7ed13ce6d6aa 100644
--- a/drivers/scsi/bfa/bfa.h
+++ b/drivers/scsi/bfa/bfa.h
@@ -33,7 +33,6 @@ typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);
33 * Interrupt message handlers 33 * Interrupt message handlers
34 */ 34 */
35void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m); 35void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m);
36void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
37 36
38/* 37/*
39 * Request and response queue related defines 38 * Request and response queue related defines
@@ -397,8 +396,6 @@ void bfa_cb_init(void *bfad, bfa_status_t status);
397void bfa_cb_updateq(void *bfad, bfa_status_t status); 396void bfa_cb_updateq(void *bfad, bfa_status_t status);
398 397
399bfa_boolean_t bfa_intx(struct bfa_s *bfa); 398bfa_boolean_t bfa_intx(struct bfa_s *bfa);
400void bfa_intx_disable(struct bfa_s *bfa);
401void bfa_intx_enable(struct bfa_s *bfa);
402void bfa_isr_enable(struct bfa_s *bfa); 399void bfa_isr_enable(struct bfa_s *bfa);
403void bfa_isr_disable(struct bfa_s *bfa); 400void bfa_isr_disable(struct bfa_s *bfa);
404 401
@@ -410,16 +407,12 @@ typedef void (*bfa_cb_ioc_t) (void *cbarg, enum bfa_status status);
410void bfa_iocfc_get_attr(struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr); 407void bfa_iocfc_get_attr(struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr);
411void bfa_get_attr(struct bfa_s *bfa, struct bfa_ioc_attr_s *ioc_attr); 408void bfa_get_attr(struct bfa_s *bfa, struct bfa_ioc_attr_s *ioc_attr);
412 409
413void bfa_adapter_get_attr(struct bfa_s *bfa,
414 struct bfa_adapter_attr_s *ad_attr);
415u64 bfa_adapter_get_id(struct bfa_s *bfa);
416 410
417bfa_status_t bfa_iocfc_israttr_set(struct bfa_s *bfa, 411bfa_status_t bfa_iocfc_israttr_set(struct bfa_s *bfa,
418 struct bfa_iocfc_intr_attr_s *attr); 412 struct bfa_iocfc_intr_attr_s *attr);
419 413
420void bfa_iocfc_enable(struct bfa_s *bfa); 414void bfa_iocfc_enable(struct bfa_s *bfa);
421void bfa_iocfc_disable(struct bfa_s *bfa); 415void bfa_iocfc_disable(struct bfa_s *bfa);
422void bfa_chip_reset(struct bfa_s *bfa);
423void bfa_timer_tick(struct bfa_s *bfa); 416void bfa_timer_tick(struct bfa_s *bfa);
424#define bfa_timer_start(_bfa, _timer, _timercb, _arg, _timeout) \ 417#define bfa_timer_start(_bfa, _timer, _timercb, _arg, _timeout) \
425 bfa_timer_begin(&(_bfa)->timer_mod, _timer, _timercb, _arg, _timeout) 418 bfa_timer_begin(&(_bfa)->timer_mod, _timer, _timercb, _arg, _timeout)
@@ -431,8 +424,5 @@ bfa_status_t bfa_debug_fwtrc(struct bfa_s *bfa, void *trcdata, int *trclen);
431bfa_status_t bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen); 424bfa_status_t bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen);
432bfa_status_t bfa_debug_fwcore(struct bfa_s *bfa, void *buf, 425bfa_status_t bfa_debug_fwcore(struct bfa_s *bfa, void *buf,
433 u32 *offset, int *buflen); 426 u32 *offset, int *buflen);
434void bfa_debug_fwsave_clear(struct bfa_s *bfa);
435bfa_status_t bfa_fw_stats_get(struct bfa_s *bfa, void *data);
436bfa_status_t bfa_fw_stats_clear(struct bfa_s *bfa);
437 427
438#endif /* __BFA_H__ */ 428#endif /* __BFA_H__ */
diff --git a/drivers/scsi/bfa/bfa_core.c b/drivers/scsi/bfa/bfa_core.c
index 2345f48dc57f..90e0f81ae425 100644
--- a/drivers/scsi/bfa/bfa_core.c
+++ b/drivers/scsi/bfa/bfa_core.c
@@ -104,9 +104,6 @@ bfa_msix_all(struct bfa_s *bfa, int vec)
104 bfa_intx(bfa); 104 bfa_intx(bfa);
105} 105}
106 106
107/*
108 * hal_intr_api
109 */
110bfa_boolean_t 107bfa_boolean_t
111bfa_intx(struct bfa_s *bfa) 108bfa_intx(struct bfa_s *bfa)
112{ 109{
@@ -151,18 +148,6 @@ bfa_intx(struct bfa_s *bfa)
151} 148}
152 149
153void 150void
154bfa_intx_enable(struct bfa_s *bfa)
155{
156 writel(bfa->iocfc.intr_mask, bfa->iocfc.bfa_regs.intr_mask);
157}
158
159void
160bfa_intx_disable(struct bfa_s *bfa)
161{
162 writel(-1L, bfa->iocfc.bfa_regs.intr_mask);
163}
164
165void
166bfa_isr_enable(struct bfa_s *bfa) 151bfa_isr_enable(struct bfa_s *bfa)
167{ 152{
168 u32 intr_unmask; 153 u32 intr_unmask;
@@ -317,18 +302,12 @@ bfa_msix_lpu_err(struct bfa_s *bfa, int vec)
317 } 302 }
318} 303}
319 304
320void
321bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func)
322{
323 bfa_isrs[mc] = isr_func;
324}
325
326/* 305/*
327 * BFA IOC FC related functions 306 * BFA IOC FC related functions
328 */ 307 */
329 308
330/* 309/*
331 * hal_ioc_pvt BFA IOC private functions 310 * BFA IOC private functions
332 */ 311 */
333 312
334static void 313static void
@@ -735,9 +714,6 @@ bfa_iocfc_reset_cbfn(void *bfa_arg)
735 bfa_isr_enable(bfa); 714 bfa_isr_enable(bfa);
736} 715}
737 716
738/*
739 * hal_ioc_public
740 */
741 717
742/* 718/*
743 * Query IOC memory requirement information. 719 * Query IOC memory requirement information.
@@ -857,18 +833,6 @@ bfa_iocfc_isr(void *bfaarg, struct bfi_mbmsg_s *m)
857} 833}
858 834
859void 835void
860bfa_adapter_get_attr(struct bfa_s *bfa, struct bfa_adapter_attr_s *ad_attr)
861{
862 bfa_ioc_get_adapter_attr(&bfa->ioc, ad_attr);
863}
864
865u64
866bfa_adapter_get_id(struct bfa_s *bfa)
867{
868 return bfa_ioc_get_adid(&bfa->ioc);
869}
870
871void
872bfa_iocfc_get_attr(struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr) 836bfa_iocfc_get_attr(struct bfa_s *bfa, struct bfa_iocfc_attr_s *attr)
873{ 837{
874 struct bfa_iocfc_s *iocfc = &bfa->iocfc; 838 struct bfa_iocfc_s *iocfc = &bfa->iocfc;
@@ -998,9 +962,6 @@ bfa_iocfc_get_pbc_vports(struct bfa_s *bfa, struct bfi_pbc_vport_s *pbc_vport)
998 return cfgrsp->pbc_cfg.nvports; 962 return cfgrsp->pbc_cfg.nvports;
999} 963}
1000 964
1001/*
1002 * hal_api
1003 */
1004 965
1005/* 966/*
1006 * Use this function query the memory requirement of the BFA library. 967 * Use this function query the memory requirement of the BFA library.
@@ -1338,15 +1299,6 @@ bfa_debug_fwsave(struct bfa_s *bfa, void *trcdata, int *trclen)
1338} 1299}
1339 1300
1340/* 1301/*
1341 * Clear the saved firmware trace information of an IOC.
1342 */
1343void
1344bfa_debug_fwsave_clear(struct bfa_s *bfa)
1345{
1346 bfa_ioc_debug_fwsave_clear(&bfa->ioc);
1347}
1348
1349/*
1350 * Fetch firmware trace data. 1302 * Fetch firmware trace data.
1351 * 1303 *
1352 * @param[in] bfa BFA instance 1304 * @param[in] bfa BFA instance
@@ -1378,32 +1330,3 @@ bfa_debug_fwcore(struct bfa_s *bfa, void *buf, u32 *offset, int *buflen)
1378{ 1330{
1379 return bfa_ioc_debug_fwcore(&bfa->ioc, buf, offset, buflen); 1331 return bfa_ioc_debug_fwcore(&bfa->ioc, buf, offset, buflen);
1380} 1332}
1381/*
1382 * Reset hw semaphore & usage cnt regs and initialize.
1383 */
1384void
1385bfa_chip_reset(struct bfa_s *bfa)
1386{
1387 bfa_ioc_ownership_reset(&bfa->ioc);
1388 bfa_ioc_pll_init(&bfa->ioc);
1389}
1390
1391/*
1392 * Fetch firmware statistics data.
1393 *
1394 * @param[in] bfa BFA instance
1395 * @param[out] data Firmware stats buffer
1396 *
1397 * @retval BFA_STATUS_OK Firmware trace is fetched.
1398 */
1399bfa_status_t
1400bfa_fw_stats_get(struct bfa_s *bfa, void *data)
1401{
1402 return bfa_ioc_fw_stats_get(&bfa->ioc, data);
1403}
1404
1405bfa_status_t
1406bfa_fw_stats_clear(struct bfa_s *bfa)
1407{
1408 return bfa_ioc_fw_stats_clear(&bfa->ioc);
1409}
diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c
index 135c4427801c..0e7f3807dba2 100644
--- a/drivers/scsi/bfa/bfa_fcpim.c
+++ b/drivers/scsi/bfa/bfa_fcpim.c
@@ -107,9 +107,6 @@ enum bfa_itnim_event {
107 if ((__fcpim)->profile_start) \ 107 if ((__fcpim)->profile_start) \
108 (__fcpim)->profile_start(__ioim); \ 108 (__fcpim)->profile_start(__ioim); \
109} while (0) 109} while (0)
110/*
111 * hal_ioim_sm
112 */
113 110
114/* 111/*
115 * IO state machine events 112 * IO state machine events
@@ -295,7 +292,7 @@ static void bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim,
295 enum bfa_tskim_event event); 292 enum bfa_tskim_event event);
296 293
297/* 294/*
298 * hal_fcpim_mod BFA FCP Initiator Mode module 295 * BFA FCP Initiator Mode module
299 */ 296 */
300 297
301/* 298/*
@@ -357,10 +354,6 @@ bfa_fcpim_attach(struct bfa_s *bfa, void *bfad, struct bfa_iocfc_cfg_s *cfg,
357static void 354static void
358bfa_fcpim_detach(struct bfa_s *bfa) 355bfa_fcpim_detach(struct bfa_s *bfa)
359{ 356{
360 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa);
361
362 bfa_ioim_detach(fcpim);
363 bfa_tskim_detach(fcpim);
364} 357}
365 358
366static void 359static void
@@ -1587,13 +1580,6 @@ bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
1587} 1580}
1588 1581
1589void 1582void
1590bfa_itnim_get_stats(struct bfa_itnim_s *itnim,
1591 struct bfa_itnim_iostats_s *stats)
1592{
1593 *stats = itnim->stats;
1594}
1595
1596void
1597bfa_itnim_clear_stats(struct bfa_itnim_s *itnim) 1583bfa_itnim_clear_stats(struct bfa_itnim_s *itnim)
1598{ 1584{
1599 int j; 1585 int j;
@@ -2213,11 +2199,6 @@ bfa_ioim_sm_resfree(struct bfa_ioim_s *ioim, enum bfa_ioim_event event)
2213} 2199}
2214 2200
2215 2201
2216
2217/*
2218 * hal_ioim_private
2219 */
2220
2221static void 2202static void
2222__bfa_cb_ioim_good_comp(void *cbarg, bfa_boolean_t complete) 2203__bfa_cb_ioim_good_comp(void *cbarg, bfa_boolean_t complete)
2223{ 2204{
@@ -2421,25 +2402,6 @@ bfa_ioim_send_ioreq(struct bfa_ioim_s *ioim)
2421 (bfa_cb_ioim_get_size(ioim->dio) & (sizeof(u32) - 1))) 2402 (bfa_cb_ioim_get_size(ioim->dio) & (sizeof(u32) - 1)))
2422 bfi_h2i_set(m->mh, BFI_MC_IOIM_IO, 0, bfa_lpuid(ioim->bfa)); 2403 bfi_h2i_set(m->mh, BFI_MC_IOIM_IO, 0, bfa_lpuid(ioim->bfa));
2423 2404
2424#ifdef IOIM_ADVANCED
2425 m->cmnd.crn = bfa_cb_ioim_get_crn(ioim->dio);
2426 m->cmnd.priority = bfa_cb_ioim_get_priority(ioim->dio);
2427 m->cmnd.taskattr = bfa_cb_ioim_get_taskattr(ioim->dio);
2428
2429 /*
2430 * Handle large CDB (>16 bytes).
2431 */
2432 m->cmnd.addl_cdb_len = (bfa_cb_ioim_get_cdblen(ioim->dio) -
2433 FCP_CMND_CDB_LEN) / sizeof(u32);
2434 if (m->cmnd.addl_cdb_len) {
2435 memcpy(&m->cmnd.cdb + 1, (scsi_cdb_t *)
2436 bfa_cb_ioim_get_cdb(ioim->dio) + 1,
2437 m->cmnd.addl_cdb_len * sizeof(u32));
2438 fcp_cmnd_fcpdl(&m->cmnd) =
2439 cpu_to_be32(bfa_cb_ioim_get_size(ioim->dio));
2440 }
2441#endif
2442
2443 /* 2405 /*
2444 * queue I/O message to firmware 2406 * queue I/O message to firmware
2445 */ 2407 */
@@ -2653,11 +2615,6 @@ bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim, bfa_boolean_t iotov)
2653} 2615}
2654 2616
2655 2617
2656
2657/*
2658 * hal_ioim_friend
2659 */
2660
2661/* 2618/*
2662 * Memory allocation and initialization. 2619 * Memory allocation and initialization.
2663 */ 2620 */
@@ -2722,14 +2679,6 @@ bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
2722 } 2679 }
2723} 2680}
2724 2681
2725/*
2726 * Driver detach time call.
2727 */
2728void
2729bfa_ioim_detach(struct bfa_fcpim_mod_s *fcpim)
2730{
2731}
2732
2733void 2682void
2734bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *m) 2683bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
2735{ 2684{
@@ -2903,11 +2852,6 @@ bfa_ioim_tov(struct bfa_ioim_s *ioim)
2903} 2852}
2904 2853
2905 2854
2906
2907/*
2908 * hal_ioim_api
2909 */
2910
2911/* 2855/*
2912 * Allocate IOIM resource for initiator mode I/O request. 2856 * Allocate IOIM resource for initiator mode I/O request.
2913 */ 2857 */
@@ -3234,11 +3178,6 @@ bfa_tskim_sm_hcb(struct bfa_tskim_s *tskim, enum bfa_tskim_event event)
3234} 3178}
3235 3179
3236 3180
3237
3238/*
3239 * hal_tskim_private
3240 */
3241
3242static void 3181static void
3243__bfa_cb_tskim_done(void *cbarg, bfa_boolean_t complete) 3182__bfa_cb_tskim_done(void *cbarg, bfa_boolean_t complete)
3244{ 3183{
@@ -3452,11 +3391,6 @@ bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim)
3452} 3391}
3453 3392
3454 3393
3455
3456/*
3457 * hal_tskim_friend
3458 */
3459
3460/* 3394/*
3461 * Notification on completions from related ioim. 3395 * Notification on completions from related ioim.
3462 */ 3396 */
@@ -3522,14 +3456,6 @@ bfa_tskim_attach(struct bfa_fcpim_mod_s *fcpim, struct bfa_meminfo_s *minfo)
3522} 3456}
3523 3457
3524void 3458void
3525bfa_tskim_detach(struct bfa_fcpim_mod_s *fcpim)
3526{
3527 /*
3528 * @todo
3529 */
3530}
3531
3532void
3533bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *m) 3459bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
3534{ 3460{
3535 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa); 3461 struct bfa_fcpim_mod_s *fcpim = BFA_FCPIM_MOD(bfa);
@@ -3556,12 +3482,6 @@ bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *m)
3556} 3482}
3557 3483
3558 3484
3559
3560/*
3561 * hal_tskim_api
3562 */
3563
3564
3565struct bfa_tskim_s * 3485struct bfa_tskim_s *
3566bfa_tskim_alloc(struct bfa_s *bfa, struct bfad_tskim_s *dtsk) 3486bfa_tskim_alloc(struct bfa_s *bfa, struct bfad_tskim_s *dtsk)
3567{ 3487{
diff --git a/drivers/scsi/bfa/bfa_fcpim.h b/drivers/scsi/bfa/bfa_fcpim.h
index db53717eeb4b..18bdc44432ac 100644
--- a/drivers/scsi/bfa/bfa_fcpim.h
+++ b/drivers/scsi/bfa/bfa_fcpim.h
@@ -220,7 +220,6 @@ bfa_ioim_get_iotag(struct bfa_ioim_s *ioim)
220 */ 220 */
221void bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim, 221void bfa_ioim_attach(struct bfa_fcpim_mod_s *fcpim,
222 struct bfa_meminfo_s *minfo); 222 struct bfa_meminfo_s *minfo);
223void bfa_ioim_detach(struct bfa_fcpim_mod_s *fcpim);
224void bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 223void bfa_ioim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
225void bfa_ioim_good_comp_isr(struct bfa_s *bfa, 224void bfa_ioim_good_comp_isr(struct bfa_s *bfa,
226 struct bfi_msg_s *msg); 225 struct bfi_msg_s *msg);
@@ -232,7 +231,6 @@ void bfa_ioim_tov(struct bfa_ioim_s *ioim);
232 231
233void bfa_tskim_attach(struct bfa_fcpim_mod_s *fcpim, 232void bfa_tskim_attach(struct bfa_fcpim_mod_s *fcpim,
234 struct bfa_meminfo_s *minfo); 233 struct bfa_meminfo_s *minfo);
235void bfa_tskim_detach(struct bfa_fcpim_mod_s *fcpim);
236void bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 234void bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
237void bfa_tskim_iodone(struct bfa_tskim_s *tskim); 235void bfa_tskim_iodone(struct bfa_tskim_s *tskim);
238void bfa_tskim_iocdisable(struct bfa_tskim_s *tskim); 236void bfa_tskim_iocdisable(struct bfa_tskim_s *tskim);
@@ -296,8 +294,6 @@ void bfa_itnim_delete(struct bfa_itnim_s *itnim);
296void bfa_itnim_online(struct bfa_itnim_s *itnim, 294void bfa_itnim_online(struct bfa_itnim_s *itnim,
297 bfa_boolean_t seq_rec); 295 bfa_boolean_t seq_rec);
298void bfa_itnim_offline(struct bfa_itnim_s *itnim); 296void bfa_itnim_offline(struct bfa_itnim_s *itnim);
299void bfa_itnim_get_stats(struct bfa_itnim_s *itnim,
300 struct bfa_itnim_iostats_s *stats);
301void bfa_itnim_clear_stats(struct bfa_itnim_s *itnim); 297void bfa_itnim_clear_stats(struct bfa_itnim_s *itnim);
302bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim, 298bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
303 struct bfa_itnim_ioprofile_s *ioprofile); 299 struct bfa_itnim_ioprofile_s *ioprofile);
diff --git a/drivers/scsi/bfa/bfa_fcs.c b/drivers/scsi/bfa/bfa_fcs.c
index 045d7e87b632..5b561bde2264 100644
--- a/drivers/scsi/bfa/bfa_fcs.c
+++ b/drivers/scsi/bfa/bfa_fcs.c
@@ -1038,14 +1038,6 @@ bfa_fcs_fabric_modstart(struct bfa_fcs_s *fcs)
1038 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_START); 1038 bfa_sm_send_event(fabric, BFA_FCS_FABRIC_SM_START);
1039} 1039}
1040 1040
1041/*
1042 * Suspend fabric activity as part of driver suspend.
1043 */
1044void
1045bfa_fcs_fabric_modsusp(struct bfa_fcs_s *fcs)
1046{
1047}
1048
1049bfa_boolean_t 1041bfa_boolean_t
1050bfa_fcs_fabric_is_loopback(struct bfa_fcs_fabric_s *fabric) 1042bfa_fcs_fabric_is_loopback(struct bfa_fcs_fabric_s *fabric)
1051{ 1043{
@@ -1147,18 +1139,6 @@ bfa_fcs_fabric_is_online(struct bfa_fcs_fabric_s *fabric)
1147} 1139}
1148 1140
1149/* 1141/*
1150 * brief
1151 *
1152 */
1153bfa_status_t
1154bfa_fcs_fabric_addvf(struct bfa_fcs_fabric_s *vf, struct bfa_fcs_s *fcs,
1155 struct bfa_lport_cfg_s *port_cfg, struct bfad_vf_s *vf_drv)
1156{
1157 bfa_sm_set_state(vf, bfa_fcs_fabric_sm_uninit);
1158 return BFA_STATUS_OK;
1159}
1160
1161/*
1162 * Lookup for a vport withing a fabric given its pwwn 1142 * Lookup for a vport withing a fabric given its pwwn
1163 */ 1143 */
1164struct bfa_fcs_vport_s * 1144struct bfa_fcs_vport_s *
diff --git a/drivers/scsi/bfa/bfa_fcs.h b/drivers/scsi/bfa/bfa_fcs.h
index 5a8b928f8db3..fcb54e5ef331 100644
--- a/drivers/scsi/bfa/bfa_fcs.h
+++ b/drivers/scsi/bfa/bfa_fcs.h
@@ -316,8 +316,6 @@ void bfa_fcs_lport_add_rport(struct bfa_fcs_lport_s *port,
316 struct bfa_fcs_rport_s *rport); 316 struct bfa_fcs_rport_s *rport);
317void bfa_fcs_lport_del_rport(struct bfa_fcs_lport_s *port, 317void bfa_fcs_lport_del_rport(struct bfa_fcs_lport_s *port,
318 struct bfa_fcs_rport_s *rport); 318 struct bfa_fcs_rport_s *rport);
319void bfa_fcs_lport_modinit(struct bfa_fcs_s *fcs);
320void bfa_fcs_lport_modexit(struct bfa_fcs_s *fcs);
321void bfa_fcs_lport_ns_init(struct bfa_fcs_lport_s *vport); 319void bfa_fcs_lport_ns_init(struct bfa_fcs_lport_s *vport);
322void bfa_fcs_lport_ns_offline(struct bfa_fcs_lport_s *vport); 320void bfa_fcs_lport_ns_offline(struct bfa_fcs_lport_s *vport);
323void bfa_fcs_lport_ns_online(struct bfa_fcs_lport_s *vport); 321void bfa_fcs_lport_ns_online(struct bfa_fcs_lport_s *vport);
@@ -359,9 +357,6 @@ bfa_status_t bfa_fcs_vport_start(struct bfa_fcs_vport_s *vport);
359bfa_status_t bfa_fcs_vport_stop(struct bfa_fcs_vport_s *vport); 357bfa_status_t bfa_fcs_vport_stop(struct bfa_fcs_vport_s *vport);
360void bfa_fcs_vport_get_attr(struct bfa_fcs_vport_s *vport, 358void bfa_fcs_vport_get_attr(struct bfa_fcs_vport_s *vport,
361 struct bfa_vport_attr_s *vport_attr); 359 struct bfa_vport_attr_s *vport_attr);
362void bfa_fcs_vport_get_stats(struct bfa_fcs_vport_s *vport,
363 struct bfa_vport_stats_s *vport_stats);
364void bfa_fcs_vport_clr_stats(struct bfa_fcs_vport_s *vport);
365struct bfa_fcs_vport_s *bfa_fcs_vport_lookup(struct bfa_fcs_s *fcs, 360struct bfa_fcs_vport_s *bfa_fcs_vport_lookup(struct bfa_fcs_s *fcs,
366 u16 vf_id, wwn_t vpwwn); 361 u16 vf_id, wwn_t vpwwn);
367void bfa_fcs_vport_cleanup(struct bfa_fcs_vport_s *vport); 362void bfa_fcs_vport_cleanup(struct bfa_fcs_vport_s *vport);
@@ -437,23 +432,12 @@ bfa_fcs_rport_get_halrport(struct bfa_fcs_rport_s *rport)
437/* 432/*
438 * bfa fcs rport API functions 433 * bfa fcs rport API functions
439 */ 434 */
440bfa_status_t bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn,
441 struct bfa_fcs_rport_s *rport,
442 struct bfad_rport_s *rport_drv);
443bfa_status_t bfa_fcs_rport_remove(struct bfa_fcs_rport_s *rport);
444void bfa_fcs_rport_get_attr(struct bfa_fcs_rport_s *rport,
445 struct bfa_rport_attr_s *attr);
446void bfa_fcs_rport_get_stats(struct bfa_fcs_rport_s *rport,
447 struct bfa_rport_stats_s *stats);
448void bfa_fcs_rport_clear_stats(struct bfa_fcs_rport_s *rport);
449struct bfa_fcs_rport_s *bfa_fcs_rport_lookup(struct bfa_fcs_lport_s *port, 435struct bfa_fcs_rport_s *bfa_fcs_rport_lookup(struct bfa_fcs_lport_s *port,
450 wwn_t rpwwn); 436 wwn_t rpwwn);
451struct bfa_fcs_rport_s *bfa_fcs_rport_lookup_by_nwwn( 437struct bfa_fcs_rport_s *bfa_fcs_rport_lookup_by_nwwn(
452 struct bfa_fcs_lport_s *port, wwn_t rnwwn); 438 struct bfa_fcs_lport_s *port, wwn_t rnwwn);
453void bfa_fcs_rport_set_del_timeout(u8 rport_tmo); 439void bfa_fcs_rport_set_del_timeout(u8 rport_tmo);
454 440
455void bfa_fcs_rport_set_speed(struct bfa_fcs_rport_s *rport,
456 enum bfa_port_speed speed);
457void bfa_fcs_rport_uf_recv(struct bfa_fcs_rport_s *rport, 441void bfa_fcs_rport_uf_recv(struct bfa_fcs_rport_s *rport,
458 struct fchs_s *fchs, u16 len); 442 struct fchs_s *fchs, u16 len);
459void bfa_fcs_rport_scn(struct bfa_fcs_rport_s *rport); 443void bfa_fcs_rport_scn(struct bfa_fcs_rport_s *rport);
@@ -689,7 +673,6 @@ u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric);
689void bfa_fcs_fabric_attach(struct bfa_fcs_s *fcs); 673void bfa_fcs_fabric_attach(struct bfa_fcs_s *fcs);
690void bfa_fcs_fabric_modinit(struct bfa_fcs_s *fcs); 674void bfa_fcs_fabric_modinit(struct bfa_fcs_s *fcs);
691void bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs); 675void bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs);
692void bfa_fcs_fabric_modsusp(struct bfa_fcs_s *fcs);
693void bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric); 676void bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric);
694void bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric); 677void bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric);
695void bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric, 678void bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
@@ -707,9 +690,6 @@ bfa_boolean_t bfa_fcs_fabric_is_auth_failed(struct bfa_fcs_fabric_s *fabric);
707enum bfa_port_type bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric); 690enum bfa_port_type bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric);
708void bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric); 691void bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric);
709void bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric); 692void bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric);
710bfa_status_t bfa_fcs_fabric_addvf(struct bfa_fcs_fabric_s *vf,
711 struct bfa_fcs_s *fcs, struct bfa_lport_cfg_s *port_cfg,
712 struct bfad_vf_s *vf_drv);
713void bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric, 693void bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric,
714 wwn_t fabric_name); 694 wwn_t fabric_name);
715u16 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric); 695u16 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric);
diff --git a/drivers/scsi/bfa/bfa_fcs_lport.c b/drivers/scsi/bfa/bfa_fcs_lport.c
index 93c3588c715f..bd0c093fca66 100644
--- a/drivers/scsi/bfa/bfa_fcs_lport.c
+++ b/drivers/scsi/bfa/bfa_fcs_lport.c
@@ -589,28 +589,6 @@ bfa_fcs_lport_deleted(struct bfa_fcs_lport_s *port)
589} 589}
590 590
591 591
592
593/*
594 * fcs_lport_api BFA FCS port API
595 */
596/*
597 * Module initialization
598 */
599void
600bfa_fcs_lport_modinit(struct bfa_fcs_s *fcs)
601{
602
603}
604
605/*
606 * Module cleanup
607 */
608void
609bfa_fcs_lport_modexit(struct bfa_fcs_s *fcs)
610{
611 bfa_fcs_modexit_comp(fcs);
612}
613
614/* 592/*
615 * Unsolicited frame receive handling. 593 * Unsolicited frame receive handling.
616 */ 594 */
@@ -5620,33 +5598,6 @@ bfa_fcs_vport_get_attr(struct bfa_fcs_vport_s *vport,
5620 attr->vport_state = bfa_sm_to_state(vport_sm_table, vport->sm); 5598 attr->vport_state = bfa_sm_to_state(vport_sm_table, vport->sm);
5621} 5599}
5622 5600
5623/*
5624 * Use this function to get vport's statistics.
5625 *
5626 * param[in] vport pointer to bfa_fcs_vport_t.
5627 * param[out] stats pointer to return vport statistics in
5628 *
5629 * return None
5630 */
5631void
5632bfa_fcs_vport_get_stats(struct bfa_fcs_vport_s *vport,
5633 struct bfa_vport_stats_s *stats)
5634{
5635 *stats = vport->vport_stats;
5636}
5637
5638/*
5639 * Use this function to clear vport's statistics.
5640 *
5641 * param[in] vport pointer to bfa_fcs_vport_t.
5642 *
5643 * return None
5644 */
5645void
5646bfa_fcs_vport_clr_stats(struct bfa_fcs_vport_s *vport)
5647{
5648 memset(&vport->vport_stats, 0, sizeof(struct bfa_vport_stats_s));
5649}
5650 5601
5651/* 5602/*
5652 * Lookup a virtual port. Excludes base port from lookup. 5603 * Lookup a virtual port. Excludes base port from lookup.
diff --git a/drivers/scsi/bfa/bfa_fcs_rport.c b/drivers/scsi/bfa/bfa_fcs_rport.c
index f5b5cbba3f43..7928bc8c1ed7 100644
--- a/drivers/scsi/bfa/bfa_fcs_rport.c
+++ b/drivers/scsi/bfa/bfa_fcs_rport.c
@@ -2613,106 +2613,6 @@ bfa_fcs_rport_prlo(struct bfa_fcs_rport_s *rport, __be16 ox_id)
2613 * fcs_rport_api FCS rport API. 2613 * fcs_rport_api FCS rport API.
2614 */ 2614 */
2615 2615
2616/*
2617 * Direct API to add a target by port wwn. This interface is used, for
2618 * example, by bios when target pwwn is known from boot lun configuration.
2619 */
2620bfa_status_t
2621bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn,
2622 struct bfa_fcs_rport_s *rport, struct bfad_rport_s *rport_drv)
2623{
2624 bfa_trc(port->fcs, *pwwn);
2625
2626 return BFA_STATUS_OK;
2627}
2628
2629/*
2630 * Direct API to remove a target and its associated resources. This
2631 * interface is used, for example, by driver to remove target
2632 * ports from the target list for a VM.
2633 */
2634bfa_status_t
2635bfa_fcs_rport_remove(struct bfa_fcs_rport_s *rport_in)
2636{
2637
2638 struct bfa_fcs_rport_s *rport;
2639
2640 bfa_trc(rport_in->fcs, rport_in->pwwn);
2641
2642 rport = bfa_fcs_lport_get_rport_by_pwwn(rport_in->port, rport_in->pwwn);
2643 if (rport == NULL) {
2644 /*
2645 * TBD Error handling
2646 */
2647 bfa_trc(rport_in->fcs, rport_in->pid);
2648 return BFA_STATUS_UNKNOWN_RWWN;
2649 }
2650
2651 /*
2652 * TBD if this remote port is online, send a logo
2653 */
2654 return BFA_STATUS_OK;
2655
2656}
2657
2658/*
2659 * Remote device status for display/debug.
2660 */
2661void
2662bfa_fcs_rport_get_attr(struct bfa_fcs_rport_s *rport,
2663 struct bfa_rport_attr_s *rport_attr)
2664{
2665 struct bfa_rport_qos_attr_s qos_attr;
2666 bfa_fcs_lport_t *port = rport->port;
2667 bfa_port_speed_t rport_speed = rport->rpf.rpsc_speed;
2668
2669 memset(rport_attr, 0, sizeof(struct bfa_rport_attr_s));
2670
2671 rport_attr->pid = rport->pid;
2672 rport_attr->pwwn = rport->pwwn;
2673 rport_attr->nwwn = rport->nwwn;
2674 rport_attr->cos_supported = rport->fc_cos;
2675 rport_attr->df_sz = rport->maxfrsize;
2676 rport_attr->state = bfa_fcs_rport_get_state(rport);
2677 rport_attr->fc_cos = rport->fc_cos;
2678 rport_attr->cisc = rport->cisc;
2679 rport_attr->scsi_function = rport->scsi_function;
2680 rport_attr->curr_speed = rport->rpf.rpsc_speed;
2681 rport_attr->assigned_speed = rport->rpf.assigned_speed;
2682
2683 bfa_rport_get_qos_attr(rport->bfa_rport, &qos_attr);
2684 rport_attr->qos_attr = qos_attr;
2685
2686 rport_attr->trl_enforced = BFA_FALSE;
2687 if (bfa_fcport_is_ratelim(port->fcs->bfa)) {
2688 if (rport_speed == BFA_PORT_SPEED_UNKNOWN) {
2689 /* Use default ratelim speed setting */
2690 rport_speed =
2691 bfa_fcport_get_ratelim_speed(rport->fcs->bfa);
2692 }
2693
2694 if (rport_speed < bfa_fcs_lport_get_rport_max_speed(port))
2695 rport_attr->trl_enforced = BFA_TRUE;
2696 }
2697}
2698
2699/*
2700 * Per remote device statistics.
2701 */
2702void
2703bfa_fcs_rport_get_stats(struct bfa_fcs_rport_s *rport,
2704 struct bfa_rport_stats_s *stats)
2705{
2706 *stats = rport->stats;
2707}
2708
2709void
2710bfa_fcs_rport_clear_stats(struct bfa_fcs_rport_s *rport)
2711{
2712 memset((char *)&rport->stats, 0,
2713 sizeof(struct bfa_rport_stats_s));
2714}
2715
2716struct bfa_fcs_rport_s * 2616struct bfa_fcs_rport_s *
2717bfa_fcs_rport_lookup(struct bfa_fcs_lport_s *port, wwn_t rpwwn) 2617bfa_fcs_rport_lookup(struct bfa_fcs_lport_s *port, wwn_t rpwwn)
2718{ 2618{
@@ -2744,22 +2644,6 @@ bfa_fcs_rport_lookup_by_nwwn(struct bfa_fcs_lport_s *port, wwn_t rnwwn)
2744} 2644}
2745 2645
2746/* 2646/*
2747 * This API is to set the Rport's speed. Should be used when RPSC is not
2748 * supported by the rport.
2749 */
2750void
2751bfa_fcs_rport_set_speed(struct bfa_fcs_rport_s *rport, bfa_port_speed_t speed)
2752{
2753 rport->rpf.assigned_speed = speed;
2754
2755 /* Set this speed in f/w only if the RPSC speed is not available */
2756 if (rport->rpf.rpsc_speed == BFA_PORT_SPEED_UNKNOWN)
2757 bfa_rport_speed(rport->bfa_rport, speed);
2758}
2759
2760
2761
2762/*
2763 * Remote port features (RPF) implementation. 2647 * Remote port features (RPF) implementation.
2764 */ 2648 */
2765 2649
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c
index 9e82eea9b2b0..3f41d290142d 100644
--- a/drivers/scsi/bfa/bfa_ioc.c
+++ b/drivers/scsi/bfa/bfa_ioc.c
@@ -101,9 +101,6 @@ static void bfa_ioc_pf_disabled(struct bfa_ioc_s *ioc);
101static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc); 101static void bfa_ioc_pf_failed(struct bfa_ioc_s *ioc);
102static void bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc); 102static void bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc);
103 103
104/*
105 * hal_ioc_sm
106 */
107 104
108/* 105/*
109 * IOC state machine definitions/declarations 106 * IOC state machine definitions/declarations
@@ -1101,7 +1098,7 @@ bfa_iocpf_sm_fail(struct bfa_iocpf_s *iocpf, enum iocpf_event event)
1101 1098
1102 1099
1103/* 1100/*
1104 * hal_ioc_pvt BFA IOC private functions 1101 * BFA IOC private functions
1105 */ 1102 */
1106 1103
1107static void 1104static void
@@ -1819,11 +1816,6 @@ bfa_ioc_pf_fwmismatch(struct bfa_ioc_s *ioc)
1819} 1816}
1820 1817
1821 1818
1822
1823/*
1824 * hal_ioc_public
1825 */
1826
1827bfa_status_t 1819bfa_status_t
1828bfa_ioc_pll_init(struct bfa_ioc_s *ioc) 1820bfa_ioc_pll_init(struct bfa_ioc_s *ioc)
1829{ 1821{
@@ -2456,9 +2448,6 @@ bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr)
2456 bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev); 2448 bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev);
2457} 2449}
2458 2450
2459/*
2460 * hal_wwn_public
2461 */
2462wwn_t 2451wwn_t
2463bfa_ioc_get_pwwn(struct bfa_ioc_s *ioc) 2452bfa_ioc_get_pwwn(struct bfa_ioc_s *ioc)
2464{ 2453{
@@ -2542,14 +2531,6 @@ bfa_ioc_debug_fwsave(struct bfa_ioc_s *ioc, void *trcdata, int *trclen)
2542 return BFA_STATUS_OK; 2531 return BFA_STATUS_OK;
2543} 2532}
2544 2533
2545/*
2546 * Clear saved firmware trace
2547 */
2548void
2549bfa_ioc_debug_fwsave_clear(struct bfa_ioc_s *ioc)
2550{
2551 ioc->dbg_fwsave_once = BFA_TRUE;
2552}
2553 2534
2554/* 2535/*
2555 * Retrieve saved firmware trace from a prior IOC failure. 2536 * Retrieve saved firmware trace from a prior IOC failure.
@@ -2735,7 +2716,7 @@ bfa_ioc_check_attr_wwns(struct bfa_ioc_s *ioc)
2735} 2716}
2736 2717
2737/* 2718/*
2738 * hal_iocpf_pvt BFA IOC PF private functions 2719 * BFA IOC PF private functions
2739 */ 2720 */
2740 2721
2741static void 2722static void
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h
index f8ac05081aa3..ff012f7f0757 100644
--- a/drivers/scsi/bfa/bfa_ioc.h
+++ b/drivers/scsi/bfa/bfa_ioc.h
@@ -357,7 +357,6 @@ int bfa_ioc_debug_trcsz(bfa_boolean_t auto_recover);
357void bfa_ioc_debug_memclaim(struct bfa_ioc_s *ioc, void *dbg_fwsave); 357void bfa_ioc_debug_memclaim(struct bfa_ioc_s *ioc, void *dbg_fwsave);
358bfa_status_t bfa_ioc_debug_fwsave(struct bfa_ioc_s *ioc, void *trcdata, 358bfa_status_t bfa_ioc_debug_fwsave(struct bfa_ioc_s *ioc, void *trcdata,
359 int *trclen); 359 int *trclen);
360void bfa_ioc_debug_fwsave_clear(struct bfa_ioc_s *ioc);
361bfa_status_t bfa_ioc_debug_fwtrc(struct bfa_ioc_s *ioc, void *trcdata, 360bfa_status_t bfa_ioc_debug_fwtrc(struct bfa_ioc_s *ioc, void *trcdata,
362 int *trclen); 361 int *trclen);
363bfa_status_t bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf, 362bfa_status_t bfa_ioc_debug_fwcore(struct bfa_ioc_s *ioc, void *buf,
diff --git a/drivers/scsi/bfa/bfa_plog.h b/drivers/scsi/bfa/bfa_plog.h
index 501f0ed35cf0..bdcd8ecd4f4a 100644
--- a/drivers/scsi/bfa/bfa_plog.h
+++ b/drivers/scsi/bfa/bfa_plog.h
@@ -151,9 +151,6 @@ void bfa_plog_fchdr(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
151void bfa_plog_fchdr_and_pl(struct bfa_plog_s *plog, enum bfa_plog_mid mid, 151void bfa_plog_fchdr_and_pl(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
152 enum bfa_plog_eid event, u16 misc, 152 enum bfa_plog_eid event, u16 misc,
153 struct fchs_s *fchdr, u32 pld_w0); 153 struct fchs_s *fchdr, u32 pld_w0);
154void bfa_plog_clear(struct bfa_plog_s *plog);
155void bfa_plog_enable(struct bfa_plog_s *plog);
156void bfa_plog_disable(struct bfa_plog_s *plog);
157bfa_boolean_t bfa_plog_get_setting(struct bfa_plog_s *plog); 154bfa_boolean_t bfa_plog_get_setting(struct bfa_plog_s *plog);
158 155
159#endif /* __BFA_PORTLOG_H__ */ 156#endif /* __BFA_PORTLOG_H__ */
diff --git a/drivers/scsi/bfa/bfa_port.c b/drivers/scsi/bfa/bfa_port.c
index 35277cb9a9e5..fa57b128b3d8 100644
--- a/drivers/scsi/bfa/bfa_port.c
+++ b/drivers/scsi/bfa/bfa_port.c
@@ -457,17 +457,3 @@ bfa_port_attach(struct bfa_port_s *port, struct bfa_ioc_s *ioc,
457 457
458 bfa_trc(port, 0); 458 bfa_trc(port, 0);
459} 459}
460
461/*
462 * bfa_port_detach()
463 *
464 *
465 * @param[in] port - Pointer to the Port module data structure
466 *
467 * @return void
468 */
469void
470bfa_port_detach(struct bfa_port_s *port)
471{
472 bfa_trc(port, 0);
473}
diff --git a/drivers/scsi/bfa/bfa_port.h b/drivers/scsi/bfa/bfa_port.h
index dbce9dfd056b..c4ee9db6b470 100644
--- a/drivers/scsi/bfa/bfa_port.h
+++ b/drivers/scsi/bfa/bfa_port.h
@@ -48,7 +48,6 @@ struct bfa_port_s {
48 48
49void bfa_port_attach(struct bfa_port_s *port, struct bfa_ioc_s *ioc, 49void bfa_port_attach(struct bfa_port_s *port, struct bfa_ioc_s *ioc,
50 void *dev, struct bfa_trc_mod_s *trcmod); 50 void *dev, struct bfa_trc_mod_s *trcmod);
51void bfa_port_detach(struct bfa_port_s *port);
52void bfa_port_hbfail(void *arg); 51void bfa_port_hbfail(void *arg);
53 52
54bfa_status_t bfa_port_get_stats(struct bfa_port_s *port, 53bfa_status_t bfa_port_get_stats(struct bfa_port_s *port,
diff --git a/drivers/scsi/bfa/bfa_svc.c b/drivers/scsi/bfa/bfa_svc.c
index 04b3349ad3a1..3a2bee4d42dd 100644
--- a/drivers/scsi/bfa/bfa_svc.c
+++ b/drivers/scsi/bfa/bfa_svc.c
@@ -437,23 +437,6 @@ bfa_plog_fchdr_and_pl(struct bfa_plog_s *plog, enum bfa_plog_mid mid,
437 } 437 }
438} 438}
439 439
440void
441bfa_plog_clear(struct bfa_plog_s *plog)
442{
443 plog->head = plog->tail = 0;
444}
445
446void
447bfa_plog_enable(struct bfa_plog_s *plog)
448{
449 plog->plog_enabled = 1;
450}
451
452void
453bfa_plog_disable(struct bfa_plog_s *plog)
454{
455 plog->plog_enabled = 0;
456}
457 440
458bfa_boolean_t 441bfa_boolean_t
459bfa_plog_get_setting(struct bfa_plog_s *plog) 442bfa_plog_get_setting(struct bfa_plog_s *plog)
@@ -1853,14 +1836,6 @@ bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz, wwn_t pwwn,
1853 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN); 1836 bfa_sm_send_event(lps, BFA_LPS_SM_LOGIN);
1854} 1837}
1855 1838
1856/*
1857 * Initiate a lport logout (flogi).
1858 */
1859void
1860bfa_lps_flogo(struct bfa_lps_s *lps)
1861{
1862 bfa_sm_send_event(lps, BFA_LPS_SM_LOGOUT);
1863}
1864 1839
1865/* 1840/*
1866 * Initiate a lport FDSIC logout. 1841 * Initiate a lport FDSIC logout.
@@ -3818,89 +3793,6 @@ bfa_fcport_clear_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn, void *cbarg)
3818 return BFA_STATUS_OK; 3793 return BFA_STATUS_OK;
3819} 3794}
3820 3795
3821/*
3822 * Fetch FCQoS port statistics
3823 */
3824bfa_status_t
3825bfa_fcport_get_qos_stats(struct bfa_s *bfa, union bfa_fcport_stats_u *stats,
3826 bfa_cb_port_t cbfn, void *cbarg)
3827{
3828 /* Meaningful only for FC mode */
3829 bfa_assert(bfa_ioc_get_fcmode(&bfa->ioc));
3830
3831 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg);
3832}
3833
3834/*
3835 * Reset FCoE port statistics
3836 */
3837bfa_status_t
3838bfa_fcport_clear_qos_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn, void *cbarg)
3839{
3840 /* Meaningful only for FC mode */
3841 bfa_assert(bfa_ioc_get_fcmode(&bfa->ioc));
3842
3843 return bfa_fcport_clear_stats(bfa, cbfn, cbarg);
3844}
3845
3846/*
3847 * Fetch FCQoS port statistics
3848 */
3849bfa_status_t
3850bfa_fcport_get_fcoe_stats(struct bfa_s *bfa, union bfa_fcport_stats_u *stats,
3851 bfa_cb_port_t cbfn, void *cbarg)
3852{
3853 /* Meaningful only for FCoE mode */
3854 bfa_assert(!bfa_ioc_get_fcmode(&bfa->ioc));
3855
3856 return bfa_fcport_get_stats(bfa, stats, cbfn, cbarg);
3857}
3858
3859/*
3860 * Reset FCoE port statistics
3861 */
3862bfa_status_t
3863bfa_fcport_clear_fcoe_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn, void *cbarg)
3864{
3865 /* Meaningful only for FCoE mode */
3866 bfa_assert(!bfa_ioc_get_fcmode(&bfa->ioc));
3867
3868 return bfa_fcport_clear_stats(bfa, cbfn, cbarg);
3869}
3870
3871void
3872bfa_fcport_qos_get_attr(struct bfa_s *bfa, struct bfa_qos_attr_s *qos_attr)
3873{
3874 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3875
3876 qos_attr->state = fcport->qos_attr.state;
3877 qos_attr->total_bb_cr = be32_to_cpu(fcport->qos_attr.total_bb_cr);
3878}
3879
3880void
3881bfa_fcport_qos_get_vc_attr(struct bfa_s *bfa,
3882 struct bfa_qos_vc_attr_s *qos_vc_attr)
3883{
3884 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3885 struct bfa_qos_vc_attr_s *bfa_vc_attr = &fcport->qos_vc_attr;
3886 u32 i = 0;
3887
3888 qos_vc_attr->total_vc_count = be16_to_cpu(bfa_vc_attr->total_vc_count);
3889 qos_vc_attr->shared_credit = be16_to_cpu(bfa_vc_attr->shared_credit);
3890 qos_vc_attr->elp_opmode_flags =
3891 be32_to_cpu(bfa_vc_attr->elp_opmode_flags);
3892
3893 /* Individual VC info */
3894 while (i < qos_vc_attr->total_vc_count) {
3895 qos_vc_attr->vc_info[i].vc_credit =
3896 bfa_vc_attr->vc_info[i].vc_credit;
3897 qos_vc_attr->vc_info[i].borrow_credit =
3898 bfa_vc_attr->vc_info[i].borrow_credit;
3899 qos_vc_attr->vc_info[i].priority =
3900 bfa_vc_attr->vc_info[i].priority;
3901 ++i;
3902 }
3903}
3904 3796
3905/* 3797/*
3906 * Fetch port attributes. 3798 * Fetch port attributes.
@@ -3924,59 +3816,6 @@ bfa_fcport_is_ratelim(struct bfa_s *bfa)
3924 3816
3925} 3817}
3926 3818
3927void
3928bfa_fcport_cfg_qos(struct bfa_s *bfa, bfa_boolean_t on_off)
3929{
3930 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3931 enum bfa_ioc_type_e ioc_type = bfa_get_type(bfa);
3932
3933 bfa_trc(bfa, on_off);
3934 bfa_trc(bfa, fcport->cfg.qos_enabled);
3935
3936 bfa_trc(bfa, ioc_type);
3937
3938 if (ioc_type == BFA_IOC_TYPE_FC) {
3939 fcport->cfg.qos_enabled = on_off;
3940 /*
3941 * Notify fcpim of the change in QoS state
3942 */
3943 bfa_fcpim_update_ioredirect(bfa);
3944 }
3945}
3946
3947void
3948bfa_fcport_cfg_ratelim(struct bfa_s *bfa, bfa_boolean_t on_off)
3949{
3950 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3951
3952 bfa_trc(bfa, on_off);
3953 bfa_trc(bfa, fcport->cfg.ratelimit);
3954
3955 fcport->cfg.ratelimit = on_off;
3956 if (fcport->cfg.trl_def_speed == BFA_PORT_SPEED_UNKNOWN)
3957 fcport->cfg.trl_def_speed = BFA_PORT_SPEED_1GBPS;
3958}
3959
3960/*
3961 * Configure default minimum ratelim speed
3962 */
3963bfa_status_t
3964bfa_fcport_cfg_ratelim_speed(struct bfa_s *bfa, enum bfa_port_speed speed)
3965{
3966 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3967
3968 bfa_trc(bfa, speed);
3969
3970 /* Auto and speeds greater than the supported speed, are invalid */
3971 if ((speed == BFA_PORT_SPEED_AUTO) || (speed > fcport->speed_sup)) {
3972 bfa_trc(bfa, fcport->speed_sup);
3973 return BFA_STATUS_UNSUPP_SPEED;
3974 }
3975
3976 fcport->cfg.trl_def_speed = speed;
3977
3978 return BFA_STATUS_OK;
3979}
3980 3819
3981/* 3820/*
3982 * Get default minimum ratelim speed 3821 * Get default minimum ratelim speed
@@ -3990,32 +3829,6 @@ bfa_fcport_get_ratelim_speed(struct bfa_s *bfa)
3990 return fcport->cfg.trl_def_speed; 3829 return fcport->cfg.trl_def_speed;
3991 3830
3992} 3831}
3993void
3994bfa_fcport_busy(struct bfa_s *bfa, bfa_boolean_t status)
3995{
3996 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
3997
3998 bfa_trc(bfa, status);
3999 bfa_trc(bfa, fcport->diag_busy);
4000
4001 fcport->diag_busy = status;
4002}
4003
4004void
4005bfa_fcport_beacon(void *dev, bfa_boolean_t beacon,
4006 bfa_boolean_t link_e2e_beacon)
4007{
4008 struct bfa_s *bfa = dev;
4009 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
4010
4011 bfa_trc(bfa, beacon);
4012 bfa_trc(bfa, link_e2e_beacon);
4013 bfa_trc(bfa, fcport->beacon);
4014 bfa_trc(bfa, fcport->link_e2e_beacon);
4015
4016 fcport->beacon = beacon;
4017 fcport->link_e2e_beacon = link_e2e_beacon;
4018}
4019 3832
4020bfa_boolean_t 3833bfa_boolean_t
4021bfa_fcport_is_linkup(struct bfa_s *bfa) 3834bfa_fcport_is_linkup(struct bfa_s *bfa)
@@ -4036,63 +3849,6 @@ bfa_fcport_is_qos_enabled(struct bfa_s *bfa)
4036 return fcport->cfg.qos_enabled; 3849 return fcport->cfg.qos_enabled;
4037} 3850}
4038 3851
4039bfa_status_t
4040bfa_trunk_get_attr(struct bfa_s *bfa, struct bfa_trunk_attr_s *attr)
4041
4042{
4043 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
4044 struct bfa_fcport_trunk_s *trunk = &fcport->trunk;
4045
4046 bfa_trc(bfa, fcport->cfg.trunked);
4047 bfa_trc(bfa, trunk->attr.state);
4048 *attr = trunk->attr;
4049 attr->port_id = bfa_lps_get_base_pid(bfa);
4050
4051 return BFA_STATUS_OK;
4052}
4053
4054void
4055bfa_trunk_enable_cfg(struct bfa_s *bfa)
4056{
4057 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
4058 struct bfa_fcport_trunk_s *trunk = &fcport->trunk;
4059
4060 bfa_trc(bfa, 1);
4061 trunk->attr.state = BFA_TRUNK_OFFLINE;
4062 fcport->cfg.trunked = BFA_TRUE;
4063}
4064
4065bfa_status_t
4066bfa_trunk_enable(struct bfa_s *bfa)
4067{
4068 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
4069 struct bfa_fcport_trunk_s *trunk = &fcport->trunk;
4070
4071 bfa_trc(bfa, 1);
4072
4073 trunk->attr.state = BFA_TRUNK_OFFLINE;
4074 bfa_fcport_disable(bfa);
4075 fcport->cfg.trunked = BFA_TRUE;
4076 bfa_fcport_enable(bfa);
4077
4078 return BFA_STATUS_OK;
4079}
4080
4081bfa_status_t
4082bfa_trunk_disable(struct bfa_s *bfa)
4083{
4084 struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa);
4085 struct bfa_fcport_trunk_s *trunk = &fcport->trunk;
4086
4087 bfa_trc(bfa, 0);
4088 trunk->attr.state = BFA_TRUNK_DISABLED;
4089 bfa_fcport_disable(bfa);
4090 fcport->cfg.trunked = BFA_FALSE;
4091 bfa_fcport_enable(bfa);
4092 return BFA_STATUS_OK;
4093}
4094
4095
4096/* 3852/*
4097 * Rport State machine functions 3853 * Rport State machine functions
4098 */ 3854 */
@@ -4877,22 +4633,6 @@ bfa_rport_speed(struct bfa_rport_s *rport, enum bfa_port_speed speed)
4877} 4633}
4878 4634
4879void 4635void
4880bfa_rport_get_stats(struct bfa_rport_s *rport,
4881 struct bfa_rport_hal_stats_s *stats)
4882{
4883 *stats = rport->stats;
4884}
4885
4886void
4887bfa_rport_get_qos_attr(struct bfa_rport_s *rport,
4888 struct bfa_rport_qos_attr_s *qos_attr)
4889{
4890 qos_attr->qos_priority = rport->qos_attr.qos_priority;
4891 qos_attr->qos_flow_id = be32_to_cpu(rport->qos_attr.qos_flow_id);
4892
4893}
4894
4895void
4896bfa_rport_clear_stats(struct bfa_rport_s *rport) 4636bfa_rport_clear_stats(struct bfa_rport_s *rport)
4897{ 4637{
4898 memset(&rport->stats, 0, sizeof(rport->stats)); 4638 memset(&rport->stats, 0, sizeof(rport->stats));
diff --git a/drivers/scsi/bfa/bfa_svc.h b/drivers/scsi/bfa/bfa_svc.h
index e2349d5cdb93..0e23c1bfcba0 100644
--- a/drivers/scsi/bfa/bfa_svc.h
+++ b/drivers/scsi/bfa/bfa_svc.h
@@ -500,30 +500,9 @@ void bfa_fcport_event_register(struct bfa_s *bfa,
500 void (*event_cbfn) (void *cbarg, 500 void (*event_cbfn) (void *cbarg,
501 enum bfa_port_linkstate event), void *event_cbarg); 501 enum bfa_port_linkstate event), void *event_cbarg);
502bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa); 502bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa);
503void bfa_fcport_cfg_qos(struct bfa_s *bfa, bfa_boolean_t on_off);
504void bfa_fcport_cfg_ratelim(struct bfa_s *bfa, bfa_boolean_t on_off);
505bfa_status_t bfa_fcport_cfg_ratelim_speed(struct bfa_s *bfa,
506 enum bfa_port_speed speed);
507enum bfa_port_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa); 503enum bfa_port_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa);
508 504
509void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit); 505void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit);
510void bfa_fcport_busy(struct bfa_s *bfa, bfa_boolean_t status);
511void bfa_fcport_beacon(void *dev, bfa_boolean_t beacon,
512 bfa_boolean_t link_e2e_beacon);
513void bfa_fcport_qos_get_attr(struct bfa_s *bfa,
514 struct bfa_qos_attr_s *qos_attr);
515void bfa_fcport_qos_get_vc_attr(struct bfa_s *bfa,
516 struct bfa_qos_vc_attr_s *qos_vc_attr);
517bfa_status_t bfa_fcport_get_qos_stats(struct bfa_s *bfa,
518 union bfa_fcport_stats_u *stats,
519 bfa_cb_port_t cbfn, void *cbarg);
520bfa_status_t bfa_fcport_clear_qos_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn,
521 void *cbarg);
522bfa_status_t bfa_fcport_get_fcoe_stats(struct bfa_s *bfa,
523 union bfa_fcport_stats_u *stats,
524 bfa_cb_port_t cbfn, void *cbarg);
525bfa_status_t bfa_fcport_clear_fcoe_stats(struct bfa_s *bfa, bfa_cb_port_t cbfn,
526 void *cbarg);
527bfa_boolean_t bfa_fcport_is_ratelim(struct bfa_s *bfa); 506bfa_boolean_t bfa_fcport_is_ratelim(struct bfa_s *bfa);
528bfa_boolean_t bfa_fcport_is_linkup(struct bfa_s *bfa); 507bfa_boolean_t bfa_fcport_is_linkup(struct bfa_s *bfa);
529bfa_status_t bfa_fcport_get_stats(struct bfa_s *bfa, 508bfa_status_t bfa_fcport_get_stats(struct bfa_s *bfa,
@@ -542,8 +521,6 @@ void bfa_rport_online(struct bfa_rport_s *rport,
542 struct bfa_rport_info_s *rport_info); 521 struct bfa_rport_info_s *rport_info);
543void bfa_rport_offline(struct bfa_rport_s *rport); 522void bfa_rport_offline(struct bfa_rport_s *rport);
544void bfa_rport_speed(struct bfa_rport_s *rport, enum bfa_port_speed speed); 523void bfa_rport_speed(struct bfa_rport_s *rport, enum bfa_port_speed speed);
545void bfa_rport_get_stats(struct bfa_rport_s *rport,
546 struct bfa_rport_hal_stats_s *stats);
547void bfa_rport_clear_stats(struct bfa_rport_s *rport); 524void bfa_rport_clear_stats(struct bfa_rport_s *rport);
548void bfa_cb_rport_online(void *rport); 525void bfa_cb_rport_online(void *rport);
549void bfa_cb_rport_offline(void *rport); 526void bfa_cb_rport_offline(void *rport);
@@ -553,8 +530,6 @@ void bfa_cb_rport_qos_scn_flowid(void *rport,
553void bfa_cb_rport_qos_scn_prio(void *rport, 530void bfa_cb_rport_qos_scn_prio(void *rport,
554 struct bfa_rport_qos_attr_s old_qos_attr, 531 struct bfa_rport_qos_attr_s old_qos_attr,
555 struct bfa_rport_qos_attr_s new_qos_attr); 532 struct bfa_rport_qos_attr_s new_qos_attr);
556void bfa_rport_get_qos_attr(struct bfa_rport_s *rport,
557 struct bfa_rport_qos_attr_s *qos_attr);
558 533
559/* 534/*
560 * bfa fcxp API functions 535 * bfa fcxp API functions
@@ -625,7 +600,6 @@ void bfa_lps_flogi(struct bfa_lps_s *lps, void *uarg, u8 alpa,
625 bfa_boolean_t auth_en); 600 bfa_boolean_t auth_en);
626void bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz, 601void bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz,
627 wwn_t pwwn, wwn_t nwwn); 602 wwn_t pwwn, wwn_t nwwn);
628void bfa_lps_flogo(struct bfa_lps_s *lps);
629void bfa_lps_fdisclogo(struct bfa_lps_s *lps); 603void bfa_lps_fdisclogo(struct bfa_lps_s *lps);
630u8 bfa_lps_get_tag(struct bfa_lps_s *lps); 604u8 bfa_lps_get_tag(struct bfa_lps_s *lps);
631bfa_boolean_t bfa_lps_is_npiv_en(struct bfa_lps_s *lps); 605bfa_boolean_t bfa_lps_is_npiv_en(struct bfa_lps_s *lps);
@@ -647,10 +621,4 @@ void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status);
647void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg); 621void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg);
648void bfa_cb_lps_cvl_event(void *bfad, void *uarg); 622void bfa_cb_lps_cvl_event(void *bfad, void *uarg);
649 623
650void bfa_trunk_enable_cfg(struct bfa_s *bfa);
651bfa_status_t bfa_trunk_enable(struct bfa_s *bfa);
652bfa_status_t bfa_trunk_disable(struct bfa_s *bfa);
653bfa_status_t bfa_trunk_get_attr(struct bfa_s *bfa,
654 struct bfa_trunk_attr_s *attr);
655
656#endif /* __BFA_SVC_H__ */ 624#endif /* __BFA_SVC_H__ */