/* * dspbridge/mpu_api/inc/qosti.h * * DSP-BIOS Bridge driver support functions for TI OMAP processors. * * Copyright (C) 2007 Texas Instruments, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation version 2.1 of the License. * * This program is distributed .as is. WITHOUT ANY WARRANTY of any kind, * whether express or implied; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef _RQOSTI_H #define _RQOSTI_H #include #include #include /* 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); /* ======================================================================== func QosTI_GetProcLoadStat desc Get the Processor load statistics arg OUT currentLoad: arg OUT predLoad: arg OUT currDspFreq: arg OUT predictedFreq: ret DSP_SOK if successful. ======================================================================== */ DSP_STATUS QosTI_GetProcLoadStat(UINT *currentLoad, UINT *predLoad, UINT *currDspFreq, UINT *predictedFreq); #endif /* _RQOSTI_H*/