114 lines
4.1 KiB
C
114 lines
4.1 KiB
C
/*
|
|
* 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 <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);
|
|
|
|
|
|
/* ========================================================================
|
|
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*/
|
|
|