#include <sound/hda_register.h>
#include <sound/sof/ipc4/header.h>
#include <trace/events/sof_intel.h>
#include "../ops.h"
#include "hda.h"
#include "telemetry.h"
EXPORT_TRACEPOINT_SYMBOL(…);
EXPORT_TRACEPOINT_SYMBOL(…);
EXPORT_TRACEPOINT_SYMBOL(…);
static void hda_dsp_ipc_host_done(struct snd_sof_dev *sdev)
{ … }
static void hda_dsp_ipc_dsp_done(struct snd_sof_dev *sdev)
{ … }
int hda_dsp_ipc_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
{ … }
EXPORT_SYMBOL_NS(…);
static inline bool hda_dsp_ipc4_pm_msg(u32 primary)
{ … }
void hda_dsp_ipc4_schedule_d0i3_work(struct sof_intel_hda_dev *hdev,
struct snd_sof_ipc_msg *msg)
{ … }
EXPORT_SYMBOL_NS(…);
int hda_dsp_ipc4_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg)
{ … }
EXPORT_SYMBOL_NS(…);
void hda_dsp_ipc_get_reply(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
irqreturn_t hda_dsp_ipc4_irq_thread(int irq, void *context)
{ … }
EXPORT_SYMBOL_NS(…);
irqreturn_t hda_dsp_ipc_irq_thread(int irq, void *context)
{ … }
EXPORT_SYMBOL_NS(…);
bool hda_dsp_check_ipc_irq(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
int hda_dsp_ipc_get_mailbox_offset(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
int hda_dsp_ipc_get_window_offset(struct snd_sof_dev *sdev, u32 id)
{ … }
EXPORT_SYMBOL_NS(…);
int hda_ipc_msg_data(struct snd_sof_dev *sdev,
struct snd_sof_pcm_stream *sps,
void *p, size_t sz)
{ … }
EXPORT_SYMBOL_NS(…);
int hda_set_stream_data_offset(struct snd_sof_dev *sdev,
struct snd_sof_pcm_stream *sps,
size_t posn_offset)
{ … }
EXPORT_SYMBOL_NS(…);
void hda_ipc4_dsp_dump(struct snd_sof_dev *sdev, u32 flags)
{ … }
EXPORT_SYMBOL_NS(…);
bool hda_check_ipc_irq(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
void hda_ipc_irq_dump(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
void hda_ipc_dump(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
void hda_ipc4_dump(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);
bool hda_ipc4_tx_is_busy(struct snd_sof_dev *sdev)
{ … }
EXPORT_SYMBOL_NS(…);