Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
vfdi_req Struct Reference

#include <vfdi.h>

Data Fields

u32 op
 
u32 reserved1
 
s32 rc
 
u32 reserved2
 
union {
   struct {
      u32   index
 
      u32   buf_count
 
      u64   addr []
 
   }   init_evq
 
   struct {
      u32   index
 
      u32   buf_count
 
      u32   evq
 
      u32   label
 
      u32   flags
 
      u32   reserved
 
      u64   addr []
 
   }   init_rxq
 
   struct {
      u32   index
 
      u32   buf_count
 
      u32   evq
 
      u32   label
 
      u32   flags
 
      u32   reserved
 
      u64   addr []
 
   }   init_txq
 
   struct {
      u32   rxq
 
      u32   flags
 
   }   mac_filter
 
   struct {
      u64   dma_addr
 
      u64   peer_page_count
 
      u64   peer_page_addr []
 
   }   set_status_page
 
u
 

Detailed Description

struct vfdi_req - Request from VF driver to PF driver : Operation code or response indicator, taken from &enum vfdi_op. : Response code. Set to 0 on success or a negative error code on failure. .init_evq.index: Index of event queue to create. .init_evq.buf_count: Number of 4k buffers backing event queue. .init_evq.addr: Array of length u.init_evq.buf_count containing DMA address of each page backing the event queue. .init_rxq.index: Index of receive queue to create. .init_rxq.buf_count: Number of 4k buffers backing receive queue. .init_rxq.evq: Instance of event queue to target receive events at. .init_rxq.label: Label used in receive events. .init_rxq.flags: Unused. .init_rxq.addr: Array of length u.init_rxq.buf_count containing DMA address of each page backing the receive queue. .init_txq.index: Index of transmit queue to create. .init_txq.buf_count: Number of 4k buffers backing transmit queue. .init_txq.evq: Instance of event queue to target transmit completion events at. .init_txq.label: Label used in transmit completion events. .init_txq.flags: Checksum offload flags. .init_txq.addr: Array of length u.init_txq.buf_count containing DMA address of each page backing the transmit queue. .mac_filter.rxq: Insert MAC filter at VF local address/VLAN targetting all traffic at this receive queue. .mac_filter.flags: MAC filter flags. .set_status_page.dma_addr: Base address for the &struct vfdi_status. This address must be page-aligned and the PF may write up to a whole page (allowing for extension of the structure). .set_status_page.peer_page_count: Number of additional pages the VF has provided into which peer addresses may be DMAd. .set_status_page.peer_page_addr: Array of DMA addresses of pages. If the number of peers exceeds 256, then the VF must provide additional pages in this array. The PF will then DMA up to 512 vfdi_endpoint structures into each page. These addresses must be page-aligned.

Definition at line 165 of file vfdi.h.

Field Documentation

u64 addr[]

Definition at line 174 of file vfdi.h.

u32 buf_count

Definition at line 173 of file vfdi.h.

u64 dma_addr

Definition at line 204 of file vfdi.h.

u32 evq

Definition at line 179 of file vfdi.h.

u32 flags

Definition at line 181 of file vfdi.h.

u32 index

Definition at line 172 of file vfdi.h.

struct { ... } init_evq
struct { ... } init_rxq
struct { ... } init_txq

Definition at line 180 of file vfdi.h.

struct { ... } mac_filter

Definition at line 166 of file vfdi.h.

u64 peer_page_addr[]

Definition at line 206 of file vfdi.h.

u64 peer_page_count

Definition at line 205 of file vfdi.h.

Definition at line 168 of file vfdi.h.

u32 reserved

Definition at line 183 of file vfdi.h.

u32 reserved1

Definition at line 167 of file vfdi.h.

u32 reserved2

Definition at line 169 of file vfdi.h.

u32 rxq

Definition at line 198 of file vfdi.h.

struct { ... } set_status_page
union { ... } u

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