linux/drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2015 Cavium, Inc.
 */

/* ETHTOOL Support for VNIC_VF Device*/

#include <linux/ethtool.h>
#include <linux/pci.h>
#include <linux/net_tstamp.h>

#include "nic_reg.h"
#include "nic.h"
#include "nicvf_queues.h"
#include "q_struct.h"
#include "thunder_bgx.h"
#include "../common/cavium_ptp.h"

#define DRV_NAME

struct nicvf_stat {};

#define NICVF_HW_STAT(stat)

#define NICVF_DRV_STAT(stat)

static const struct nicvf_stat nicvf_hw_stats[] =;

static const struct nicvf_stat nicvf_drv_stats[] =;

static const struct nicvf_stat nicvf_queue_stats[] =;

static const unsigned int nicvf_n_hw_stats =;
static const unsigned int nicvf_n_drv_stats =;
static const unsigned int nicvf_n_queue_stats =;

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

static u32 nicvf_get_link(struct net_device *netdev)
{}

static void nicvf_get_drvinfo(struct net_device *netdev,
			      struct ethtool_drvinfo *info)
{}

static u32 nicvf_get_msglevel(struct net_device *netdev)
{}

static void nicvf_set_msglevel(struct net_device *netdev, u32 lvl)
{}

static void nicvf_get_qset_strings(struct nicvf *nic, u8 **data, int qset)
{}

static void nicvf_get_strings(struct net_device *netdev, u32 sset, u8 *data)
{}

static int nicvf_get_sset_count(struct net_device *netdev, int sset)
{}

static void nicvf_get_qset_stats(struct nicvf *nic,
				 struct ethtool_stats *stats, u64 **data)
{}

static void nicvf_get_ethtool_stats(struct net_device *netdev,
				    struct ethtool_stats *stats, u64 *data)
{}

static int nicvf_get_regs_len(struct net_device *dev)
{}

static void nicvf_get_regs(struct net_device *dev,
			   struct ethtool_regs *regs, void *reg)
{}

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

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

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

static int nicvf_get_rss_hash_opts(struct nicvf *nic,
				   struct ethtool_rxnfc *info)
{}

static int nicvf_get_rxnfc(struct net_device *dev,
			   struct ethtool_rxnfc *info, u32 *rules)
{}

static int nicvf_set_rss_hash_opts(struct nicvf *nic,
				   struct ethtool_rxnfc *info)
{}

static int nicvf_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info)
{}

static u32 nicvf_get_rxfh_key_size(struct net_device *netdev)
{}

static u32 nicvf_get_rxfh_indir_size(struct net_device *dev)
{}

static int nicvf_get_rxfh(struct net_device *dev,
			  struct ethtool_rxfh_param *rxfh)
{}

static int nicvf_set_rxfh(struct net_device *dev,
			  struct ethtool_rxfh_param *rxfh,
			  struct netlink_ext_ack *extack)
{}

/* Get no of queues device supports and current queue count */
static void nicvf_get_channels(struct net_device *dev,
			       struct ethtool_channels *channel)
{}

/* Set no of Tx, Rx queues to be used */
static int nicvf_set_channels(struct net_device *dev,
			      struct ethtool_channels *channel)
{}

static void nicvf_get_pauseparam(struct net_device *dev,
				 struct ethtool_pauseparam *pause)
{}

static int nicvf_set_pauseparam(struct net_device *dev,
				struct ethtool_pauseparam *pause)
{}

static int nicvf_get_ts_info(struct net_device *netdev,
			     struct kernel_ethtool_ts_info *info)
{}

static const struct ethtool_ops nicvf_ethtool_ops =;

void nicvf_set_ethtool_ops(struct net_device *netdev)
{}