1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2015 - 2023 Beijing WangXun Technology Co., Ltd. */ 3 4 #ifndef _WX_ETHTOOL_H_ 5 #define _WX_ETHTOOL_H_ 6 7 int wx_get_sset_count(struct net_device *netdev, int sset); 8 void wx_get_strings(struct net_device *netdev, u32 stringset, u8 *data); 9 void wx_get_ethtool_stats(struct net_device *netdev, 10 struct ethtool_stats *stats, u64 *data); 11 void wx_get_mac_stats(struct net_device *netdev, 12 struct ethtool_eth_mac_stats *mac_stats); 13 void wx_get_pause_stats(struct net_device *netdev, 14 struct ethtool_pause_stats *stats); 15 void wx_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *info); 16 int wx_nway_reset(struct net_device *netdev); 17 int wx_get_link_ksettings(struct net_device *netdev, 18 struct ethtool_link_ksettings *cmd); 19 int wx_set_link_ksettings(struct net_device *netdev, 20 const struct ethtool_link_ksettings *cmd); 21 void wx_get_pauseparam(struct net_device *netdev, 22 struct ethtool_pauseparam *pause); 23 int wx_set_pauseparam(struct net_device *netdev, 24 struct ethtool_pauseparam *pause); 25 void wx_get_ringparam(struct net_device *netdev, 26 struct ethtool_ringparam *ring, 27 struct kernel_ethtool_ringparam *kernel_ring, 28 struct netlink_ext_ack *extack); 29 int wx_get_coalesce(struct net_device *netdev, 30 struct ethtool_coalesce *ec, 31 struct kernel_ethtool_coalesce *kernel_coal, 32 struct netlink_ext_ack *extack); 33 int wx_set_coalesce(struct net_device *netdev, 34 struct ethtool_coalesce *ec, 35 struct kernel_ethtool_coalesce *kernel_coal, 36 struct netlink_ext_ack *extack); 37 void wx_get_channels(struct net_device *dev, 38 struct ethtool_channels *ch); 39 int wx_set_channels(struct net_device *dev, 40 struct ethtool_channels *ch); 41 u32 wx_get_msglevel(struct net_device *netdev); 42 void wx_set_msglevel(struct net_device *netdev, u32 data); 43 #endif /* _WX_ETHTOOL_H_ */ 44