ngc 1.5.0
 
Loading...
Searching...
No Matches
ngcdrv.h File Reference

Go to the source code of this file.

Classes

struct  ngcdrv_ring_t
 
struct  ngcdrv_param_t
 
struct  ngcdrv_tcb_cfg
 
struct  ngcdrv_tcb_test
 
struct  ngcdrv_tcb_add
 
struct  ngcdrv_tcb_fowler
 

Macros

#define NGCDRV_VERSION   0x1
 
#define NGCDRV_COM_FIFO_SIZE   1024
 
#define NGCDRV_CTRL_SYSHDR   0x00000008
 
#define NGCDRV_CTRL_SYSRESET   0x00008000
 
#define NGCDRV_CTRL_MAXHDR   0x00000008
 
#define NGCDRV_STAT_ACK   0x00000001
 
#define NGCDRV_STAT_VALID   0x00000002
 
#define NGCDRV_STAT_DMA_EMPTY   0x00000020
 
#define NGCDRV_STAT_DMA_FULL   0x00000040
 
#define NGCDRV_STAT_DMA_OVERFLOW   0x00000080
 
#define NGCDRV_STAT_RX_EMPTY   0x00000100
 
#define NGCDRV_STAT_RX_FULL   0x00000200
 
#define NGCDRV_STAT_TX_EMPTY   0x00000400
 
#define NGCDRV_STAT_TX_FULL   0x00000800
 
#define NGCDRV_STAT_LINK_UP   0x00001000
 
#define NGCDRV_STAT_HARD_ERR   0x00002000
 
#define NGCDRV_STAT_SOFT_ERR   0x00004000
 
#define NGCDRV_STAT_FRAM_ERR   0x00008000
 
#define NGCDRV_IPP_NONE   0x00000000
 
#define NGCDRV_IPP_TASKLET   0x00000001
 
#define NGCDRV_IPP_WQ   0x00000002
 
#define NGCDRV_IPP_IRQ   0x00000003
 
#define NGCDRV_MAX_PARAM   32
 
#define NGCDRV_COM_STATUS   _IOR('I', (NGCDRV_D_COM_STATUS), unsigned int)
 
#define NGCDRV_COM_UPLINK   _IOW('I', (NGCDRV_D_COM_UPLINK), unsigned int)
 
#define NGCDRV_COM_RESET   _IO('I', (NGCDRV_D_COM_RESET))
 
#define NGCDRV_COM_TMO   _IOW('I', (NGCDRV_D_COM_TMO), unsigned int)
 
#define NGCDRV_DMA_RESET   _IO('I', (NGCDRV_D_DMA_RESET))
 
#define NGCDRV_DMA_START   _IO('I', (NGCDRV_D_DMA_START))
 
#define NGCDRV_DMA_WAIT   _IO('I', (NGCDRV_D_DMA_WAIT))
 
#define NGCDRV_DMA_ABORT   _IO('I', (NGCDRV_D_DMA_ABORT))
 
#define NGCDRV_DMA_DONECOUNT   _IOR('I', (NGCDRV_D_DMA_DONECOUNT), unsigned int)
 
#define NGCDRV_DMA_BYTECOUNT   _IOR('I', (NGCDRV_D_DMA_BYTECOUNT), unsigned int)
 
#define NGCDRV_DMA_OVERFLOW   _IOR('I', (NGCDRV_D_DMA_OVERFLOW), unsigned int)
 
#define NGCDRV_DMA_CFG_BUF   _IOR('I', (NGCDRV_D_DMA_CFG_BUF), ngcdrv_ring_t)
 
#define NGCDRV_DMA_IPP_MODE   _IOW('I', (NGCDRV_D_DMA_IPP_MODE), unsigned int)
 
#define NGCDRV_DMA_IPP_CFG   _IOW('I', (NGCDRV_D_DMA_IPP_CFG), ngcdrv_tcb_cfg)
 
#define NGCDRV_DMA_CHAN   _IOW('I', (NGCDRV_D_DMA_CHAN), unsigned int)
 
#define NGCDRV_DMA_SYNCMODE   _IOW('I', (NGCDRV_D_DMA_SYNCMODE), unsigned int)
 
#define NGCDRV_CFG_GET   _IOR('I', (NGCDRV_D_CFG_GET), ngcdrv_param_t)
 
#define NGCDRV_CFG_SET   _IOW('I', (NGCDRV_D_CFG_SET), ngcdrv_param_t)
 
#define NGCDRV_PCFG_GET   _IOR('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)
 
#define NGCDRV_PCFG_SET   _IOW('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)
 
#define NGCDRV_GETREV   _IOR('I', (NGCDRV_D_GETREV), unsigned int)
 
#define NGCDRV_RESET   _IO('I', (NGCDRV_D_RESET))
 

Enumerations

