linux/drivers/net/ethernet/intel/igbvf/vf.h

/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright(c) 2009 - 2018 Intel Corporation. */

#ifndef _E1000_VF_H_
#define _E1000_VF_H_

#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/if_ether.h>

#include "regs.h"
#include "defines.h"

struct e1000_hw;

#define E1000_DEV_ID_82576_VF
#define E1000_DEV_ID_I350_VF
#define E1000_REVISION_0
#define E1000_REVISION_1
#define E1000_REVISION_2
#define E1000_REVISION_3
#define E1000_REVISION_4

#define E1000_FUNC_0
#define E1000_FUNC_1

/* Receive Address Register Count
 * Number of high/low register pairs in the RAR.  The RAR (Receive Address
 * Registers) holds the directed and multicast addresses that we monitor.
 * These entries are also used for MAC-based filtering.
 */
#define E1000_RAR_ENTRIES_VF

/* Receive Descriptor - Advanced */
e1000_adv_rx_desc;

#define E1000_RXDADV_HDRBUFLEN_MASK
#define E1000_RXDADV_HDRBUFLEN_SHIFT

/* Transmit Descriptor - Advanced */
e1000_adv_tx_desc;

/* Adv Transmit Descriptor Config Masks */
#define E1000_ADVTXD_DTYP_CTXT
#define E1000_ADVTXD_DTYP_DATA
#define E1000_ADVTXD_DCMD_EOP
#define E1000_ADVTXD_DCMD_IFCS
#define E1000_ADVTXD_DCMD_RS
#define E1000_ADVTXD_DCMD_DEXT
#define E1000_ADVTXD_DCMD_VLE
#define E1000_ADVTXD_DCMD_TSE
#define E1000_ADVTXD_PAYLEN_SHIFT

/* Context descriptors */
struct e1000_adv_tx_context_desc {};

#define E1000_ADVTXD_MACLEN_SHIFT
#define E1000_ADVTXD_TUCMD_IPV4
#define E1000_ADVTXD_TUCMD_L4T_TCP
#define E1000_ADVTXD_TUCMD_L4T_SCTP
#define E1000_ADVTXD_L4LEN_SHIFT
#define E1000_ADVTXD_MSS_SHIFT

enum e1000_mac_type {};

struct e1000_vf_stats {};

#include "mbx.h"

struct e1000_mac_operations {};

struct e1000_mac_info {};

struct e1000_mbx_operations {};

struct e1000_mbx_stats {};

struct e1000_mbx_info {};

struct e1000_dev_spec_vf {};

struct e1000_hw {};

/* These functions must be implemented by drivers */
void e1000_rlpml_set_vf(struct e1000_hw *, u16);
void e1000_init_function_pointers_vf(struct e1000_hw *hw);

#endif /* _E1000_VF_H_ */