Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
intel_adsp_host_ipc.h File Reference
#include <intel_adsp_ipc_devtree.h>
#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/pm/device.h>
#include <zephyr/ipc/ipc_service_backend.h>

Go to the source code of this file.

Data Structures

struct  intel_adsp_ipc_config
 Intel Audio DSP IPC service backend config struct. More...
struct  intel_adsp_ipc_data
 Intel Audio DSP IPC service backend data struct. More...
struct  intel_adsp_ipc_ept_priv_data
 Endpoint private data struct. More...

Typedefs

typedef bool(* intel_adsp_ipc_done_t) (const struct device *dev, void *arg)
 Intel ADSP IPC Message Complete Callback.

Typedef Documentation

◆ intel_adsp_ipc_done_t

typedef bool(* intel_adsp_ipc_done_t) (const struct device *dev, void *arg)

Intel ADSP IPC Message Complete Callback.

This function, once registered via intel_adsp_ipc_set_done_handler(), is invoked in interrupt context when a "DONE" return interrupt is received from the other side of the connection (indicating that a previously sent message is finished processing).

Note
On Intel ADSP hardware the DONE interrupt is transmitted synchronously with the interrupt being cleared on the remote device. It is not possible to delay processing. This callback will still occur, but protocols which rely on notification of asynchronous command processing will need modification.
Parameters
devIPC device.
argRegistered argument from intel_adsp_ipc_set_done_handler().
Returns
True if IPC completion will be done externally, otherwise false.
Note
Returning True will cause this API to skip writing IPC registers signalling IPC message completion and those actions should be done by external code manually. Returning false from the handler will perform writing to IPC registers signalling message completion normally by this API.