diff options
author | Suresh R <sureshr@serverengines.com> | 2009-12-03 19:15:52 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-03 19:15:52 -0500 |
commit | ff33a6e2ab97f4cde484cdf1a41778af6d6b7cff (patch) | |
tree | 655e8cc5a61e6ed5245b182217fbca9632d17499 /drivers/net/benet/be_cmds.h | |
parent | 49d09007879ce7bee36ab453c73e97c00adce884 (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.h | 48 |
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 | |||
155 | struct be_cmd_req_hdr { | 159 | struct 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 *********************/ | ||
805 | struct 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 | |||
815 | struct 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 *********************/ | ||
825 | struct 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 | |||
834 | struct 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 | |||
800 | extern int be_pci_fnum_get(struct be_adapter *adapter); | 843 | extern int be_pci_fnum_get(struct be_adapter *adapter); |
801 | extern int be_cmd_POST(struct be_adapter *adapter); | 844 | extern int be_cmd_POST(struct be_adapter *adapter); |
802 | extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr, | 845 | extern 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); |
865 | extern int be_cmd_fw_init(struct be_adapter *adapter); | 908 | extern int be_cmd_fw_init(struct be_adapter *adapter); |
866 | extern int be_cmd_fw_clean(struct be_adapter *adapter); | 909 | extern int be_cmd_fw_clean(struct be_adapter *adapter); |
910 | extern 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); | ||
913 | extern int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern, | ||
914 | u32 byte_cnt, struct be_dma_mem *cmd); | ||