15 #define INTELXLVF_BAR_SIZE 0x10000 23 #define INTELXLVF_MSIX_VECTOR 1 26 #define INTELXLVF_QTX_TAIL 0x00000 29 #define INTELXLVF_QRX_TAIL 0x02000 32 #define INTELXLVF_VFINT_DYN_CTLN( x ) ( 0x3800 + ( 0x4 * ( (x) - 1 ) ) ) 35 #define INTELXLVF_VFINT_DYN_CTL0 0x5c00 38 #define INTELXLVF_ADMIN 0x6000 41 #define INTELXLVF_ADMIN_CMD_BAL 0x1c00 44 #define INTELXLVF_ADMIN_CMD_BAH 0x1800 47 #define INTELXLVF_ADMIN_CMD_LEN 0x0800 50 #define INTELXLVF_ADMIN_CMD_HEAD 0x0400 53 #define INTELXLVF_ADMIN_CMD_TAIL 0x2400 56 #define INTELXLVF_ADMIN_EVT_BAL 0x0c00 59 #define INTELXLVF_ADMIN_EVT_BAH 0x0000 62 #define INTELXLVF_ADMIN_EVT_LEN 0x2000 65 #define INTELXLVF_ADMIN_EVT_HEAD 0x1400 68 #define INTELXLVF_ADMIN_EVT_TAIL 0x1000 71 #define INTELXLVF_ADMIN_MAX_WAIT_MS 2000 74 #define INTELXLVF_ADMIN_SEND_TO_PF 0x0801 77 #define INTELXLVF_ADMIN_SEND_TO_VF 0x0802 80 #define INTELXLVF_ADMIN_VERSION 0x00000001 91 #define INTELXLVF_ADMIN_API_MAJOR 1 94 #define INTELXLVF_ADMIN_API_MINOR 1 97 #define INTELXLVF_ADMIN_RESET 0x00000002 100 #define INTELXLVF_ADMIN_GET_RESOURCES 0x00000003 131 #define INTELXLVF_ADMIN_CAP_L2 0x00000001 134 #define INTELXLVF_ADMIN_CAP_RQPS 0x00000040 137 #define INTELXLVF_ADMIN_STATUS 0x00000011 140 #define INTELXLVF_ADMIN_STATUS_LINK 0x00000001 166 #define INTELXLVF_ADMIN_CONFIGURE 0x00000006 222 #define INTELXLVF_ADMIN_IRQ_MAP 0x00000007 250 #define INTELXLVF_ADMIN_ENABLE 0x00000008 253 #define INTELXLVF_ADMIN_DISABLE 0x00000009 268 #define INTELXLVF_ADMIN_PROMISC 0x0000000e 279 #define INTELXLVF_ADMIN_GET_STATS 0x0000000f 306 #define INTELXLVF_ADMIN_REQUEST_QPS 0x0000001d 395 #define INTELXLVF_VFGEN_RSTAT 0x8800 396 #define INTELXLVF_VFGEN_RSTAT_VFR_STATE(x) ( (x) & 0x3 ) 397 #define INTELXLVF_VFGEN_RSTAT_VFR_STATE_ACTIVE 0x2 400 #define INTELXLVF_RESET_DELAY_MS 100 403 #define INTELXLVF_RESET_MAX_WAIT_MS 1000 415 size_t len,
unsigned int tail ) {
uint16_t vsi
VSI switching element ID.
uint16_t vsi
VSI switching element ID.
struct intelxl_admin_descriptor * intelxl_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
uint8_t reserved[2]
Reserved.
union intelxlvf_admin_status_buffer::@67 data
Event data.
size_t len
Length (in bytes)
uint16_t txmap
Transmit queue bitmap.
struct intelxlvf_admin_version_buffer ver
VF Version data buffer.
uint16_t vectors
Number of MSI-X vectors.
struct intelxlvf_admin_status_link link
Link change event data.
Admin Queue VF Get Resources data buffer.
uint32_t event
Event type.
uint32_t tx
Transmit queue bitmask.
struct intelxlvf_admin_irq_map_buffer irq
VF IRQ Map data buffer.
int32_t vret
VF return value.
uint16_t vsi
VSI switching element ID.
Link status change event data.
union intelxl_admin_buffer * intelxl_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
unsigned long long uint64_t
uint8_t reserved[3]
Reserved.
struct intelxlvf_admin_queues_buffer queues
VF Enable/Disable Queues data buffer.
uint16_t txitr
Transmit interrupt throttling index.
uint64_t broadcasts
Broadcast packets.
Admin Queue VF Enable/Disable Queues data buffer.
struct intelxlvf_admin_capabilities_buffer caps
VF Capabilities data buffer.
struct intelxlvf_admin_stats tx
Transmit statistics.
struct intelxlvf_admin_promisc_buffer promisc
VF Configure Promiscuous Mode data buffer.
uint8_t reserved_a[8]
Reserved.
uint8_t status
Link status.
Admin Queue VF Configure Promiscuous Mode data buffer.
Admin queue command parameters.
Intel 40 Gigabit Ethernet network card driver.
uint16_t rxitr
Receive interrupt throttling index.
uint64_t multicasts
Multicast packets.
uint32_t caps
Capabilities.
struct intelxlvf_admin_configure_buffer cfg
VF Configure Queues data buffer.
struct intelxlvf_admin_get_resources_buffer res
VF Get Resources data buffer.
Admin Queue VF Request Queues data buffer.
struct intelxlvf_admin_status_buffer stat
VF Status Change Event data buffer.
uint16_t vsi
VSI switching element ID.
Admin Queue VF Capabilities data buffer.
#define container_of(ptr, type, field)
Get containing structure.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
uint16_t rxmap
Receive queue bitmap.
uint8_t reserved_b[8]
Reserved.
uint16_t count
Number of entries.
uint8_t reserved[12]
Reserved.
struct intelxl_admin_descriptor xl
Original 40 Gigabit Ethernet descriptor.
uint16_t count
Number of queue pairs.
uint16_t count
Number of interrupt vectors.
uint32_t minor
Minor version.
struct intelxlvf_admin_request_qps_buffer rqps
VF Request Queues data buffer.
uint32_t vopcode
VF opcode.
uint16_t qps
Number of queue pairs.
Admin Queue VF IRQ Map data buffer.
uint8_t mac[ETH_ALEN]
MAC address.
An Intel 40 Gigabit network card.
uint32_t major
Major version.
uint16_t ret
Return value.
uint32_t caps
Capabilities.
struct intelxlvf_admin_stats_buffer stats
VF Get Statistics data buffer.
uint16_t vsis
Number of VSIs.
static union intelxlvf_admin_buffer * intelxlvf_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
struct intelxlvf_admin_stats rx
Receive statistics.
uint8_t reserved[4]
Reserved.
Admin Queue VF Get Statistics data buffer.
uint64_t discards
Discarded packets.
Admin Queue VF Version data buffer.
uint16_t vec
Interrupt vector ID.
static void intelxlvf_init_ring(struct intelxl_ring *ring, unsigned int count, size_t len, unsigned int tail)
Initialise descriptor ring.
unsigned int tail
Tail register.
uint32_t rx
Receive queue bitmask.
struct intelxlvf_admin_descriptor * intelxlvf_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
union intelxl_admin_params params
Parameters.
uint32_t speed
Link speed.
Admin Queue VF Status Change Event data buffer.
union intelxl_admin_buffer xl
Original 40 Gigabit Ethernet data buffer.
uint64_t unicasts
Unicast packets.