ioat_spec.h File Reference

I/OAT specification definitions. More...

Data Structures

struct  spdk_ioat_registers
 
struct  spdk_ioat_generic_hw_desc
 
struct  spdk_ioat_dma_hw_desc
 
struct  spdk_ioat_fill_hw_desc
 
struct  spdk_ioat_xor_hw_desc
 
struct  spdk_ioat_xor_ext_hw_desc
 
struct  spdk_ioat_pq_hw_desc
 
struct  spdk_ioat_pq_ext_hw_desc
 
struct  spdk_ioat_pq_update_hw_desc
 
struct  spdk_ioat_raw_hw_desc
 
union  spdk_ioat_hw_desc
 

Macros

#define SPDK_IOAT_PCI_CHANERR_INT_OFFSET   0x180
 
#define SPDK_IOAT_INTRCTRL_MASTER_INT_EN   0x01
 
#define SPDK_IOAT_VER_3_0   0x30
 
#define SPDK_IOAT_VER_3_3   0x33
 
#define SPDK_IOAT_CHANCTRL_CHANNEL_PRIORITY_MASK   0xF000
 
#define SPDK_IOAT_CHANCTRL_COMPL_DCA_EN   0x0200
 
#define SPDK_IOAT_CHANCTRL_CHANNEL_IN_USE   0x0100
 
#define SPDK_IOAT_CHANCTRL_DESCRIPTOR_ADDR_SNOOP_CONTROL   0x0020
 
#define SPDK_IOAT_CHANCTRL_ERR_INT_EN   0x0010
 
#define SPDK_IOAT_CHANCTRL_ANY_ERR_ABORT_EN   0x0008
 
#define SPDK_IOAT_CHANCTRL_ERR_COMPLETION_EN   0x0004
 
#define SPDK_IOAT_CHANCTRL_INT_REARM   0x0001
 
#define SPDK_IOAT_DMACAP_PB   (1 << 0)
 
#define SPDK_IOAT_DMACAP_DCA   (1 << 4)
 
#define SPDK_IOAT_DMACAP_BFILL   (1 << 6)
 
#define SPDK_IOAT_DMACAP_XOR   (1 << 8)
 
#define SPDK_IOAT_DMACAP_PQ   (1 << 9)
 
#define SPDK_IOAT_DMACAP_DMA_DIF   (1 << 10)
 
#define SPDK_IOAT_CHANCMD_RESET   0x20
 
#define SPDK_IOAT_CHANCMD_SUSPEND   0x04
 
#define SPDK_IOAT_CHANSTS_STATUS   0x7ULL
 
#define SPDK_IOAT_CHANSTS_ACTIVE   0x0
 
#define SPDK_IOAT_CHANSTS_IDLE   0x1
 
#define SPDK_IOAT_CHANSTS_SUSPENDED   0x2
 
#define SPDK_IOAT_CHANSTS_HALTED   0x3
 
#define SPDK_IOAT_CHANSTS_ARMED   0x4
 
#define SPDK_IOAT_CHANSTS_UNAFFILIATED_ERROR   0x8ULL
 
#define SPDK_IOAT_CHANSTS_SOFT_ERROR   0x10ULL
 
#define SPDK_IOAT_CHANSTS_COMPLETED_DESCRIPTOR_MASK   (~0x3FULL)
 
#define SPDK_IOAT_CHANCMP_ALIGN   8 /* CHANCMP address must be 64-bit aligned */
 
#define SPDK_IOAT_OP_COPY   0x00
 
#define SPDK_IOAT_OP_FILL   0x01
 
#define SPDK_IOAT_OP_XOR   0x87
 
#define SPDK_IOAT_OP_XOR_VAL   0x88
 
#define SPDK_IOAT_OP_PQ   0x89
 
#define SPDK_IOAT_OP_PQ_VAL   0x8a
 
#define SPDK_IOAT_OP_PQ_UP   0x8b
 

Functions

 SPDK_STATIC_ASSERT (sizeof(union spdk_ioat_hw_desc)==64, "incorrect spdk_ioat_hw_desc layout")
 

Detailed Description

I/OAT specification definitions.