linux/drivers/net/ethernet/meta/fbnic/fbnic_mac.c

// SPDX-License-Identifier: GPL-2.0
/* Copyright (c) Meta Platforms, Inc. and affiliates. */

#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 {};

/* Rx FIFO Configuration
 * The table consists of 8 entries, of which only 4 are currently used
 * The starting addr is in units of 64B and the size is in 2KB units
 * Below is the human readable version of the table defined below:
 * Function		Addr	Size
 * ----------------------------------
 * Network to Host/BMC	384K	64K
 * Unused
 * Unused
 * Network to BMC	448K	32K
 * Network to Host	0	384K
 * Unused
 * BMC to Host		480K	32K
 * Unused
 */
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 =;

/**
 * fbnic_mac_init - Assign a MAC type and initialize the fbnic device
 * @fbd: Device pointer to device to initialize
 *
 * Return: zero on success, negative on failure
 *
 * Initialize the MAC function pointers and initializes the MAC of
 * the device.
 **/
int fbnic_mac_init(struct fbnic_dev *fbd)
{}