enum  ngcdrv_ioctl {
  NGCDRV_D_COM_STATUS , NGCDRV_D_COM_UPLINK , NGCDRV_D_COM_RESET , NGCDRV_D_COM_TMO ,
  NGCDRV_D_DMA_RESERVED1 , NGCDRV_D_DMA_RESERVED2 , NGCDRV_D_DMA_RESET , NGCDRV_D_DMA_START ,
  NGCDRV_D_DMA_WAIT , NGCDRV_D_DMA_ABORT , NGCDRV_D_DMA_DONECOUNT , NGCDRV_D_DMA_BYTECOUNT ,
  NGCDRV_D_DMA_OVERFLOW , NGCDRV_D_DMA_CFG_BUF , NGCDRV_D_DMA_IPP_MODE , NGCDRV_D_DMA_IPP_CFG ,
  NGCDRV_D_DMA_CHAN , NGCDRV_D_CFG_GET , NGCDRV_D_CFG_SET , NGCDRV_D_PCFG_GET ,
  NGCDRV_D_PCFG_SET , NGCDRV_D_GETREV , NGCDRV_D_RESET , NGCDRV_D_DMA_SYNCMODE
}
 

Detailed Description

Macro Definition Documentation

◆ NGCDRV_CFG_GET

#define NGCDRV_CFG_GET   _IOR('I', (NGCDRV_D_CFG_GET), ngcdrv_param_t)

◆ NGCDRV_CFG_SET

#define NGCDRV_CFG_SET   _IOW('I', (NGCDRV_D_CFG_SET), ngcdrv_param_t)

◆ NGCDRV_COM_FIFO_SIZE

#define NGCDRV_COM_FIFO_SIZE   1024

Communication port FIFO size. Current size is 512 but will be enlarged to support the SIDECAR ASIC interface. We just reserve enough space here for the driver internal buffers and leave it up to the application to take care of not exceeding the physical limits.

◆ NGCDRV_COM_RESET

#define NGCDRV_COM_RESET   _IO('I', (NGCDRV_D_COM_RESET))

◆ NGCDRV_COM_STATUS

#define NGCDRV_COM_STATUS   _IOR('I', (NGCDRV_D_COM_STATUS), unsigned int)

◆ NGCDRV_COM_TMO

#define NGCDRV_COM_TMO   _IOW('I', (NGCDRV_D_COM_TMO), unsigned int)

◆ NGCDRV_COM_UPLINK

#define NGCDRV_COM_UPLINK   _IOW('I', (NGCDRV_D_COM_UPLINK), unsigned int)

◆ NGCDRV_CTRL_MAXHDR

#define NGCDRV_CTRL_MAXHDR   0x00000008

Maximum number of headers per module

◆ NGCDRV_CTRL_SYSHDR

#define NGCDRV_CTRL_SYSHDR   0x00000008

NGC protocol header for system function

◆ NGCDRV_CTRL_SYSRESET

#define NGCDRV_CTRL_SYSRESET   0x00008000

NGC reset system function

◆ NGCDRV_DMA_ABORT

#define NGCDRV_DMA_ABORT   _IO('I', (NGCDRV_D_DMA_ABORT))

◆ NGCDRV_DMA_BYTECOUNT

#define NGCDRV_DMA_BYTECOUNT   _IOR('I', (NGCDRV_D_DMA_BYTECOUNT), unsigned int)

◆ NGCDRV_DMA_CFG_BUF

#define NGCDRV_DMA_CFG_BUF   _IOR('I', (NGCDRV_D_DMA_CFG_BUF), ngcdrv_ring_t)

◆ NGCDRV_DMA_CHAN

#define NGCDRV_DMA_CHAN   _IOW('I', (NGCDRV_D_DMA_CHAN), unsigned int)

◆ NGCDRV_DMA_DONECOUNT

#define NGCDRV_DMA_DONECOUNT   _IOR('I', (NGCDRV_D_DMA_DONECOUNT), unsigned int)

◆ NGCDRV_DMA_IPP_CFG

#define NGCDRV_DMA_IPP_CFG   _IOW('I', (NGCDRV_D_DMA_IPP_CFG), ngcdrv_tcb_cfg)

◆ NGCDRV_DMA_IPP_MODE

#define NGCDRV_DMA_IPP_MODE   _IOW('I', (NGCDRV_D_DMA_IPP_MODE), unsigned int)

◆ NGCDRV_DMA_OVERFLOW

#define NGCDRV_DMA_OVERFLOW   _IOR('I', (NGCDRV_D_DMA_OVERFLOW), unsigned int)

◆ NGCDRV_DMA_RESET

#define NGCDRV_DMA_RESET   _IO('I', (NGCDRV_D_DMA_RESET))

◆ NGCDRV_DMA_START

#define NGCDRV_DMA_START   _IO('I', (NGCDRV_D_DMA_START))

◆ NGCDRV_DMA_SYNCMODE

#define NGCDRV_DMA_SYNCMODE   _IOW('I', (NGCDRV_D_DMA_SYNCMODE), unsigned int)

◆ NGCDRV_DMA_WAIT

#define NGCDRV_DMA_WAIT   _IO('I', (NGCDRV_D_DMA_WAIT))

◆ NGCDRV_GETREV

#define NGCDRV_GETREV   _IOR('I', (NGCDRV_D_GETREV), unsigned int)

◆ NGCDRV_IPP_IRQ

#define NGCDRV_IPP_IRQ   0x00000003

run at interrupt-level

◆ NGCDRV_IPP_NONE

#define NGCDRV_IPP_NONE   0x00000000

no interrupt post-processor

◆ NGCDRV_IPP_TASKLET

#define NGCDRV_IPP_TASKLET   0x00000001

run as tasklet

◆ NGCDRV_IPP_WQ

#define NGCDRV_IPP_WQ   0x00000002

run as work-queue

◆ NGCDRV_MAX_PARAM

#define NGCDRV_MAX_PARAM   32

Maximum number of DMA interrupt post-processing task parameters

◆ NGCDRV_PCFG_GET

#define NGCDRV_PCFG_GET   _IOR('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)

◆ NGCDRV_PCFG_SET

#define NGCDRV_PCFG_SET   _IOW('I', (NGCDRV_D_PCFG_SET), ngcdrv_param_t)

◆ NGCDRV_RESET

#define NGCDRV_RESET   _IO('I', (NGCDRV_D_RESET))

◆ NGCDRV_STAT_ACK

#define NGCDRV_STAT_ACK   0x00000001

acknowledge transfer

◆ NGCDRV_STAT_DMA_EMPTY

#define NGCDRV_STAT_DMA_EMPTY   0x00000020

DMA FIFO empty

◆ NGCDRV_STAT_DMA_FULL

#define NGCDRV_STAT_DMA_FULL   0x00000040

DMA FIFO full

◆ NGCDRV_STAT_DMA_OVERFLOW

#define NGCDRV_STAT_DMA_OVERFLOW   0x00000080

overflow flag

◆ NGCDRV_STAT_FRAM_ERR

#define NGCDRV_STAT_FRAM_ERR   0x00008000

link channel framing error

◆ NGCDRV_STAT_HARD_ERR

#define NGCDRV_STAT_HARD_ERR   0x00002000

link channel hard error

◆ NGCDRV_STAT_LINK_UP

#define NGCDRV_STAT_LINK_UP   0x00001000

link channel up

◆ NGCDRV_STAT_RX_EMPTY

#define NGCDRV_STAT_RX_EMPTY   0x00000100

RX FIFO empty

◆ NGCDRV_STAT_RX_FULL

#define NGCDRV_STAT_RX_FULL   0x00000200

RX FIFO full

◆ NGCDRV_STAT_SOFT_ERR

#define NGCDRV_STAT_SOFT_ERR   0x00004000

link channel soft error

◆ NGCDRV_STAT_TX_EMPTY

#define NGCDRV_STAT_TX_EMPTY   0x00000400

TX FIFO empty

◆ NGCDRV_STAT_TX_FULL

#define NGCDRV_STAT_TX_FULL   0x00000800

TX FIFO FULL

◆ NGCDRV_STAT_VALID

#define NGCDRV_STAT_VALID   0x00000002

address valid

◆ NGCDRV_VERSION

#define NGCDRV_VERSION   0x1

Driver version (SW)

Enumeration Type Documentation

◆ ngcdrv_ioctl

NGC device driver ioctl's

Enumerator
NGCDRV_D_COM_STATUS 
NGCDRV_D_COM_UPLINK 
NGCDRV_D_COM_RESET 
NGCDRV_D_COM_TMO 
NGCDRV_D_DMA_RESERVED1 
NGCDRV_D_DMA_RESERVED2 
NGCDRV_D_DMA_RESET 
NGCDRV_D_DMA_START 
NGCDRV_D_DMA_WAIT 
NGCDRV_D_DMA_ABORT 
NGCDRV_D_DMA_DONECOUNT 
NGCDRV_D_DMA_BYTECOUNT 
NGCDRV_D_DMA_OVERFLOW 
NGCDRV_D_DMA_CFG_BUF 
NGCDRV_D_DMA_IPP_MODE 
NGCDRV_D_DMA_IPP_CFG 
NGCDRV_D_DMA_CHAN 
NGCDRV_D_CFG_GET 
NGCDRV_D_CFG_SET 
NGCDRV_D_PCFG_GET 
NGCDRV_D_PCFG_SET 
NGCDRV_D_GETREV 
NGCDRV_D_RESET 
NGCDRV_D_DMA_SYNCMODE