aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_svc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/bfa/bfa_svc.h')
-rw-r--r--drivers/scsi/bfa/bfa_svc.h63
1 files changed, 14 insertions, 49 deletions
diff --git a/drivers/scsi/bfa/bfa_svc.h b/drivers/scsi/bfa/bfa_svc.h
index e2349d5cdb93..331ad992a581 100644
--- a/drivers/scsi/bfa/bfa_svc.h
+++ b/drivers/scsi/bfa/bfa_svc.h
@@ -220,6 +220,18 @@ void bfa_fcxp_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
220/* 220/*
221 * RPORT related defines 221 * RPORT related defines
222 */ 222 */
223enum bfa_rport_event {
224 BFA_RPORT_SM_CREATE = 1, /* rport create event */
225 BFA_RPORT_SM_DELETE = 2, /* deleting an existing rport */
226 BFA_RPORT_SM_ONLINE = 3, /* rport is online */
227 BFA_RPORT_SM_OFFLINE = 4, /* rport is offline */
228 BFA_RPORT_SM_FWRSP = 5, /* firmware response */
229 BFA_RPORT_SM_HWFAIL = 6, /* IOC h/w failure */
230 BFA_RPORT_SM_QOS_SCN = 7, /* QoS SCN from firmware */
231 BFA_RPORT_SM_SET_SPEED = 8, /* Set Rport Speed */
232 BFA_RPORT_SM_QRESUME = 9, /* space in requeue queue */
233};
234
223#define BFA_RPORT_MIN 4 235#define BFA_RPORT_MIN 4
224 236
225struct bfa_rport_mod_s { 237struct bfa_rport_mod_s {
@@ -432,6 +444,7 @@ struct bfa_fcport_s {
432 u8 myalpa; /* my ALPA in LOOP topology */ 444 u8 myalpa; /* my ALPA in LOOP topology */
433 u8 rsvd[3]; 445 u8 rsvd[3];
434 struct bfa_port_cfg_s cfg; /* current port configuration */ 446 struct bfa_port_cfg_s cfg; /* current port configuration */
447 bfa_boolean_t use_flash_cfg; /* get port cfg from flash */
435 struct bfa_qos_attr_s qos_attr; /* QoS Attributes */ 448 struct bfa_qos_attr_s qos_attr; /* QoS Attributes */
436 struct bfa_qos_vc_attr_s qos_vc_attr; /* VC info from ELP */ 449 struct bfa_qos_vc_attr_s qos_vc_attr; /* VC info from ELP */
437 struct bfa_reqq_wait_s reqq_wait; 450 struct bfa_reqq_wait_s reqq_wait;
@@ -500,30 +513,9 @@ void bfa_fcport_event_register(struct bfa_s *bfa,
500 void (*event_cbfn) (void *cbarg, 513 void (*event_cbfn) (void *cbarg,
501 enum bfa_port_linkstate event), void *event_cbarg); 514 enum bfa_port_linkstate event), void *event_cbarg);
502bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa); 515bfa_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); 516enum bfa_port_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa);
508 517
509void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit); 518void 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); 519bfa_boolean_t bfa_fcport_is_ratelim(struct bfa_s *bfa);
528bfa_boolean_t bfa_fcport_is_linkup(struct bfa_s *bfa); 520bfa_boolean_t bfa_fcport_is_linkup(struct bfa_s *bfa);
529bfa_status_t bfa_fcport_get_stats(struct bfa_s *bfa, 521bfa_status_t bfa_fcport_get_stats(struct bfa_s *bfa,
@@ -537,14 +529,9 @@ bfa_boolean_t bfa_fcport_is_qos_enabled(struct bfa_s *bfa);
537 * bfa rport API functions 529 * bfa rport API functions
538 */ 530 */
539struct bfa_rport_s *bfa_rport_create(struct bfa_s *bfa, void *rport_drv); 531struct bfa_rport_s *bfa_rport_create(struct bfa_s *bfa, void *rport_drv);
540void bfa_rport_delete(struct bfa_rport_s *rport);
541void bfa_rport_online(struct bfa_rport_s *rport, 532void bfa_rport_online(struct bfa_rport_s *rport,
542 struct bfa_rport_info_s *rport_info); 533 struct bfa_rport_info_s *rport_info);
543void bfa_rport_offline(struct bfa_rport_s *rport);
544void bfa_rport_speed(struct bfa_rport_s *rport, enum bfa_port_speed speed); 534void 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);
548void bfa_cb_rport_online(void *rport); 535void bfa_cb_rport_online(void *rport);
549void bfa_cb_rport_offline(void *rport); 536void bfa_cb_rport_offline(void *rport);
550void bfa_cb_rport_qos_scn_flowid(void *rport, 537void bfa_cb_rport_qos_scn_flowid(void *rport,
@@ -553,8 +540,6 @@ void bfa_cb_rport_qos_scn_flowid(void *rport,
553void bfa_cb_rport_qos_scn_prio(void *rport, 540void bfa_cb_rport_qos_scn_prio(void *rport,
554 struct bfa_rport_qos_attr_s old_qos_attr, 541 struct bfa_rport_qos_attr_s old_qos_attr,
555 struct bfa_rport_qos_attr_s new_qos_attr); 542 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 543
559/* 544/*
560 * bfa fcxp API functions 545 * bfa fcxp API functions
@@ -619,38 +604,18 @@ void bfa_uf_free(struct bfa_uf_s *uf);
619u32 bfa_lps_get_max_vport(struct bfa_s *bfa); 604u32 bfa_lps_get_max_vport(struct bfa_s *bfa);
620struct bfa_lps_s *bfa_lps_alloc(struct bfa_s *bfa); 605struct bfa_lps_s *bfa_lps_alloc(struct bfa_s *bfa);
621void bfa_lps_delete(struct bfa_lps_s *lps); 606void bfa_lps_delete(struct bfa_lps_s *lps);
622void bfa_lps_discard(struct bfa_lps_s *lps);
623void bfa_lps_flogi(struct bfa_lps_s *lps, void *uarg, u8 alpa, 607void bfa_lps_flogi(struct bfa_lps_s *lps, void *uarg, u8 alpa,
624 u16 pdusz, wwn_t pwwn, wwn_t nwwn, 608 u16 pdusz, wwn_t pwwn, wwn_t nwwn,
625 bfa_boolean_t auth_en); 609 bfa_boolean_t auth_en);
626void bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz, 610void bfa_lps_fdisc(struct bfa_lps_s *lps, void *uarg, u16 pdusz,
627 wwn_t pwwn, wwn_t nwwn); 611 wwn_t pwwn, wwn_t nwwn);
628void bfa_lps_flogo(struct bfa_lps_s *lps);
629void bfa_lps_fdisclogo(struct bfa_lps_s *lps); 612void bfa_lps_fdisclogo(struct bfa_lps_s *lps);
630u8 bfa_lps_get_tag(struct bfa_lps_s *lps); 613void bfa_lps_set_n2n_pid(struct bfa_lps_s *lps, u32 n2n_pid);
631bfa_boolean_t bfa_lps_is_npiv_en(struct bfa_lps_s *lps);
632bfa_boolean_t bfa_lps_is_fport(struct bfa_lps_s *lps);
633bfa_boolean_t bfa_lps_is_brcd_fabric(struct bfa_lps_s *lps);
634bfa_boolean_t bfa_lps_is_authreq(struct bfa_lps_s *lps);
635bfa_eproto_status_t bfa_lps_get_extstatus(struct bfa_lps_s *lps);
636u32 bfa_lps_get_pid(struct bfa_lps_s *lps);
637u32 bfa_lps_get_base_pid(struct bfa_s *bfa); 614u32 bfa_lps_get_base_pid(struct bfa_s *bfa);
638u8 bfa_lps_get_tag_from_pid(struct bfa_s *bfa, u32 pid); 615u8 bfa_lps_get_tag_from_pid(struct bfa_s *bfa, u32 pid);
639u16 bfa_lps_get_peer_bbcredit(struct bfa_lps_s *lps);
640wwn_t bfa_lps_get_peer_pwwn(struct bfa_lps_s *lps);
641wwn_t bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps);
642u8 bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps);
643u8 bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps);
644mac_t bfa_lps_get_lp_mac(struct bfa_lps_s *lps);
645void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status); 616void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status);
646void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status); 617void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status);
647void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg); 618void bfa_cb_lps_fdisclogo_comp(void *bfad, void *uarg);
648void bfa_cb_lps_cvl_event(void *bfad, void *uarg); 619void bfa_cb_lps_cvl_event(void *bfad, void *uarg);
649 620
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__ */ 621#endif /* __BFA_SVC_H__ */