TIOVX User Guide
tivx_platform.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright (c) 2017 Texas Instruments Incorporated
4
*
5
* All rights reserved not granted herein.
6
*
7
* Limited License.
8
*
9
* Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10
* license under copyrights and patents it now or hereafter owns or controls to make,
11
* have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12
* terms herein. With respect to the foregoing patent license, such license is granted
13
* solely to the extent that any such patent is necessary to Utilize the software alone.
14
* The patent license shall not apply to any combinations which include this software,
15
* other than combinations with devices manufactured by or for TI ("TI Devices").
16
* No hardware patent is licensed hereunder.
17
*
18
* Redistributions must preserve existing copyright notices and reproduce this license
19
* (including the above copyright notice and the disclaimer and (if applicable) source
20
* code license limitations below) in the documentation and/or other materials provided
21
* with the distribution
22
*
23
* Redistribution and use in binary form, without modification, are permitted provided
24
* that the following conditions are met:
25
*
26
* * No reverse engineering, decompilation, or disassembly of this software is
27
* permitted with respect to any software provided in binary form.
28
*
29
* * any redistribution and use are licensed by TI for use only with TI Devices.
30
*
31
* * Nothing shall obligate TI to provide you with source code for the software
32
* licensed and provided to you in object code.
33
*
34
* If software source code is provided to you, modification and redistribution of the
35
* source code are permitted provided that the following conditions are met:
36
*
37
* * any redistribution and use of the source code, including any resulting derivative
38
* works, are licensed by TI for use only with TI Devices.
39
*
40
* * any redistribution and use of any object code compiled from the source code
41
* and any resulting derivative works, are licensed by TI for use only with TI Devices.
42
*
43
* Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44
*
45
* may be used to endorse or promote products derived from this software without
46
* specific prior written permission.
47
*
48
* DISCLAIMER.
49
*
50
* THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53
* IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59
* OF THE POSSIBILITY OF SUCH DAMAGE.
60
*
61
*/
62
63
64
65
66
#ifndef TIVX_PLATFORM_H_
67
#define TIVX_PLATFORM_H_
68
69
#ifdef __cplusplus
70
extern
"C"
{
71
#endif
72
73
#include <
tivx_obj_desc_priv.h
>
74
85
typedef
enum
{
86
88
TIVX_PLATFORM_LOCK_OBJ_DESC_TABLE
= 0,
89
91
TIVX_PLATFORM_LOCK_CONTEXT
,
92
94
TIVX_PLATFORM_LOCK_DATA_REF_QUEUE
,
95
97
TIVX_PLATFORM_LOCK_LOG_RT_INDEX
,
98
100
TIVX_PLATFORM_LOCK_LOG_RT
,
101
103
TIVX_PLATFORM_LOCK_MAX
104
105
}
tivx_platform_lock_type_e
;
106
116
vx_enum
ownPlatformGetTargetId
(
const
char
*target_name);
117
126
void
ownPlatformGetTargetName
(
vx_enum
target_id,
char
*target_name);
127
138
vx_bool
ownPlatformTargetMatch
(
const
char
*kernel_target_name,
const
char
*target_string);
139
140
149
void
ownPlatformGetObjDescTableInfo
(
tivx_obj_desc_table_info_t
*table_info);
150
159
void
ownPlatformGetLogRtShmInfo
(
void
**shm_base, uint32_t *shm_size);
160
169
void
ownPlatformSystemLock
(
vx_enum
lock_id);
170
176
void
ownPlatformSystemUnlock
(
vx_enum
lock_id);
177
183
vx_status
ownPlatformInit
(
void
);
184
190
void
ownPlatformDeInit
(
void
);
191
197
void
ownPlatformPrintf
(
const
char
*format);
198
207
void
ownPlatformCreateTargets
(
void
);
208
214
void
ownPlatformDeleteTargets
(
void
);
215
222
void
ownPlatformActivate
(
void
);
223
230
void
ownPlatformDeactivate
(
void
);
231
237
void
ownPlatformTaskInit
(
void
);
238
239
#ifdef __cplusplus
240
}
241
#endif
242
243
#endif
vx_bool
vx_bool
vx_enum
int32_t vx_enum
tivx_platform_lock_type_e
tivx_platform_lock_type_e
Types of system level locks.
Definition:
tivx_platform.h:85
ownPlatformDeleteTargets
void ownPlatformDeleteTargets(void)
Function to destroy created targets.
ownPlatformSystemUnlock
void ownPlatformSystemUnlock(vx_enum lock_id)
Release system level lock.
ownPlatformTargetMatch
vx_bool ownPlatformTargetMatch(const char *kernel_target_name, const char *target_string)
Match a user specified target_string with kernel suported target name.
ownPlatformGetLogRtShmInfo
void ownPlatformGetLogRtShmInfo(void **shm_base, uint32_t *shm_size)
Return shared memory info which holds the run-time logger buffer.
tivx_obj_desc_priv.h
Internal private implementation of object descriptor.
vx_status
vx_enum vx_status
TIVX_PLATFORM_LOCK_OBJ_DESC_TABLE
Lock the shared object descriptor table.
Definition:
tivx_platform.h:88
ownPlatformGetObjDescTableInfo
void ownPlatformGetObjDescTableInfo(tivx_obj_desc_table_info_t *table_info)
Return shared memory info which holds the object descriptors.
tivx_obj_desc_table_info_t
Data structure to hold info about object descriptor table.
Definition:
tivx_obj_desc_priv.h:438
ownPlatformCreateTargets
void ownPlatformCreateTargets(void)
Function to set the target configuration.
TIVX_PLATFORM_LOCK_CONTEXT
Lock the context during context create and delete.
Definition:
tivx_platform.h:91
ownPlatformPrintf
void ownPlatformPrintf(const char *format)
Print given string.
ownPlatformTaskInit
void ownPlatformTaskInit(void)
Utility function to call OS-specific task init functions.
TIVX_PLATFORM_LOCK_LOG_RT
Lock the run-time logger.
Definition:
tivx_platform.h:100
ownPlatformGetTargetName
void ownPlatformGetTargetName(vx_enum target_id, char *target_name)
Convert a specific target ID to a target name.
TIVX_PLATFORM_LOCK_MAX
Max number of locks.
Definition:
tivx_platform.h:103
TIVX_PLATFORM_LOCK_LOG_RT_INDEX
Lock the index information of run-time logger.
Definition:
tivx_platform.h:97
ownPlatformInit
vx_status ownPlatformInit(void)
Init Platform module.
ownPlatformDeInit
void ownPlatformDeInit(void)
DeInit Platform module.
ownPlatformActivate
void ownPlatformActivate(void)
Utility function to enable Platform specific things Currently Used for EVE algorithm to enable EDMA...
ownPlatformGetTargetId
vx_enum ownPlatformGetTargetId(const char *target_name)
Convert a target name to a specific target ID.
ownPlatformDeactivate
void ownPlatformDeactivate(void)
Utility function to disable Platform specific things Currently Used for EVE algorithm to disable EDMA...
TIVX_PLATFORM_LOCK_DATA_REF_QUEUE
Lock the data reference queue during enqueue and dequeue.
Definition:
tivx_platform.h:94
ownPlatformSystemLock
void ownPlatformSystemLock(vx_enum lock_id)
Take a system level lock.
source
include
tivx_platform.h
Generated by
1.8.14