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()
813 struct snd_sof_control *scontrol, in sof_control_load_volume() argument
837 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_volume()
838 scontrol->min_volume_step = le32_to_cpu(mc->min); in sof_control_load_volume()
839 scontrol->max_volume_step = le32_to_cpu(mc->max); in sof_control_load_volume()
840 scontrol->num_channels = le32_to_cpu(mc->num_channels); in sof_control_load_volume()
842 scontrol->max = le32_to_cpu(mc->max); in sof_control_load_volume()
853 ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); in sof_control_load_volume()
861 ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, in sof_control_load_volume()
870 if (scontrol->led_ctl.use_led) { in sof_control_load_volume()
871 mask = scontrol->led_ctl.direction ? SNDRV_CTL_ELEM_ACCESS_MIC_LED : in sof_control_load_volume()
873 scontrol->access &= ~SNDRV_CTL_ELEM_ACCESS_LED_MASK; in sof_control_load_volume()
874 scontrol->access |= mask; in sof_control_load_volume()
881 scontrol->comp_id, scontrol->num_channels); in sof_control_load_volume()
887 kfree(scontrol->volume_table); in sof_control_load_volume()
893 struct snd_sof_control *scontrol, in sof_control_load_enum() argument
905 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_enum()
906 scontrol->num_channels = le32_to_cpu(ec->num_channels); in sof_control_load_enum()
909 scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); in sof_control_load_enum()
915 struct snd_sof_control *scontrol, in sof_control_load_bytes() argument
925 scontrol->max_size = sbe->max; in sof_control_load_bytes()
926 scontrol->comp_id = sdev->next_comp_id; in sof_control_load_bytes()
928 dev_dbg(scomp->dev, "tplg: load kcontrol index %d\n", scontrol->comp_id); in sof_control_load_bytes()
932 scontrol->priv = kmemdup(control->priv.data, priv_size, GFP_KERNEL); in sof_control_load_bytes()
933 if (!scontrol->priv) in sof_control_load_bytes()
936 scontrol->priv_size = priv_size; in sof_control_load_bytes()
952 struct snd_sof_control *scontrol; in sof_control_load() local
958 scontrol = kzalloc(sizeof(*scontrol), GFP_KERNEL); in sof_control_load()
959 if (!scontrol) in sof_control_load()
962 scontrol->name = kstrdup(hdr->name, GFP_KERNEL); in sof_control_load()
963 if (!scontrol->name) { in sof_control_load()
964 kfree(scontrol); in sof_control_load()
968 scontrol->scomp = scomp; in sof_control_load()
969 scontrol->access = kc->access; in sof_control_load()
970 scontrol->info_type = le32_to_cpu(hdr->ops.info); in sof_control_load()
971 scontrol->index = kc->index; in sof_control_load()
979 ret = sof_control_load_volume(scomp, scontrol, kc, hdr); in sof_control_load()
984 ret = sof_control_load_bytes(scomp, scontrol, kc, hdr); in sof_control_load()
990 ret = sof_control_load_enum(scomp, scontrol, kc, hdr); in sof_control_load()
1002 kfree(scontrol->name); in sof_control_load()
1003 kfree(scontrol); in sof_control_load()
1008 kfree(scontrol->name); in sof_control_load()
1009 kfree(scontrol); in sof_control_load()
1013 scontrol->led_ctl.led_value = -1; in sof_control_load()
1015 dobj->private = scontrol; in sof_control_load()
1016 list_add(&scontrol->list, &sdev->kcontrol_list); in sof_control_load()
1025 struct snd_sof_control *scontrol = dobj->private; in sof_control_unload() local
1028 dev_dbg(scomp->dev, "tplg: unload control name : %s\n", scontrol->name); in sof_control_unload()
1031 ret = tplg_ops->control_free(sdev, scontrol); in sof_control_unload()
1033 dev_err(scomp->dev, "failed to free control: %s\n", scontrol->name); in sof_control_unload()
1037 kfree(scontrol->ipc_control_data); in sof_control_unload()
1038 kfree(scontrol->priv); in sof_control_unload()
1039 kfree(scontrol->name); in sof_control_unload()
1040 list_del(&scontrol->list); in sof_control_unload()
1041 kfree(scontrol); in sof_control_unload()
1576 struct snd_sof_control *scontrol; in sof_widget_unload() local
1618 scontrol = sm->dobj.private; in sof_widget_unload()
1620 kfree(scontrol->volume_table); in sof_widget_unload()
1624 scontrol = se->dobj.private; in sof_widget_unload()
1628 scontrol = sbe->dobj.private; in sof_widget_unload()
1634 kfree(scontrol->ipc_control_data); in sof_widget_unload()
1635 list_del(&scontrol->list); in sof_widget_unload()
1636 kfree(scontrol->name); in sof_widget_unload()
1637 kfree(scontrol); in sof_widget_unload()
2097 struct snd_sof_control *scontrol; in sof_set_widget_pipeline() local
2101 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) in sof_set_widget_pipeline()
2102 if (scontrol->comp_id == swidget->comp_id && in sof_set_widget_pipeline()
2103 (scontrol->access & SNDRV_CTL_ELEM_ACCESS_VOLATILE)) { in sof_set_widget_pipeline()
2125 struct snd_sof_control *scontrol; in sof_complete() local
2133 list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { in sof_complete()
2134 ret = tplg_ops->control_setup(sdev, scontrol); in sof_complete()
2137 scontrol->name); in sof_complete()