TIOVX User Guide

Detailed Description

Internal APIs for platform operations.

Data Structures

struct  tivx_shm_obj_count_t
 Struct containing object descriptor allocation counts. Allows for a log to be kept of the object descriptors used throughout runtime. More...
 

Defines

#define ASSERT_CONCAT_(a, b)   a##b
 Macros for build time check.
 

Enumerations

enum  tivx_platform_lock_type_e {
  TIVX_PLATFORM_LOCK_OBJ_DESC_TABLE = 0,
  TIVX_PLATFORM_LOCK_CONTEXT,
  TIVX_PLATFORM_LOCK_DATA_REF_QUEUE,
  TIVX_PLATFORM_LOCK_LOG_RT_INDEX,
  TIVX_PLATFORM_LOCK_LOG_RT,
  TIVX_PLATFORM_LOCK_MAX
}
 Types of system level locks. More...
 

Functions

int32_t tivxPlatformGetShmSize (uint32_t *shm_size)
 Get size of TIOVX object descriptor memory carveout. More...
 
void ownTableIncrementValue (vx_enum resource_name)
 Increment count of given resource. More...
 
void ownTableDecrementValue (vx_enum resource_name)
 Decrement count of given resource. More...
 
vx_enum ownPlatformGetTargetId (const char *target_name)
 Convert a target name to a specific target ID. More...
 
void ownPlatformGetTargetName (vx_enum target_id, char *target_name)
 Convert a specific target ID to a target name. More...
 
vx_bool ownPlatformTargetMatch (const char *kernel_target_name, const char *target_string)
 Match a user specified target_string with kernel suported target name. More...
 
void ownPlatformGetObjDescTableInfo (tivx_obj_desc_table_info_t *table_info)
 Return shared memory info which holds the object descriptors. More...
 
void ownPlatformGetLogRtShmInfo (void **shm_base, uint32_t *shm_size)
 Return shared memory info which holds the run-time logger buffer. More...
 
void ownPlatformSystemLock (vx_enum lock_id)
 Take a system level lock. More...
 
void ownPlatformSystemUnlock (vx_enum lock_id)
 Release system level lock.
 
vx_status ownPlatformInit (void)
 Init Platform module.
 
void ownPlatformDeInit (void)
 DeInit Platform module.
 
void ownPlatformPrintf (const char *format)
 Print given string.
 
void ownPlatformCreateTargets (void)
 Function to set the target configuration. More...
 
void ownPlatformDeleteTargets (void)
 Function to destroy created targets.
 
void ownPlatformActivate (void)
 Utility function to enable Platform specific things Currently Used for EVE algorithm to enable EDMA.
 
void ownPlatformDeactivate (void)
 Utility function to disable Platform specific things Currently Used for EVE algorithm to disable EDMA.
 
void ownPlatformTaskInit (void)
 Utility function to call OS-specific task init functions.
 

Enumeration Type Documentation

◆ tivx_platform_lock_type_e

Types of system level locks.

Enumerator
TIVX_PLATFORM_LOCK_OBJ_DESC_TABLE 

Lock the shared object descriptor table during object descriptor slot alloc and dealloc.

TIVX_PLATFORM_LOCK_CONTEXT 

Lock the context during context create and delete.

TIVX_PLATFORM_LOCK_DATA_REF_QUEUE 

Lock the data reference queue during enqueue and dequeue.

TIVX_PLATFORM_LOCK_LOG_RT_INDEX 

Lock the index information of run-time logger.

TIVX_PLATFORM_LOCK_LOG_RT 

Lock the run-time logger.

TIVX_PLATFORM_LOCK_MAX 

Max number of locks.

Definition at line 85 of file tivx_platform.h.

Function Documentation

◆ tivxPlatformGetShmSize()

int32_t tivxPlatformGetShmSize ( uint32_t *  shm_size)

Get size of TIOVX object descriptor memory carveout.

Parameters
shm_size[in] Address of unsigned int to hold size of shared memory
Returns
0 for success status

◆ ownTableIncrementValue()

void ownTableIncrementValue ( vx_enum  resource_name)

Increment count of given resource.

Parameters
resource_name[in] Enum of resource whose count should be updated

◆ ownTableDecrementValue()

void ownTableDecrementValue ( vx_enum  resource_name)

Decrement count of given resource.

Parameters
resource_name[in] Enum of resource whose count should be updated

◆ ownPlatformGetTargetId()

vx_enum ownPlatformGetTargetId ( const char *  target_name)

Convert a target name to a specific target ID.

Parameters
target_name[in] Target name
Returns
target ID

◆ ownPlatformGetTargetName()

void ownPlatformGetTargetName ( vx_enum  target_id,
char *  target_name 
)

Convert a specific target ID to a target name.

Parameters
target_id[in] Target ID
target_name[out] Target name

◆ ownPlatformTargetMatch()

vx_bool ownPlatformTargetMatch ( const char *  kernel_target_name,
const char *  target_string 
)

Match a user specified target_string with kernel suported target name.

Parameters
kernel_target_name[in] Kernel supported target name
target_string[in] user specified target string
Returns
vx_true_e if match found, else vx_false_e

◆ ownPlatformGetObjDescTableInfo()

void ownPlatformGetObjDescTableInfo ( tivx_obj_desc_table_info_t table_info)

Return shared memory info which holds the object descriptors.

This is platform APIs since method of specifying shared memory, number of object descriptors is platform dependant

◆ ownPlatformGetLogRtShmInfo()

void ownPlatformGetLogRtShmInfo ( void **  shm_base,
uint32_t *  shm_size 
)

Return shared memory info which holds the run-time logger buffer.

This is platform APIs since method of specifying shared memory, is platform dependant

◆ ownPlatformSystemLock()

void ownPlatformSystemLock ( vx_enum  lock_id)

Take a system level lock.

This locks is taken across all targets to mutual exclusion across targets

WARNING: No OS calls shall be made after calling this function until the ownPlatformSystemUnlock has been called due to the chance that interrupts may be disabled during this duration.

◆ ownPlatformCreateTargets()

void ownPlatformCreateTargets ( void  )

Function to set the target configuration.

It creates target and adds it to the list of targets supported on each core.