~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/staging/vme/devices/vme_user.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _VME_USER_H_
 
2
#define _VME_USER_H_
 
3
 
 
4
#define VME_USER_BUS_MAX        1
 
5
 
 
6
/*
 
7
 * VMEbus Master Window Configuration Structure
 
8
 */
 
9
struct vme_master {
 
10
        int enable;                     /* State of Window */
 
11
        unsigned long long vme_addr;    /* Starting Address on the VMEbus */
 
12
        unsigned long long size;        /* Window Size */
 
13
        vme_address_t aspace;           /* Address Space */
 
14
        vme_cycle_t cycle;              /* Cycle properties */
 
15
        vme_width_t dwidth;             /* Maximum Data Width */
 
16
#if 0
 
17
        char prefetchEnable;            /* Prefetch Read Enable State */
 
18
        int prefetchSize;               /* Prefetch Read Size (Cache Lines) */
 
19
        char wrPostEnable;              /* Write Post State */
 
20
#endif
 
21
};
 
22
 
 
23
 
 
24
/*
 
25
 * IOCTL Commands and structures
 
26
 */
 
27
 
 
28
/* Magic number for use in ioctls */
 
29
#define VME_IOC_MAGIC 0xAE
 
30
 
 
31
 
 
32
/* VMEbus Slave Window Configuration Structure */
 
33
struct vme_slave {
 
34
        int enable;                     /* State of Window */
 
35
        unsigned long long vme_addr;    /* Starting Address on the VMEbus */
 
36
        unsigned long long size;        /* Window Size */
 
37
        vme_address_t aspace;           /* Address Space */
 
38
        vme_cycle_t cycle;              /* Cycle properties */
 
39
#if 0
 
40
        char wrPostEnable;              /* Write Post State */
 
41
        char rmwLock;                   /* Lock PCI during RMW Cycles */
 
42
        char data64BitCapable;          /* non-VMEbus capable of 64-bit Data */
 
43
#endif
 
44
};
 
45
 
 
46
struct vme_irq_id {
 
47
        __u8 level;
 
48
        __u8 statid;
 
49
};
 
50
 
 
51
#define VME_GET_SLAVE _IOR(VME_IOC_MAGIC, 1, struct vme_slave)
 
52
#define VME_SET_SLAVE _IOW(VME_IOC_MAGIC, 2, struct vme_slave)
 
53
#define VME_GET_MASTER _IOR(VME_IOC_MAGIC, 3, struct vme_master)
 
54
#define VME_SET_MASTER _IOW(VME_IOC_MAGIC, 4, struct vme_master)
 
55
#define VME_IRQ_GEN _IOW(VME_IOC_MAGIC, 5, struct vme_irq_id)
 
56
 
 
57
#endif /* _VME_USER_H_ */
 
58