Lines Matching refs:scontrol
15 static int sof_ipc4_set_get_kcontrol_data(struct snd_sof_control *scontrol, in sof_ipc4_set_get_kcontrol_data() argument
18 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_set_get_kcontrol_data()
19 struct snd_soc_component *scomp = scontrol->scomp; in sof_ipc4_set_get_kcontrol_data()
29 if (swidget->comp_id == scontrol->comp_id) { in sof_ipc4_set_get_kcontrol_data()
36 dev_err(scomp->dev, "Failed to find widget for kcontrol %s\n", scontrol->name); in sof_ipc4_set_get_kcontrol_data()
67 struct snd_sof_control *scontrol, bool lock) in sof_ipc4_set_volume_data() argument
69 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_set_volume_data()
79 for (i = 1; i < scontrol->num_channels; i++) { in sof_ipc4_set_volume_data()
90 for (i = 0; i < scontrol->num_channels; i++) { in sof_ipc4_set_volume_data()
106 ret = sof_ipc4_set_get_kcontrol_data(scontrol, true, lock); in sof_ipc4_set_volume_data()
111 scontrol->name); in sof_ipc4_set_volume_data()
122 static bool sof_ipc4_volume_put(struct snd_sof_control *scontrol, in sof_ipc4_volume_put() argument
125 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_volume_put()
126 struct snd_soc_component *scomp = scontrol->scomp; in sof_ipc4_volume_put()
128 unsigned int channels = scontrol->num_channels; in sof_ipc4_volume_put()
138 scontrol->volume_table, scontrol->max + 1); in sof_ipc4_volume_put()
150 if (swidget->comp_id == scontrol->comp_id) { in sof_ipc4_volume_put()
157 dev_err(scomp->dev, "Failed to find widget for kcontrol %s\n", scontrol->name); in sof_ipc4_volume_put()
161 ret = sof_ipc4_set_volume_data(sdev, swidget, scontrol, true); in sof_ipc4_volume_put()
168 static int sof_ipc4_volume_get(struct snd_sof_control *scontrol, in sof_ipc4_volume_get() argument
171 struct sof_ipc4_control_data *cdata = scontrol->ipc_control_data; in sof_ipc4_volume_get()
172 unsigned int channels = scontrol->num_channels; in sof_ipc4_volume_get()
177 scontrol->volume_table, in sof_ipc4_volume_get()
178 scontrol->max + 1); in sof_ipc4_volume_get()
186 struct snd_sof_control *scontrol; in sof_ipc4_widget_kcontrol_setup() local
189 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) in sof_ipc4_widget_kcontrol_setup()
190 if (scontrol->comp_id == swidget->comp_id) { in sof_ipc4_widget_kcontrol_setup()
191 ret = sof_ipc4_set_volume_data(sdev, swidget, scontrol, false); in sof_ipc4_widget_kcontrol_setup()
194 __func__, scontrol->comp_id, swidget->widget->name); in sof_ipc4_widget_kcontrol_setup()
203 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
208 scontrol->volume_table = kcalloc(size, sizeof(u32), GFP_KERNEL); in sof_ipc4_set_up_volume_table()
209 if (!scontrol->volume_table) in sof_ipc4_set_up_volume_table()
217 scontrol->volume_table[i] = q31val > SOF_IPC4_VOL_ZERO_DB ? in sof_ipc4_set_up_volume_table()