aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfi.h
diff options
context:
space:
mode:
authorKrishna Gudipati <kgudipat@brocade.com>2011-06-24 23:26:25 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-06-29 18:22:26 -0400
commit51e569aa1f0c10bd71af05e76e4ba0e42c51e4ab (patch)
tree65ab17fd7da7c3432c04c45269cbd62ee19198c5 /drivers/scsi/bfa/bfi.h
parent148d61039c625f3f7e2d0a6ad1efe17f83153e65 (diff)
[SCSI] bfa: Added support to obtain SFP info.
- Added SFP sub-module to BFA. - Added interface to collect sfp media info and sfp speed. Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfi.h')
-rw-r--r--drivers/scsi/bfa/bfi.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfi.h b/drivers/scsi/bfa/bfi.h
index 037b377668c..0d249984fd0 100644
--- a/drivers/scsi/bfa/bfi.h
+++ b/drivers/scsi/bfa/bfi.h
@@ -206,6 +206,7 @@ enum bfi_mclass {
206 BFI_MC_IOIM_IOCOM = 17, /* good IO completion */ 206 BFI_MC_IOIM_IOCOM = 17, /* good IO completion */
207 BFI_MC_TSKIM = 18, /* Initiator Task management */ 207 BFI_MC_TSKIM = 18, /* Initiator Task management */
208 BFI_MC_PORT = 21, /* Physical port */ 208 BFI_MC_PORT = 21, /* Physical port */
209 BFI_MC_SFP = 22, /* SFP module */
209 BFI_MC_MAX = 32 210 BFI_MC_MAX = 32
210}; 211};
211 212
@@ -765,6 +766,54 @@ union bfi_cee_i2h_msg_u {
765 struct bfi_cee_stats_rsp_s stats_rsp; 766 struct bfi_cee_stats_rsp_s stats_rsp;
766}; 767};
767 768
769/*
770 * SFP related
771 */
772
773enum bfi_sfp_h2i_e {
774 BFI_SFP_H2I_SHOW = 1,
775 BFI_SFP_H2I_SCN = 2,
776};
777
778enum bfi_sfp_i2h_e {
779 BFI_SFP_I2H_SHOW = BFA_I2HM(BFI_SFP_H2I_SHOW),
780 BFI_SFP_I2H_SCN = BFA_I2HM(BFI_SFP_H2I_SCN),
781};
782
783/*
784 * SFP state
785 */
786enum bfa_sfp_stat_e {
787 BFA_SFP_STATE_INIT = 0, /* SFP state is uninit */
788 BFA_SFP_STATE_REMOVED = 1, /* SFP is removed */
789 BFA_SFP_STATE_INSERTED = 2, /* SFP is inserted */
790 BFA_SFP_STATE_VALID = 3, /* SFP is valid */
791 BFA_SFP_STATE_UNSUPPORT = 4, /* SFP is unsupport */
792 BFA_SFP_STATE_FAILED = 5, /* SFP i2c read fail */
793};
794
795/*
796 * SFP memory access type
797 */
798enum bfi_sfp_mem_e {
799 BFI_SFP_MEM_ALL = 0x1, /* access all data field */
800 BFI_SFP_MEM_DIAGEXT = 0x2, /* access diag ext data field only */
801};
802
803struct bfi_sfp_req_s {
804 struct bfi_mhdr_s mh;
805 u8 memtype;
806 u8 rsvd[3];
807 struct bfi_alen_s alen;
808};
809
810struct bfi_sfp_rsp_s {
811 struct bfi_mhdr_s mh;
812 u8 status;
813 u8 state;
814 u8 rsvd[2];
815};
816
768#pragma pack() 817#pragma pack()
769 818
770#endif /* __BFI_H__ */ 819#endif /* __BFI_H__ */