0001
0002
0003
0004 #ifndef __HNS3_ETHTOOL_H
0005 #define __HNS3_ETHTOOL_H
0006
0007 #include <linux/ethtool.h>
0008 #include <linux/netdevice.h>
0009
0010 struct hns3_stats {
0011 char stats_string[ETH_GSTRING_LEN];
0012 int stats_offset;
0013 };
0014
0015 struct hns3_sfp_type {
0016 u8 type;
0017 u8 ext_type;
0018 };
0019
0020 struct hns3_pflag_desc {
0021 char name[ETH_GSTRING_LEN];
0022 void (*handler)(struct net_device *netdev, bool enable);
0023 };
0024
0025 struct hns3_ethtool_link_ext_state_mapping {
0026 u32 status_code;
0027 enum ethtool_link_ext_state link_ext_state;
0028 u8 link_ext_substate;
0029 };
0030
0031 struct hns3_ring_param {
0032 u32 tx_desc_num;
0033 u32 rx_desc_num;
0034 u32 rx_buf_len;
0035 };
0036
0037 #endif