iPXE
Macros | Functions
intelxlvf.h File Reference

Intel 40 Gigabit Ethernet virtual function network card driver. More...

#include "intelxl.h"

Go to the source code of this file.

Macros

#define INTELXLVF_BAR_SIZE   0x10000
 BAR size. More...
 
#define INTELXLVF_QTX_TAIL   0x00000
 Transmit Queue Tail Register. More...
 
#define INTELXLVF_QRX_TAIL   0x02000
 Receive Queue Tail Register. More...
 
#define INTELXLVF_VFINT_DYN_CTL0   0x5c00
 VF Interrupt Zero Dynamic Control Register. More...
 
#define INTELXLVF_ADMIN   0x6000
 VF Admin Queue register block. More...
 
#define INTELXLVF_ADMIN_CMD_BAL   0x1c00
 Admin Command Queue Base Address Low Register (offset) More...
 
#define INTELXLVF_ADMIN_CMD_BAH   0x1800
 Admin Command Queue Base Address High Register (offset) More...
 
#define INTELXLVF_ADMIN_CMD_LEN   0x0800
 Admin Command Queue Length Register (offset) More...
 
#define INTELXLVF_ADMIN_CMD_HEAD   0x0400
 Admin Command Queue Head Register (offset) More...
 
#define INTELXLVF_ADMIN_CMD_TAIL   0x2400
 Admin Command Queue Tail Register (offset) More...
 
#define INTELXLVF_ADMIN_EVT_BAL   0x0c00
 Admin Event Queue Base Address Low Register (offset) More...
 
#define INTELXLVF_ADMIN_EVT_BAH   0x0000
 Admin Event Queue Base Address High Register (offset) More...
 
#define INTELXLVF_ADMIN_EVT_LEN   0x2000
 Admin Event Queue Length Register (offset) More...
 
#define INTELXLVF_ADMIN_EVT_HEAD   0x1400
 Admin Event Queue Head Register (offset) More...
 
#define INTELXLVF_ADMIN_EVT_TAIL   0x1000
 Admin Event Queue Tail Register (offset) More...
 
#define INTELXLVF_ADMIN_MAX_WAIT_MS   2000
 Maximum time to wait for a VF admin request to complete. More...
 
#define INTELXLVF_VFGEN_RSTAT   0x8800
 VF Reset Status Register. More...
 
#define INTELXLVF_VFGEN_RSTAT_VFR_STATE(x)   ( (x) & 0x3 )
 
#define INTELXLVF_VFGEN_RSTAT_VFR_STATE_ACTIVE   0x2
 
#define INTELXLVF_RESET_MAX_WAIT_MS   1000
 Maximum time to wait for reset to complete. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
static void intelxlvf_init_ring (struct intelxl_ring *ring, unsigned int count, size_t len, unsigned int tail)
 Initialise descriptor ring. More...
 

Detailed Description

Intel 40 Gigabit Ethernet virtual function network card driver.

Definition in file intelxlvf.h.

Macro Definition Documentation

◆ INTELXLVF_BAR_SIZE

#define INTELXLVF_BAR_SIZE   0x10000

BAR size.

Definition at line 15 of file intelxlvf.h.

◆ INTELXLVF_QTX_TAIL

#define INTELXLVF_QTX_TAIL   0x00000

Transmit Queue Tail Register.

Definition at line 18 of file intelxlvf.h.

◆ INTELXLVF_QRX_TAIL

#define INTELXLVF_QRX_TAIL   0x02000

Receive Queue Tail Register.

Definition at line 21 of file intelxlvf.h.

◆ INTELXLVF_VFINT_DYN_CTL0

#define INTELXLVF_VFINT_DYN_CTL0   0x5c00

VF Interrupt Zero Dynamic Control Register.

Definition at line 24 of file intelxlvf.h.

◆ INTELXLVF_ADMIN

#define INTELXLVF_ADMIN   0x6000

VF Admin Queue register block.

Definition at line 27 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_CMD_BAL

#define INTELXLVF_ADMIN_CMD_BAL   0x1c00

Admin Command Queue Base Address Low Register (offset)

Definition at line 30 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_CMD_BAH

#define INTELXLVF_ADMIN_CMD_BAH   0x1800

Admin Command Queue Base Address High Register (offset)

Definition at line 33 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_CMD_LEN

#define INTELXLVF_ADMIN_CMD_LEN   0x0800

Admin Command Queue Length Register (offset)

Definition at line 36 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_CMD_HEAD

#define INTELXLVF_ADMIN_CMD_HEAD   0x0400

Admin Command Queue Head Register (offset)

Definition at line 39 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_CMD_TAIL

#define INTELXLVF_ADMIN_CMD_TAIL   0x2400

Admin Command Queue Tail Register (offset)

Definition at line 42 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_EVT_BAL

#define INTELXLVF_ADMIN_EVT_BAL   0x0c00

Admin Event Queue Base Address Low Register (offset)

Definition at line 45 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_EVT_BAH

#define INTELXLVF_ADMIN_EVT_BAH   0x0000

Admin Event Queue Base Address High Register (offset)

Definition at line 48 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_EVT_LEN

#define INTELXLVF_ADMIN_EVT_LEN   0x2000

Admin Event Queue Length Register (offset)

Definition at line 51 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_EVT_HEAD

#define INTELXLVF_ADMIN_EVT_HEAD   0x1400

Admin Event Queue Head Register (offset)

Definition at line 54 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_EVT_TAIL

#define INTELXLVF_ADMIN_EVT_TAIL   0x1000

Admin Event Queue Tail Register (offset)

Definition at line 57 of file intelxlvf.h.

◆ INTELXLVF_ADMIN_MAX_WAIT_MS

#define INTELXLVF_ADMIN_MAX_WAIT_MS   2000

Maximum time to wait for a VF admin request to complete.

Definition at line 60 of file intelxlvf.h.

◆ INTELXLVF_VFGEN_RSTAT

#define INTELXLVF_VFGEN_RSTAT   0x8800

VF Reset Status Register.

Definition at line 63 of file intelxlvf.h.

◆ INTELXLVF_VFGEN_RSTAT_VFR_STATE

#define INTELXLVF_VFGEN_RSTAT_VFR_STATE (   x)    ( (x) & 0x3 )

Definition at line 64 of file intelxlvf.h.

◆ INTELXLVF_VFGEN_RSTAT_VFR_STATE_ACTIVE

#define INTELXLVF_VFGEN_RSTAT_VFR_STATE_ACTIVE   0x2

Definition at line 65 of file intelxlvf.h.

◆ INTELXLVF_RESET_MAX_WAIT_MS

#define INTELXLVF_RESET_MAX_WAIT_MS   1000

Maximum time to wait for reset to complete.

Definition at line 68 of file intelxlvf.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ intelxlvf_init_ring()

static void intelxlvf_init_ring ( struct intelxl_ring ring,
unsigned int  count,
size_t  len,
unsigned int  tail 
)
inlinestatic

Initialise descriptor ring.

Parameters
ringDescriptor ring
countNumber of descriptors
lenLength of a single descriptor
tailTail register offset

Definition at line 79 of file intelxlvf.h.

80  {
81 
82  ring->len = ( count * len );
83  ring->tail = tail;
84 }
size_t len
Length (in bytes)
Definition: intelxl.h:884
uint32_t len
Length.
Definition: ena.h:14
uint16_t count
Number of entries.
Definition: ena.h:22
unsigned int tail
Tail register.
Definition: intelxl.h:882

References count, len, intelxl_ring::len, and intelxl_ring::tail.

Referenced by intelxlvf_probe().