RTEMS  5.1
bspVmeDmaList.h
Go to the documentation of this file.
1 
10 #ifndef BSP_VME_DMA_LIST_H
11 #define BSP_VME_DMA_LIST_H
12 
13 
14 
15 /*
16  * The bspVmeDmaList utility implements part of the API defined by
17  * 'VMEDMA.h' namely all 'VMEDmaListDescriptor' related entry points:
18  *
19  * BSP_VMEDmaListDescriptorDestroy(),
20  * BSP_VMEDmaListDestroy(),
21  * BSP_VMEDmaListDescriptorEnq(),
22  * BSP_VMEDmaListDescriptorNext(),
23  * BSP_VMEDmaListDescriptorPrev(),
24  * BSP_VMEDmaListDescriptorSetUsr(),
25  * BSP_VMEDmaListDescriptorGetUsr(),
26  * BSP_VMEDmaListRefresh()
27  *
28  * Also, it provides helper routines to assist BSPs with implementing
29  *
30  * BSP_VMEDmaListDescriptorSetup()
31  *
32  * and
33  *
34  * BSP_VMEDmaListStart()
35  *
36  * by providing
37  *
38  * BSP_VMEDmaListDescriptorNewTool(),
39  * BSP_VMEDmaListDescriptorSetupTool(),
40  *
41  * and
42  *
43  * BSP_VMEDmaListDescriptorStartTool()
44  */
45 
46 /*
47  * Authorship
48  * ----------
49  * This software was created by
50  * Till Straumann <strauman@slac.stanford.edu>, 2006, 2007
51  * Stanford Linear Accelerator Center, Stanford University.
52  *
53  * Acknowledgement of sponsorship
54  * ------------------------------
55  * This software was produced by
56  * the Stanford Linear Accelerator Center, Stanford University,
57  * under Contract DE-AC03-76SFO0515 with the Department of Energy.
58  *
59  * Government disclaimer of liability
60  * ----------------------------------
61  * Neither the United States nor the United States Department of Energy,
62  * nor any of their employees, makes any warranty, express or implied, or
63  * assumes any legal liability or responsibility for the accuracy,
64  * completeness, or usefulness of any data, apparatus, product, or process
65  * disclosed, or represents that its use would not infringe privately owned
66  * rights.
67  *
68  * Stanford disclaimer of liability
69  * --------------------------------
70  * Stanford University makes no representations or warranties, express or
71  * implied, nor assumes any liability for the use of this software.
72  *
73  * Stanford disclaimer of copyright
74  * --------------------------------
75  * Stanford University, owner of the copyright, hereby disclaims its
76  * copyright and all other rights in this software. Hence, anyone may
77  * freely use it for any purpose without restriction.
78  *
79  * Maintenance of notices
80  * ----------------------
81  * In the interest of clarity regarding the origin and status of this
82  * SLAC software, this and all the preceding Stanford University notices
83  * are to remain affixed to any copy or derivative of this software made
84  * or distributed by the recipient and are to be affixed to any copy of
85  * software made or distributed by the recipient that contains a copy or
86  * derivative of this software.
87  *
88  * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
89  */
90 #include <stdint.h>
91 
92 #include <bsp/VMEDMA.h>
93 
94 #ifdef __cplusplus
95 extern "C" {
96 #endif
97 
98 typedef struct VMEDmaListNodeRec_ *VMEDmaListNode;
99 
100 typedef struct VMEDmaListClassRec_ *VMEDmaListClass;
101 
111 BSP_VMEDmaListDescriptorNewTool(
113  uint32_t attr_mask,
114  uint32_t xfer_mode,
115  uint32_t pci_addr,
116  uint32_t vme_addr,
117  uint32_t n_bytes);
118 
119 /* Setup an existing descriptor */
121 BSP_VMEDmaListDescriptorSetupTool(
122  VMEDmaListNode n,
123  uint32_t attr_mask,
124  uint32_t xfer_mode,
125  uint32_t pci_addr,
126  uint32_t vme_addr,
127  uint32_t n_bytes);
128 
129 
130 /* Start a list DMA transfer on 'controller'. The 'controller' information
131  * must be provided by the BSP.
132  */
133 int
134 BSP_VMEDmaListDescriptorStartTool(volatile void *controller, int channel, VMEDmaListNode n);
135 
136 #ifdef __cplusplus
137 }
138 #endif
139 
140 #endif
Definition: bspVmeDmaListP.h:89
#define pc
pc, used on mips16 */
Definition: regs.h:67
Definition: bspVmeDmaList.c:61
Public interface of DMA routines.