16#define INTELXLVF_BAR_SIZE 0x10000
24#define INTELXLVF_MSIX_VECTOR 1
27#define INTELXLVF_QTX_TAIL 0x00000
30#define INTELXLVF_QRX_TAIL 0x02000
33#define INTELXLVF_VFINT_DYN_CTLN( x ) ( 0x3800 + ( 0x4 * ( (x) - 1 ) ) )
36#define INTELXLVF_VFINT_DYN_CTL0 0x5c00
39#define INTELXLVF_ADMIN 0x6000
42#define INTELXLVF_ADMIN_CMD_BAL 0x1c00
45#define INTELXLVF_ADMIN_CMD_BAH 0x1800
48#define INTELXLVF_ADMIN_CMD_LEN 0x0800
51#define INTELXLVF_ADMIN_CMD_HEAD 0x0400
54#define INTELXLVF_ADMIN_CMD_TAIL 0x2400
57#define INTELXLVF_ADMIN_EVT_BAL 0x0c00
60#define INTELXLVF_ADMIN_EVT_BAH 0x0000
63#define INTELXLVF_ADMIN_EVT_LEN 0x2000
66#define INTELXLVF_ADMIN_EVT_HEAD 0x1400
69#define INTELXLVF_ADMIN_EVT_TAIL 0x1000
72#define INTELXLVF_ADMIN_MAX_WAIT_MS 2000
75#define INTELXLVF_ADMIN_SEND_TO_PF 0x0801
78#define INTELXLVF_ADMIN_SEND_TO_VF 0x0802
81#define INTELXLVF_ADMIN_VERSION 0x00000001
92#define INTELXLVF_ADMIN_API_MAJOR 1
95#define INTELXLVF_ADMIN_API_MINOR 1
98#define INTELXLVF_ADMIN_RESET 0x00000002
101#define INTELXLVF_ADMIN_GET_RESOURCES 0x00000003
132#define INTELXLVF_ADMIN_CAP_L2 0x00000001
135#define INTELXLVF_ADMIN_CAP_RQPS 0x00000040
138#define INTELXLVF_ADMIN_STATUS 0x00000011
141#define INTELXLVF_ADMIN_STATUS_LINK 0x00000001
167#define INTELXLVF_ADMIN_CONFIGURE 0x00000006
223#define INTELXLVF_ADMIN_IRQ_MAP 0x00000007
251#define INTELXLVF_ADMIN_ENABLE 0x00000008
254#define INTELXLVF_ADMIN_DISABLE 0x00000009
269#define INTELXLVF_ADMIN_PROMISC 0x0000000e
280#define INTELXLVF_ADMIN_GET_STATS 0x0000000f
307#define INTELXLVF_ADMIN_REQUEST_QPS 0x0000001d
396#define INTELXLVF_VFGEN_RSTAT 0x8800
397#define INTELXLVF_VFGEN_RSTAT_VFR_STATE(x) ( (x) & 0x3 )
398#define INTELXLVF_VFGEN_RSTAT_VFR_STATE_ACTIVE 0x2
401#define INTELXLVF_RESET_DELAY_MS 100
404#define INTELXLVF_RESET_MAX_WAIT_MS 1000
416 size_t len,
unsigned int tail ) {
unsigned long long uint64_t
uint8_t id
Request identifier.
uint8_t data[48]
Additional event data.
uint8_t reserved_b[2]
Reserved.
static unsigned int count
Number of entries.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
union intelxl_admin_buffer * intelxl_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
struct intelxl_admin_descriptor * intelxl_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
Intel 40 Gigabit Ethernet network card driver.
struct intelxlvf_admin_descriptor * intelxlvf_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
static union intelxlvf_admin_buffer * intelxlvf_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
static void intelxlvf_init_ring(struct intelxl_ring *ring, unsigned int count, size_t len, unsigned int tail)
Initialise descriptor ring.
#define container_of(ptr, type, field)
Get containing structure.
An Intel 40 Gigabit network card.
size_t len
Length (in bytes)
unsigned int tail
Tail register.
Admin Queue VF Capabilities data buffer.
uint32_t caps
Capabilities.
uint32_t vopcode
VF opcode.
union intelxl_admin_params params
Parameters.
struct intelxl_admin_descriptor xl
Original 40 Gigabit Ethernet descriptor.
int32_t vret
VF return value.
uint16_t ret
Return value.
Admin Queue VF Get Resources data buffer.
uint32_t caps
Capabilities.
uint8_t reserved_b[8]
Reserved.
uint16_t vsis
Number of VSIs.
uint16_t qps
Number of queue pairs.
uint16_t vectors
Number of MSI-X vectors.
uint16_t vsi
VSI switching element ID.
uint8_t reserved_a[8]
Reserved.
uint8_t mac[ETH_ALEN]
MAC address.
Admin Queue VF IRQ Map data buffer.
uint16_t vec
Interrupt vector ID.
uint16_t rxitr
Receive interrupt throttling index.
uint16_t txmap
Transmit queue bitmap.
uint16_t vsi
VSI switching element ID.
uint16_t txitr
Transmit interrupt throttling index.
uint8_t reserved[12]
Reserved.
uint16_t count
Number of interrupt vectors.
uint16_t rxmap
Receive queue bitmap.
Admin Queue VF Configure Promiscuous Mode data buffer.
uint16_t vsi
VSI switching element ID.
Admin Queue VF Enable/Disable Queues data buffer.
uint32_t tx
Transmit queue bitmask.
uint8_t reserved[2]
Reserved.
uint32_t rx
Receive queue bitmask.
uint16_t vsi
VSI switching element ID.
Admin Queue VF Request Queues data buffer.
uint16_t count
Number of queue pairs.
Admin Queue VF Get Statistics data buffer.
struct intelxlvf_admin_stats tx
Transmit statistics.
struct intelxlvf_admin_stats rx
Receive statistics.
uint64_t broadcasts
Broadcast packets.
uint64_t unicasts
Unicast packets.
uint64_t discards
Discarded packets.
uint64_t multicasts
Multicast packets.
Admin Queue VF Status Change Event data buffer.
uint32_t event
Event type.
uint8_t reserved[4]
Reserved.
struct intelxlvf_admin_status_link link
Link change event data.
Link status change event data.
uint8_t status
Link status.
uint8_t reserved[3]
Reserved.
uint32_t speed
Link speed.
Admin Queue VF Version data buffer.
uint32_t major
Major version.
uint32_t minor
Minor version.
Admin queue command parameters.
struct intelxlvf_admin_irq_map_buffer irq
VF IRQ Map data buffer.
struct intelxlvf_admin_status_buffer stat
VF Status Change Event data buffer.
struct intelxlvf_admin_queues_buffer queues
VF Enable/Disable Queues data buffer.
struct intelxlvf_admin_promisc_buffer promisc
VF Configure Promiscuous Mode data buffer.
struct intelxlvf_admin_version_buffer ver
VF Version data buffer.
struct intelxlvf_admin_configure_buffer cfg
VF Configure Queues data buffer.
union intelxl_admin_buffer xl
Original 40 Gigabit Ethernet data buffer.
struct intelxlvf_admin_stats_buffer stats
VF Get Statistics data buffer.
struct intelxlvf_admin_get_resources_buffer res
VF Get Resources data buffer.
struct intelxlvf_admin_request_qps_buffer rqps
VF Request Queues data buffer.
struct intelxlvf_admin_capabilities_buffer caps
VF Capabilities data buffer.
u8 tx[WPA_TKIP_MIC_KEY_LEN]
MIC key for packets to the AP.
u8 rx[WPA_TKIP_MIC_KEY_LEN]
MIC key for packets from the AP.