xref: /linux/drivers/net/ethernet/wangxun/libwx/wx_ethtool.h (revision 06d07429858317ded2db7986113a9e0129cd599b)
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