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
tivxPlatformGetTargetId
(
const
char
*target_name);
117
126
void
tivxPlatformGetTargetName
(
vx_enum
target_id,
char
*target_name);
127
138
vx_bool
tivxPlatformTargetMatch
(
const
char
*kernel_target_name,
const
char
*target_string);
139
140
149
void
tivxPlatformGetObjDescTableInfo
(
tivx_obj_desc_table_info_t
*table_info);
150
159
void
tivxPlatformGetLogRtShmInfo
(
void
**shm_base, uint32_t *shm_size);
160
169
void
tivxPlatformSystemLock
(
vx_enum
lock_id);
170
176
void
tivxPlatformSystemUnlock
(
vx_enum
lock_id);
177
183
uint64_t
tivxPlatformGetTimeInUsecs
(
void
);
184
190
vx_status
tivxPlatformInit
(
void
);
191
197
void
tivxPlatformDeInit
(
void
);
198
204
void
tivxPlatformPrintf
(
const
char
*format);
205
214
void
tivxPlatformCreateTargets
(
void
);
215
221
void
tivxPlatformDeleteTargets
(
void
);
222
229
void
tivxPlatformActivate
(
void
);
230
237
void
tivxPlatformDeactivate
(
void
);
238
245
void
*
tivxPlatformGetDmaObj
(
void
);
246
247
#ifdef __cplusplus
248
}
249
#endif
250
251
#endif
vx_bool
vx_bool
tivxPlatformGetLogRtShmInfo
void tivxPlatformGetLogRtShmInfo(void **shm_base, uint32_t *shm_size)
Return shared memory info which holds the run-time logger buffer.
vx_enum
int32_t vx_enum
tivxPlatformSystemLock
void tivxPlatformSystemLock(vx_enum lock_id)
Take a system level lock.
tivx_platform_lock_type_e
tivx_platform_lock_type_e
Types of system level locks.
Definition:
tivx_platform.h:85
tivxPlatformSystemUnlock
void tivxPlatformSystemUnlock(vx_enum lock_id)
Release system level lock.
tivx_obj_desc_priv.h
Internal private implementation of object descriptor.
tivxPlatformDeactivate
void tivxPlatformDeactivate(void)
Utility function to disable Platform specific things Currently Used for EVE algorithm to disable EDMA...
tivxPlatformTargetMatch
vx_bool tivxPlatformTargetMatch(const char *kernel_target_name, const char *target_string)
Match a user specified target_string with kernel suported target name.
vx_status
vx_enum vx_status
TIVX_PLATFORM_LOCK_OBJ_DESC_TABLE
Lock the shared object descriptor table.
Definition:
tivx_platform.h:88
tivxPlatformActivate
void tivxPlatformActivate(void)
Utility function to enable Platform specific things Currently Used for EVE algorithm to enable EDMA.
tivxPlatformCreateTargets
void tivxPlatformCreateTargets(void)
Function to set the target configuration.
tivx_obj_desc_table_info_t
Data structure to hold info about object descriptor table.
Definition:
tivx_obj_desc_priv.h:442
TIVX_PLATFORM_LOCK_CONTEXT
Lock the context during context create and delete.
Definition:
tivx_platform.h:91
TIVX_PLATFORM_LOCK_LOG_RT
Lock the run-time logger.
Definition:
tivx_platform.h:100
tivxPlatformDeleteTargets
void tivxPlatformDeleteTargets(void)
Function to destroy created targets.
tivxPlatformGetTargetId
vx_enum tivxPlatformGetTargetId(const char *target_name)
Convert a target name to a specific target ID.
TIVX_PLATFORM_LOCK_MAX
Max number of locks.
Definition:
tivx_platform.h:103
tivxPlatformGetTargetName
void tivxPlatformGetTargetName(vx_enum target_id, char *target_name)
Convert a specific target ID to a target name.
TIVX_PLATFORM_LOCK_LOG_RT_INDEX
Lock the index information of run-time logger.
Definition:
tivx_platform.h:97
tivxPlatformGetObjDescTableInfo
void tivxPlatformGetObjDescTableInfo(tivx_obj_desc_table_info_t *table_info)
Return shared memory info which holds the object descriptors.
tivxPlatformDeInit
void tivxPlatformDeInit(void)
DeInit Platform module.
tivxPlatformGetTimeInUsecs
uint64_t tivxPlatformGetTimeInUsecs(void)
Get the time in micro seconds.
tivxPlatformPrintf
void tivxPlatformPrintf(const char *format)
Print given string.
tivxPlatformInit
vx_status tivxPlatformInit(void)
Init Platform module.
tivxPlatformGetDmaObj
void * tivxPlatformGetDmaObj(void)
Utility function to get Platform specific things Used to obtain DMA handle.
TIVX_PLATFORM_LOCK_DATA_REF_QUEUE
Lock the data reference queue during enqueue and dequeue.
Definition:
tivx_platform.h:94
source
include
tivx_platform.h
Generated by
1.8.15