26#define __packed __attribute__((__packed__))
33#define BUILD_BUG_ON_ZERO(e) (sizeof(struct{int: -!!(e); }))
34#define BUILD_BUG_ON(e) ((void)BUILD_BUG_ON_ZERO(e))
43#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
55#define EFX_BUF_ALIGN 4096
56#define EFX_RXD_SIZE 512
57#define EFX_RXD_MASK (EFX_RXD_SIZE - 1)
58#define EFX_TXD_SIZE 512
59#define EFX_TXD_MASK (EFX_TXD_SIZE - 1)
60#define EFX_EVQ_SIZE 512
61#define EFX_EVQ_MASK (EFX_EVQ_SIZE - 1)
68#define EFX_NUM_RX_DESC 64
69#define EFX_NUM_RX_DESC_MASK (EFX_NUM_RX_DESC - 1)
74#define EFX_RX_BUF_SIZE 1600
78#define EFX_STATE_POLLING 1
185 size_t *outlen_actual,
bool quiet);
190#define EFX_MAC_FRAME_LEN(_mtu) \
213 return readl((efx)->membase + (
reg));
216#define efx_writel_table(efx, value, index, reg) \
217 efx_writel(efx, value, (reg) + ((index) * reg##_STEP))
219#define efx_writel_page(efx, value, index, reg) \
220 efx_writel(efx, value, (reg) + ((index) * 0x2000))
pseudo_bit_t value[0x00020]
unsigned long long uint64_t
union efx_oword efx_oword_t
An octword (eight-word, so 16 byte) datatype - little-endian in HW.
union efx_dword efx_dword_t
A doubleword (4 byte) datatype - little-endian in HW.
union efx_qword efx_qword_t
A quadword (8 byte) datatype - little-endian in HW.
void efx_probe(struct net_device *netdev, enum efx_revision rev)
const struct efx_nic_type hunt_nic_type
static void _efx_writel(struct efx_nic *efx, uint32_t value, unsigned int reg)
static uint32_t _efx_readl(struct efx_nic *efx, unsigned int reg)
efx_qword_t efx_rx_desc_t
void efx_remove(struct net_device *netdev)
unsigned long long dma_addr_t
void efx_writel(struct efx_nic *efx, efx_dword_t *value, unsigned int reg)
void efx_readl(struct efx_nic *efx, efx_dword_t *value, unsigned int reg)
efx_qword_t efx_tx_desc_t
static struct net_device * netdev
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
static unsigned int unsigned int reg
Network device management.
struct efx_special_buffer entry
Efx device type definition.
int(* mcdi_rpc)(struct efx_nic *efx, unsigned int cmd, const efx_dword_t *inbuf, size_t inlen, efx_dword_t *outbuf, size_t outlen, size_t *outlen_actual, bool quiet)
efx_oword_t int_ker __aligned
const struct efx_nic_type * type
struct net_device * netdev
enum efx_revision revision
unsigned int rx_prefix_size
void * membase
Memory and IO base.
unsigned int rx_cont_prev
struct io_buffer * buf[EFX_NUM_RX_DESC]
struct efx_special_buffer entry
A buffer table allocation backing a tx dma, rx dma or eventq.
struct io_buffer * buf[EFX_TXD_SIZE]
struct efx_special_buffer entry