Vision Apps User Guide
app_ipc.h File Reference

Go to the source code of this file.

Data Structures

struct  app_ipc_init_prm_t
 IPC initialization parameters. More...
 

Macros

#define APP_IPC_HW_LOCK_MAX   (256u)
 Max lock ID for HW locks. More...
 
#define APP_IPC_WAIT_FOREVER   (0xFFFFFFFFu)
 Timeout value to use to wait forever. More...
 
RPMessage end points used by various services

#define APP_IPC_TIOVX_RPMSG_PORT_ID   (13u)
 RPMsg Port used for TIOVX IPC. More...
 
#define APP_IPC_REMOTE_SERVICE_RPMSG_PORT_ID   (21u)
 RPMsg Port used for Remote service. More...
 
#define APP_IPC_ECHO_TEST_RPMSG_PORT_ID   (14u)
 RPMsg Port used for echo test. More...
 
#define APP_IPC_RPMSG_PROTO_ECHO_TEST_RPMSG_PORT_ID   (12u)
 RPMsg Port used for RPMsg proto echo test. More...
 

Typedefs

typedef void(* app_ipc_notify_handler_f) (uint32_t src_cpu_id, uint32_t payload)
 Callback that is invoke when current CPU receives a IPC notify. More...
 

Functions

void appIpcInitPrmSetDefault (app_ipc_init_prm_t *prm)
 Set IPC init parameters to default state. More...
 
int32_t appIpcInit (app_ipc_init_prm_t *prm)
 Initialize IPC module. More...
 
int32_t appIpcDeInit ()
 De-Initialize IPC module. More...
 
int32_t appIpcRegisterNotifyHandler (app_ipc_notify_handler_f handler)
 Register callback to invoke on receiving a notify message. More...
 
int32_t appIpcSendNotify (uint32_t dest_cpu_id, uint32_t payload)
 Send a notify message to a given CPU. More...
 
int32_t appIpcSendNotifyPort (uint32_t dest_cpu_id, uint32_t payload, uint32_t port_id)
 Send a notify message to a given CPU. More...
 
uint32_t appIpcGetSelfCpuId ()
 Get current CPU ID. More...
 
uint32_t appIpcGetHostPortId (uint16_t cpu_id)
 Get current CPU Port ID. More...
 
uint32_t appIpcIsCpuEnabled (uint32_t cpu_id)
 Check if a CPU is enabled in current system for IPC. More...
 
int32_t appIpcHwLockAcquire (uint32_t lock_id, uint32_t timeout)
 Acquire a system wide HW lock. More...
 
int32_t appIpcHwLockRelease (uint32_t lock_id)
 Release a system wide HW lock. More...
 
int32_t appIpcGetTiovxObjDescSharedMemInfo (void **addr, uint32_t *size)
 Get base address and size of memory region assigned for TIOVX obj_desc's. More...
 
void appIpcGetTiovxLogRtSharedMemInfo (void **shm_base, uint32_t *shm_size)
 Get base address and size of memory region assigned for TIOVX run-time logging. More...
 
uint32_t appIpcGetIpcCpuId (uint32_t app_cpu_id)
 Convert from APP_CPU_xxx to IPC LLD CPU ID. More...
 
uint32_t appIpcGetAppCpuId (char *name)
 Get APP_CPU_xxx from CPU name. More...
 
char * appIpcGetCpuName (uint32_t app_cpu_id)
 Get CPU name from CPU ID. More...