![]() |
TIOVX User Guide
|
Internal APIs for target operations.
Data Structures | |
struct | tivx_target_t |
Target object internal state. More... | |
struct | tivx_target_create_params_t |
Parameters that can be set during target creation. More... | |
Defines | |
#define | TIVX_TARGET_INST_MASK (0x3Fu) |
Target ID bit mask. | |
#define | TIVX_TARGET_INST_SHIFT (0x0u) |
Target ID bit mask. | |
#define | TIVX_CPU_ID_MASK (0x3Fu) |
CPU ID bit mask. | |
#define | TIVX_CPU_ID_SHIFT (0x6) |
CPU ID bit shift. | |
#define | TIVX_TARGET_ID_MASK (0xFFFu) |
Target ID bit mask. | |
#define | TIVX_TARGET_ID_SHIFT (0x0u) |
Target ID bit shift. | |
#define | TIVX_MAKE_TARGET_ID(cpu, target_inst) ((((((uint32_t)cpu) & (uint32_t)TIVX_CPU_ID_MASK) << (uint32_t)TIVX_CPU_ID_SHIFT) |((((uint32_t)target_inst)&TIVX_TARGET_INST_MASK) << (uint32_t)TIVX_TARGET_INST_SHIFT))) |
Make target based on CPU ID. More... | |
#define | TIVX_GET_CPU_ID(target) ((((uint32_t)(target) >> (uint32_t)TIVX_CPU_ID_SHIFT) & (uint32_t)TIVX_CPU_ID_MASK)) |
Get CPU Id from given target. More... | |
#define | TIVX_GET_TARGET_INST(target) ((uint16_t)(((uint16_t)(target) >> TIVX_TARGET_INST_SHIFT)) & TIVX_TARGET_INST_MASK) |
Get the target instances from target. More... | |
#define | TIVX_TARGET_ID_INVALID (0xFFFFFFFFU) |
Const to denote invalid ID's. | |
#define | TIVX_CPU_ID_INVALID (0xFFFFFFFFu) |
Const to denote invalid ID's. | |
Typedefs | |
typedef void(VX_CALLBACK * | tivx_task_main_f) (void *app_var) |
Entry point of task. More... | |
Enumerations | |
enum | tivx_target_cmd_e { TIVX_CMD_NODE_CREATE = 0x00000001u, TIVX_CMD_NODE_DELETE = 0x00000002u, TIVX_CMD_NODE_CONTROL = 0x00000003u, TIVX_CMD_NODE_USER_CALLBACK = 0x00000004u, TIVX_CMD_DATA_REF_CONSUMED = 0x00000005u } |
Command ID for commands that can be send to a target. More... | |
Functions | |
vx_enum | tivxTargetGetCpuId (vx_enum target_id) |
Get CPU ID associated with given target ID. More... | |
vx_status | tivxTargetQueueObjDesc (vx_enum target_id, uint16_t obj_desc_id) |
Queue object descriptor to a given target. More... | |
void | tivxTargetTriggerNode (uint16_t node_obj_desc_id) |
Trigger execution of a node obj desc. | |
void | tivxTargetNodeDescAcquireAllParameters (tivx_obj_desc_node_t *node_obj_desc, uint16_t prm_obj_desc_id[], vx_bool *is_node_blocked) |
Acquire parameters for node execution. | |
void | tivxTargetNodeDescAcquireAllParametersForPipeup (tivx_obj_desc_node_t *node_obj_desc, uint16_t prm_obj_desc_id[]) |
Acquire parameters for node execution during pipeup phase. | |
void | tivxTargetNodeDescReleaseAllParameters (tivx_obj_desc_node_t *node_obj_desc, uint16_t prm_obj_desc_id[]) |
Release parameters that were previously acquired. | |
void | tivxTargetSetDefaultCreateParams (tivx_target_create_params_t *params) |
Used to set default target create parameters in parameter structure. More... | |
vx_status | tivxTargetCreate (vx_enum target_id, const tivx_target_create_params_t *params) |
Create a target object and associate with given target ID. More... | |
vx_status | tivxTargetDelete (vx_enum target_id) |
Delete a target object. More... | |
void | tivxTargetInit (void) |
Init global state of target module. More... | |
void | tivxTargetDeInit (void) |
De-Init global state of target module. More... | |
void | tivxTargetSetTimestamp (const tivx_obj_desc_node_t *node_obj_desc, tivx_obj_desc_t *obj_desc[]) |
Propagates time stamp of input parameters of a kernel to output parameters. | |
#define TIVX_MAKE_TARGET_ID | ( | cpu, | |
target_inst | |||
) | ((((((uint32_t)cpu) & (uint32_t)TIVX_CPU_ID_MASK) << (uint32_t)TIVX_CPU_ID_SHIFT) |((((uint32_t)target_inst)&TIVX_TARGET_INST_MASK) << (uint32_t)TIVX_TARGET_INST_SHIFT))) |
Make target based on CPU ID.
Currently it assumes there are max 16 CPUs in system and max 16 targets on a given CPU in system
Definition at line 132 of file tivx_target.h.
#define TIVX_GET_CPU_ID | ( | target | ) | ((((uint32_t)(target) >> (uint32_t)TIVX_CPU_ID_SHIFT) & (uint32_t)TIVX_CPU_ID_MASK)) |
Get CPU Id from given target.
CPU Id is stored in upper nibble of the lower 8bits of the target
Definition at line 140 of file tivx_target.h.
#define TIVX_GET_TARGET_INST | ( | target | ) | ((uint16_t)(((uint16_t)(target) >> TIVX_TARGET_INST_SHIFT)) & TIVX_TARGET_INST_MASK) |
Get the target instances from target.
Target Id is stored in lower nibble of 8bit target
Definition at line 148 of file tivx_target.h.
typedef void(VX_CALLBACK * tivx_task_main_f) (void *app_var) |
Entry point of task.
target | [in] target handle |
Definition at line 111 of file tivx_task.h.
enum tivx_target_cmd_e |
Command ID for commands that can be send to a target.
Definition at line 168 of file tivx_target.h.
Get CPU ID associated with given target ID.
target_id | [in] Target ID |
Queue object descriptor to a given target.
target_id | [in] Target ID |
obj_desc_id | [in] object descriptor ID |
void tivxTargetSetDefaultCreateParams | ( | tivx_target_create_params_t * | params | ) |
Used to set default target create parameters in parameter structure.
params | [out] Params to use for target creation |
vx_status tivxTargetCreate | ( | vx_enum | target_id, |
const tivx_target_create_params_t * | params | ||
) |
Create a target object and associate with given target ID.
During system init, this API needs to be called for all targets local to this CPU Make sure two different CPUs do not associate against the same target ID
target_id | [in] Target ID |
params | [in] Params to use for target creation |
Delete a target object.
During system deinit, this API needs to be called for all targets local to this CPU
target_id | [in] Target ID |
void tivxTargetInit | ( | void | ) |
Init global state of target module.
Also inits target kernel, target kernel instance
void tivxTargetDeInit | ( | void | ) |
De-Init global state of target module.
Also de-inits target kernel, target kernel instance