diff options
Diffstat (limited to 'drivers/scsi/bfa/bfa_svc.h')
-rw-r--r-- | drivers/scsi/bfa/bfa_svc.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/scsi/bfa/bfa_svc.h b/drivers/scsi/bfa/bfa_svc.h index 1abcf7c51661..8d7fbecfcb22 100644 --- a/drivers/scsi/bfa/bfa_svc.h +++ b/drivers/scsi/bfa/bfa_svc.h | |||
@@ -474,8 +474,10 @@ struct bfa_fcport_s { | |||
474 | /* supported speeds */ | 474 | /* supported speeds */ |
475 | enum bfa_port_speed speed; /* current speed */ | 475 | enum bfa_port_speed speed; /* current speed */ |
476 | enum bfa_port_topology topology; /* current topology */ | 476 | enum bfa_port_topology topology; /* current topology */ |
477 | u8 myalpa; /* my ALPA in LOOP topology */ | ||
478 | u8 rsvd[3]; | 477 | u8 rsvd[3]; |
478 | u8 myalpa; /* my ALPA in LOOP topology */ | ||
479 | u8 alpabm_valid; /* alpa bitmap valid or not */ | ||
480 | struct fc_alpabm_s alpabm; /* alpa bitmap */ | ||
479 | struct bfa_port_cfg_s cfg; /* current port configuration */ | 481 | struct bfa_port_cfg_s cfg; /* current port configuration */ |
480 | bfa_boolean_t use_flash_cfg; /* get port cfg from flash */ | 482 | bfa_boolean_t use_flash_cfg; /* get port cfg from flash */ |
481 | struct bfa_qos_attr_s qos_attr; /* QoS Attributes */ | 483 | struct bfa_qos_attr_s qos_attr; /* QoS Attributes */ |
@@ -512,6 +514,7 @@ struct bfa_fcport_s { | |||
512 | struct bfa_fcport_trunk_s trunk; | 514 | struct bfa_fcport_trunk_s trunk; |
513 | u16 fcoe_vlan; | 515 | u16 fcoe_vlan; |
514 | struct bfa_mem_dma_s fcport_dma; | 516 | struct bfa_mem_dma_s fcport_dma; |
517 | bfa_boolean_t stats_dma_ready; | ||
515 | }; | 518 | }; |
516 | 519 | ||
517 | #define BFA_FCPORT_MOD(__bfa) (&(__bfa)->modules.fcport) | 520 | #define BFA_FCPORT_MOD(__bfa) (&(__bfa)->modules.fcport) |
@@ -534,6 +537,7 @@ enum bfa_port_speed bfa_fcport_get_speed(struct bfa_s *bfa); | |||
534 | bfa_status_t bfa_fcport_cfg_topology(struct bfa_s *bfa, | 537 | bfa_status_t bfa_fcport_cfg_topology(struct bfa_s *bfa, |
535 | enum bfa_port_topology topo); | 538 | enum bfa_port_topology topo); |
536 | enum bfa_port_topology bfa_fcport_get_topology(struct bfa_s *bfa); | 539 | enum bfa_port_topology bfa_fcport_get_topology(struct bfa_s *bfa); |
540 | enum bfa_port_topology bfa_fcport_get_cfg_topology(struct bfa_s *bfa); | ||
537 | bfa_status_t bfa_fcport_cfg_hardalpa(struct bfa_s *bfa, u8 alpa); | 541 | bfa_status_t bfa_fcport_cfg_hardalpa(struct bfa_s *bfa, u8 alpa); |
538 | bfa_boolean_t bfa_fcport_get_hardalpa(struct bfa_s *bfa, u8 *alpa); | 542 | bfa_boolean_t bfa_fcport_get_hardalpa(struct bfa_s *bfa, u8 *alpa); |
539 | u8 bfa_fcport_get_myalpa(struct bfa_s *bfa); | 543 | u8 bfa_fcport_get_myalpa(struct bfa_s *bfa); |
@@ -547,6 +551,9 @@ void bfa_fcport_event_register(struct bfa_s *bfa, | |||
547 | void (*event_cbfn) (void *cbarg, | 551 | void (*event_cbfn) (void *cbarg, |
548 | enum bfa_port_linkstate event), void *event_cbarg); | 552 | enum bfa_port_linkstate event), void *event_cbarg); |
549 | bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa); | 553 | bfa_boolean_t bfa_fcport_is_disabled(struct bfa_s *bfa); |
554 | bfa_boolean_t bfa_fcport_is_dport(struct bfa_s *bfa); | ||
555 | bfa_status_t bfa_fcport_set_qos_bw(struct bfa_s *bfa, | ||
556 | struct bfa_qos_bw_s *qos_bw); | ||
550 | enum bfa_port_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa); | 557 | enum bfa_port_speed bfa_fcport_get_ratelim_speed(struct bfa_s *bfa); |
551 | 558 | ||
552 | void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit, u8 bb_scn); | 559 | void bfa_fcport_set_tx_bbcredit(struct bfa_s *bfa, u16 tx_bbcredit, u8 bb_scn); |
@@ -560,6 +567,8 @@ bfa_status_t bfa_fcport_clear_stats(struct bfa_s *bfa, | |||
560 | struct bfa_cb_pending_q_s *cb); | 567 | struct bfa_cb_pending_q_s *cb); |
561 | bfa_boolean_t bfa_fcport_is_qos_enabled(struct bfa_s *bfa); | 568 | bfa_boolean_t bfa_fcport_is_qos_enabled(struct bfa_s *bfa); |
562 | bfa_boolean_t bfa_fcport_is_trunk_enabled(struct bfa_s *bfa); | 569 | bfa_boolean_t bfa_fcport_is_trunk_enabled(struct bfa_s *bfa); |
570 | void bfa_fcport_dportenable(struct bfa_s *bfa); | ||
571 | void bfa_fcport_dportdisable(struct bfa_s *bfa); | ||
563 | bfa_status_t bfa_fcport_is_pbcdisabled(struct bfa_s *bfa); | 572 | bfa_status_t bfa_fcport_is_pbcdisabled(struct bfa_s *bfa); |
564 | void bfa_fcport_cfg_faa(struct bfa_s *bfa, u8 state); | 573 | void bfa_fcport_cfg_faa(struct bfa_s *bfa, u8 state); |
565 | 574 | ||
@@ -575,6 +584,9 @@ void bfa_cb_rport_offline(void *rport); | |||
575 | void bfa_cb_rport_qos_scn_flowid(void *rport, | 584 | void bfa_cb_rport_qos_scn_flowid(void *rport, |
576 | struct bfa_rport_qos_attr_s old_qos_attr, | 585 | struct bfa_rport_qos_attr_s old_qos_attr, |
577 | struct bfa_rport_qos_attr_s new_qos_attr); | 586 | struct bfa_rport_qos_attr_s new_qos_attr); |
587 | void bfa_cb_rport_scn_online(struct bfa_s *bfa); | ||
588 | void bfa_cb_rport_scn_offline(struct bfa_s *bfa); | ||
589 | void bfa_cb_rport_scn_no_dev(void *rp); | ||
578 | void bfa_cb_rport_qos_scn_prio(void *rport, | 590 | void bfa_cb_rport_qos_scn_prio(void *rport, |
579 | struct bfa_rport_qos_attr_s old_qos_attr, | 591 | struct bfa_rport_qos_attr_s old_qos_attr, |
580 | struct bfa_rport_qos_attr_s new_qos_attr); | 592 | struct bfa_rport_qos_attr_s new_qos_attr); |
@@ -697,11 +709,21 @@ struct bfa_fcdiag_lb_s { | |||
697 | u32 status; | 709 | u32 status; |
698 | }; | 710 | }; |
699 | 711 | ||
712 | struct bfa_dport_s { | ||
713 | struct bfa_s *bfa; /* Back pointer to BFA */ | ||
714 | bfa_sm_t sm; /* finite state machine */ | ||
715 | u32 msgtag; /* firmware msg tag for reply */ | ||
716 | struct bfa_reqq_wait_s reqq_wait; | ||
717 | bfa_cb_diag_t cbfn; | ||
718 | void *cbarg; | ||
719 | }; | ||
720 | |||
700 | struct bfa_fcdiag_s { | 721 | struct bfa_fcdiag_s { |
701 | struct bfa_s *bfa; /* Back pointer to BFA */ | 722 | struct bfa_s *bfa; /* Back pointer to BFA */ |
702 | struct bfa_trc_mod_s *trcmod; | 723 | struct bfa_trc_mod_s *trcmod; |
703 | struct bfa_fcdiag_lb_s lb; | 724 | struct bfa_fcdiag_lb_s lb; |
704 | struct bfa_fcdiag_qtest_s qtest; | 725 | struct bfa_fcdiag_qtest_s qtest; |
726 | struct bfa_dport_s dport; | ||
705 | }; | 727 | }; |
706 | 728 | ||
707 | #define BFA_FCDIAG_MOD(__bfa) (&(__bfa)->modules.fcdiag) | 729 | #define BFA_FCDIAG_MOD(__bfa) (&(__bfa)->modules.fcdiag) |
@@ -717,5 +739,11 @@ bfa_status_t bfa_fcdiag_queuetest(struct bfa_s *bfa, u32 ignore, | |||
717 | u32 queue, struct bfa_diag_qtest_result_s *result, | 739 | u32 queue, struct bfa_diag_qtest_result_s *result, |
718 | bfa_cb_diag_t cbfn, void *cbarg); | 740 | bfa_cb_diag_t cbfn, void *cbarg); |
719 | bfa_status_t bfa_fcdiag_lb_is_running(struct bfa_s *bfa); | 741 | bfa_status_t bfa_fcdiag_lb_is_running(struct bfa_s *bfa); |
742 | bfa_status_t bfa_dport_enable(struct bfa_s *bfa, bfa_cb_diag_t cbfn, | ||
743 | void *cbarg); | ||
744 | bfa_status_t bfa_dport_disable(struct bfa_s *bfa, bfa_cb_diag_t cbfn, | ||
745 | void *cbarg); | ||
746 | bfa_status_t bfa_dport_get_state(struct bfa_s *bfa, | ||
747 | enum bfa_dport_state *state); | ||
720 | 748 | ||
721 | #endif /* __BFA_SVC_H__ */ | 749 | #endif /* __BFA_SVC_H__ */ |