#include <linux/etherdevice.h>
#include <linux/io-64-nonatomic-hi-lo.h>
#include <linux/lockdep.h>
#include <net/dst_metadata.h>
#include "nfpcore/nfp_cpp.h"
#include "nfpcore/nfp_nsp.h"
#include "nfp_app.h"
#include "nfp_main.h"
#include "nfp_net.h"
#include "nfp_net_ctrl.h"
#include "nfp_net_repr.h"
#include "nfp_net_sriov.h"
#include "nfp_port.h"
struct net_device *
nfp_repr_get_locked(struct nfp_app *app, struct nfp_reprs *set, unsigned int id)
{ … }
static void
nfp_repr_inc_tx_stats(struct net_device *netdev, unsigned int len,
int tx_status)
{ … }
void nfp_repr_inc_rx_stats(struct net_device *netdev, unsigned int len)
{ … }
static void
nfp_repr_phy_port_get_stats64(struct nfp_port *port,
struct rtnl_link_stats64 *stats)
{ … }
static void
nfp_repr_vnic_get_stats64(struct nfp_port *port,
struct rtnl_link_stats64 *stats)
{ … }
static void
nfp_repr_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats)
{ … }
static bool
nfp_repr_has_offload_stats(const struct net_device *dev, int attr_id)
{ … }
static int
nfp_repr_get_host_stats64(const struct net_device *netdev,
struct rtnl_link_stats64 *stats)
{ … }
static int
nfp_repr_get_offload_stats(int attr_id, const struct net_device *dev,
void *stats)
{ … }
static int nfp_repr_change_mtu(struct net_device *netdev, int new_mtu)
{ … }
static netdev_tx_t nfp_repr_xmit(struct sk_buff *skb, struct net_device *netdev)
{ … }
static int nfp_repr_stop(struct net_device *netdev)
{ … }
static int nfp_repr_open(struct net_device *netdev)
{ … }
static netdev_features_t
nfp_repr_fix_features(struct net_device *netdev, netdev_features_t features)
{ … }
const struct net_device_ops nfp_repr_netdev_ops = …;
void
nfp_repr_transfer_features(struct net_device *netdev, struct net_device *lower)
{ … }
static void nfp_repr_clean(struct nfp_repr *repr)
{ … }
static struct lock_class_key nfp_repr_netdev_xmit_lock_key;
static void nfp_repr_set_lockdep_class_one(struct net_device *dev,
struct netdev_queue *txq,
void *_unused)
{ … }
static void nfp_repr_set_lockdep_class(struct net_device *dev)
{ … }
int nfp_repr_init(struct nfp_app *app, struct net_device *netdev,
u32 cmsg_port_id, struct nfp_port *port,
struct net_device *pf_netdev)
{ … }
static void __nfp_repr_free(struct nfp_repr *repr)
{ … }
void nfp_repr_free(struct net_device *netdev)
{ … }
struct net_device *
nfp_repr_alloc_mqs(struct nfp_app *app, unsigned int txqs, unsigned int rxqs)
{ … }
void nfp_repr_clean_and_free(struct nfp_repr *repr)
{ … }
void nfp_reprs_clean_and_free(struct nfp_app *app, struct nfp_reprs *reprs)
{ … }
void
nfp_reprs_clean_and_free_by_type(struct nfp_app *app, enum nfp_repr_type type)
{ … }
struct nfp_reprs *nfp_reprs_alloc(unsigned int num_reprs)
{ … }
int nfp_reprs_resync_phys_ports(struct nfp_app *app)
{ … }