Lines Matching refs:scontrol
350 static int set_up_volume_table(struct snd_sof_control *scontrol, in set_up_volume_table() argument
356 scontrol->volume_table = kcalloc(size, sizeof(u32), GFP_KERNEL); in set_up_volume_table()
357 if (!scontrol->volume_table) in set_up_volume_table()
362 scontrol->volume_table[j] = vol_compute_gain(j, tlv); in set_up_volume_table()
1026 struct snd_sof_control *scontrol, in sof_control_load_volume() argument
1054 scontrol->size = struct_size(scontrol->control_data, chanv, in sof_control_load_volume()
1056 scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); in sof_control_load_volume()
1057 if (!scontrol->control_data) { in sof_control_load_volume()
1062 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_volume()
1063 scontrol->min_volume_step = le32_to_cpu(mc->min); in sof_control_load_volume()
1064 scontrol->max_volume_step = le32_to_cpu(mc->max); in sof_control_load_volume()
1065 scontrol->num_channels = le32_to_cpu(mc->num_channels); in sof_control_load_volume()
1066 scontrol->control_data->index = kc->index; in sof_control_load_volume()
1070 scontrol->cmd = SOF_CTRL_CMD_SWITCH; in sof_control_load_volume()
1074 scontrol->cmd = SOF_CTRL_CMD_VOLUME; in sof_control_load_volume()
1084 ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); in sof_control_load_volume()
1091 cdata = scontrol->control_data; in sof_control_load_volume()
1092 for (i = 0; i < scontrol->num_channels; i++) { in sof_control_load_volume()
1099 ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, in sof_control_load_volume()
1109 scontrol->comp_id, scontrol->num_channels); in sof_control_load_volume()
1115 kfree(scontrol->volume_table); in sof_control_load_volume()
1117 kfree(scontrol->control_data); in sof_control_load_volume()
1123 struct snd_sof_control *scontrol, in sof_control_load_enum() argument
1136 scontrol->size = struct_size(scontrol->control_data, chanv, in sof_control_load_enum()
1138 scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); in sof_control_load_enum()
1139 if (!scontrol->control_data) in sof_control_load_enum()
1142 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_enum()
1143 scontrol->num_channels = le32_to_cpu(ec->num_channels); in sof_control_load_enum()
1144 scontrol->control_data->index = kc->index; in sof_control_load_enum()
1145 scontrol->cmd = SOF_CTRL_CMD_ENUM; in sof_control_load_enum()
1148 scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); in sof_control_load_enum()
1154 struct snd_sof_control *scontrol, in sof_control_load_bytes() argument
1181 scontrol->size = sizeof(struct sof_ipc_ctrl_data) + priv_size; in sof_control_load_bytes()
1183 scontrol->control_data = kzalloc(max_size, GFP_KERNEL); in sof_control_load_bytes()
1184 cdata = scontrol->control_data; in sof_control_load_bytes()
1185 if (!scontrol->control_data) { in sof_control_load_bytes()
1190 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_bytes()
1191 scontrol->cmd = SOF_CTRL_CMD_BINARY; in sof_control_load_bytes()
1192 scontrol->control_data->index = kc->index; in sof_control_load_bytes()
1195 scontrol->comp_id, scontrol->num_channels); in sof_control_load_bytes()
1227 kfree(scontrol->control_data); in sof_control_load_bytes()
1242 struct snd_sof_control *scontrol; in sof_control_load() local
1248 scontrol = kzalloc(sizeof(*scontrol), GFP_KERNEL); in sof_control_load()
1249 if (!scontrol) in sof_control_load()
1252 scontrol->scomp = scomp; in sof_control_load()
1260 ret = sof_control_load_volume(scomp, scontrol, kc, hdr); in sof_control_load()
1265 ret = sof_control_load_bytes(scomp, scontrol, kc, hdr); in sof_control_load()
1271 ret = sof_control_load_enum(scomp, scontrol, kc, hdr); in sof_control_load()
1283 kfree(scontrol); in sof_control_load()
1288 kfree(scontrol); in sof_control_load()
1292 scontrol->led_ctl.led_value = -1; in sof_control_load()
1294 dobj->private = scontrol; in sof_control_load()
1295 list_add(&scontrol->list, &sdev->kcontrol_list); in sof_control_load()
1304 struct snd_sof_control *scontrol = dobj->private; in sof_control_unload() local
1310 fcomp.id = scontrol->comp_id; in sof_control_unload()
1312 kfree(scontrol->control_data); in sof_control_unload()
1313 list_del(&scontrol->list); in sof_control_unload()
1314 kfree(scontrol); in sof_control_unload()
1885 struct snd_sof_control *scontrol; in sof_widget_load_pga() local
1928 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { in sof_widget_load_pga()
1929 if (scontrol->comp_id == swidget->comp_id && in sof_widget_load_pga()
1930 scontrol->volume_table) { in sof_widget_load_pga()
1931 min_step = scontrol->min_volume_step; in sof_widget_load_pga()
1932 max_step = scontrol->max_volume_step; in sof_widget_load_pga()
1933 volume->min_value = scontrol->volume_table[min_step]; in sof_widget_load_pga()
1934 volume->max_value = scontrol->volume_table[max_step]; in sof_widget_load_pga()
1935 volume->channels = scontrol->num_channels; in sof_widget_load_pga()
2395 struct snd_sof_control *scontrol; in sof_widget_ready() local
2474 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { in sof_widget_ready()
2475 if (scontrol->comp_id == swidget->comp_id) { in sof_widget_ready()
2476 scontrol->readback_offset = reply.offset; in sof_widget_ready()
2571 struct snd_sof_control *scontrol; in sof_widget_unload() local
2614 scontrol = sm->dobj.private; in sof_widget_unload()
2616 kfree(scontrol->volume_table); in sof_widget_unload()
2620 scontrol = se->dobj.private; in sof_widget_unload()
2624 scontrol = sbe->dobj.private; in sof_widget_unload()
2630 kfree(scontrol->control_data); in sof_widget_unload()
2631 list_del(&scontrol->list); in sof_widget_unload()
2632 kfree(scontrol); in sof_widget_unload()
3507 struct snd_sof_control *scontrol = NULL; in snd_sof_cache_kcontrol_val() local
3511 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { in snd_sof_cache_kcontrol_val()
3514 switch (scontrol->cmd) { in snd_sof_cache_kcontrol_val()
3528 scontrol->cmd); in snd_sof_cache_kcontrol_val()
3531 ret = snd_sof_ipc_set_get_comp_data(scontrol, in snd_sof_cache_kcontrol_val()
3533 scontrol->cmd, in snd_sof_cache_kcontrol_val()
3538 scontrol->comp_id); in snd_sof_cache_kcontrol_val()