#include <linux/irqreturn.h>
#include "core.h"
#include "messages.h"
#include "registers.h"
#include "trace.h"
#define CATPT_IPC_TIMEOUT_MS …
void catpt_ipc_init(struct catpt_ipc *ipc, struct device *dev)
{ … }
static int catpt_ipc_arm(struct catpt_ipc *ipc, struct catpt_fw_ready *config)
{ … }
static void catpt_ipc_msg_init(struct catpt_ipc *ipc,
struct catpt_ipc_msg *reply)
{ … }
static void catpt_dsp_send_tx(struct catpt_dev *cdev,
const struct catpt_ipc_msg *tx)
{ … }
static int catpt_wait_msg_completion(struct catpt_dev *cdev, int timeout)
{ … }
static int catpt_dsp_do_send_msg(struct catpt_dev *cdev,
struct catpt_ipc_msg request,
struct catpt_ipc_msg *reply, int timeout)
{ … }
int catpt_dsp_send_msg_timeout(struct catpt_dev *cdev,
struct catpt_ipc_msg request,
struct catpt_ipc_msg *reply, int timeout)
{ … }
int catpt_dsp_send_msg(struct catpt_dev *cdev, struct catpt_ipc_msg request,
struct catpt_ipc_msg *reply)
{ … }
static void
catpt_dsp_notify_stream(struct catpt_dev *cdev, union catpt_notify_msg msg)
{ … }
static void catpt_dsp_copy_rx(struct catpt_dev *cdev, u32 header)
{ … }
static void catpt_dsp_process_response(struct catpt_dev *cdev, u32 header)
{ … }
irqreturn_t catpt_dsp_irq_thread(int irq, void *dev_id)
{ … }
irqreturn_t catpt_dsp_irq_handler(int irq, void *dev_id)
{ … }