/* | |
* Copyright 2001-2008 Texas Instruments - http://www.ti.com/ | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
/* | |
* Qosti.h | |
* DSP-BIOS Bridge driver support functions for TI OMAP processors. | |
*/ | |
#ifndef _RQOSTI_H | |
#define _RQOSTI_H | |
#include <dbapi.h> | |
#include <qosti_dspdecl.h> | |
#include <stdio.h> | |
/* This must match QOS_TI_GetMemStatArg1::ALLHEAPS */ | |
#define KAllHeaps 0x100 | |
/* This must match QOS_TI_GetSharedScratchMsgArg2::ALL_SCRATCHGROUPS */ | |
#define KAllScratchGroups 0 | |
/* | |
* ======== QOS_TI_GetDynLoaderMemStatArg1 ======== | |
* The enumeration defines the memory heap resources available for querying. | |
*/ | |
typedef enum QOS_TI_GetDynLoaderMemStatArg1 { | |
EDynloadDaram = 0, | |
EDynloadSaram = 1, | |
EDynloadExternal = 2, | |
EDynloadSram = 3 | |
} QOS_TI_GetDynLoaderMemStatArg1; | |
/* | |
* ======== QOS_TI_GetSharedScratchMsgArg1 ======== | |
* The enumeration defines the control command selector for *arg1* | |
* of the QOS_TI_GETSHAREDSCRATCH message. | |
*/ | |
typedef enum QOS_TI_GetSharedScratchMsgArg1 { | |
ESharedScratchAllHeaps, | |
ESharedScratchDaram, | |
ESharedScratchSaram | |
} QOS_TI_GetSharedScratchMsgArg1; | |
void DbgMsg(DWORD dwZone, char *szFormat, ...); | |
/* ============================================================================ | |
func MsgToDsp | |
desc Send Message to DSP | |
ret DSP_SOK if Message was transferred to DSP successfully. | |
============================================================================*/ | |
DSP_STATUS QosTI_DspMsg(DWORD dwCmd, DWORD dwArg1, DWORD dwArg2, DWORD *dwOut1, | |
DWORD *dwOut2); | |
/* ======================================================================== | |
func Create | |
desc Create the Qos service. | |
ret DSP_SOK if successfully created. | |
========================================================================*/ | |
DSP_STATUS QosTI_Create(); | |
/* ======================================================================== | |
func Delete | |
desc Delete Qos service. | |
========================================================================*/ | |
void QosTI_Delete(); | |
/* ======================================================================== | |
func GetDynLoaderMemStat | |
desc Get the current memory utilization for heaps used in dynamic loading. | |
arg IN heapDesc: value in range 0..4 => Heap Identifier | |
Valid values: | |
EDynloadDaram = DYN_DARAM heap (internal) | |
EDynloadSaram = DYN_SARAM heap (internal) | |
EDynloadExternal = DYN_EXTERNAL heap (external) | |
EDynloadSram = DYN_SRAM heap (internal) | |
arg OUT memInitSize: initially configured size of heap | |
arg OUT memUsed: size of heap in use (not free) | |
arg OUT memLargestFreeBlockSize: size of largest contiguous free memory | |
arg OUT memFreeBlocks: number of free blocks in heap | |
arg OUT memAllocBlocks: number of allocated blocks in heap | |
ret DSP_SOK if successful. | |
========================================================================*/ | |
DSP_STATUS QosTI_GetDynLoaderMemStat(UINT heapDesc, UINT *memInitSize, | |
UINT *memUsed, UINT *memLargestFreeBlockSize, | |
UINT *memFreeBlocks, UINT *memAllocBlocks); | |
#endif /* _RQOSTI_H*/ | |