Lines Matching refs:scontrol
15 static int sof_ipc4_set_get_kcontrol_data(struct snd_sof_control *scontrol, bool set) in sof_ipc4_set_get_kcontrol_data() argument
17 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_set_get_kcontrol_data()
18 struct snd_soc_component *scomp = scontrol->scomp; in sof_ipc4_set_get_kcontrol_data()
27 if (swidget->comp_id == scontrol->comp_id) { in sof_ipc4_set_get_kcontrol_data()
34 dev_err(scomp->dev, "Failed to find widget for kcontrol %s\n", scontrol->name); in sof_ipc4_set_get_kcontrol_data()
54 struct snd_sof_control *scontrol) in sof_ipc4_set_volume_data() argument
56 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_set_volume_data()
66 for (i = 1; i < scontrol->num_channels; i++) { in sof_ipc4_set_volume_data()
77 for (i = 0; i < scontrol->num_channels; i++) { in sof_ipc4_set_volume_data()
93 ret = sof_ipc4_set_get_kcontrol_data(scontrol, true); in sof_ipc4_set_volume_data()
98 scontrol->name); in sof_ipc4_set_volume_data()
109 static bool sof_ipc4_volume_put(struct snd_sof_control *scontrol, in sof_ipc4_volume_put() argument
112 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_volume_put()
113 struct snd_soc_component *scomp = scontrol->scomp; in sof_ipc4_volume_put()
115 unsigned int channels = scontrol->num_channels; in sof_ipc4_volume_put()
125 scontrol->volume_table, scontrol->max + 1); in sof_ipc4_volume_put()
137 if (swidget->comp_id == scontrol->comp_id) { in sof_ipc4_volume_put()
144 dev_err(scomp->dev, "Failed to find widget for kcontrol %s\n", scontrol->name); in sof_ipc4_volume_put()
148 ret = sof_ipc4_set_volume_data(sdev, swidget, scontrol); in sof_ipc4_volume_put()
155 static int sof_ipc4_volume_get(struct snd_sof_control *scontrol, in sof_ipc4_volume_get() argument
158 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_volume_get()
159 unsigned int channels = scontrol->num_channels; in sof_ipc4_volume_get()
164 scontrol->volume_table, in sof_ipc4_volume_get()
165 scontrol->max + 1); in sof_ipc4_volume_get()
173 struct snd_sof_control *scontrol; in sof_ipc4_widget_kcontrol_setup() local
176 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) in sof_ipc4_widget_kcontrol_setup()
177 if (scontrol->comp_id == swidget->comp_id) { in sof_ipc4_widget_kcontrol_setup()
178 ret = sof_ipc4_set_volume_data(sdev, swidget, scontrol); in sof_ipc4_widget_kcontrol_setup()
181 __func__, scontrol->comp_id, swidget->widget->name); in sof_ipc4_widget_kcontrol_setup()
190 sof_ipc4_set_up_volume_table(struct snd_sof_control *scontrol, int tlv[SOF_TLV_ITEMS], int size) in sof_ipc4_set_up_volume_table() argument
195 scontrol->volume_table = kcalloc(size, sizeof(u32), GFP_KERNEL); in sof_ipc4_set_up_volume_table()
196 if (!scontrol->volume_table) in sof_ipc4_set_up_volume_table()
204 scontrol->volume_table[i] = q31val > SOF_IPC4_VOL_ZERO_DB ? in sof_ipc4_set_up_volume_table()