vmedrv.h File Reference

Go to the source code of this file.

Data Structures

struct  vmeOutWindowCfg
struct  vmeAttr
struct  vmeDmaPacket
struct  vmeInfoCfg
struct  vmeRequesterCfg
struct  vmeArbiterCfg
struct  virqInfo
struct  vmeInWindowCfg
struct  vmeRmwCfg
struct  vmeLmCfg
struct  vmeSharedData

Defines

#define VMEDRV_REV   0x0301
#define VME_MINOR_TYPE_MASK   0xF0
#define VME_MINOR_OUT   0x00
#define VME_MINOR_DMA   0x10
#define VME_MINOR_MISC   0x20
#define VME_MINOR_SLOTS1   0x30
#define VME_MINOR_SLOTS2   0x40
#define VME_MINOR_CTL   0x20
#define VME_MINOR_REGS   0x21
#define VME_MINOR_RMW   0x22
#define VME_MINOR_LM   0x23
#define PAGESIZE   4096
#define LINESIZE   0x20
#define VME_MAX_WINDOWS   8
#define PCI_DEVICE_ID_TUNDRA_TEMPE   0x148
#define longswap(x)
#define iowrite32   writel
#define iowrite16   writew
#define iowrite8   writeb
#define ioread32   readl
#define ioread16   readw
#define ioread8   readb
#define VME_DATA   1
#define VME_PROG   2
#define VME_USER   4
#define VME_SUPER   8
#define VME_SCT   0x1
#define VME_BLT   0x2
#define VME_MBLT   0x4
#define VME_2eVME   0x8
#define VME_2eSST   0x10
#define VME_2eSSTB   0x20
#define VME_IOCTL_SET_OUTBOUND   0x10
#define VME_IOCTL_GET_OUTBOUND   0x11
#define VME_IOCTL_START_DMA   0x30
#define VME_IOCTL_PAUSE_DMA   0x31
#define VME_IOCTL_CONTINUE_DMA   0x32
#define VME_IOCTL_ABORT_DMA   0x33
#define VME_IOCTL_WAIT_DMA   0x34
#define VME_IOCTL_GET_SLOT_VME_INFO   0x41
#define VME_IOCTL_SET_REQUESTOR   0x42
#define VME_IOCTL_GET_REQUESTOR   0x43
#define VME_IOCTL_SET_CONTROLLER   0x44
#define VME_IOCTL_GET_CONTROLLER   0x45
#define VME_IOCTL_GENERATE_IRQ   0x46
#define VME_IOCTL_GET_IRQ_STATUS   0x47
#define VME_IOCTL_CLR_IRQ_STATUS   0x48
#define VME_IOCTL_SET_INBOUND   0x49
#define VME_IOCTL_GET_INBOUND   0x50
#define VME_IOCTL_DO_RMW   0x60
#define VME_IOCTL_SETUP_LM   0x70
#define VME_IOCTL_WAIT_LM   0x71
#define VME_ERR_VERR   1
#define VME_ERR_PERR   2

Typedefs

typedef vmeOutWindowCfg vmeOutWindowCfg_t
typedef vmeAttr vmeAttr_t
typedef vmeDmaPacket vmeDmaPacket_t
typedef vmeInfoCfg vmeInfoCfg_t
typedef vmeRequesterCfg vmeRequesterCfg_t
typedef vmeArbiterCfg vmeArbiterCfg_t
typedef virqInfo virqInfo_t
typedef vmeInWindowCfg vmeInWindowCfg_t
typedef vmeRmwCfg vmeRmwCfg_t
typedef vmeLmCfg vmeLmCfg_t

Enumerations

enum  addressMode_t {
  VME_A16, VME_A24, VME_A32, VME_A64, VME_CRCSR, VME_USER1,
  VME_USER2, VME_USER3, VME_USER4
}
enum  dataWidth_t { VME_D8 = 8, VME_D16 = 16, VME_D32 = 32, VME_D64 = 64 }
enum  vme2esstRate_t { VME_SSTNONE = 0, VME_SST160 = 160, VME_SST267 = 267, VME_SST320 = 320 }
enum  vme2ArbMode_t { VME_R_ROBIN_MODE, VME_PRIORITY_MODE }
enum  dmaData_t {
  VME_DMA_PATTERN_BYTE, VME_DMA_PATTERN_BYTE_INCREMENT, VME_DMA_PATTERN_WORD, VME_DMA_PATTERN_WORD_INCREMENT, VME_DMA_USER, VME_DMA_KERNEL,
  VME_DMA_PCI, VME_DMA_VME
}


Define Documentation

#define ioread16   readw

Definition at line 106 of file vmedrv.h.

