TwiceAsNice  2019-02-18
Classes | Macros | Enumerations
gsc_common.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  gsc_reg_t
 
struct  gsc_vpd_t
 
struct  gsc_wait_t
 

Macros

#define GSC_IOCTL   's'
 
#define GSC_REG_ALT   0xC000
 
#define GSC_REG_PCI   0x8000
 
#define GSC_REG_PLX   0x4000
 
#define GSC_REG_GSC   0x0000
 
#define GSC_FIELD_DECODE(r, b, e)   (((r)>>(e)) & (0xFFFFFFFF >> (31-((b)-(e)))))
 
#define GSC_FIELD_ENCODE(v, b, e)   (((v) << (e)) & ((0xFFFFFFFF << (e)) & (0xFFFFFFFF >> (31 - (b)))))
 
#define GSC_REG_ENCODE(t, s, o)
 
#define GSC_REG_OFFSET(r)   GSC_FIELD_DECODE((r),11,0)
 
#define GSC_REG_SIZE(r)   (GSC_FIELD_DECODE((r),13,12) + 1)
 
#define GSC_REG_TYPE(r)   ((r) & 0xC000)
 
#define GSC_WAIT_FLAG_CANCEL   0x0001
 
#define GSC_WAIT_FLAG_DONE   0x0002
 
#define GSC_WAIT_FLAG_TIMEOUT   0x0004
 
#define GSC_WAIT_FLAG_ALL   0x0007
 
#define GSC_WAIT_FLAG_INTERNAL   0x8000
 
#define GSC_WAIT_MAIN_PCI   0x0001
 
#define GSC_WAIT_MAIN_DMA0   0x0002
 
#define GSC_WAIT_MAIN_DMA1   0x0004
 
#define GSC_WAIT_MAIN_GSC   0x0008
 
#define GSC_WAIT_MAIN_OTHER   0x0010
 
#define GSC_WAIT_MAIN_SPURIOUS   0x0020
 
#define GSC_WAIT_MAIN_UNKNOWN   0x0040
 
#define GSC_WAIT_MAIN_ALL   0x007F
 
#define GSC_WAIT_IO_RX_DONE   0x0001
 
#define GSC_WAIT_IO_RX_ERROR   0x0002
 
#define GSC_WAIT_IO_RX_TIMEOUT   0x0004
 
#define GSC_WAIT_IO_RX_ABORT   0x0008
 
#define GSC_WAIT_IO_RX_ALL   0x000F
 
#define GSC_WAIT_IO_TX_DONE   0x0010
 
#define GSC_WAIT_IO_TX_ERROR   0x0020
 
#define GSC_WAIT_IO_TX_TIMEOUT   0x0040
 
#define GSC_WAIT_IO_TX_ABORT   0x0080
 
#define GSC_WAIT_IO_TX_ALL   0x00F0
 
#define GSC_WAIT_IO_ALL   0x00FF
 
#define GSC_WAIT_TIMEOUT_MAX   (60L * 60L * 1000L)
 

Enumerations

enum  gsc_dev_type_t {
  GSC_DEV_TYPE_ADADIO, GSC_DEV_TYPE_6SDI, GSC_DEV_TYPE_16SDI, GSC_DEV_TYPE_16SDI_HS,
  GSC_DEV_TYPE_16HSDI, GSC_DEV_TYPE_24DSI12, GSC_DEV_TYPE_24DSI32, GSC_DEV_TYPE_24DSI6,
  GSC_DEV_TYPE_16AI32SSC, GSC_DEV_TYPE_18AI32SSC1M, GSC_DEV_TYPE_16AO20, GSC_DEV_TYPE_16AISS16AO2,
  GSC_DEV_TYPE_16HSDI4AO4, GSC_DEV_TYPE_12AISS8AO4, GSC_DEV_TYPE_16AO16, GSC_DEV_TYPE_16AIO,
  GSC_DEV_TYPE_12AIO, GSC_DEV_TYPE_16AO12, GSC_DEV_TYPE_SIO4, GSC_DEV_TYPE_SIO4_SYNC,
  GSC_DEV_TYPE_14HSAI4, GSC_DEV_TYPE_HPDI32, GSC_DEV_TYPE_OPTO16X16, GSC_DEV_TYPE_16AI32SSA,
  GSC_DEV_TYPE_24DSI16WRC, GSC_DEV_TYPE_16AIO168, GSC_DEV_TYPE_OPTO32, GSC_DEV_TYPE_16AI64SSA,
  GSC_DEV_TYPE_24DSI20C500K, GSC_DEV_TYPE_18AISS6C, GSC_DEV_TYPE_16AICS32, GSC_DEV_TYPE_20AOF16C500KR,
  GSC_DEV_TYPE_16AI64SSC, GSC_DEV_TYPE_PEX8111
}
 
enum  gsc_io_mode_t { GSC_IO_MODE_PIO, GSC_IO_MODE_DMA, GSC_IO_MODE_DMDMA }
 
enum  gsc_vpd_type_t { GSC_VPD_TYPE_NAME, GSC_VPD_TYPE_MODEL_NUMBER, GSC_VPD_TYPE_SERIAL_NUMBER }
 

Macro Definition Documentation

◆ GSC_FIELD_DECODE

#define GSC_FIELD_DECODE (   r,
  b,
 
)    (((r)>>(e)) & (0xFFFFFFFF >> (31-((b)-(e)))))

◆ GSC_FIELD_ENCODE

#define GSC_FIELD_ENCODE (   v,
  b,
 
)    (((v) << (e)) & ((0xFFFFFFFF << (e)) & (0xFFFFFFFF >> (31 - (b)))))

◆ GSC_IOCTL

#define GSC_IOCTL   's'

◆ GSC_REG_ALT

#define GSC_REG_ALT   0xC000

◆ GSC_REG_ENCODE

#define GSC_REG_ENCODE (   t,
  s,
 
)
Value:
(((t) & 0xC000) | \
GSC_FIELD_ENCODE((s) - 1,13,12) | \
GSC_FIELD_ENCODE((o),11,0))
t
Definition: hs01.m:4
popt Meyer s(reformulated) problem p0

◆ GSC_REG_GSC

#define GSC_REG_GSC   0x0000

◆ GSC_REG_OFFSET

#define GSC_REG_OFFSET (   r)    GSC_FIELD_DECODE((r),11,0)

◆ GSC_REG_PCI

#define GSC_REG_PCI   0x8000

◆ GSC_REG_PLX

#define GSC_REG_PLX   0x4000

◆ GSC_REG_SIZE

#define GSC_REG_SIZE (   r)    (GSC_FIELD_DECODE((r),13,12) + 1)

◆ GSC_REG_TYPE

#define GSC_REG_TYPE (   r)    ((r) & 0xC000)

◆ GSC_WAIT_FLAG_ALL

#define GSC_WAIT_FLAG_ALL   0x0007

◆ GSC_WAIT_FLAG_CANCEL

#define GSC_WAIT_FLAG_CANCEL   0x0001

◆ GSC_WAIT_FLAG_DONE

#define GSC_WAIT_FLAG_DONE   0x0002

◆ GSC_WAIT_FLAG_INTERNAL

#define GSC_WAIT_FLAG_INTERNAL   0x8000

◆ GSC_WAIT_FLAG_TIMEOUT

#define GSC_WAIT_FLAG_TIMEOUT   0x0004

◆ GSC_WAIT_IO_ALL

#define GSC_WAIT_IO_ALL   0x00FF

◆ GSC_WAIT_IO_RX_ABORT

#define GSC_WAIT_IO_RX_ABORT   0x0008

◆ GSC_WAIT_IO_RX_ALL

#define GSC_WAIT_IO_RX_ALL   0x000F

◆ GSC_WAIT_IO_RX_DONE

#define GSC_WAIT_IO_RX_DONE   0x0001

◆ GSC_WAIT_IO_RX_ERROR

#define GSC_WAIT_IO_RX_ERROR   0x0002

◆ GSC_WAIT_IO_RX_TIMEOUT

#define GSC_WAIT_IO_RX_TIMEOUT   0x0004

