aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfi.h
diff options
context:
space:
mode:
authorKrishna Gudipati <kgudipat@brocade.com>2011-06-24 23:28:37 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-06-29 18:27:20 -0400
commit3350d98d6d072fc4ac3622e61dc3dc351ef01dc5 (patch)
tree44aa4df294c2bea6ff7cf84b6bbe340737fe4331 /drivers/scsi/bfa/bfi.h
parent3d7fc66dcd8d510aaa46ab9b914b632bc149b05c (diff)
[SCSI] bfa: Added support to query PHY.
- Added PHY sub-module. - Implemented interface to obtain stats and to read/update the fw from the PHY module. 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.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfi.h b/drivers/scsi/bfa/bfi.h
index efa41b64bb32..1e258d5f8aec 100644
--- a/drivers/scsi/bfa/bfi.h
+++ b/drivers/scsi/bfa/bfi.h
@@ -209,6 +209,7 @@ enum bfi_mclass {
209 BFI_MC_TSKIM = 18, /* Initiator Task management */ 209 BFI_MC_TSKIM = 18, /* Initiator Task management */
210 BFI_MC_PORT = 21, /* Physical port */ 210 BFI_MC_PORT = 21, /* Physical port */
211 BFI_MC_SFP = 22, /* SFP module */ 211 BFI_MC_SFP = 22, /* SFP module */
212 BFI_MC_PHY = 25, /* External PHY message class */
212 BFI_MC_MAX = 32 213 BFI_MC_MAX = 32
213}; 214};
214 215
@@ -1030,6 +1031,102 @@ struct bfi_diag_qtest_req_s {
1030}; 1031};
1031#define bfi_diag_qtest_rsp_t struct bfi_diag_qtest_req_s 1032#define bfi_diag_qtest_rsp_t struct bfi_diag_qtest_req_s
1032 1033
1034/*
1035 * PHY module specific
1036 */
1037enum bfi_phy_h2i_msgs_e {
1038 BFI_PHY_H2I_QUERY_REQ = 1,
1039 BFI_PHY_H2I_STATS_REQ = 2,
1040 BFI_PHY_H2I_WRITE_REQ = 3,
1041 BFI_PHY_H2I_READ_REQ = 4,
1042};
1043
1044enum bfi_phy_i2h_msgs_e {
1045 BFI_PHY_I2H_QUERY_RSP = BFA_I2HM(1),
1046 BFI_PHY_I2H_STATS_RSP = BFA_I2HM(2),
1047 BFI_PHY_I2H_WRITE_RSP = BFA_I2HM(3),
1048 BFI_PHY_I2H_READ_RSP = BFA_I2HM(4),
1049};
1050
1051/*
1052 * External PHY query request
1053 */
1054struct bfi_phy_query_req_s {
1055 struct bfi_mhdr_s mh; /* Common msg header */
1056 u8 instance;
1057 u8 rsv[3];
1058 struct bfi_alen_s alen;
1059};
1060
1061/*
1062 * External PHY stats request
1063 */
1064struct bfi_phy_stats_req_s {
1065 struct bfi_mhdr_s mh; /* Common msg header */
1066 u8 instance;
1067 u8 rsv[3];
1068 struct bfi_alen_s alen;
1069};
1070
1071/*
1072 * External PHY write request
1073 */
1074struct bfi_phy_write_req_s {
1075 struct bfi_mhdr_s mh; /* Common msg header */
1076 u8 instance;
1077 u8 last;
1078 u8 rsv[2];
1079 u32 offset;
1080 u32 length;
1081 struct bfi_alen_s alen;
1082};
1083
1084/*
1085 * External PHY read request
1086 */
1087struct bfi_phy_read_req_s {
1088 struct bfi_mhdr_s mh; /* Common msg header */
1089 u8 instance;
1090 u8 rsv[3];
1091 u32 offset;
1092 u32 length;
1093 struct bfi_alen_s alen;
1094};
1095
1096/*
1097 * External PHY query response
1098 */
1099struct bfi_phy_query_rsp_s {
1100 struct bfi_mhdr_s mh; /* Common msg header */
1101 u32 status;
1102};
1103
1104/*
1105 * External PHY stats response
1106 */
1107struct bfi_phy_stats_rsp_s {
1108 struct bfi_mhdr_s mh; /* Common msg header */
1109 u32 status;
1110};
1111
1112/*
1113 * External PHY read response
1114 */
1115struct bfi_phy_read_rsp_s {
1116 struct bfi_mhdr_s mh; /* Common msg header */
1117 u32 status;
1118 u32 length;
1119};
1120
1121/*
1122 * External PHY write response
1123 */
1124struct bfi_phy_write_rsp_s {
1125 struct bfi_mhdr_s mh; /* Common msg header */
1126 u32 status;
1127 u32 length;
1128};
1129
1033#pragma pack() 1130#pragma pack()
1034 1131
1035#endif /* __BFI_H__ */ 1132#endif /* __BFI_H__ */