214 lines
7.4 KiB
C
214 lines
7.4 KiB
C
/*
|
|
* 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.
|
|
*/
|
|
|
|
|
|
/*
|
|
* ======== DSPManager.h ========
|
|
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
|
|
* Description:
|
|
* This is the header for the DSP/BIOS Bridge manager module.
|
|
*
|
|
* Public Functions:
|
|
* DspManager_Open
|
|
* DspManager_Close
|
|
* DSPManager_EnumNodeInfo
|
|
* DSPManager_EnumProcessorInfo
|
|
* DSPManager_WaitForEvents
|
|
* DSPManager_RegisterObject
|
|
* DSPManager_UnregisterObject
|
|
*
|
|
*! Revision History:
|
|
*! ================
|
|
*! 03-Dec-2003 map Replaced include of dbdcddefs.h with dbdefs.h
|
|
*! 22-Nov-2002 gp Replaced include of dbdcd.h w/ dbdcddefs.h (hiding DCD APIs)
|
|
*! Formatting cleanup.
|
|
*! 15-Oct-2002 kc Removed legacy PERF definitions.
|
|
*! 16-Aug-2002 map Added DSPManager_RegisterObject/UnregisterObject for
|
|
*! registering Dynamic Libraries
|
|
*! 13-Feb-2001 kc: DSP/BIOS Bridge name updates.
|
|
*! 22-Nov-2000 kc: Added DSPManager_PerfGetStat to acquire PERF stats.
|
|
*! 25-Sep-2000 rr: Updated to Version 0.9
|
|
*! 14-Aug-2000 rr: Cleaned up.
|
|
*! 20-Jul-2000 rr: Updated to Version 0.8.
|
|
*! 27-Jun-2000 rr: Created from dbapi.h
|
|
*/
|
|
|
|
#ifndef DSPMANAGER_
|
|
#define DSPMANAGER_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <dbdefs.h>
|
|
|
|
/*
|
|
* ======== DspManager_Open ========
|
|
* Purpose:
|
|
* Open handle to the DSP/BIOS Bridge driver
|
|
* Parameters:
|
|
* argc: Reserved, set to zero
|
|
* argp: Reserved, set to NULL
|
|
* in the database will be returned.
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EFAIL: Failed to open handle to the DSP/BIOS Bridge driver
|
|
* Details:
|
|
*/
|
|
extern DBAPI DspManager_Open(UINT argc, PVOID argp);
|
|
|
|
/*
|
|
* ======== DspManager_Close ========
|
|
* Purpose:
|
|
* Close handle to the DSP/BIOS Bridge driver
|
|
* Parameters:
|
|
* argc: Reserved, set to zero
|
|
* argp: Reserved, set to NULL
|
|
* in the database will be returned.
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EFAIL: Failed to close handle to the DSP/BIOS Bridge driver
|
|
* Details:
|
|
*/
|
|
extern DBAPI DspManager_Close(UINT argc, PVOID argp);
|
|
|
|
/*
|
|
* ======== DSPManager_EnumNodeInfo ========
|
|
* Purpose:
|
|
* Enumerate and get configuration information about nodes configured
|
|
* in the node database.
|
|
* Parameters:
|
|
* uNode: The node index, counting up from 0.
|
|
* pNDBProps: Ptr to the DSP_NDBPROPS structure for output.
|
|
* uNDBPropsSize: Size of the DSP_NDBPROPS structure.
|
|
* puNumNodes: Location where the number of nodes configured
|
|
* in the database will be returned.
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EINVALIDARG: Parameter uNode is out of range
|
|
* DSP_EPOINTER: Parameter pNDBProps or puNumNodes is not valid
|
|
* DSP_EFAIL: Unable to get the node information.
|
|
* DSP_ESIZE: The size of the specified DSP_NDBPROPS structure
|
|
* is too small to hold all node information,
|
|
* (i.e., uNDBPropsSize is too small).
|
|
* DSP_ECHANGEDURINGENUM: During Enumeration there has been a change in
|
|
* the number of nodes configured or in the
|
|
* the properties of the enumerated nodes.
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_EnumNodeInfo(UINT uNode,
|
|
OUT struct DSP_NDBPROPS * pNDBProps,
|
|
UINT uNDBPropsSize,
|
|
OUT UINT * puNumNodes);
|
|
|
|
/*
|
|
* ======== DSPManager_EnumProcessorInfo ========
|
|
* Purpose:
|
|
* Enumerate and get configuration information about available DSP
|
|
* processors.
|
|
* Parameters:
|
|
* uProcessor: The processor index, counting up from 0.
|
|
* pProcessorInfo: Ptr to the DSP_PROCESSORINFO structure .
|
|
* uProcessorInfoSize: Size of DSP_PROCESSORINFO structure.
|
|
* puNumProcs: Location where the number of DSPs configured
|
|
* in the database will be returned
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EINVALIDARG: Parameter uProcessor is out of range
|
|
* DSP_EPOINTER: Parameter pProcessorInfo or puNumProcs is not valid.
|
|
* DSP_EFAIL: Unable to get the processor information.
|
|
* DSP_ESIZE: The size of the specified DSP_PROCESSORINFO struct
|
|
* is too small to hold all the processor information,
|
|
* (i.e., uProcessorInfoSize is too small).
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_EnumProcessorInfo(UINT uProcessor,
|
|
OUT struct DSP_PROCESSORINFO *
|
|
pProcessorInfo,
|
|
UINT uProcessorInfoSize,
|
|
OUT UINT * puNumProcs);
|
|
|
|
/*
|
|
* ======== DSPManager_WaitForEvents ========
|
|
* Purpose:
|
|
* Block on any Bridge event(s)
|
|
* Parameters:
|
|
* aNotifications : array of pointers to notification objects.
|
|
* uCount : number of elements in above array
|
|
* puIndex : index of signaled event object
|
|
* uTimeout : timeout interval in milliseocnds
|
|
* Returns:
|
|
* DSP_SOK : Success.
|
|
* DSP_ETIMEOUT : Wait timed out. *puIndex is undetermined.
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_WaitForEvents(struct DSP_NOTIFICATION**
|
|
aNotifications, UINT uCount,
|
|
OUT UINT * puIndex,
|
|
UINT uTimeout);
|
|
|
|
/*
|
|
* ======== DSPManager_RegisterObject ========
|
|
* Purpose:
|
|
* Register object with DSP/BIOS Bridge Configuration database (DCD).
|
|
* Parameters:
|
|
* pUuid: Pointer to UUID structure.
|
|
* objType: Library Type
|
|
* pszPathName: Path to library
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EFAIL: Unable to register object with the DCD.
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_RegisterObject(struct DSP_UUID * pUuid,
|
|
DSP_DCDOBJTYPE objType,
|
|
CHAR * pszPathName);
|
|
|
|
/*
|
|
* ======== DSPManager_UnregisterObject ========
|
|
* Purpose:
|
|
* Unregister object with DSP/BIOS Bridge Configuration Database (DCD).
|
|
* Parameters:
|
|
* pUuid: Pointer to UUID structure.
|
|
* objType: Library Type
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EFAIL: Unable to unregister object from the DCD.
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_UnregisterObject(struct DSP_UUID * pUuid,
|
|
DSP_DCDOBJTYPE objType);
|
|
|
|
#ifndef RES_CLEANUP_DISABLE
|
|
/*
|
|
* ======== DSPManager_GetProcResourceInfo========
|
|
* Purpose:
|
|
* Get GPP process resource information.
|
|
* Parameters:
|
|
* pBuf: Pointer to information buffer.
|
|
* Returns:
|
|
* DSP_SOK: Success.
|
|
* DSP_EFAIL: Unable to unregister object from the DCD.
|
|
* Details:
|
|
*/
|
|
extern DBAPI DSPManager_GetProcResourceInfo(UINT *pBuf, UINT *pSize);
|
|
#endif
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* DSPManager_ */
|