#define ioread32   readl

Definition at line 103 of file vmedrv.h.

#define ioread8   readb

Definition at line 109 of file vmedrv.h.

#define iowrite16   writew

Definition at line 96 of file vmedrv.h.

#define iowrite32   writel

Definition at line 93 of file vmedrv.h.

#define iowrite8   writeb

Definition at line 99 of file vmedrv.h.

#define LINESIZE   0x20

Definition at line 73 of file vmedrv.h.

#define longswap (  ) 

Value:

((uint32_t) ( \
                     ((x<<24) & 0xff000000) | \
                     ((x<<8)  & 0x00ff0000) | \
                     ((x>>8)  & 0x0000ff00) | \
                     ((x>>24) & 0x000000ff)  \
                    ))

Definition at line 84 of file vmedrv.h.

#define PAGESIZE   4096

Definition at line 70 of file vmedrv.h.

#define PCI_DEVICE_ID_TUNDRA_TEMPE   0x148

Definition at line 77 of file vmedrv.h.

#define VME_2eSST   0x10

Definition at line 147 of file vmedrv.h.

#define VME_2eSSTB   0x20

Definition at line 148 of file vmedrv.h.

#define VME_2eVME   0x8

Definition at line 146 of file vmedrv.h.

#define VME_BLT   0x2

Definition at line 144 of file vmedrv.h.

Referenced by makeDmaPacket().

#define VME_DATA   1

Definition at line 120 of file vmedrv.h.

Referenced by gefvme_openWindow(), and makeDmaPacket().

#define VME_ERR_PERR   2

Definition at line 531 of file vmedrv.h.

#define VME_ERR_VERR   1

Definition at line 530 of file vmedrv.h.

#define VME_IOCTL_ABORT_DMA   0x33

Definition at line 224 of file vmedrv.h.

#define VME_IOCTL_CLR_IRQ_STATUS   0x48

Definition at line 377 of file vmedrv.h.

#define VME_IOCTL_CONTINUE_DMA   0x32

Definition at line 223 of file vmedrv.h.

#define VME_IOCTL_DO_RMW   0x60

Definition at line 438 of file vmedrv.h.

#define VME_IOCTL_GENERATE_IRQ   0x46

Definition at line 375 of file vmedrv.h.

#define VME_IOCTL_GET_CONTROLLER   0x45

Definition at line 361 of file vmedrv.h.

#define VME_IOCTL_GET_INBOUND   0x50

Definition at line 399 of file vmedrv.h.

#define VME_IOCTL_GET_IRQ_STATUS   0x47

Definition at line 376 of file vmedrv.h.

#define VME_IOCTL_GET_OUTBOUND   0x11

Definition at line 184 of file vmedrv.h.

#define VME_IOCTL_GET_REQUESTOR   0x43

Definition at line 345 of file vmedrv.h.

#define VME_IOCTL_GET_SLOT_VME_INFO   0x41

Definition at line 322 of file vmedrv.h.

#define VME_IOCTL_PAUSE_DMA   0x31

Definition at line 222 of file vmedrv.h.

#define VME_IOCTL_SET_CONTROLLER   0x44

Definition at line 360 of file vmedrv.h.

#define VME_IOCTL_SET_INBOUND   0x49

Definition at line 398 of file vmedrv.h.

#define VME_IOCTL_SET_OUTBOUND   0x10

Definition at line 183 of file vmedrv.h.

Referenced by gefvme_openWindow().

#define VME_IOCTL_SET_REQUESTOR   0x42

Definition at line 344 of file vmedrv.h.

Referenced by mvme_open().

#define VME_IOCTL_SETUP_LM   0x70

Definition at line 461 of file vmedrv.h.

#define VME_IOCTL_START_DMA   0x30

Definition at line 221 of file vmedrv.h.

Referenced by runDma().

#define VME_IOCTL_WAIT_DMA   0x34

Definition at line 225 of file vmedrv.h.

#define VME_IOCTL_WAIT_LM   0x71

Definition at line 462 of file vmedrv.h.

#define VME_MAX_WINDOWS   8

Definition at line 75 of file vmedrv.h.

#define VME_MBLT   0x4

Definition at line 145 of file vmedrv.h.

Referenced by makeDmaPacket().

#define VME_MINOR_CTL   0x20

Definition at line 65 of file vmedrv.h.

#define VME_MINOR_DMA   0x10

Definition at line 60 of file vmedrv.h.

#define VME_MINOR_LM   0x23

Definition at line 68 of file vmedrv.h.

#define VME_MINOR_MISC   0x20

Definition at line 61 of file vmedrv.h.

#define VME_MINOR_OUT   0x00