◆ GSC_WAIT_IO_TX_ABORT

#define GSC_WAIT_IO_TX_ABORT   0x0080

◆ GSC_WAIT_IO_TX_ALL

#define GSC_WAIT_IO_TX_ALL   0x00F0

◆ GSC_WAIT_IO_TX_DONE

#define GSC_WAIT_IO_TX_DONE   0x0010

◆ GSC_WAIT_IO_TX_ERROR

#define GSC_WAIT_IO_TX_ERROR   0x0020

◆ GSC_WAIT_IO_TX_TIMEOUT

#define GSC_WAIT_IO_TX_TIMEOUT   0x0040

◆ GSC_WAIT_MAIN_ALL

#define GSC_WAIT_MAIN_ALL   0x007F

◆ GSC_WAIT_MAIN_DMA0

#define GSC_WAIT_MAIN_DMA0   0x0002

◆ GSC_WAIT_MAIN_DMA1

#define GSC_WAIT_MAIN_DMA1   0x0004

◆ GSC_WAIT_MAIN_GSC

#define GSC_WAIT_MAIN_GSC   0x0008

◆ GSC_WAIT_MAIN_OTHER

#define GSC_WAIT_MAIN_OTHER   0x0010

◆ GSC_WAIT_MAIN_PCI

#define GSC_WAIT_MAIN_PCI   0x0001

◆ GSC_WAIT_MAIN_SPURIOUS

#define GSC_WAIT_MAIN_SPURIOUS   0x0020

◆ GSC_WAIT_MAIN_UNKNOWN

#define GSC_WAIT_MAIN_UNKNOWN   0x0040

◆ GSC_WAIT_TIMEOUT_MAX

#define GSC_WAIT_TIMEOUT_MAX   (60L * 60L * 1000L)

Enumeration Type Documentation

◆ gsc_dev_type_t

Enumerator
GSC_DEV_TYPE_ADADIO 
GSC_DEV_TYPE_6SDI 
GSC_DEV_TYPE_16SDI 
GSC_DEV_TYPE_16SDI_HS 
GSC_DEV_TYPE_16HSDI 
GSC_DEV_TYPE_24DSI12 
GSC_DEV_TYPE_24DSI32 
GSC_DEV_TYPE_24DSI6 
GSC_DEV_TYPE_16AI32SSC 
GSC_DEV_TYPE_18AI32SSC1M 
GSC_DEV_TYPE_16AO20 
GSC_DEV_TYPE_16AISS16AO2 
GSC_DEV_TYPE_16HSDI4AO4 
GSC_DEV_TYPE_12AISS8AO4 
GSC_DEV_TYPE_16AO16 
GSC_DEV_TYPE_16AIO 
GSC_DEV_TYPE_12AIO 
GSC_DEV_TYPE_16AO12 
GSC_DEV_TYPE_SIO4 
GSC_DEV_TYPE_SIO4_SYNC 
GSC_DEV_TYPE_14HSAI4 
GSC_DEV_TYPE_HPDI32 
GSC_DEV_TYPE_OPTO16X16 
GSC_DEV_TYPE_16AI32SSA 
GSC_DEV_TYPE_24DSI16WRC 
GSC_DEV_TYPE_16AIO168 
GSC_DEV_TYPE_OPTO32 
GSC_DEV_TYPE_16AI64SSA 
GSC_DEV_TYPE_24DSI20C500K 
GSC_DEV_TYPE_18AISS6C 
GSC_DEV_TYPE_16AICS32 
GSC_DEV_TYPE_20AOF16C500KR 
GSC_DEV_TYPE_16AI64SSC 
GSC_DEV_TYPE_PEX8111 

◆ gsc_io_mode_t

Enumerator
GSC_IO_MODE_PIO 
GSC_IO_MODE_DMA 
GSC_IO_MODE_DMDMA 

◆ gsc_vpd_type_t

Enumerator
GSC_VPD_TYPE_NAME 
GSC_VPD_TYPE_MODEL_NUMBER 
GSC_VPD_TYPE_SERIAL_NUMBER