66 #ifndef TIVX_OBJ_DESC_PRIV_H_    67 #define TIVX_OBJ_DESC_PRIV_H_    70 #include <TI/tivx_config.h>    84 #define TIVX_OBJ_DESC_QUEUE_MAX_BLOCKED_NODES       (8u)    89 #define TIVX_OBJ_DESC_QUEUE_MAX_DEPTH               (32u)    94 #define TIVX_CMD_MAX_OBJ_DESCS        (16u)    99 #define TIVX_CMD_FLAG_SEND_ACK           (0x00000001u)   104 #define TIVX_CMD_FLAG_IS_ACK             (0x00000002u)   110 #define TIVX_OBJ_DESC_DATA_REF_Q_FLAG_IS_ENABLE_REF_CONSUMED_EVENT      (0x00000001u)   115 #define TIVX_OBJ_DESC_DATA_REF_Q_FLAG_IS_REF_ACQUIRED                   (0x00000002u)   120 #define TIVX_OBJ_DESC_DATA_REF_Q_FLAG_IS_IN_DELAY                       (0x00000004u)   129 #define TIVX_OBJ_DESC_DATA_REF_Q_FLAG_DELAY_SLOT_AUTO_AGE               (0x00000008u)   134 #define TIVX_OBJ_DESC_ID_SHIFT           (12u)   139 #define TIVX_OBJ_DESC_ID_MASK            (0x0000FFFFu)   149 typedef struct _tivx_obj_desc_cmd
   210 typedef struct _tivx_obj_desc_kernel_name
   228 typedef struct _tivx_obj_desc_queue_blocked_nodes {
   234     volatile uint16_t rsv[7];
   246 typedef struct _tivx_obj_desc_queue
   261     volatile uint16_t rsv[5];
   276 typedef struct _tivx_obj_desc_data_ref_q
   324     volatile uint16_t rsv[1];
   333 typedef struct _tivx_obj_desc_graph
   365 typedef struct _tivx_obj_desc_super_node_edge
   367     uint16_t src_node_obj_desc_id;
   368     uint16_t src_node_prm_idx;
   369     uint16_t dst_node_obj_desc_id;
   370     uint16_t dst_node_prm_idx;
   380 typedef struct _tivx_obj_desc_super_node
 Image object descriptor as placed in shared memory. 
volatile uint16_t cur_rd
Current read index. 
vx_bool ownObjDescIsValidType(const tivx_obj_desc_t *obj_desc, tivx_obj_desc_type_e type)
Checks if object desc pointer is valid and it is of required type. 
tivx_obj_desc_t base
base object descriptor 
#define TIVX_CMD_MAX_OBJ_DESCS
Max object descriptors than be parameters in a command object. 
#define TIVX_SUPER_NODE_MAX_NODES
Max number of nodes per super node. 
volatile uint32_t exe_time_end_h
graph execution time 
uint16_t num_nodes
number of nodes in super node 
volatile uint16_t cur_wr
Current write index. 
volatile uint16_t num_nodes
volatile uint16_t ref_consumed_cmd_obj_desc_id
command to send when ref is consumed 
user data object descriptor as placed in shared memory 
volatile uint16_t delay_slot_index
slot in delay for this obj desc. 
Graph object descriptor as placed in shared memory. 
lut object descriptor as placed in shared memory 
volatile uint32_t exe_time_end_l
graph execution time 
object array object descriptor as placed in shared memory 
#define TIVX_OBJ_DESC_MAX_SHM_ENTRY_SIZE
Macro to check max shared mem entry size. 
volatile uint32_t timestamp_h
time at which this command is sent 
tivx_obj_desc_t base
base object descriptor 
tivx_obj_desc_t base
base object descriptor 
volatile uint32_t exe_time_beg_l
graph execution time 
volatile uint32_t node_cmd_id
Node command to execute. 
distribution object descriptor as placed in shared memory 
array object descriptor as placed in shared memory 
vx_status ownObjDescFree(tivx_obj_desc_t **obj_desc)
Free a previously allocated object descriptor. 
#define TIVX_SUPER_NODE_MAX_EDGES
Max number of edges per super node. 
volatile uint16_t next_obj_desc_id_in_delay
Next obj desc in a delay. 
#define TIVX_OBJ_DESC_QUEUE_MAX_DEPTH
Max elements in a object descriptor queue. 
uint16_t ownReferenceGetObjDescId(vx_reference ref)
Function to get the descriptor object from the given reference. 
volatile uint16_t ref_obj_desc_id
acquired ref obj desc ID 
volatile uint32_t flags
flags associated with this command, see TIVX_CMD_FLAG_xxx 
convolution object descriptor as placed in shared memory 
volatile uint16_t delay_slots
Number of slots in delay. 
Interface to object descriptor. 
struct _vx_reference * vx_reference
volatile uint32_t state
Graph instance state, running or completed or abandoned. 
volatile uint32_t dst_target_id
volatile uint32_t flags
object specific flags 
volatile uint32_t num_cmd_params
valid values in cmd_params_data_id 
Data structure to hold info about object descriptor table. 
tivx_obj_desc_t * ownObjDescAlloc(vx_enum type, vx_reference ref)
Allocate a Object descriptor. 
Tensor object descriptor as placed in shared memory. 
Object Descriptor Shared memory entry which can hold any of the supported object descriptor types...
tivx_obj_desc_t base
base object descriptor 
Remap object descriptor as placed in shared memory. 
uint16_t num_edges
number of edges in super node sub graph 
volatile uint32_t cmd_id
command to execute 
void ownObjDescInit(void)
Init object descriptor module. 
volatile uint32_t pipeline_id
pipeline ID of this graph instance 
tivx_obj_desc_t base
base object descriptor 
volatile uint32_t complete_leaf_nodes
number of leaf nodes that have completed so far, before a graph begins this value is 0 ...
tivx_obj_desc_type_e
Enum that list all possible object descriptor type's. 
Command object descriptor. 
Command object descriptor. 
volatile uint64_t ack_event_handle
Handle of ACK event that is posted when ACK is received MUST be valid if flags TIVX_CMD_FLAG_SEND_ACK...
uint32_t num_entries
Object descriptor table, number of entries. 
volatile uint16_t count
Count of elements in queue. 
threshold object descriptor as placed in shared memory 
#define TIVX_OBJ_DESC_QUEUE_MAX_BLOCKED_NODES
Max nodes that can be blocked on object descriptor queue not empty. 
raw image descriptor as placed in shared memory 
volatile uint32_t exe_time_beg_h
graph execution time 
Data structure to get information about node blocked on this object descriptor to be ready...
uint32_t last_alloc_index
Index of last allocated entry, this can be used to optimize free entry search start index during obje...
tivx_obj_desc_t base
base object descriptor 
volatile uint32_t src_target_id
tivx_obj_desc_t * ownObjDescGet(uint16_t obj_desc_id)
Get obj descriptor corresponding to the object descriptor ID. 
#define VX_MAX_KERNEL_NAME
volatile uint16_t num_in_nodes
number of nodes take this data ref as input 
vx_status ownObjDescSend(uint32_t dst_target_id, uint16_t obj_desc_id)
Sends a object descriptor to specified target. 
volatile int32_t replicated_node_idx
Id of the node, to which node_cmd_id to be sent, If set to TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NO...
volatile uint32_t num_pipeup_bufs
number of pipeup bufs needed 
pyramid object descriptor as placed in shared memory 
volatile uint32_t timestamp_l
time at which this command is sent 
#define TIVX_KERNEL_MAX_PARAMS
Max parameters in a kernel. 
matrix object descriptor as placed in shared memory 
Scalar object descriptor as placed in shared memory. 
volatile uint32_t num_obj_desc
Number of object descriptor parameters with this command. 
volatile uint16_t acquire_q_obj_desc_id
queue to use for data ref acquire 
Super Node edge object descriptor. 
tivx_obj_desc_shm_entry_t * table_base
Object descriptor table base address. 
volatile uint32_t cmd_status
command execution status 
volatile uint16_t in_node_done_cnt
number of input nodes that have consumed 'ref_obj_desc_id' 
Super Node object descriptor. 
volatile uint16_t release_q_obj_desc_id
queue to use for data ref release 
tivx_obj_desc_queue_blocked_nodes_t blocked_nodes
node blocked on this object descriptor queue