10 #include <sys/types.h> 17 #define __QAIC_REMOTE(ff) ff 20 #ifndef __QAIC_REMOTE_EXPORT 23 #define __QAIC_REMOTE_EXPORT __declspec(dllexport) 24 #elif defined(STATIC_LIB) 25 #define __QAIC_REMOTE_EXPORT 27 #define __QAIC_REMOTE_EXPORT __declspec(dllimport) 30 #define __QAIC_REMOTE_EXPORT 36 #define __QAIC_RETURN _Success_(return == 0) 44 #define __QAIC_IN _In_ 50 #ifndef __QAIC_IN_CHAR 52 #define __QAIC_IN_CHAR _In_z_ 54 #define __QAIC_IN_CHAR 60 #define __QAIC_IN_LEN(len) _Inout_updates_bytes_all_(len) 62 #define __QAIC_IN_LEN(len) 68 #define __QAIC_OUT _Out_ 74 #ifndef __QAIC_INT64PTR 76 #define __QAIC_INT64PTR uintptr_t 78 #define __QAIC_INT64PTR uint64_t 82 #ifndef __QAIC_REMOTE_ATTRIBUTE 83 #define __QAIC_REMOTE_ATTRIBUTE 87 #define REMOTE_SCALARS_METHOD_ATTR(dwScalars) (((dwScalars) >> 29) & 0x7) 90 #define REMOTE_SCALARS_METHOD(dwScalars) (((dwScalars) >> 24) & 0x1f) 93 #define REMOTE_SCALARS_INBUFS(dwScalars) (((dwScalars) >> 16) & 0x0ff) 96 #define REMOTE_SCALARS_OUTBUFS(dwScalars) (((dwScalars) >> 8) & 0x0ff) 99 #define REMOTE_SCALARS_INHANDLES(dwScalars) (((dwScalars) >> 4) & 0x0f) 102 #define REMOTE_SCALARS_OUTHANDLES(dwScalars) ((dwScalars) & 0x0f) 105 #define REMOTE_SCALARS_MAKEX(nAttr,nMethod,nIn,nOut,noIn,noOut) \ 106 ((((uint32_t) (nAttr) & 0x7) << 29) | \ 107 (((uint32_t) (nMethod) & 0x1f) << 24) | \ 108 (((uint32_t) (nIn) & 0xff) << 16) | \ 109 (((uint32_t) (nOut) & 0xff) << 8) | \ 110 (((uint32_t) (noIn) & 0x0f) << 4) | \ 111 ((uint32_t) (noOut) & 0x0f)) 113 #define REMOTE_SCALARS_MAKE(nMethod,nIn,nOut) REMOTE_SCALARS_MAKEX(0,nMethod,nIn,nOut,0,0) 116 #define REMOTE_SCALARS_LENGTH(sc) (REMOTE_SCALARS_INBUFS(sc) +\ 117 REMOTE_SCALARS_OUTBUFS(sc) +\ 118 REMOTE_SCALARS_INHANDLES(sc) +\ 119 REMOTE_SCALARS_OUTHANDLES(sc)) 122 #define ADSP_DOMAIN_ID 0 123 #define MDSP_DOMAIN_ID 1 124 #define SDSP_DOMAIN_ID 2 125 #define CDSP_DOMAIN_ID 3 126 #define CDSP1_DOMAIN_ID 4 129 #define ADSP_DOMAIN_NAME "adsp" 130 #define MDSP_DOMAIN_NAME "mdsp" 131 #define SDSP_DOMAIN_NAME "sdsp" 132 #define CDSP_DOMAIN_NAME "cdsp" 133 #define CDSP1_DOMAIN_NAME "cdsp1" 136 #define ADSP_DOMAIN "&_dom=adsp" 137 #define MDSP_DOMAIN "&_dom=mdsp" 138 #define SDSP_DOMAIN "&_dom=sdsp" 139 #define CDSP_DOMAIN "&_dom=cdsp" 140 #define CDSP1_DOMAIN "&_dom=cdsp1" 143 #define ITRANSPORT_PREFIX "'\":;./\\" 146 #define MAX_DOMAIN_URI_SIZE 12 149 #define FASTRPC_URI_PRIORITY_TOKEN "&_hpriority=" 152 #define FASTRPC_HANDLE_PRIORITY_LEVEL(priority) \ 153 FASTRPC_URI_PRIORITY_TOKEN #priority 164 #define FASTRPC_HANDLE_PRIORITY_MIN 7 165 #define FASTRPC_HANDLE_PRIORITY_MAX 1 259 void (*fn)(fastrpc_async_jobid jobid,
void* context,
int result);
401 #define FASTRPC_WAKELOCK_CONTROL_SUPPORTED 1 898 #define MAX_DOMAIN_NAMELEN 30 901 #define DOMAINS_LIST_FLAGS_TYPE_POS 5 904 #define DOMAINS_LIST_FLAGS_SET_TYPE(flags, type) (flags | (type & ((1 << DOMAINS_LIST_FLAGS_TYPE_POS) - 1))) 1036 #define FASTRPC_ATTR_NONE 0 1037 #define FASTRPC_ATTR_NON_COHERENT 2 1039 #define FASTRPC_ATTR_COHERENT 4 1042 #define FASTRPC_ATTR_KEEP_MAP 8 1044 #define FASTRPC_ATTR_NOMAP 16 1046 #define FASTRPC_ATTR_FORCE_NOFLUSH 32 1048 #define FASTRPC_ATTR_FORCE_NOINVALIDATE 64 1050 #define FASTRPC_ATTR_TRY_MAP_STATIC 128 1069 #define REMOTE_MODE_PARALLEL 0 1077 #define REMOTE_MODE_SERIAL 1 1081 #include "remote_wos_ext.h" int domain
Definition: remote.h:483
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_open(__QAIC_IN_CHAR const char *name, __QAIC_OUT remote_handle64 *ph) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_close(__QAIC_IN remote_handle h) __QAIC_REMOTE_ATTRIBUTE
struct remote_rpc_effective_domain_id remote_rpc_effective_domain_id_t
struct remote_rpc_get_uri remote_rpc_get_uri_t
int id
Definition: remote.h:934
fastrpc_async_notify_type
Definition: remote.h:240
fastrpc_domain_type type
Definition: remote.h:947
char uri[MAX_DOMAIN_URI_SIZE]
Definition: remote.h:172
int domain
Definition: remote.h:630
int domain
Definition: remote.h:421
remote_buf buf
Definition: remote.h:218
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_control(__QAIC_IN remote_handle64 h, __QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_close(__QAIC_IN remote_handle64 h) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_invoke_async(__QAIC_IN remote_handle64 h, __QAIC_IN fastrpc_async_descriptor_t *desc, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
#define __QAIC_OUT
Definition: remote.h:70
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mem_unmap(__QAIC_IN int domain, __QAIC_IN uint64_t remoteVirtAddr, __QAIC_IN size_t size) __QAIC_REMOTE_ATTRIBUTE
int(* fastrpc_notif_fn_t)(void *context, int domain, int session, remote_rpc_status_flags_t status)
Definition: remote.h:606
int remote_system_request(system_req_payload *req)
uint32_t session_id
Definition: remote.h:676
remote_rpc_status_flags
Definition: remote.h:578
fastrpc_domains_info sys
Definition: remote.h:1021
uint64_t pv
Definition: remote.h:192
struct remote_rpc_notif_register remote_rpc_notif_register_t
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_munmap64(__QAIC_IN __QAIC_INT64PTR vaddrout, __QAIC_IN int64_t size) __QAIC_REMOTE_ATTRIBUTE
uint32_t * effec_domain_ids
Definition: remote.h:715
const char * path
Definition: remote.h:432
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_session_control(__QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
fastrpc_async_callback_t cb
Definition: remote.h:271
void * context
Definition: remote.h:616
uint32_t capability
Definition: remote.h:337
char * value
Definition: remote.h:434
int domain
Definition: remote.h:523
Describes the details of each domain.
Definition: remote.h:924
#define __QAIC_IN
Definition: remote.h:46
remote_dma_handle dma
Definition: remote.h:224
__QAIC_REMOTE_EXPORT __QAIC_RETURN void *__QAIC_REMOTE() remote_register_fd(__QAIC_IN int fd, __QAIC_IN int size) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mmap(__QAIC_IN int fd, __QAIC_IN uint32_t flags, __QAIC_IN uint32_t vaddrin, __QAIC_IN int size, __QAIC_OUT uint32_t *vaddrout) __QAIC_REMOTE_ATTRIBUTE
#define MAX_DOMAIN_NAMELEN
Definition: remote.h:898
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf_attr(__QAIC_IN_LEN(size) void *buf, __QAIC_IN int size, __QAIC_IN int fd, __QAIC_IN int attr) __QAIC_REMOTE_ATTRIBUTE
int prio
Definition: remote.h:472
uint32_t len
Definition: remote.h:212
struct fastrpc_async_callback fastrpc_async_callback_t
uint64_t ctx
Definition: remote.h:725
int domain
Definition: remote.h:514
char * domain_name
Definition: remote.h:688
int domain
Definition: remote.h:744
session_control_req_id
Definition: remote.h:752
fastrpc_async_jobid jobid
Definition: remote.h:269
uint32_t enable
Definition: remote.h:409
uint64_t ctx
Definition: remote.h:731
char * domain_name
Definition: remote.h:645
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_invoke_async(__QAIC_IN remote_handle h, __QAIC_IN fastrpc_async_descriptor_t *desc, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
int num_domains
Definition: remote.h:993
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_munmap(__QAIC_IN uint32_t vaddrout, __QAIC_IN int size) __QAIC_REMOTE_ATTRIBUTE
uint32_t uri_len
Definition: remote.h:704
uint32_t session_name_len
Definition: remote.h:651
char * domain_name
Definition: remote.h:672
void * pv
Definition: remote.h:184
#define __QAIC_REMOTE(ff)
Definition: remote.h:17
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_munmap(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN void *addr, __QAIC_IN size_t length) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mmap64(__QAIC_IN int fd, __QAIC_IN uint32_t flags, __QAIC_IN __QAIC_INT64PTR vaddrin, __QAIC_IN int64_t size, __QAIC_OUT __QAIC_INT64PTR *vaddrout) __QAIC_REMOTE_ATTRIBUTE
int domain
Definition: remote.h:533
int64_t nLen
Definition: remote.h:194
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_invoke(__QAIC_IN remote_handle h, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
struct fastrpc_context_create fastrpc_context_create
int stack_size
Definition: remote.h:474
int id
Definition: remote.h:170
uint32_t module_uri_len
Definition: remote.h:696
handle_control_req_id
Definition: remote.h:440
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_register_dma_handle_attr(__QAIC_IN int fd, __QAIC_IN uint32_t len, __QAIC_IN uint32_t attr) __QAIC_REMOTE_ATTRIBUTE
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_release_async_job(__QAIC_IN fastrpc_async_jobid jobid)
#define __QAIC_IN_LEN(len)
Definition: remote.h:62
#define MAX_DOMAIN_URI_SIZE
Definition: remote.h:146
uint32_t offset
Definition: remote.h:210
uint64_t fastrpc_async_jobid
Definition: remote.h:254
uint32_t pd_initmem_size
Definition: remote.h:633
#define __QAIC_INT64PTR
Definition: remote.h:78
uint64_t flags
Definition: remote.h:1002
remote_dsp_attributes
Different types of DSP capabilities queried via remote_handle_control using DSPRPC_GET_DSP_INFO reque...
Definition: remote.h:350
uint32_t card
Definition: remote.h:958
system_req_id
Requst ID to obtain information of available domains.
Definition: remote.h:1009
int32_t value_size
Definition: remote.h:430
uint32_t soc_id
Definition: remote.h:963
unsigned int max_num_threads
Definition: remote.h:746
uint32_t num_domain_ids
Definition: remote.h:719
char * session_name
Definition: remote.h:649
uint64_t flags
Definition: remote.h:734
uint64_t remote_handle64
Definition: remote.h:179
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_mmap(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN void *addr, __QAIC_IN int offset, __QAIC_IN size_t length, __QAIC_IN enum fastrpc_map_flags flags) __QAIC_REMOTE_ATTRIBUTE
Payload for remote_system_request API.
Definition: remote.h:1018
fastrpc_domain * domains
Definition: remote.h:979
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_mem_map(__QAIC_IN int domain, __QAIC_IN int fd, __QAIC_IN int flags, __QAIC_IN uint64_t virtAddr, __QAIC_IN size_t size, __QAIC_OUT uint64_t *remoteVirtAddr) __QAIC_REMOTE_ATTRIBUTE
int domain
Definition: remote.h:494
__QAIC_REMOTE_EXPORT __QAIC_RETURN void *__QAIC_REMOTE() remote_register_fd2(__QAIC_IN int fd, __QAIC_IN size_t size) __QAIC_REMOTE_ATTRIBUTE
#define __QAIC_REMOTE_EXPORT
__QAIC_REMOTE
Definition: remote.h:30
struct remote_dsp_capability fastrpc_capability
int domain
Definition: remote.h:568
int32_t fd
Definition: remote.h:200
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_control(__QAIC_IN uint32_t req, __QAIC_IN_LEN(datalen) void *data, __QAIC_IN uint32_t datalen) __QAIC_REMOTE_ATTRIBUTE
fastrpc_map_flags
Types of maps with cache maintenance.
Definition: remote.h:838
uint32_t remote_handle
Definition: remote.h:176
#define __QAIC_IN_CHAR
Definition: remote.h:54
int enable
Definition: remote.h:485
uint32_t offset
Definition: remote.h:202
uint32_t domain
Definition: remote.h:333
remote_handle64 h64
Definition: remote.h:234
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf(__QAIC_IN_LEN(size) void *buf, __QAIC_IN int size, __QAIC_IN int fd) __QAIC_REMOTE_ATTRIBUTE
remote_handle h
Definition: remote.h:220
remote_buf64 buf
Definition: remote.h:230
uint64_t flags
Definition: remote.h:722
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_set_mode(__QAIC_IN uint32_t mode) __QAIC_REMOTE_ATTRIBUTE
int max_domains
Definition: remote.h:986
__QAIC_REMOTE_EXPORT __QAIC_RETURN void __QAIC_REMOTE() remote_register_buf_attr2(__QAIC_IN_LEN(size) void *buf, __QAIC_IN size_t size, __QAIC_IN int fd, __QAIC_IN int attr) __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:1011
struct fastrpc_async_descriptor fastrpc_async_descriptor_t
system_req_id id
Definition: remote.h:1019
int status
Definition: remote.h:953
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() fastrpc_async_get_status(__QAIC_IN fastrpc_async_jobid jobid, __QAIC_IN int timeout_us, __QAIC_OUT int *result)
struct remote_rpc_get_domain remote_rpc_get_domain_t
int32_t fd
Definition: remote.h:208
int enable
Definition: remote.h:535
char * uri
Definition: remote.h:702
void * context
Definition: remote.h:261
size_t nLen
Definition: remote.h:186
int relative_thread_priority
Definition: remote.h:500
uint32_t domain_name_len
Definition: remote.h:674
remote_dma_handle64 dma
Definition: remote.h:236
uint32_t attribute_ID
Definition: remote.h:335
uint32_t domain_name_len
Definition: remote.h:690
char * module_uri
Definition: remote.h:694
remote_rpc_latency_flags
Definition: remote.h:280
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_register_dma_handle(__QAIC_IN int fd, __QAIC_IN uint32_t len) __QAIC_REMOTE_ATTRIBUTE
uint32_t session_id
Definition: remote.h:692
uint32_t domain_name_len
Definition: remote.h:647
remote_handle h
Definition: remote.h:232
struct fastrpc_context_destroy fastrpc_context_destroy
uint32_t session_id
Definition: remote.h:662
#define __QAIC_RETURN
Definition: remote.h:38
fastrpc_process_type
Definition: remote.h:550
uint32_t effective_domain_id
Definition: remote.h:678
remote_mem_map_flags
Definition: remote.h:815
int domain
Definition: remote.h:618
uint32_t effective_domain_id
Definition: remote.h:656
enum remote_rpc_status_flags remote_rpc_status_flags_t
uint32_t latency
Definition: remote.h:324
fastrpc_domain_type
Indicates the type of domains (DSPs) present in the system.
Definition: remote.h:910
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle_open(__QAIC_IN_CHAR const char *name, __QAIC_OUT remote_handle *ph) __QAIC_REMOTE_ATTRIBUTE
int domain
Definition: remote.h:470
remote_handle64 h64
Definition: remote.h:222
uint32_t enable
Definition: remote.h:310
__QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE() remote_handle64_invoke(__QAIC_IN remote_handle64 h, __QAIC_IN uint32_t dwScalars, __QAIC_IN remote_arg *pra) __QAIC_REMOTE_ATTRIBUTE
struct remote_rpc_reserve_new_session remote_rpc_reserve_new_session_t
#define __QAIC_REMOTE_ATTRIBUTE
Definition: remote.h:83
int process_type
Definition: remote.h:570
fastrpc_notif_fn_t notifier_fn
Definition: remote.h:620