#include <linux/bitfield.h>
#include <net/tcp.h>
#include "fbnic.h"
#include "fbnic_mac.h"
#include "fbnic_netdev.h"
static void fbnic_init_readrq(struct fbnic_dev *fbd, unsigned int offset,
unsigned int cls, unsigned int readrq)
{ … }
static void fbnic_init_mps(struct fbnic_dev *fbd, unsigned int offset,
unsigned int cls, unsigned int mps)
{ … }
static void fbnic_mac_init_axi(struct fbnic_dev *fbd)
{ … }
static void fbnic_mac_init_qm(struct fbnic_dev *fbd)
{ … }
#define FBNIC_DROP_EN_MASK …
#define FBNIC_PAUSE_EN_MASK …
#define FBNIC_ECN_EN_MASK …
struct fbnic_fifo_config { … };
static const struct fbnic_fifo_config fifo_config[] = …;
static void fbnic_mac_init_rxb(struct fbnic_dev *fbd)
{ … }
static void fbnic_mac_init_txb(struct fbnic_dev *fbd)
{ … }
static void fbnic_mac_init_regs(struct fbnic_dev *fbd)
{ … }
static void __fbnic_mac_stat_rd64(struct fbnic_dev *fbd, bool reset, u32 reg,
struct fbnic_stat_counter *stat)
{ … }
#define fbnic_mac_stat_rd64(fbd, reset, __stat, __CSR) …
static void fbnic_mac_tx_pause_config(struct fbnic_dev *fbd, bool tx_pause)
{ … }
static int fbnic_pcs_get_link_event_asic(struct fbnic_dev *fbd)
{ … }
static u32 __fbnic_mac_cmd_config_asic(struct fbnic_dev *fbd,
bool tx_pause, bool rx_pause)
{ … }
static bool fbnic_mac_get_pcs_link_status(struct fbnic_dev *fbd)
{ … }
static bool fbnic_pcs_get_link_asic(struct fbnic_dev *fbd)
{ … }
static void fbnic_pcs_get_fw_settings(struct fbnic_dev *fbd)
{ … }
static int fbnic_pcs_enable_asic(struct fbnic_dev *fbd)
{ … }
static void fbnic_pcs_disable_asic(struct fbnic_dev *fbd)
{ … }
static void fbnic_mac_link_down_asic(struct fbnic_dev *fbd)
{ … }
static void fbnic_mac_link_up_asic(struct fbnic_dev *fbd,
bool tx_pause, bool rx_pause)
{ … }
static void
fbnic_mac_get_eth_mac_stats(struct fbnic_dev *fbd, bool reset,
struct fbnic_eth_mac_stats *mac_stats)
{ … }
static const struct fbnic_mac fbnic_mac_asic = …;
int fbnic_mac_init(struct fbnic_dev *fbd)
{ … }