linux/drivers/net/ethernet/chelsio/cxgb/vsc7326.c

// SPDX-License-Identifier: GPL-2.0
/* $Date: 2006/04/28 19:20:06 $ $RCSfile: vsc7326.c,v $ $Revision: 1.19 $ */

/* Driver for Vitesse VSC7326 (Schaumburg) MAC */

#include "gmac.h"
#include "elmer0.h"
#include "vsc7326_reg.h"

/* Update fast changing statistics every 15 seconds */
#define STATS_TICK_SECS
/* 30 minutes for full statistics update */
#define MAJOR_UPDATE_TICKS

/* The egress WM value 0x01a01fff should be used only when the
 * interface is down (MAC port disabled). This is a workaround
 * for disabling the T2/MAC flow-control. When the interface is
 * enabled, the WM value should be set to 0x014a03F0.
 */
#define WM_DISABLE
#define WM_ENABLE

struct init_table {};

struct _cmac_instance {};

#define INITBLOCK_SLEEP

static void vsc_read(adapter_t *adapter, u32 addr, u32 *val)
{}

static void vsc_write(adapter_t *adapter, u32 addr, u32 data)
{}

/* Hard reset the MAC.  This wipes out *all* configuration. */
static void vsc7326_full_reset(adapter_t* adapter)
{}

static struct init_table vsc7326_reset[] =;

static struct init_table vsc7326_portinit[4][22] =;

static void run_table(adapter_t *adapter, struct init_table *ib, int len)
{}

static int bist_rd(adapter_t *adapter, int moduleid, int address)
{}

static int bist_wr(adapter_t *adapter, int moduleid, int address, int value)
{}

static int run_bist(adapter_t *adapter, int moduleid)
{}

static int check_bist(adapter_t *adapter, int moduleid)
{}

static int enable_mem(adapter_t *adapter, int moduleid)
{}

static int run_bist_all(adapter_t *adapter)
{}

static int mac_intr_handler(struct cmac *mac)
{}

static int mac_intr_enable(struct cmac *mac)
{}

static int mac_intr_disable(struct cmac *mac)
{}

static int mac_intr_clear(struct cmac *mac)
{}

/* Expect MAC address to be in network byte order. */
static int mac_set_address(struct cmac* mac, const u8 addr[6])
{}

static int mac_get_address(struct cmac *mac, u8 addr[6])
{}

/* This is intended to reset a port, not the whole MAC */
static int mac_reset(struct cmac *mac)
{}

static int mac_set_rx_mode(struct cmac *mac, struct t1_rx_mode *rm)
{}

static int mac_set_mtu(struct cmac *mac, int mtu)
{}

static int mac_set_speed_duplex_fc(struct cmac *mac, int speed, int duplex,
				   int fc)
{}

static int mac_enable(struct cmac *mac, int which)
{}

static int mac_disable(struct cmac *mac, int which)
{}

static void rmon_update(struct cmac *mac, unsigned int addr, u64 *stat)
{}

static void port_stats_update(struct cmac *mac)
{}

/*
 * This function is called periodically to accumulate the current values of the
 * RMON counters into the port statistics.  Since the counters are only 32 bits
 * some of them can overflow in less than a minute at GigE speeds, so this
 * function should be called every 30 seconds or so.
 *
 * To cut down on reading costs we update only the octet counters at each tick
 * and do a full update at major ticks, which can be every 30 minutes or more.
 */
static const struct cmac_statistics *mac_update_statistics(struct cmac *mac,
							   int flag)
{}

static void mac_destroy(struct cmac *mac)
{}

static const struct cmac_ops vsc7326_ops =;

static struct cmac *vsc7326_mac_create(adapter_t *adapter, int index)
{}

static int vsc7326_mac_reset(adapter_t *adapter)
{}

const struct gmac t1_vsc7326_ops =;