Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:53

0001 /**
0002  *  @file
0003  *
0004  *  @ingroup shared_vmetsi148dma
0005  *
0006  *  @brief vmeTsi148DMA Support
0007  */
0008 
0009 #ifndef VME_TSI148_DMA_H
0010 #define VME_TSI148_DMA_H
0011 
0012 #include <bsp/vmeTsi148.h>
0013 
0014 /*
0015  * Authorship
0016  * ----------
0017  * This software was created by
0018  *     Till Straumann <strauman@slac.stanford.edu>, 2006, 2007
0019  *     Stanford Linear Accelerator Center, Stanford University.
0020  *
0021  * Acknowledgement of sponsorship
0022  * ------------------------------
0023  * This software was produced by
0024  *     the Stanford Linear Accelerator Center, Stanford University,
0025  *     under Contract DE-AC03-76SFO0515 with the Department of Energy.
0026  *
0027  * Government disclaimer of liability
0028  * ----------------------------------
0029  * Neither the United States nor the United States Department of Energy,
0030  * nor any of their employees, makes any warranty, express or implied, or
0031  * assumes any legal liability or responsibility for the accuracy,
0032  * completeness, or usefulness of any data, apparatus, product, or process
0033  * disclosed, or represents that its use would not infringe privately owned
0034  * rights.
0035  *
0036  * Stanford disclaimer of liability
0037  * --------------------------------
0038  * Stanford University makes no representations or warranties, express or
0039  * implied, nor assumes any liability for the use of this software.
0040  *
0041  * Stanford disclaimer of copyright
0042  * --------------------------------
0043  * Stanford University, owner of the copyright, hereby disclaims its
0044  * copyright and all other rights in this software.  Hence, anyone may
0045  * freely use it for any purpose without restriction.
0046  *
0047  * Maintenance of notices
0048  * ----------------------
0049  * In the interest of clarity regarding the origin and status of this
0050  * SLAC software, this and all the preceding Stanford University notices
0051  * are to remain affixed to any copy or derivative of this software made
0052  * or distributed by the recipient and are to be affixed to any copy of
0053  * software made or distributed by the recipient that contains a copy or
0054  * derivative of this software.
0055  *
0056  * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
0057  */
0058 #ifdef __cplusplus
0059 extern "C" {
0060 #endif
0061 
0062 /**
0063  *  @defgroup shared_vmetsi148dma DMA List
0064  *
0065  *  @ingroup shared_vmeuniverse
0066  *
0067  *  @brief DMA List access functions for use by bspVmeDmaList
0068  */
0069 
0070 extern struct VMEDmaListClassRec_ vmeTsi148DmaListClass;
0071 
0072 typedef struct VmeTsi148DmaListDescriptorRec_ *VmeTsi148DmaListDescriptor;
0073 
0074 int
0075 vmeTsi148DmaSetupXX(BERegister *base, int channel, uint32_t mode, uint32_t xfer_mode, void *custom);
0076 
0077 int
0078 vmeTsi148DmaSetup(int channel, uint32_t mode, uint32_t xfer_mode, void *custom);
0079 
0080 int
0081 vmeTsi148DmaListStartXX(BERegister *base, int channel, VmeTsi148DmaListDescriptor d);
0082 
0083 int
0084 vmeTsi148DmaListStart(int channel, VmeTsi148DmaListDescriptor d);
0085 
0086 int
0087 vmeTsi148DmaStartXX(BERegister *base, int channel, uint32_t pci_addr, uint32_t vme_addr, uint32_t n_bytes);
0088 
0089 int
0090 vmeTsi148DmaStart(int channel, uint32_t pci_addr, uint32_t vme_addr, uint32_t n_bytes);
0091 
0092 uint32_t
0093 vmeTsi148DmaStatusXX(BERegister *base, int channel);
0094 
0095 uint32_t
0096 vmeTsi148DmaStatus(int channel);
0097 
0098 #ifdef __cplusplus
0099 }
0100 #endif
0101 
0102 #endif