linux/drivers/net/ethernet/aquantia/atlantic/aq_nic.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_nic.c: Definition of common code for NIC. */

#include "aq_nic.h"
#include "aq_ring.h"
#include "aq_vec.h"
#include "aq_hw.h"
#include "aq_pci_func.h"
#include "aq_macsec.h"
#include "aq_main.h"
#include "aq_phy.h"
#include "aq_ptp.h"
#include "aq_filters.h"

#include <linux/moduleparam.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/timer.h>
#include <linux/cpu.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <net/ip.h>
#include <net/pkt_cls.h>

static unsigned int aq_itr =;
module_param_named(aq_itr, aq_itr, uint, 0644);
MODULE_PARM_DESC();

static unsigned int aq_itr_tx;
module_param_named(aq_itr_tx, aq_itr_tx, uint, 0644);
MODULE_PARM_DESC();

static unsigned int aq_itr_rx;
module_param_named(aq_itr_rx, aq_itr_rx, uint, 0644);
MODULE_PARM_DESC();

static void aq_nic_update_ndev_stats(struct aq_nic_s *self);

static void aq_nic_rss_init(struct aq_nic_s *self, unsigned int num_rss_queues)
{}

/* Recalculate the number of vectors */
static void aq_nic_cfg_update_num_vecs(struct aq_nic_s *self)
{}

/* Checks hw_caps and 'corrects' aq_nic_cfg in runtime */
void aq_nic_cfg_start(struct aq_nic_s *self)
{}

static int aq_nic_update_link_status(struct aq_nic_s *self)
{}

static irqreturn_t aq_linkstate_threaded_isr(int irq, void *private)
{}

static void aq_nic_service_task(struct work_struct *work)
{}

static void aq_nic_service_timer_cb(struct timer_list *t)
{}

static void aq_nic_polling_timer_cb(struct timer_list *t)
{}

static int aq_nic_hw_prepare(struct aq_nic_s *self)
{}

static bool aq_nic_is_valid_ether_addr(const u8 *addr)
{}

int aq_nic_ndev_register(struct aq_nic_s *self)
{}

void aq_nic_ndev_init(struct aq_nic_s *self)
{}

void aq_nic_set_tx_ring(struct aq_nic_s *self, unsigned int idx,
			struct aq_ring_s *ring)
{}

struct net_device *aq_nic_get_ndev(struct aq_nic_s *self)
{}

int aq_nic_init(struct aq_nic_s *self)
{}

int aq_nic_start(struct aq_nic_s *self)
{}

static unsigned int aq_nic_map_xdp(struct aq_nic_s *self,
				   struct xdp_frame *xdpf,
				   struct aq_ring_s *ring)
{}

unsigned int aq_nic_map_skb(struct aq_nic_s *self, struct sk_buff *skb,
			    struct aq_ring_s *ring)
{}

int aq_nic_xmit_xdpf(struct aq_nic_s *aq_nic, struct aq_ring_s *tx_ring,
		     struct xdp_frame *xdpf)
{}

int aq_nic_xmit(struct aq_nic_s *self, struct sk_buff *skb)
{}

int aq_nic_update_interrupt_moderation_settings(struct aq_nic_s *self)
{}

int aq_nic_set_packet_filter(struct aq_nic_s *self, unsigned int flags)
{}

int aq_nic_set_multicast_list(struct aq_nic_s *self, struct net_device *ndev)
{}

int aq_nic_set_mtu(struct aq_nic_s *self, int new_mtu)
{}

int aq_nic_set_mac(struct aq_nic_s *self, struct net_device *ndev)
{}

unsigned int aq_nic_get_link_speed(struct aq_nic_s *self)
{}

int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p)
{}

int aq_nic_get_regs_count(struct aq_nic_s *self)
{}

u64 *aq_nic_get_stats(struct aq_nic_s *self, u64 *data)
{}

static void aq_nic_update_ndev_stats(struct aq_nic_s *self)
{}

void aq_nic_get_link_ksettings(struct aq_nic_s *self,
			       struct ethtool_link_ksettings *cmd)
{}

int aq_nic_set_link_ksettings(struct aq_nic_s *self,
			      const struct ethtool_link_ksettings *cmd)
{}

struct aq_nic_cfg_s *aq_nic_get_cfg(struct aq_nic_s *self)
{}

u32 aq_nic_get_fw_version(struct aq_nic_s *self)
{}

int aq_nic_set_loopback(struct aq_nic_s *self)
{}

int aq_nic_stop(struct aq_nic_s *self)
{}

void aq_nic_set_power(struct aq_nic_s *self)
{}

void aq_nic_deinit(struct aq_nic_s *self, bool link_down)
{}

void aq_nic_free_vectors(struct aq_nic_s *self)
{}

int aq_nic_realloc_vectors(struct aq_nic_s *self)
{}

void aq_nic_shutdown(struct aq_nic_s *self)
{}

u8 aq_nic_reserve_filter(struct aq_nic_s *self, enum aq_rx_filter_type type)
{}

void aq_nic_release_filter(struct aq_nic_s *self, enum aq_rx_filter_type type,
			   u32 location)
{}

int aq_nic_set_downshift(struct aq_nic_s *self, int val)
{}

int aq_nic_set_media_detect(struct aq_nic_s *self, int val)
{}

int aq_nic_setup_tc_mqprio(struct aq_nic_s *self, u32 tcs, u8 *prio_tc_map)
{}

int aq_nic_setup_tc_max_rate(struct aq_nic_s *self, const unsigned int tc,
			     const u32 max_rate)
{}

int aq_nic_setup_tc_min_rate(struct aq_nic_s *self, const unsigned int tc,
			     const u32 min_rate)
{}