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 
89 
92 
95 
98 
101 
104 
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 
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 
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
int32_t vx_enum
tivx_platform_lock_type_e
Types of system level locks.
Definition: tivx_platform.h:85
void ownPlatformDeleteTargets(void)
Function to destroy created targets.
void ownPlatformSystemUnlock(vx_enum lock_id)
Release system level lock.
vx_bool ownPlatformTargetMatch(const char *kernel_target_name, const char *target_string)
Match a user specified target_string with kernel suported target name.
void ownPlatformGetLogRtShmInfo(void **shm_base, uint32_t *shm_size)
Return shared memory info which holds the run-time logger buffer.
Internal private implementation of object descriptor.
vx_enum vx_status
Lock the shared object descriptor table.
Definition: tivx_platform.h:88
void ownPlatformGetObjDescTableInfo(tivx_obj_desc_table_info_t *table_info)
Return shared memory info which holds the object descriptors.
Data structure to hold info about object descriptor table.
void ownPlatformCreateTargets(void)
Function to set the target configuration.
Lock the context during context create and delete.
Definition: tivx_platform.h:91
void ownPlatformPrintf(const char *format)
Print given string.
void ownPlatformTaskInit(void)
Utility function to call OS-specific task init functions.
Lock the run-time logger.
void ownPlatformGetTargetName(vx_enum target_id, char *target_name)
Convert a specific target ID to a target name.
Max number of locks.
Lock the index information of run-time logger.
Definition: tivx_platform.h:97
vx_status ownPlatformInit(void)
Init Platform module.
void ownPlatformDeInit(void)
DeInit Platform module.
void ownPlatformActivate(void)
Utility function to enable Platform specific things Currently Used for EVE algorithm to enable EDMA...
vx_enum ownPlatformGetTargetId(const char *target_name)
Convert a target name to a specific target ID.
void ownPlatformDeactivate(void)
Utility function to disable Platform specific things Currently Used for EVE algorithm to disable EDMA...
Lock the data reference queue during enqueue and dequeue.
Definition: tivx_platform.h:94
void ownPlatformSystemLock(vx_enum lock_id)
Take a system level lock.