linux/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c

// SPDX-License-Identifier: GPL-2.0-only
/* Atlantic Network Driver
 *
 * Copyright (C) 2014-2019 aQuantia Corporation
 * Copyright (C) 2019-2020 Marvell International Ltd.
 */

/* File aq_ethtool.c: Definition of ethertool related functions. */

#include "aq_ethtool.h"
#include "aq_nic.h"
#include "aq_vec.h"
#include "aq_ptp.h"
#include "aq_filters.h"
#include "aq_macsec.h"
#include "aq_main.h"

#include <linux/linkmode.h>
#include <linux/ptp_clock_kernel.h>

static void aq_ethtool_get_regs(struct net_device *ndev,
				struct ethtool_regs *regs, void *p)
{}

static int aq_ethtool_get_regs_len(struct net_device *ndev)
{}

static u32 aq_ethtool_get_link(struct net_device *ndev)
{}

static int aq_ethtool_get_link_ksettings(struct net_device *ndev,
					 struct ethtool_link_ksettings *cmd)
{}

static int
aq_ethtool_set_link_ksettings(struct net_device *ndev,
			      const struct ethtool_link_ksettings *cmd)
{}

static const char aq_ethtool_stat_names[][ETH_GSTRING_LEN] =;

static const char * const aq_ethtool_queue_rx_stat_names[] =;

static const char * const aq_ethtool_queue_tx_stat_names[] =;

#if IS_ENABLED(CONFIG_MACSEC)
static const char aq_macsec_stat_names[][ETH_GSTRING_LEN] =;

static const char * const aq_macsec_txsc_stat_names[] =;

static const char * const aq_macsec_txsa_stat_names[] =;

static const char * const aq_macsec_rxsa_stat_names[] =;
#endif

static const char aq_ethtool_priv_flag_names[][ETH_GSTRING_LEN] =;

static u32 aq_ethtool_n_stats(struct net_device *ndev)
{}

static void aq_ethtool_stats(struct net_device *ndev,
			     struct ethtool_stats *stats, u64 *data)
{}

static void aq_ethtool_get_drvinfo(struct net_device *ndev,
				   struct ethtool_drvinfo *drvinfo)
{}

static void aq_ethtool_get_strings(struct net_device *ndev,
				   u32 stringset, u8 *data)
{}

static int aq_ethtool_set_phys_id(struct net_device *ndev,
				  enum ethtool_phys_id_state state)
{}

static int aq_ethtool_get_sset_count(struct net_device *ndev, int stringset)
{}

static u32 aq_ethtool_get_rss_indir_size(struct net_device *ndev)
{}

static u32 aq_ethtool_get_rss_key_size(struct net_device *ndev)
{}

static int aq_ethtool_get_rss(struct net_device *ndev,
			      struct ethtool_rxfh_param *rxfh)
{}

static int aq_ethtool_set_rss(struct net_device *netdev,
			      struct ethtool_rxfh_param *rxfh,
			      struct netlink_ext_ack *extack)
{}

static int aq_ethtool_get_rxnfc(struct net_device *ndev,
				struct ethtool_rxnfc *cmd,
				u32 *rule_locs)
{}

static int aq_ethtool_set_rxnfc(struct net_device *ndev,
				struct ethtool_rxnfc *cmd)
{}

static int aq_ethtool_get_coalesce(struct net_device *ndev,
				   struct ethtool_coalesce *coal,
				   struct kernel_ethtool_coalesce *kernel_coal,
				   struct netlink_ext_ack *extack)
{}

static int aq_ethtool_set_coalesce(struct net_device *ndev,
				   struct ethtool_coalesce *coal,
				   struct kernel_ethtool_coalesce *kernel_coal,
				   struct netlink_ext_ack *extack)
{}

static void aq_ethtool_get_wol(struct net_device *ndev,
			       struct ethtool_wolinfo *wol)
{}

static int aq_ethtool_set_wol(struct net_device *ndev,
			      struct ethtool_wolinfo *wol)
{}

static int aq_ethtool_get_ts_info(struct net_device *ndev,
				  struct kernel_ethtool_ts_info *info)
{}

static void eee_mask_to_ethtool_mask(unsigned long *mode, u32 speed)
{}

static int aq_ethtool_get_eee(struct net_device *ndev, struct ethtool_keee *eee)
{}

static int aq_ethtool_set_eee(struct net_device *ndev, struct ethtool_keee *eee)
{}

static int aq_ethtool_nway_reset(struct net_device *ndev)
{}

static void aq_ethtool_get_pauseparam(struct net_device *ndev,
				      struct ethtool_pauseparam *pause)
{}

static int aq_ethtool_set_pauseparam(struct net_device *ndev,
				     struct ethtool_pauseparam *pause)
{}

static void aq_get_ringparam(struct net_device *ndev,
			     struct ethtool_ringparam *ring,
			     struct kernel_ethtool_ringparam *kernel_ring,
			     struct netlink_ext_ack *extack)
{}

static int aq_set_ringparam(struct net_device *ndev,
			    struct ethtool_ringparam *ring,
			    struct kernel_ethtool_ringparam *kernel_ring,
			    struct netlink_ext_ack *extack)
{}

static u32 aq_get_msg_level(struct net_device *ndev)
{}

static void aq_set_msg_level(struct net_device *ndev, u32 data)
{}

static u32 aq_ethtool_get_priv_flags(struct net_device *ndev)
{}

static int aq_ethtool_set_priv_flags(struct net_device *ndev, u32 flags)
{}

static int aq_ethtool_get_phy_tunable(struct net_device *ndev,
				      const struct ethtool_tunable *tuna, void *data)
{}

static int aq_ethtool_set_phy_tunable(struct net_device *ndev,
				      const struct ethtool_tunable *tuna, const void *data)
{}

const struct ethtool_ops aq_ethtool_ops =;