linux/drivers/net/ethernet/chelsio/cxgb/common.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*****************************************************************************
 *                                                                           *
 * File: common.h                                                            *
 * $Revision: 1.21 $                                                         *
 * $Date: 2005/06/22 00:43:25 $                                              *
 * Description:                                                              *
 *  part of the Chelsio 10Gb Ethernet Driver.                                *
 *                                                                           *
 *                                                                           *
 * http://www.chelsio.com                                                    *
 *                                                                           *
 * Copyright (c) 2003 - 2005 Chelsio Communications, Inc.                    *
 * All rights reserved.                                                      *
 *                                                                           *
 * Maintainers: [email protected]                                      *
 *                                                                           *
 * Authors: Dimitrios Michailidis   <[email protected]>                         *
 *          Tina Yang               <[email protected]>                     *
 *          Felix Marti             <[email protected]>                      *
 *          Scott Bardone           <[email protected]>                   *
 *          Kurt Ottaway            <[email protected]>                   *
 *          Frank DiMambro          <[email protected]>                      *
 *                                                                           *
 * History:                                                                  *
 *                                                                           *
 ****************************************************************************/

#define pr_fmt(fmt)

#ifndef _CXGB_COMMON_H_
#define _CXGB_COMMON_H_

#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/ethtool.h>
#include <linux/if_vlan.h>
#include <linux/mdio.h>
#include <linux/crc32.h>
#include <linux/slab.h>
#include <asm/io.h>
#include <linux/pci_ids.h>

#define DRV_DESCRIPTION
#define DRV_NAME

#define CH_DEVICE(devid, ssid, idx)

#define SUPPORTED_PAUSE
#define SUPPORTED_LOOPBACK

#define ADVERTISED_PAUSE
#define ADVERTISED_ASYM_PAUSE

adapter_t;

struct t1_rx_mode {};

#define t1_rx_mode_promisc(rm)
#define t1_rx_mode_allmulti(rm)
#define t1_rx_mode_mc_cnt(rm)
#define t1_get_netdev(rm)

#define MAX_NPORTS
#define PORT_MASK
#define NMTUS
#define TCB_SIZE

#define SPEED_INVALID
#define DUPLEX_INVALID

/* Max frame size PM3393 can handle. Includes Ethernet header and CRC. */
#define PM3393_MAX_FRAME_SIZE

#define VSC7326_MAX_MTU

enum {};

enum {};

enum {};

enum {};

enum {};

/* Revisions of T1 chip */
enum {};

struct sge_params {};

struct chelsio_pci_params {};

struct tp_params {};

struct mc5_params {};

/* Default MC5 region sizes */
#define DEFAULT_SERVER_REGION_LEN
#define DEFAULT_RT_REGION_LEN

struct adapter_params {};

struct link_config {};

struct cmac;
struct cphy;

struct port_info {};

struct sge;
struct peespi;

struct adapter {};

enum {};

struct mdio_ops;
struct gmac;
struct gphy;

struct board_info {};

static inline int t1_is_asic(const adapter_t *adapter)
{}

extern const struct pci_device_id t1_pci_tbl[];

static inline int adapter_matches_type(const adapter_t *adapter,
				       int version, int revision)
{}

#define t1_is_T1B(adap)
#define is_T2(adap)

/* Returns true if an adapter supports VLAN acceleration and TSO */
static inline int vlan_tso_capable(const adapter_t *adapter)
{}

#define for_each_port(adapter, iter)

#define board_info(adapter)
#define is_10G(adapter)

static inline unsigned int core_ticks_per_usec(const adapter_t *adap)
{}

int __t1_tpi_read(adapter_t *adapter, u32 addr, u32 *valp);
int __t1_tpi_write(adapter_t *adapter, u32 addr, u32 value);
int t1_tpi_write(adapter_t *adapter, u32 addr, u32 value);
int t1_tpi_read(adapter_t *adapter, u32 addr, u32 *value);

void t1_interrupts_enable(adapter_t *adapter);
void t1_interrupts_disable(adapter_t *adapter);
void t1_interrupts_clear(adapter_t *adapter);
int t1_elmer0_ext_intr_handler(adapter_t *adapter);
irqreturn_t t1_slow_intr_handler(adapter_t *adapter);

int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
const struct board_info *t1_get_board_info(unsigned int board_id);
int t1_seeprom_read(adapter_t *adapter, u32 addr, __le32 *data);
int t1_get_board_rev(adapter_t *adapter, const struct board_info *bi,
		     struct adapter_params *p);
int t1_init_hw_modules(adapter_t *adapter);
int t1_init_sw_modules(adapter_t *adapter, const struct board_info *bi);
void t1_free_sw_modules(adapter_t *adapter);
void t1_link_changed(adapter_t *adapter, int port_id);
void t1_link_negotiated(adapter_t *adapter, int port_id, int link_stat,
			    int speed, int duplex, int pause);
#endif /* _CXGB_COMMON_H_ */