acpy2.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (c) 2009, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  * 
00032  */
00033 /*
00034  *  ======== acpy2.h ========
00035  *  Declaration of the ACPY2 interface.
00036  */
00037 
00038 #ifndef ACPY2_
00039 #define ACPY2_
00040 
00041 #include "idma2.h"
00042 
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046 
00047 /*
00048  *  ======== ACPY2_complete ========
00049  *  Check to see if all dma transfers on logical channel are finished. This
00050  *  is a non-blocking call.
00051  */
00052 extern Int ACPY2_complete(IDMA2_Handle handle);
00053 
00054 /*
00055  *  ======= ACPY2_configure ========
00056  *  Configure logical channel.
00057  */
00058 extern Void ACPY2_configure(IDMA2_Handle handle, IDMA2_Params *params);
00059 
00060 /*
00061  *  ======== ACPY2_exit ========
00062  *  Finalization of the ACPY2 module
00063  */
00064 extern Void ACPY2_exit(Void);
00065 
00066 /*
00067  *  ======== ACPY2_getChanObjSize ========
00068  *  Called by framework. Returns the channel object size.
00069  */
00070 extern Uns ACPY2_getChanObjSize(Void);
00071 
00072 /*
00073  *  ======== ACPY2_init ========
00074  *  Initialize the ACPY2 module.  Called by framework
00075  */
00076 extern Void ACPY2_init(Void);
00077 
00078 /*
00079  *  ======== ACPY2_initChannel ========
00080  *  Called by the framework. Initialize the channel state.
00081  *  Associate the channel with the provided queueId.
00082  */
00083 extern Void ACPY2_initChannel(IDMA2_Handle handle, Int queueId);
00084 
00085 /*
00086  * ======== ACPY2_setDstFrameIndex ========
00087  * Set the Destination Frame Index.
00088  */
00089 extern Void ACPY2_setDstFrameIndex(IDMA2_Handle handle, Int frameIndex);
00090 
00091 /*
00092  * ======== ACPY2_setNumFrames ========
00093  * Set the Number of Frames
00094  */
00095 extern Void ACPY2_setNumFrames(IDMA2_Handle handle, Uns numFrames);
00096 
00097 /*
00098  * ======== ACPY2_setSrcFrameIndex ========
00099  * Set the Source Frame Index.
00100  */
00101 extern Void ACPY2_setSrcFrameIndex(IDMA2_Handle handle, Int frameIndex);
00102 
00103 /*
00104  *  ======= ACPY2_start ========
00105  *  Submit the transfer specific information. The DMA manager will handle
00106  *  the request, and program the DMA device.
00107  */
00108 extern Void ACPY2_start(IDMA2_Handle handle,IDMA2_AdrPtr src,
00109     IDMA2_AdrPtr dst, Uns count);
00110 
00111 /*
00112  *  ======= ACPY2_startAligned ========
00113  *  Submit the transfer specific information. The DMA manager will
00114  *  handle the request, and program the DMA device.  Requires aligned
00115  *  addresses and index parameters
00116  */
00117 extern Void ACPY2_startAligned(IDMA2_Handle handle,IDMA2_AdrPtr src,
00118     IDMA2_AdrPtr dst, Uns count);
00119 
00120 /*
00121  *  ======= ACPY2_wait ========
00122  *  Wait for all data transfer on logical channel to complete. This is a
00123  *  blocking call.
00124  */
00125 extern Void ACPY2_wait(IDMA2_Handle handle);
00126 
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 
00131 #endif /* ACPY2_ */
00132 
00133 
00134 /*
00135  *  @(#) ti.xdais; 1, 2.0, 1,192; 3-13-2009 12:27:21; /db/wtree/library/trees/dais/dais-o05x/src/
00136  */
00137 

Copyright 2009, Texas Instruments Incorporated