TIOVX User Guide
tivx_target_kernel.h File Reference

Interface to kernel APIs on target. More...

#include <TI/tivx_obj_desc.h>

Go to the source code of this file.

Typedefs

typedef struct _tivx_target_kernel * tivx_target_kernel
 Handle to kernel on a target.
 
typedef struct _tivx_target_kernel_instance * tivx_target_kernel_instance
 Handle to instance of kernel on a target.
 
typedef vx_status(VX_CALLBACKtivx_target_kernel_f) (tivx_target_kernel_instance kernel, tivx_obj_desc_t *obj_desc[], uint16_t num_params, void *priv_arg)
 The target kernel callback. More...
 
typedef vx_status(VX_CALLBACKtivx_target_kernel_control_f) (tivx_target_kernel_instance kernel, uint32_t node_cmd_id, tivx_obj_desc_t *obj_desc[], uint16_t num_params, void *priv_arg)
 The target kernel callback for control command. More...
 

Functions

VX_API_ENTRY tivx_target_kernel VX_API_CALL tivxAddTargetKernel (vx_enum kernel_id, const char *target_name, tivx_target_kernel_f process_func, tivx_target_kernel_f create_func, tivx_target_kernel_f delete_func, tivx_target_kernel_control_f control_func, void *priv_arg)
 Allows users to add native kernels implementation to specific targets. More...
 
VX_API_ENTRY tivx_target_kernel VX_API_CALL tivxAddTargetKernelByName (const char *kernel_name, const char *target_name, tivx_target_kernel_f process_func, tivx_target_kernel_f create_func, tivx_target_kernel_f delete_func, tivx_target_kernel_control_f control_func, void *priv_arg)
 Allows users to add native kernels implementation to specific targets. More...
 
VX_API_ENTRY vx_status VX_API_CALL tivxRemoveTargetKernel (tivx_target_kernel target_kernel)
 Allows users to remove native kernels implementation to specific targets.
 
VX_API_ENTRY vx_status VX_API_CALL tivxQueryNumTargetKernel (vx_uint32 *ptr)
 Queries the framework to determine the number of target kernels on the target from which it is called. More...
 
VX_API_ENTRY vx_status VX_API_CALL tivxSetTargetKernelInstanceContext (tivx_target_kernel_instance target_kernel_instance, void *kernel_context, uint32_t kernel_context_size)
 Associate a kernel function context or handle with a target kernel instance. More...
 
VX_API_ENTRY vx_status VX_API_CALL tivxGetTargetKernelInstanceContext (tivx_target_kernel_instance target_kernel_instance, void **kernel_context, uint32_t *kernel_context_size)
 Get a kernel function context or handle with a target kernel instance. More...
 
VX_API_ENTRY vx_status VX_API_CALL tivxGetTargetKernelInstanceState (tivx_target_kernel_instance target_kernel_instance, vx_enum *state)
 Get a kernel state with a target kernel instance. More...
 
VX_API_ENTRY vx_status VX_API_CALL tivxGetTargetKernelTargetId (tivx_target_kernel_instance target_kernel_instance, uint32_t *targetId)
 Get a kernel target id with a target kernel instance. More...
 
VX_API_ENTRY void tivxGetTargetKernelInstanceBorderMode (tivx_target_kernel_instance target_kernel_instance, vx_border_t *border_mode)
 Get the border mode for the target kernel instance. More...
 
VX_API_ENTRY vx_bool tivxIsTargetKernelInstanceReplicated (tivx_target_kernel_instance kernel_instance)
 Checks if supplied node is replicated. Returns vx_true if the given node is replicated and vx_false if not.
 
tivx_target_kernel tivxTargetKernelInstanceGetKernel (tivx_target_kernel_instance target_kernel_instance)
 Get target kernel for a given target kernel instance.
 
static vx_bool tivxFlagIsBitSet (uint32_t flag_var, uint32_t flag_val)
 Macro to check if flag is set, flag MUST be of bit type.
 
static void tivxFlagBitSet (volatile uint32_t *flag_var, uint32_t flag_val)
 Macro to set flag value, flag MUST be of bit type.
 
static void tivxFlagBitClear (volatile uint32_t *flag_var, uint32_t flag_val)
 Macro to clear flag value, flag MUST be of bit type.
 
void tivxLogRtTraceKernelInstanceAddEvent (vx_node node, uint16_t event_index, char *event_name)
 Add real-time log event in host side initialize callback for user kernel. More...
 
void tivxLogRtTraceKernelInstanceRemoveEvent (vx_node node, uint16_t event_index)
 Remove real-time log event in host side deinitilize callback for user kernel. More...
 
void tivxLogRtTraceKernelInstanceExeStart (tivx_target_kernel_instance kernel, uint16_t event_index)
 Log trace on target kernel instance execute start. More...
 
void tivxLogRtTraceKernelInstanceExeEnd (tivx_target_kernel_instance kernel, uint16_t event_index)
 Log trace on target kernel instance execute end. More...
 
void tivxLogRtTraceKernelInstanceExeStartTimestamp (tivx_target_kernel_instance kernel, uint16_t event_index, uint64_t timestamp)
 Log trace on target kernel instance execute start with timestamp given externally. More...
 
void tivxLogRtTraceKernelInstanceExeEndTimestamp (tivx_target_kernel_instance kernel, uint16_t event_index, uint64_t timestamp)
 Log trace on target kernel instance execute end with timestamp given externally. More...
 

Detailed Description

Interface to kernel APIs on target.

Definition in file tivx_target_kernel.h.