iPXE
Data Fields
gve_queue Struct Reference

A descriptor queue. More...

#include <gve.h>

Data Fields

union {
   union {
      struct gve_gqi_tx_descriptor *   gqi
 In-order transmit descriptors. More...
 
      struct gve_dqo_tx_descriptor *   dqo
 Out-of-order transmit descriptors. More...
 
   }   tx
 Transmit descriptors. More...
 
   union {
      struct gve_gqi_rx_descriptor *   gqi
 In-order receive descriptors. More...
 
      struct gve_dqo_rx_descriptor *   dqo
 Out-of-order receive descriptors. More...
 
   }   rx
 Receive descriptors. More...
 
   void *   raw
 Raw data. More...
 
desc
 Descriptor ring. More...
 
union {
   union {
      struct gve_dqo_tx_completion *   dqo
 Out-of-order transmit completions. More...
 
   }   tx
 Transmit completions. More...
 
   union {
      struct gve_gqi_rx_completion *   gqi
 In-order receive completions. More...
 
      struct gve_dqo_rx_completion *   dqo
 Out-of-order receive completions. More...
 
   }   rx
 Receive completions. More...
 
   void *   raw
 Raw data. More...
 
cmplt
 Completion ring. More...
 
struct gve_resourcesres
 Queue resources. More...
 
const struct gve_queue_typetype
 Queue type. More...
 
struct gve_queue_stride stride
 Queue strides. More...
 
unsigned int count
 Number of descriptors (must be a power of two) More...
 
unsigned int fill
 Maximum fill level (must be a power of two) More...
 
struct dma_mapping desc_map
 Descriptor mapping. More...
 
struct dma_mapping cmplt_map
 Completion mapping. More...
 
struct dma_mapping res_map
 Queue resources mapping. More...
 
volatile uint32_tdb
 Doorbell register. More...
 
struct gve_eventevent
 Event counter. More...
 
uint32_t prod
 Producer counter. More...
 
uint32_t cons
 Consumer counter. More...
 
uint32_t done
 Completion counter. More...
 
uint8_ttag
 Tag ring. More...
 
struct gve_qpl qpl
 Queue page list. More...
 

Detailed Description

A descriptor queue.

Definition at line 738 of file gve.h.

Field Documentation

◆ gqi [1/3]

struct gve_gqi_tx_descriptor* gve_queue::gqi

In-order transmit descriptors.

Definition at line 744 of file gve.h.

◆ dqo [1/4]

struct gve_dqo_tx_descriptor* gve_queue::dqo

Out-of-order transmit descriptors.

Definition at line 746 of file gve.h.

◆ tx [1/2]

union { ... } gve_queue::tx

Transmit descriptors.

◆ gqi [2/3]

struct gve_gqi_rx_descriptor* gve_queue::gqi

In-order receive descriptors.

Definition at line 751 of file gve.h.

◆ dqo [2/4]

struct gve_dqo_rx_descriptor* gve_queue::dqo

Out-of-order receive descriptors.

Definition at line 753 of file gve.h.

◆ rx [1/2]

union { ... } gve_queue::rx

Receive descriptors.

◆ raw

void* gve_queue::raw

Raw data.

Definition at line 756 of file gve.h.

◆ desc

union { ... } gve_queue::desc

Descriptor ring.

◆ dqo [3/4]

struct gve_dqo_tx_completion* gve_queue::dqo

Out-of-order transmit completions.

Definition at line 763 of file gve.h.

◆ tx [2/2]

union { ... } gve_queue::tx

Transmit completions.

◆ gqi [3/3]

struct gve_gqi_rx_completion* gve_queue::gqi

In-order receive completions.

Definition at line 768 of file gve.h.

◆ dqo [4/4]

struct gve_dqo_rx_completion* gve_queue::dqo

Out-of-order receive completions.

Definition at line 770 of file gve.h.

◆ rx [2/2]

union { ... } gve_queue::rx

Receive completions.

◆ cmplt

union { ... } gve_queue::cmplt

Completion ring.

◆ res

struct gve_resources* gve_queue::res

Queue resources.

Definition at line 776 of file gve.h.

◆ type

const struct gve_queue_type* gve_queue::type

Queue type.

Definition at line 779 of file gve.h.

Referenced by gve_probe().

◆ stride

struct gve_queue_stride gve_queue::stride

Queue strides.

Definition at line 781 of file gve.h.

◆ count

unsigned int gve_queue::count

Number of descriptors (must be a power of two)

Definition at line 783 of file gve.h.

Referenced by gve_describe().

◆ fill

unsigned int gve_queue::fill

Maximum fill level (must be a power of two)

Definition at line 785 of file gve.h.

◆ desc_map

struct dma_mapping gve_queue::desc_map

Descriptor mapping.

Definition at line 788 of file gve.h.

◆ cmplt_map

struct dma_mapping gve_queue::cmplt_map

Completion mapping.

Definition at line 790 of file gve.h.

◆ res_map

struct dma_mapping gve_queue::res_map

Queue resources mapping.

Definition at line 792 of file gve.h.

◆ db

volatile uint32_t* gve_queue::db

Doorbell register.

Definition at line 795 of file gve.h.

◆ event

struct gve_event* gve_queue::event

Event counter.

Definition at line 797 of file gve.h.

◆ prod

uint32_t gve_queue::prod

Producer counter.

Definition at line 800 of file gve.h.

◆ cons

uint32_t gve_queue::cons

Consumer counter.

Definition at line 802 of file gve.h.

Referenced by gve_watchdog().

◆ done

uint32_t gve_queue::done

Completion counter.

Definition at line 804 of file gve.h.

◆ tag

uint8_t* gve_queue::tag

Tag ring.

Definition at line 806 of file gve.h.

Referenced by gve_probe().

◆ qpl

struct gve_qpl gve_queue::qpl

Queue page list.

Definition at line 809 of file gve.h.


The documentation for this struct was generated from the following file: