linux/drivers/net/ethernet/emulex/benet/be_ethtool.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2005 - 2016 Broadcom
 * All rights reserved.
 *
 * Contact Information:
 * [email protected]
 *
 * Emulex
 * 3333 Susan Street
 * Costa Mesa, CA 92626
 */

#include "be.h"
#include "be_cmds.h"
#include <linux/ethtool.h>

struct be_ethtool_stat {};

enum {};
#define FIELDINFO(_struct, field)
#define DRVSTAT_TX_INFO(field)
#define DRVSTAT_RX_INFO(field)
#define DRVSTAT_INFO(field)

static const struct be_ethtool_stat et_stats[] =;

#define ETHTOOL_STATS_NUM

/* Stats related to multi RX queues: get_stats routine assumes bytes, pkts
 * are first and second members respectively.
 */
static const struct be_ethtool_stat et_rx_stats[] =;

#define ETHTOOL_RXSTATS_NUM

/* Stats related to multi TX queues: get_stats routine assumes compl is the
 * first member
 */
static const struct be_ethtool_stat et_tx_stats[] =;

#define ETHTOOL_TXSTATS_NUM

static const char et_self_tests[][ETH_GSTRING_LEN] =;

#define ETHTOOL_TESTS_NUM
#define BE_MAC_LOOPBACK
#define BE_PHY_LOOPBACK
#define BE_ONE_PORT_EXT_LOOPBACK
#define BE_NO_LOOPBACK

static void be_get_drvinfo(struct net_device *netdev,
			   struct ethtool_drvinfo *drvinfo)
{}

static u32 lancer_cmd_get_file_len(struct be_adapter *adapter, u8 *file_name)
{}

static int be_get_dump_len(struct be_adapter *adapter)
{}

static int lancer_cmd_read_file(struct be_adapter *adapter, u8 *file_name,
				u32 buf_len, void *buf)
{}

static int be_read_dump_data(struct be_adapter *adapter, u32 dump_len,
			     void *buf)
{}

static int be_get_coalesce(struct net_device *netdev,
			   struct ethtool_coalesce *et,
			   struct kernel_ethtool_coalesce *kernel_coal,
			   struct netlink_ext_ack *extack)
{}

/* TX attributes are ignored. Only RX attributes are considered
 * eqd cmd is issued in the worker thread.
 */
static int be_set_coalesce(struct net_device *netdev,
			   struct ethtool_coalesce *et,
			   struct kernel_ethtool_coalesce *kernel_coal,
			   struct netlink_ext_ack *extack)
{}

static void be_get_ethtool_stats(struct net_device *netdev,
				 struct ethtool_stats *stats, uint64_t *data)
{}

static const char be_priv_flags[][ETH_GSTRING_LEN] =;

static void be_get_stat_strings(struct net_device *netdev, uint32_t stringset,
				uint8_t *data)
{}

static int be_get_sset_count(struct net_device *netdev, int stringset)
{}

static u32 be_get_port_type(struct be_adapter *adapter)
{}

static u32 convert_to_et_setting(struct be_adapter *adapter, u32 if_speeds)
{}

bool be_pause_supported(struct be_adapter *adapter)
{}

static int be_get_link_ksettings(struct net_device *netdev,
				 struct ethtool_link_ksettings *cmd)
{}

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

static void
be_get_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *ecmd)
{}

static int
be_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *ecmd)
{}

static int be_set_phys_id(struct net_device *netdev,
			  enum ethtool_phys_id_state state)
{}

static int be_set_dump(struct net_device *netdev, struct ethtool_dump *dump)
{}

static void be_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
{}

static int be_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol)
{}

static int be_test_ddr_dma(struct be_adapter *adapter)
{}

static u64 be_loopback_test(struct be_adapter *adapter, u8 loopback_type,
			    u64 *status)
{}

static void be_self_test(struct net_device *netdev, struct ethtool_test *test,
			 u64 *data)
{}

static int be_do_flash(struct net_device *netdev, struct ethtool_flash *efl)
{}

static int
be_get_dump_flag(struct net_device *netdev, struct ethtool_dump *dump)
{}

static int
be_get_dump_data(struct net_device *netdev, struct ethtool_dump *dump,
		 void *buf)
{}

static int be_get_eeprom_len(struct net_device *netdev)
{}

static int be_read_eeprom(struct net_device *netdev,
			  struct ethtool_eeprom *eeprom, uint8_t *data)
{}

static u32 be_get_msg_level(struct net_device *netdev)
{}

static void be_set_msg_level(struct net_device *netdev, u32 level)
{}

static u64 be_get_rss_hash_opts(struct be_adapter *adapter, u64 flow_type)
{}

static int be_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd,
			u32 *rule_locs)
{}

static int be_set_rss_hash_opts(struct be_adapter *adapter,
				struct ethtool_rxnfc *cmd)
{}

static int be_set_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd)
{}

static void be_get_channels(struct net_device *netdev,
			    struct ethtool_channels *ch)
{}

static int be_set_channels(struct net_device  *netdev,
			   struct ethtool_channels *ch)
{}

static u32 be_get_rxfh_indir_size(struct net_device *netdev)
{}

static u32 be_get_rxfh_key_size(struct net_device *netdev)
{}

static int be_get_rxfh(struct net_device *netdev,
		       struct ethtool_rxfh_param *rxfh)
{}

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

static int be_get_module_info(struct net_device *netdev,
			      struct ethtool_modinfo *modinfo)
{}

static int be_get_module_eeprom(struct net_device *netdev,
				struct ethtool_eeprom *eeprom, u8 *data)
{}

static u32 be_get_priv_flags(struct net_device *netdev)
{}

static int be_set_priv_flags(struct net_device *netdev, u32 flags)
{}

const struct ethtool_ops be_ethtool_ops =;