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))
void efx_readl(struct efx_nic *efx, efx_dword_t *value, unsigned int reg)
static unsigned int unsigned int reg
struct efx_special_buffer entry
uint32_t readl(volatile uint32_t *io_addr)
Read 32-bit dword from memory-mapped device.
void efx_probe(struct net_device *netdev, enum efx_revision rev)
unsigned long long uint64_t
static void _efx_writel(struct efx_nic *efx, uint32_t value, unsigned int reg)
unsigned int rx_cont_prev
A doubleword (4 byte) datatype - little-endian in HW.
efx_oword_t int_ker __aligned
const struct efx_nic_type hunt_nic_type
A buffer table allocation backing a tx dma, rx dma or eventq.
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)
pseudo_bit_t value[0x00020]
unsigned long long dma_addr_t
void writel(uint32_t data, volatile uint32_t *io_addr)
Write 32-bit dword to memory-mapped device.
static struct net_device * netdev
efx_qword_t efx_tx_desc_t
struct efx_special_buffer entry
void efx_writel(struct efx_nic *efx, efx_dword_t *value, unsigned int reg)
const struct efx_nic_type * type
enum efx_revision revision
unsigned int rx_prefix_size
efx_qword_t efx_rx_desc_t
void * membase
Memory and IO base.
Network device management.
struct io_buffer * buf[EFX_TXD_SIZE]
void efx_remove(struct net_device *netdev)
An octword (eight-word, so 16 byte) datatype - little-endian in HW.
struct io_buffer * buf[EFX_NUM_RX_DESC]
Efx device type definition.
struct efx_special_buffer entry
static uint32_t _efx_readl(struct efx_nic *efx, unsigned int reg)
A quadword (8 byte) datatype - little-endian in HW.
struct net_device * netdev
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)