@@ -190,40 +190,6 @@ typedef union {
190190 remote_dma_handle dma ; /** 32-bit remote dma handle */
191191} remote_arg ;
192192
193- /** 64-bit Remote Arg structure for RPC calls */
194- typedef union {
195- remote_buf64 buf ; /** 64-bit remote buffer */
196- remote_handle h ; /** non-domains remote handle */
197- remote_handle64 h64 ; /** multi-domains remote handle */
198- remote_dma_handle64 dma ; /** 64-bit remote dma handle */
199- } remote_arg64 ;
200-
201- /** Async response type */
202- enum fastrpc_async_notify_type {
203- FASTRPC_ASYNC_NO_SYNC , /** No notification required */
204- FASTRPC_ASYNC_CALLBACK , /** Callback notification using fastrpc_async_callback */
205- FASTRPC_ASYNC_POLL , /** User will poll for the notification */
206- /** Update FASTRPC_ASYNC_TYPE_MAX when adding new value to this enum */
207- };
208-
209- /** Job id of Async job queued to DSP */
210- typedef uint64_t fastrpc_async_jobid ;
211-
212- /** Async call back response type, input structure */
213- typedef struct fastrpc_async_callback {
214- /** Callback function for async notification */
215- void (* fn )(fastrpc_async_jobid jobid , void * context , int result );
216- /** Current context to identify the callback */
217- void * context ;
218- }fastrpc_async_callback_t ;
219-
220- /** Async descriptor to submit async job */
221- typedef struct fastrpc_async_descriptor {
222- enum fastrpc_async_notify_type type ; /** Async response type */
223- fastrpc_async_jobid jobid ; /** Job id of Async job queued to DSP */
224- fastrpc_async_callback_t cb ; /** Async call back response type */
225- }fastrpc_async_descriptor_t ;
226-
227193
228194/**
229195 * Flags used in struct remote_rpc_control_latency
@@ -307,7 +273,6 @@ enum remote_dsp_attributes {
307273 ARCH_VER , /** Hexagon processor architecture version */
308274 HMX_SUPPORT_DEPTH , /** HMX Support Depth */
309275 HMX_SUPPORT_SPATIAL , /** HMX Support Spatial */
310- ASYNC_FASTRPC_SUPPORT , /** Async FastRPC Support */
311276 STATUS_NOTIFICATION_SUPPORT , /** DSP User PD status notification Support */
312277 MCID_MULTICAST , /** Multicast widget programming */
313278 /** Update FASTRPC_MAX_DSP_ATTRIBUTES when adding new value to this enum */
@@ -362,7 +327,6 @@ enum handle_control_req_id {
362327 DSPRPC_KALLOC_SUPPORT , /** Request ID to check kalloc support by kernel */
363328 DSPRPC_PM , /** Request ID to awake PM */
364329 DSPRPC_RPC_POLL , /** Request ID to update polling mode in kernel */
365- DSPRPC_ASYNC_WAKE , /** Request ID to exit async thread */
366330 DSPRPC_NOTIF_WAKE , /** Request ID to exit notif thread */
367331 DSPRPC_REMOTE_PROCESS_KILL , /** Request ID to kill remote process */
368332 DSPRPC_SET_MODE , /** Request ID to set mode */
@@ -931,101 +895,6 @@ __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE(remote_handle64_control)(__
931895__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 ;
932896
933897
934- /**
935- * Invokes a remote handle asynchronously
936- *
937- * This function allows asynchronous invocation of remote methods, providing non-blocking
938- * execution and callback mechanisms.
939- *
940- * @param h [in] Remote handle obtained from remote_handle_open()
941- *
942- * @param desc [in] Async descriptor containing:
943- * - type: Type of async job (FASTRPC_ASYNC_NO_SYNC, FASTRPC_ASYNC_CALLBACK)
944- * - context: User context passed to callback
945- * - cb: Callback function and arguments (for FASTRPC_ASYNC_CALLBACK type)
946- * See fastrpc_async_descriptor_t for details
947- *
948- * @param dwScalars [in] Method invocation parameters encoded as scalar value:
949- * - Number of input/output buffers
950- * - Number of input/output handles
951- * Use REMOTE_SCALARS_* macros to decode
952- *
953- * @param pra [in] Array of remote_arg structures containing:
954- * 1. Input buffers
955- * 2. Output buffers
956- * 3. Input handles
957- * 4. Output handles
958- * Output buffers must be allocated via rpcmem_alloc() or
959- * registered as ION buffers using register_buf()
960- *
961- * @return 0 on success, otherwise error code:
962- * - AEE_EBADPARM: Invalid parameters
963- * - AEE_EUNSUPPORTED: Async operations not supported
964- * - AEE_ENOSUCH: Invalid handle
965- * - Other error codes from FastRPC framework
966- *
967- * @note The async job status can be queried using fastrpc_async_get_status()
968- * @note Resources must be released using fastrpc_release_async_job() after completion
969- */
970- __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 ;
971- __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 ;
972-
973-
974- /**
975- * Gets the status and result of an asynchronous FastRPC job
976- *
977- * This function allows checking the completion status of an asynchronous FastRPC job
978- * and retrieving its result. It can be configured to wait for job completion with
979- * different timeout behaviors.
980- *
981- * @param jobid [in] Job ID returned by remote_handle_invoke_async() when submitting
982- * the asynchronous job
983- *
984- * @param timeout_us [in] Timeout value in microseconds:
985- * - 0: Returns immediately with current status/result
986- * - Positive value: Waits up to specified microseconds for completion
987- * - Negative value: Waits indefinitely until job completes
988- *
989- * @param result [out] Pointer to store the job result:
990- * - 0 if job completed successfully
991- * - Error code if job failed
992- * Only valid when function returns 0 (job completed)
993- *
994- * @return 0 on success (job completed), otherwise error code:
995- * - AEE_EBUSY: Job is still pending and not completed within timeout
996- * - AEE_EBADPARM: Invalid job ID provided
997- * - AEE_EFAILED: Internal FastRPC framework error
998- *
999- * @note After job completion, resources must be released using fastrpc_release_async_job()
1000- * @note This function is thread-safe and can be called concurrently from multiple threads
1001- */
1002- __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 );
1003-
1004-
1005- /**
1006- * Releases resources associated with an asynchronous FastRPC job
1007- *
1008- * This function must be called after an asynchronous job completes to free associated
1009- * resources and cleanup internal state. It should only be called after receiving job
1010- * completion status either through:
1011- * - Callback notification (for FASTRPC_ASYNC_CALLBACK jobs)
1012- * - Polling via fastrpc_async_get_status() (for FASTRPC_ASYNC_POLL jobs)
1013- *
1014- * @param jobid [in] Job ID returned by remote_handle_invoke_async() when submitting
1015- * the asynchronous job
1016- *
1017- * @return 0 on success, otherwise error code:
1018- * - AEE_EBUSY: Job is still pending and has not completed yet
1019- * - AEE_EBADPARM: Invalid job ID provided
1020- * - AEE_EFAILED: Internal FastRPC framework error
1021- *
1022- * @note This function is thread-safe and can be called concurrently from multiple threads
1023- * @note Calling this function before job completion will return AEE_EBUSY
1024- * @note Resources must be released exactly once per async job to avoid memory leaks
1025- */
1026- __QAIC_REMOTE_EXPORT __QAIC_RETURN int __QAIC_REMOTE (fastrpc_release_async_job )(__QAIC_IN fastrpc_async_jobid jobid );
1027-
1028-
1029898/**
1030899 * DEPRECATED: Use fastrpc_mmap() instead.
1031900 *
0 commit comments