1 /*
2  *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  */
16 
17 /*
18  * Qosti.h
19  * DSP-BIOS Bridge driver support functions for TI OMAP processors.
20  */
21 
22 
23 #ifndef _RQOSTI_H
24 #define _RQOSTI_H
25 #include <dbapi.h>
26 #include <qosti_dspdecl.h>
27 #include <stdio.h>
28 /* This must match QOS_TI_GetMemStatArg1::ALLHEAPS */
29 #define KAllHeaps 0x100
30 /* This must match QOS_TI_GetSharedScratchMsgArg2::ALL_SCRATCHGROUPS */
31 #define KAllScratchGroups 0
32 /*
33  *  ======== QOS_TI_GetDynLoaderMemStatArg1 ========
34  *  The enumeration defines the memory heap resources available for querying.
35  */
36 typedef enum QOS_TI_GetDynLoaderMemStatArg1 {
37 	EDynloadDaram = 0,
38 	EDynloadSaram = 1,
39 	EDynloadExternal = 2,
40 	EDynloadSram = 3
41 } QOS_TI_GetDynLoaderMemStatArg1;
42 
43 /*
44  *  ======== QOS_TI_GetSharedScratchMsgArg1 ========
45  *  The enumeration defines the control command selector for *arg1*
46  *  of the QOS_TI_GETSHAREDSCRATCH message.
47  */
48 typedef enum QOS_TI_GetSharedScratchMsgArg1 {
49 
50 	ESharedScratchAllHeaps,
51 
52 	ESharedScratchDaram,
53 
54 	ESharedScratchSaram
55 } QOS_TI_GetSharedScratchMsgArg1;
56 
57 void DbgMsg(DWORD dwZone, char *szFormat, ...);
58 
59 /*  ============================================================================
60   func   MsgToDsp
61   desc   Send Message to DSP
62   ret    DSP_SOK if Message was transferred to DSP successfully.
63  ============================================================================*/
64 
65 DSP_STATUS QosTI_DspMsg(DWORD dwCmd, DWORD dwArg1, DWORD dwArg2, DWORD *dwOut1,
66 																DWORD *dwOut2);
67 
68 /*  ========================================================================
69   func   Create
70   desc   Create the Qos service.
71   ret    DSP_SOK if successfully created.
72   ========================================================================*/
73 
74 DSP_STATUS QosTI_Create();
75 
76 /* ========================================================================
77   func   Delete
78   desc   Delete Qos service.
79   ========================================================================*/
80 
81 void QosTI_Delete();
82 
83 /*  ========================================================================
84   func   GetDynLoaderMemStat
85   desc   Get the current memory utilization for heaps used in dynamic loading.
86   arg   IN heapDesc:  value in range 0..4 => Heap Identifier
87                   Valid values:
88                         EDynloadDaram    = DYN_DARAM heap (internal)
89                         EDynloadSaram    = DYN_SARAM heap (internal)
90                         EDynloadExternal = DYN_EXTERNAL heap (external)
91                         EDynloadSram     = DYN_SRAM heap (internal)
92   arg   OUT memInitSize:             initially configured size of heap
93   arg   OUT memUsed:                 size of heap in use (not free)
94   arg   OUT memLargestFreeBlockSize: size of largest contiguous free memory
95   arg   OUT memFreeBlocks:           number of free blocks in heap
96   arg   OUT memAllocBlocks:          number of allocated blocks in heap
97   ret   DSP_SOK if successful.
98   ========================================================================*/
99 
100 DSP_STATUS QosTI_GetDynLoaderMemStat(UINT heapDesc, UINT *memInitSize,
101 								UINT *memUsed, UINT *memLargestFreeBlockSize,
102 								UINT *memFreeBlocks, UINT *memAllocBlocks);
103 
104 #endif				/* _RQOSTI_H*/
105 
106