2023-02-14 17:15:27 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
/* Copyright (c) 2015 - 2023 Beijing WangXun Technology Co., Ltd. */
|
|
|
|
|
|
|
|
#ifndef _WX_ETHTOOL_H_
|
|
|
|
#define _WX_ETHTOOL_H_
|
|
|
|
|
2023-10-11 17:19:04 +08:00
|
|
|
int wx_get_sset_count(struct net_device *netdev, int sset);
|
|
|
|
void wx_get_strings(struct net_device *netdev, u32 stringset, u8 *data);
|
|
|
|
void wx_get_ethtool_stats(struct net_device *netdev,
|
|
|
|
struct ethtool_stats *stats, u64 *data);
|
|
|
|
void wx_get_mac_stats(struct net_device *netdev,
|
|
|
|
struct ethtool_eth_mac_stats *mac_stats);
|
|
|
|
void wx_get_pause_stats(struct net_device *netdev,
|
|
|
|
struct ethtool_pause_stats *stats);
|
2023-02-14 17:15:27 +08:00
|
|
|
void wx_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *info);
|
2024-01-03 10:08:47 +08:00
|
|
|
int wx_nway_reset(struct net_device *netdev);
|
|
|
|
int wx_get_link_ksettings(struct net_device *netdev,
|
|
|
|
struct ethtool_link_ksettings *cmd);
|
|
|
|
int wx_set_link_ksettings(struct net_device *netdev,
|
|
|
|
const struct ethtool_link_ksettings *cmd);
|
2024-01-03 10:08:50 +08:00
|
|
|
void wx_get_pauseparam(struct net_device *netdev,
|
|
|
|
struct ethtool_pauseparam *pause);
|
|
|
|
int wx_set_pauseparam(struct net_device *netdev,
|
|
|
|
struct ethtool_pauseparam *pause);
|
2024-01-03 10:08:51 +08:00
|
|
|
void wx_get_ringparam(struct net_device *netdev,
|
|
|
|
struct ethtool_ringparam *ring,
|
|
|
|
struct kernel_ethtool_ringparam *kernel_ring,
|
|
|
|
struct netlink_ext_ack *extack);
|
2024-01-03 10:08:52 +08:00
|
|
|
int wx_get_coalesce(struct net_device *netdev,
|
|
|
|
struct ethtool_coalesce *ec,
|
|
|
|
struct kernel_ethtool_coalesce *kernel_coal,
|
|
|
|
struct netlink_ext_ack *extack);
|
|
|
|
int wx_set_coalesce(struct net_device *netdev,
|
|
|
|
struct ethtool_coalesce *ec,
|
|
|
|
struct kernel_ethtool_coalesce *kernel_coal,
|
|
|
|
struct netlink_ext_ack *extack);
|
2024-01-03 10:08:53 +08:00
|
|
|
void wx_get_channels(struct net_device *dev,
|
|
|
|
struct ethtool_channels *ch);
|
|
|
|
int wx_set_channels(struct net_device *dev,
|
|
|
|
struct ethtool_channels *ch);
|
2024-01-03 10:08:54 +08:00
|
|
|
u32 wx_get_msglevel(struct net_device *netdev);
|
|
|
|
void wx_set_msglevel(struct net_device *netdev, u32 data);
|
2025-02-18 10:34:30 +08:00
|
|
|
int wx_get_ts_info(struct net_device *dev,
|
|
|
|
struct kernel_ethtool_ts_info *info);
|
|
|
|
void wx_get_ptp_stats(struct net_device *dev,
|
|
|
|
struct ethtool_ts_stats *ts_stats);
|
2023-02-14 17:15:27 +08:00
|
|
|
#endif /* _WX_ETHTOOL_H_ */
|