Lines Matching refs:scontrol

266 static int set_up_volume_table(struct snd_sof_control *scontrol,  in set_up_volume_table()  argument
269 struct snd_soc_component *scomp = scontrol->scomp; in set_up_volume_table()
274 return tplg_ops->control->set_up_volume_table(scontrol, tlv, size); in set_up_volume_table()
817 struct snd_sof_control *scontrol, in sof_control_load_volume() argument
841 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_volume()
842 scontrol->min_volume_step = le32_to_cpu(mc->min); in sof_control_load_volume()
843 scontrol->max_volume_step = le32_to_cpu(mc->max); in sof_control_load_volume()
844 scontrol->num_channels = le32_to_cpu(mc->num_channels); in sof_control_load_volume()
846 scontrol->max = le32_to_cpu(mc->max); in sof_control_load_volume()
857 ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); in sof_control_load_volume()
865 ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, in sof_control_load_volume()
874 if (scontrol->led_ctl.use_led) { in sof_control_load_volume()
875 mask = scontrol->led_ctl.direction ? SNDRV_CTL_ELEM_ACCESS_MIC_LED : in sof_control_load_volume()
877 scontrol->access &= ~SNDRV_CTL_ELEM_ACCESS_LED_MASK; in sof_control_load_volume()
878 scontrol->access |= mask; in sof_control_load_volume()
885 scontrol->comp_id, scontrol->num_channels); in sof_control_load_volume()
891 kfree(scontrol->volume_table); in sof_control_load_volume()
897 struct snd_sof_control *scontrol, in sof_control_load_enum() argument
909 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_enum()
910 scontrol->num_channels = le32_to_cpu(ec->num_channels); in sof_control_load_enum()
913 scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); in sof_control_load_enum()
919 struct snd_sof_control *scontrol, in sof_control_load_bytes() argument
929 scontrol->max_size = sbe->max; in sof_control_load_bytes()
930 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_bytes()
932 dev_dbg(scomp->dev, "tplg: load kcontrol index %d\n", scontrol->comp_id); in sof_control_load_bytes()
936 scontrol->priv = kmemdup(control->priv.data, priv_size, GFP_KERNEL); in sof_control_load_bytes()
937 if (!scontrol->priv) in sof_control_load_bytes()
940 scontrol->priv_size = priv_size; in sof_control_load_bytes()
956 struct snd_sof_control *scontrol; in sof_control_load() local
962 scontrol = kzalloc(sizeof(*scontrol), GFP_KERNEL); in sof_control_load()
963 if (!scontrol) in sof_control_load()
966 scontrol->name = kstrdup(hdr->name, GFP_KERNEL); in sof_control_load()
967 if (!scontrol->name) { in sof_control_load()
968 kfree(scontrol); in sof_control_load()
972 scontrol->scomp = scomp; in sof_control_load()
973 scontrol->access = kc->access; in sof_control_load()
974 scontrol->info_type = le32_to_cpu(hdr->ops.info); in sof_control_load()
975 scontrol->index = kc->index; in sof_control_load()
983 ret = sof_control_load_volume(scomp, scontrol, kc, hdr); in sof_control_load()
988 ret = sof_control_load_bytes(scomp, scontrol, kc, hdr); in sof_control_load()
994 ret = sof_control_load_enum(scomp, scontrol, kc, hdr); in sof_control_load()
1006 kfree(scontrol->name); in sof_control_load()
1007 kfree(scontrol); in sof_control_load()
1012 kfree(scontrol->name); in sof_control_load()
1013 kfree(scontrol); in sof_control_load()
1017 scontrol->led_ctl.led_value = -1; in sof_control_load()
1019 dobj->private = scontrol; in sof_control_load()
1020 list_add(&scontrol->list, &sdev->kcontrol_list); in sof_control_load()
1029 struct snd_sof_control *scontrol = dobj->private; in sof_control_unload() local
1032 dev_dbg(scomp->dev, "tplg: unload control name : %s\n", scontrol->name); in sof_control_unload()
1035 ret = tplg_ops->control_free(sdev, scontrol); in sof_control_unload()
1037 dev_err(scomp->dev, "failed to free control: %s\n", scontrol->name); in sof_control_unload()
1041 kfree(scontrol->ipc_control_data); in sof_control_unload()
1042 kfree(scontrol->priv); in sof_control_unload()
1043 kfree(scontrol->name); in sof_control_unload()
1044 list_del(&scontrol->list); in sof_control_unload()
1045 kfree(scontrol); in sof_control_unload()
1613 struct snd_sof_control *scontrol; in sof_widget_unload() local
1655 scontrol = sm->dobj.private; in sof_widget_unload()
1657 kfree(scontrol->volume_table); in sof_widget_unload()
1661 scontrol = se->dobj.private; in sof_widget_unload()
1665 scontrol = sbe->dobj.private; in sof_widget_unload()
1671 kfree(scontrol->ipc_control_data); in sof_widget_unload()
1672 list_del(&scontrol->list); in sof_widget_unload()
1673 kfree(scontrol->name); in sof_widget_unload()
1674 kfree(scontrol); in sof_widget_unload()
2134 struct snd_sof_control *scontrol; in sof_set_widget_pipeline() local
2138 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) in sof_set_widget_pipeline()
2139 if (scontrol->comp_id == swidget->comp_id && in sof_set_widget_pipeline()
2140 (scontrol->access & SNDRV_CTL_ELEM_ACCESS_VOLATILE)) { in sof_set_widget_pipeline()
2161 struct snd_sof_control *scontrol; in sof_complete() local
2169 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { in sof_complete()
2170 ret = tplg_ops->control_setup(sdev, scontrol); in sof_complete()
2173 scontrol->name); in sof_complete()