iPXE
Defines | 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.

Defines

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

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.

Detailed Description

Intel 40 Gigabit Ethernet virtual function network card driver.

Definition in file intelxlvf.h.


Define Documentation

#define INTELXLVF_BAR_SIZE   0x10000

BAR size.

Definition at line 15 of file intelxlvf.h.

Referenced by intelxlvf_probe().

#define INTELXLVF_QTX_TAIL   0x00000

Transmit Queue Tail Register.

Definition at line 18 of file intelxlvf.h.

Referenced by intelxlvf_probe().

#define INTELXLVF_QRX_TAIL   0x02000

Receive Queue Tail Register.

Definition at line 21 of file intelxlvf.h.

Referenced by intelxlvf_probe().

#define INTELXLVF_VFINT_DYN_CTL0   0x5c00

VF Interrupt Zero Dynamic Control Register.

Definition at line 24 of file intelxlvf.h.

Referenced by intelxlvf_probe().

#define INTELXLVF_ADMIN   0x6000

VF Admin Queue register block.

Definition at line 27 of file intelxlvf.h.

Referenced by intelxlvf_probe(), and intelxlvf_reset_wait_teardown().

#define INTELXLVF_ADMIN_CMD_BAL   0x1c00

Admin Command Queue Base Address Low Register (offset)

Definition at line 30 of file intelxlvf.h.

#define INTELXLVF_ADMIN_CMD_BAH   0x1800

Admin Command Queue Base Address High Register (offset)

Definition at line 33 of file intelxlvf.h.

#define INTELXLVF_ADMIN_CMD_LEN   0x0800

Admin Command Queue Length Register (offset)

Definition at line 36 of file intelxlvf.h.

#define INTELXLVF_ADMIN_CMD_HEAD   0x0400

Admin Command Queue Head Register (offset)

Definition at line 39 of file intelxlvf.h.

#define INTELXLVF_ADMIN_CMD_TAIL   0x2400

Admin Command Queue Tail Register (offset)

Definition at line 42 of file intelxlvf.h.

#define INTELXLVF_ADMIN_EVT_BAL   0x0c00

Admin Event Queue Base Address Low Register (offset)

Definition at line 45 of file intelxlvf.h.

#define INTELXLVF_ADMIN_EVT_BAH   0x0000

Admin Event Queue Base Address High Register (offset)

Definition at line 48 of file intelxlvf.h.

#define INTELXLVF_ADMIN_EVT_LEN   0x2000

Admin Event Queue Length Register (offset)

Definition at line 51 of file intelxlvf.h.

Referenced by intelxlvf_reset_wait_teardown().

#define INTELXLVF_ADMIN_EVT_HEAD   0x1400

Admin Event Queue Head Register (offset)

Definition at line 54 of file intelxlvf.h.

#define INTELXLVF_ADMIN_EVT_TAIL   0x1000

Admin Event Queue Tail Register (offset)

Definition at line 57 of file intelxlvf.h.

#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.

Referenced by intelxlvf_admin_command().

#define INTELXLVF_VFGEN_RSTAT   0x8800

VF Reset Status Register.

Definition at line 63 of file intelxlvf.h.

Referenced by intelxlvf_reset_wait_active().

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

Definition at line 64 of file intelxlvf.h.

Referenced by intelxlvf_reset_wait_active().

Definition at line 65 of file intelxlvf.h.

Referenced by intelxlvf_reset_wait_active().

#define INTELXLVF_RESET_MAX_WAIT_MS   1000

Maximum time to wait for reset to complete.

Definition at line 68 of file intelxlvf.h.

Referenced by intelxlvf_reset_wait_active(), and intelxlvf_reset_wait_teardown().


Function Documentation

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 
) [inline, static]

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.

References len.

Referenced by intelxlvf_probe().

                                                      {

        ring->len = ( count * len );
        ring->tail = tail;
}