iPXE
|
#include <stdbool.h>
#include <ipxe/io.h>
#include <ipxe/netdevice.h>
#include "efx_bitfield.h"
#include "mcdi.h"
Go to the source code of this file.
Data Structures | |
struct | efx_special_buffer |
A buffer table allocation backing a tx dma, rx dma or eventq. More... | |
struct | efx_tx_queue |
A transmit queue. More... | |
struct | efx_rx_queue |
A receive queue. More... | |
struct | efx_ev_queue |
An event queue. More... | |
struct | efx_nic |
Hardware access. More... | |
struct | efx_nic_type |
Efx device type definition. More... | |
Macros | |
#define | __packed __attribute__((__packed__)) |
#define | __force /*nothing*/ |
#define | BUILD_BUG_ON_ZERO(e) (sizeof(struct{int: -!!(e); })) |
#define | BUILD_BUG_ON(e) ((void)BUILD_BUG_ON_ZERO(e)) |
#define | ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) |
#define | EFX_BUF_ALIGN 4096 |
#define | EFX_RXD_SIZE 512 |
#define | EFX_RXD_MASK (EFX_RXD_SIZE - 1) |
#define | EFX_TXD_SIZE 512 |
#define | EFX_TXD_MASK (EFX_TXD_SIZE - 1) |
#define | EFX_EVQ_SIZE 512 |
#define | EFX_EVQ_MASK (EFX_EVQ_SIZE - 1) |
#define | EFX_NUM_RX_DESC 64 |
#define | EFX_NUM_RX_DESC_MASK (EFX_NUM_RX_DESC - 1) |
#define | EFX_RX_BUF_SIZE 1600 |
#define | EFX_STATE_POLLING 1 |
#define | EFX_MAC_FRAME_LEN(_mtu) |
#define | efx_writel_table(efx, value, index, reg) efx_writel(efx, value, (reg) + ((index) * reg##_STEP)) |
#define | efx_writel_page(efx, value, index, reg) efx_writel(efx, value, (reg) + ((index) * 0x2000)) |
Typedefs | |
typedef uint16_t | __le16 |
typedef uint32_t | __le32 |
typedef uint64_t | __le64 |
typedef efx_qword_t | efx_rx_desc_t |
typedef efx_qword_t | efx_tx_desc_t |
typedef efx_qword_t | efx_event_t |
typedef unsigned long long | dma_addr_t |
Enumerations | |
enum | efx_revision { EFX_HUNTINGTON } |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
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) |
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) |
void | efx_probe (struct net_device *netdev, enum efx_revision rev) |
void | efx_remove (struct net_device *netdev) |
Variables | |
const struct efx_nic_type | hunt_nic_type |
#define __packed __attribute__((__packed__)) |
Definition at line 26 of file efx_common.h.
#define __force /*nothing*/ |
Definition at line 27 of file efx_common.h.
#define BUILD_BUG_ON_ZERO | ( | e | ) | (sizeof(struct{int: -!!(e); })) |
Definition at line 33 of file efx_common.h.
#define BUILD_BUG_ON | ( | e | ) | ((void)BUILD_BUG_ON_ZERO(e)) |
Definition at line 34 of file efx_common.h.
#define ARRAY_SIZE | ( | x | ) | (sizeof(x) / sizeof((x)[0])) |
Definition at line 43 of file efx_common.h.
#define EFX_BUF_ALIGN 4096 |
Definition at line 55 of file efx_common.h.
#define EFX_RXD_SIZE 512 |
Definition at line 56 of file efx_common.h.
#define EFX_RXD_MASK (EFX_RXD_SIZE - 1) |
Definition at line 57 of file efx_common.h.
#define EFX_TXD_SIZE 512 |
Definition at line 58 of file efx_common.h.
#define EFX_TXD_MASK (EFX_TXD_SIZE - 1) |
Definition at line 59 of file efx_common.h.
#define EFX_EVQ_SIZE 512 |
Definition at line 60 of file efx_common.h.
#define EFX_EVQ_MASK (EFX_EVQ_SIZE - 1) |
Definition at line 61 of file efx_common.h.
#define EFX_NUM_RX_DESC 64 |
Definition at line 68 of file efx_common.h.
#define EFX_NUM_RX_DESC_MASK (EFX_NUM_RX_DESC - 1) |
Definition at line 69 of file efx_common.h.
#define EFX_RX_BUF_SIZE 1600 |
Definition at line 74 of file efx_common.h.
#define EFX_STATE_POLLING 1 |
Definition at line 78 of file efx_common.h.
#define EFX_MAC_FRAME_LEN | ( | _mtu | ) |
Definition at line 190 of file efx_common.h.
#define efx_writel_table | ( | efx, | |
value, | |||
index, | |||
reg | |||
) | efx_writel(efx, value, (reg) + ((index) * reg##_STEP)) |
Definition at line 216 of file efx_common.h.
#define efx_writel_page | ( | efx, | |
value, | |||
index, | |||
reg | |||
) | efx_writel(efx, value, (reg) + ((index) * 0x2000)) |
Definition at line 219 of file efx_common.h.
Definition at line 29 of file efx_common.h.
Definition at line 30 of file efx_common.h.
Definition at line 31 of file efx_common.h.
typedef efx_qword_t efx_rx_desc_t |
Definition at line 51 of file efx_common.h.
typedef efx_qword_t efx_tx_desc_t |
Definition at line 52 of file efx_common.h.
typedef efx_qword_t efx_event_t |
Definition at line 53 of file efx_common.h.
typedef unsigned long long dma_addr_t |
Definition at line 80 of file efx_common.h.
enum efx_revision |
Enumerator | |
---|---|
EFX_HUNTINGTON |
Definition at line 142 of file efx_common.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
Definition at line 205 of file efx_common.h.
References reg, value, and writel().
Referenced by efx_writel(), hunt_mcdi_copyin(), and hunt_probe().
void efx_writel | ( | struct efx_nic * | efx, |
efx_dword_t * | value, | ||
unsigned int | reg | ||
) |
Definition at line 49 of file efx_common.c.
References _efx_writel(), DBGCIO, EFX_DWORD_FMT, EFX_DWORD_VAL, reg, and value.
void efx_readl | ( | struct efx_nic * | efx, |
efx_dword_t * | value, | ||
unsigned int | reg | ||
) |
Definition at line 57 of file efx_common.c.
References _efx_readl(), DBGCIO, EFX_DWORD_FMT, EFX_DWORD_VAL, reg, and value.
Referenced by efx_hunt_clear_interrupts().
void efx_probe | ( | struct net_device * | netdev, |
enum efx_revision | rev | ||
) |
Definition at line 71 of file efx_common.c.
References adjust_pci_device(), container_of, DBGCP, pci_device::dev, net_device::dev, efx_nic::membase, efx_nic::mmio_len, efx_nic::mmio_start, netdev, efx_nic::netdev, pci_bar_size(), pci_bar_start(), PCI_BASE_ADDRESS_0, PCI_BASE_ADDRESS_2, PCI_BASE_ADDRESS_IO_MASK, PCI_BASE_ADDRESS_SPACE_IO, pci_ioremap(), pci_read_config_dword(), net_device::priv, reg, revision, and efx_nic::revision.
Referenced by hunt_probe().
void efx_remove | ( | struct net_device * | netdev | ) |
Definition at line 98 of file efx_common.c.
References iounmap(), efx_nic::membase, netdev, NULL, and net_device::priv.
Referenced by hunt_probe(), and hunt_remove().
const struct efx_nic_type hunt_nic_type |
Definition at line 1313 of file sfc_hunt.c.
Referenced by hunt_probe().