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 ) {
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.
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.
union intelxlvf_admin_status_buffer::@80 data
Event data.
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.
static unsigned int 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.