#include "sof-priv.h"
#include "sof-audio.h"
#include "ipc4-priv.h"
#include "ipc4-topology.h"
static int sof_ipc4_set_get_kcontrol_data(struct snd_sof_control *scontrol,
bool set, bool lock)
{ … }
static int
sof_ipc4_set_volume_data(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget,
struct snd_sof_control *scontrol, bool lock)
{ … }
static bool sof_ipc4_volume_put(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_volume_get(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int
sof_ipc4_set_generic_control_data(struct snd_sof_dev *sdev,
struct snd_sof_widget *swidget,
struct snd_sof_control *scontrol, bool lock)
{ … }
static void sof_ipc4_refresh_generic_control(struct snd_sof_control *scontrol)
{ … }
static bool sof_ipc4_switch_put(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_switch_get(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static bool sof_ipc4_enum_put(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_enum_get(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_set_get_bytes_data(struct snd_sof_dev *sdev,
struct snd_sof_control *scontrol,
bool set, bool lock)
{ … }
static int sof_ipc4_bytes_put(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_bytes_get(struct snd_sof_control *scontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int sof_ipc4_bytes_ext_put(struct snd_sof_control *scontrol,
const unsigned int __user *binary_data,
unsigned int size)
{ … }
static int _sof_ipc4_bytes_ext_get(struct snd_sof_control *scontrol,
const unsigned int __user *binary_data,
unsigned int size, bool from_dsp)
{ … }
static int sof_ipc4_bytes_ext_get(struct snd_sof_control *scontrol,
const unsigned int __user *binary_data,
unsigned int size)
{ … }
static int sof_ipc4_bytes_ext_volatile_get(struct snd_sof_control *scontrol,
const unsigned int __user *binary_data,
unsigned int size)
{ … }
static int
sof_ipc4_volsw_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget,
struct snd_sof_control *scontrol)
{ … }
#define PARAM_ID_FROM_EXTENSION(_ext) …
static void sof_ipc4_control_update(struct snd_sof_dev *sdev, void *ipc_message)
{ … }
static int sof_ipc4_widget_kcontrol_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget)
{ … }
static int
sof_ipc4_set_up_volume_table(struct snd_sof_control *scontrol, int tlv[SOF_TLV_ITEMS], int size)
{ … }
const struct sof_ipc_tplg_control_ops tplg_ipc4_control_ops = …;