Definition at line 59 of file vmedrv.h.

#define VME_MINOR_REGS   0x21

Definition at line 66 of file vmedrv.h.

#define VME_MINOR_RMW   0x22

Definition at line 67 of file vmedrv.h.

#define VME_MINOR_SLOTS1   0x30

Definition at line 62 of file vmedrv.h.

#define VME_MINOR_SLOTS2   0x40

Definition at line 63 of file vmedrv.h.

#define VME_MINOR_TYPE_MASK   0xF0

Definition at line 58 of file vmedrv.h.

#define VME_PROG   2

Definition at line 121 of file vmedrv.h.

#define VME_SCT   0x1

Definition at line 143 of file vmedrv.h.

#define VME_SUPER   8

Definition at line 123 of file vmedrv.h.

#define VME_USER   4

Definition at line 122 of file vmedrv.h.

Referenced by gefvme_openWindow(), and makeDmaPacket().

#define VMEDRV_REV   0x0301

Definition at line 56 of file vmedrv.h.


Typedef Documentation

typedef struct virqInfo virqInfo_t

typedef struct vmeArbiterCfg vmeArbiterCfg_t

Definition at line 373 of file vmedrv.h.

typedef struct vmeAttr vmeAttr_t

Definition at line 253 of file vmedrv.h.

typedef struct vmeDmaPacket vmeDmaPacket_t

typedef struct vmeInfoCfg vmeInfoCfg_t

Definition at line 342 of file vmedrv.h.

typedef struct vmeInWindowCfg vmeInWindowCfg_t

Definition at line 432 of file vmedrv.h.

typedef struct vmeLmCfg vmeLmCfg_t

Definition at line 477 of file vmedrv.h.

typedef struct vmeOutWindowCfg vmeOutWindowCfg_t

Definition at line 214 of file vmedrv.h.

typedef struct vmeRequesterCfg vmeRequesterCfg_t

Definition at line 358 of file vmedrv.h.

typedef struct vmeRmwCfg vmeRmwCfg_t

Definition at line 455 of file vmedrv.h.


Enumeration Type Documentation

enum addressMode_t

Enumerator:
VME_A16 
VME_A24 
VME_A32 
VME_A64 
VME_CRCSR 
VME_USER1 
VME_USER2 
VME_USER3 
VME_USER4 

Definition at line 128 of file vmedrv.h.

00128              {
00129         VME_A16,
00130         VME_A24,
00131         VME_A32,
00132         VME_A64,
00133         VME_CRCSR,
00134         VME_USER1,
00135         VME_USER2,
00136         VME_USER3,
00137         VME_USER4
00138 } addressMode_t;

enum dataWidth_t

Enumerator:
VME_D8 
VME_D16 
VME_D32 
VME_D64 

Definition at line 153 of file vmedrv.h.

00153              {
00154         VME_D8 = 8,
00155         VME_D16 = 16,
00156         VME_D32 = 32,
00157         VME_D64 = 64
00158 } dataWidth_t;

enum dmaData_t

Enumerator:
VME_DMA_PATTERN_BYTE 
VME_DMA_PATTERN_BYTE_INCREMENT 
VME_DMA_PATTERN_WORD 
VME_DMA_PATTERN_WORD_INCREMENT 
VME_DMA_USER 
VME_DMA_KERNEL 
VME_DMA_PCI 
VME_DMA_VME 

Definition at line 227 of file vmedrv.h.

00227              {
00228         /* NOTE: PATTERN entries only valid as source of data */
00229         VME_DMA_PATTERN_BYTE,
00230         VME_DMA_PATTERN_BYTE_INCREMENT,
00231         VME_DMA_PATTERN_WORD,
00232         VME_DMA_PATTERN_WORD_INCREMENT,
00233         VME_DMA_USER,
00234         VME_DMA_KERNEL,
00235         VME_DMA_PCI,
00236         VME_DMA_VME
00237 } dmaData_t;

enum vme2ArbMode_t

Enumerator:
VME_R_ROBIN_MODE 
VME_PRIORITY_MODE 

Definition at line 174 of file vmedrv.h.

00174              {
00175         VME_R_ROBIN_MODE,
00176         VME_PRIORITY_MODE
00177 } vme2ArbMode_t;

enum vme2esstRate_t

Enumerator:
VME_SSTNONE 
VME_SST160 
VME_SST267 
VME_SST320 

Definition at line 163 of file vmedrv.h.

00163              {
00164         VME_SSTNONE = 0,
00165         VME_SST160 = 160,
00166         VME_SST267 = 267,
00167         VME_SST320 = 320
00168 } vme2esstRate_t;


Midas DOC Version 3.0.0 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk