#include <linux/acpi.h>
#include <acpi/nhlt.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include "avs.h"
#include "control.h"
#include "path.h"
#include "topology.h"
static struct avs_tplg *
avs_path_find_tplg(struct avs_dev *adev, const char *name)
{ … }
static struct avs_path_module *
avs_path_find_module(struct avs_path_pipeline *ppl, u32 template_id)
{ … }
static struct avs_path_pipeline *
avs_path_find_pipeline(struct avs_path *path, u32 template_id)
{ … }
static struct avs_path *
avs_path_find_path(struct avs_dev *adev, const char *name, u32 template_id)
{ … }
static bool avs_test_hw_params(struct snd_pcm_hw_params *params,
struct avs_audio_format *fmt)
{ … }
static struct avs_tplg_path *
avs_path_find_variant(struct avs_dev *adev,
struct avs_tplg_path_template *template,
struct snd_pcm_hw_params *fe_params,
struct snd_pcm_hw_params *be_params)
{ … }
__maybe_unused
static bool avs_dma_type_is_host(u32 dma_type)
{ … }
__maybe_unused
static bool avs_dma_type_is_link(u32 dma_type)
{ … }
__maybe_unused
static bool avs_dma_type_is_output(u32 dma_type)
{ … }
__maybe_unused
static bool avs_dma_type_is_input(u32 dma_type)
{ … }
static int avs_copier_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static struct avs_control_data *avs_get_module_control(struct avs_path_module *mod)
{ … }
static int avs_peakvol_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_updown_mix_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_src_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_asrc_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_aec_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_mux_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_wov_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_micsel_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_modbase_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_modext_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_probe_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
struct avs_module_create { … };
static struct avs_module_create avs_module_create[] = …;
static int avs_path_module_type_create(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static int avs_path_module_send_init_configs(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static void avs_path_module_free(struct avs_dev *adev, struct avs_path_module *mod)
{ … }
static struct avs_path_module *
avs_path_module_create(struct avs_dev *adev,
struct avs_path_pipeline *owner,
struct avs_tplg_module *template)
{ … }
static int avs_path_binding_arm(struct avs_dev *adev, struct avs_path_binding *binding)
{ … }
static void avs_path_binding_free(struct avs_dev *adev, struct avs_path_binding *binding)
{ … }
static struct avs_path_binding *avs_path_binding_create(struct avs_dev *adev,
struct avs_path_pipeline *owner,
struct avs_tplg_binding *t)
{ … }
static int avs_path_pipeline_arm(struct avs_dev *adev,
struct avs_path_pipeline *ppl)
{ … }
static void avs_path_pipeline_free(struct avs_dev *adev,
struct avs_path_pipeline *ppl)
{ … }
static struct avs_path_pipeline *
avs_path_pipeline_create(struct avs_dev *adev, struct avs_path *owner,
struct avs_tplg_pipeline *template)
{ … }
static int avs_path_init(struct avs_dev *adev, struct avs_path *path,
struct avs_tplg_path *template, u32 dma_id)
{ … }
static int avs_path_arm(struct avs_dev *adev, struct avs_path *path)
{ … }
static void avs_path_free_unlocked(struct avs_path *path)
{ … }
static struct avs_path *avs_path_create_unlocked(struct avs_dev *adev, u32 dma_id,
struct avs_tplg_path *template)
{ … }
void avs_path_free(struct avs_path *path)
{ … }
struct avs_path *avs_path_create(struct avs_dev *adev, u32 dma_id,
struct avs_tplg_path_template *template,
struct snd_pcm_hw_params *fe_params,
struct snd_pcm_hw_params *be_params)
{ … }
static int avs_path_bind_prepare(struct avs_dev *adev,
struct avs_path_binding *binding)
{ … }
int avs_path_bind(struct avs_path *path)
{ … }
int avs_path_unbind(struct avs_path *path)
{ … }
int avs_path_reset(struct avs_path *path)
{ … }
int avs_path_pause(struct avs_path *path)
{ … }
int avs_path_run(struct avs_path *path, int trigger)
{ … }