0001
0002
0003 #ifndef _ETHTOOL_COMMON_H
0004 #define _ETHTOOL_COMMON_H
0005
0006 #include <linux/netdevice.h>
0007 #include <linux/ethtool.h>
0008
0009 #define ETHTOOL_DEV_FEATURE_WORDS DIV_ROUND_UP(NETDEV_FEATURE_COUNT, 32)
0010
0011
0012 #define ETHTOOL_LINK_MODE(speed, type, duplex) \
0013 ETHTOOL_LINK_MODE_ ## speed ## base ## type ## _ ## duplex ## _BIT
0014
0015 #define __SOF_TIMESTAMPING_CNT (const_ilog2(SOF_TIMESTAMPING_LAST) + 1)
0016
0017 struct link_mode_info {
0018 int speed;
0019 u8 lanes;
0020 u8 duplex;
0021 };
0022
0023 extern const char
0024 netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN];
0025 extern const char
0026 rss_hash_func_strings[ETH_RSS_HASH_FUNCS_COUNT][ETH_GSTRING_LEN];
0027 extern const char
0028 tunable_strings[__ETHTOOL_TUNABLE_COUNT][ETH_GSTRING_LEN];
0029 extern const char
0030 phy_tunable_strings[__ETHTOOL_PHY_TUNABLE_COUNT][ETH_GSTRING_LEN];
0031 extern const char link_mode_names[][ETH_GSTRING_LEN];
0032 extern const struct link_mode_info link_mode_params[];
0033 extern const char netif_msg_class_names[][ETH_GSTRING_LEN];
0034 extern const char wol_mode_names[][ETH_GSTRING_LEN];
0035 extern const char sof_timestamping_names[][ETH_GSTRING_LEN];
0036 extern const char ts_tx_type_names[][ETH_GSTRING_LEN];
0037 extern const char ts_rx_filter_names[][ETH_GSTRING_LEN];
0038 extern const char udp_tunnel_type_names[][ETH_GSTRING_LEN];
0039
0040 int __ethtool_get_link(struct net_device *dev);
0041
0042 bool convert_legacy_settings_to_link_ksettings(
0043 struct ethtool_link_ksettings *link_ksettings,
0044 const struct ethtool_cmd *legacy_settings);
0045 int ethtool_get_max_rxfh_channel(struct net_device *dev, u32 *max);
0046 int __ethtool_get_ts_info(struct net_device *dev, struct ethtool_ts_info *info);
0047
0048 extern const struct ethtool_phy_ops *ethtool_phy_ops;
0049
0050 int ethtool_get_module_info_call(struct net_device *dev,
0051 struct ethtool_modinfo *modinfo);
0052 int ethtool_get_module_eeprom_call(struct net_device *dev,
0053 struct ethtool_eeprom *ee, u8 *data);
0054
0055 #endif