aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet/be_cmds.h
diff options
context:
space:
mode:
authorSuresh R <sureshr@serverengines.com>2009-12-03 19:15:52 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-03 19:15:52 -0500
commitff33a6e2ab97f4cde484cdf1a41778af6d6b7cff (patch)
tree655e8cc5a61e6ed5245b182217fbca9632d17499 /drivers/net/benet/be_cmds.h
parent49d09007879ce7bee36ab453c73e97c00adce884 (diff)
be2net: Add support for ethtool self test
This patch adds support for ethtool selftest. From: Suresh R <sureshr@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/benet/be_cmds.h')
-rw-r--r--drivers/net/benet/be_cmds.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/drivers/net/benet/be_cmds.h b/drivers/net/benet/be_cmds.h
index e8512a144f5e..e7323be507d0 100644
--- a/drivers/net/benet/be_cmds.h
+++ b/drivers/net/benet/be_cmds.h
@@ -112,6 +112,7 @@ struct be_mcc_mailbox {
112 112
113#define CMD_SUBSYSTEM_COMMON 0x1 113#define CMD_SUBSYSTEM_COMMON 0x1
114#define CMD_SUBSYSTEM_ETH 0x3 114#define CMD_SUBSYSTEM_ETH 0x3
115#define CMD_SUBSYSTEM_LOWLEVEL 0xb
115 116
116#define OPCODE_COMMON_NTWK_MAC_QUERY 1 117#define OPCODE_COMMON_NTWK_MAC_QUERY 1
117#define OPCODE_COMMON_NTWK_MAC_SET 2 118#define OPCODE_COMMON_NTWK_MAC_SET 2
@@ -152,6 +153,9 @@ struct be_mcc_mailbox {
152#define OPCODE_ETH_RX_DESTROY 10 153#define OPCODE_ETH_RX_DESTROY 10
153#define OPCODE_ETH_ACPI_WOL_MAGIC_CONFIG 12 154#define OPCODE_ETH_ACPI_WOL_MAGIC_CONFIG 12
154 155
156#define OPCODE_LOWLEVEL_HOST_DDR_DMA 17
157#define OPCODE_LOWLEVEL_LOOPBACK_TEST 18
158
155struct be_cmd_req_hdr { 159struct be_cmd_req_hdr {
156 u8 opcode; /* dword 0 */ 160 u8 opcode; /* dword 0 */
157 u8 subsystem; /* dword 0 */ 161 u8 subsystem; /* dword 0 */
@@ -797,6 +801,45 @@ struct be_cmd_req_acpi_wol_magic_config{
797 u8 rsvd2[2]; 801 u8 rsvd2[2];
798} __packed; 802} __packed;
799 803
804/********************** LoopBack test *********************/
805struct be_cmd_req_loopback_test {
806 struct be_cmd_req_hdr hdr;
807 u32 loopback_type;
808 u32 num_pkts;
809 u64 pattern;
810 u32 src_port;
811 u32 dest_port;
812 u32 pkt_size;
813};
814
815struct be_cmd_resp_loopback_test {
816 struct be_cmd_resp_hdr resp_hdr;
817 u32 status;
818 u32 num_txfer;
819 u32 num_rx;
820 u32 miscomp_off;
821 u32 ticks_compl;
822};
823
824/********************** DDR DMA test *********************/
825struct be_cmd_req_ddrdma_test {
826 struct be_cmd_req_hdr hdr;
827 u64 pattern;
828 u32 byte_count;
829 u32 rsvd0;
830 u8 snd_buff[4096];
831 u8 rsvd1[4096];
832};
833
834struct be_cmd_resp_ddrdma_test {
835 struct be_cmd_resp_hdr hdr;
836 u64 pattern;
837 u32 byte_cnt;
838 u32 snd_err;
839 u8 rsvd0[4096];
840 u8 rcv_buff[4096];
841};
842
800extern int be_pci_fnum_get(struct be_adapter *adapter); 843extern int be_pci_fnum_get(struct be_adapter *adapter);
801extern int be_cmd_POST(struct be_adapter *adapter); 844extern int be_cmd_POST(struct be_adapter *adapter);
802extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr, 845extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
@@ -864,3 +907,8 @@ extern int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
864 struct be_dma_mem *nonemb_cmd); 907 struct be_dma_mem *nonemb_cmd);
865extern int be_cmd_fw_init(struct be_adapter *adapter); 908extern int be_cmd_fw_init(struct be_adapter *adapter);
866extern int be_cmd_fw_clean(struct be_adapter *adapter); 909extern int be_cmd_fw_clean(struct be_adapter *adapter);
910extern int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
911 u32 loopback_type, u32 pkt_size,
912 u32 num_pkts, u64 pattern);
913extern int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern,
914 u32 byte_cnt, struct be_dma_mem *cmd);